You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.6 KiB
82 lines
2.6 KiB
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: $RCSfile: vtkImageCacheFilter.cxx,v $
|
|
|
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notice for more information.
|
|
|
|
=========================================================================*/
|
|
#include "vtkImageCacheFilter.h"
|
|
|
|
#include "vtkImageData.h"
|
|
#include "vtkObjectFactory.h"
|
|
#include "vtkPointData.h"
|
|
#include "vtkCachedStreamingDemandDrivenPipeline.h"
|
|
|
|
vtkCxxRevisionMacro(vtkImageCacheFilter, "$Revision: 1.26 $");
|
|
vtkStandardNewMacro(vtkImageCacheFilter);
|
|
|
|
//----------------------------------------------------------------------------
|
|
vtkImageCacheFilter::vtkImageCacheFilter()
|
|
{
|
|
vtkExecutive *exec = this->CreateDefaultExecutive();
|
|
this->SetExecutive(exec);
|
|
exec->Delete();
|
|
|
|
this->SetCacheSize(10);
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
vtkImageCacheFilter::~vtkImageCacheFilter()
|
|
{
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
vtkExecutive* vtkImageCacheFilter::CreateDefaultExecutive()
|
|
{
|
|
return vtkCachedStreamingDemandDrivenPipeline::New();
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
void vtkImageCacheFilter::PrintSelf(ostream& os, vtkIndent indent)
|
|
{
|
|
this->Superclass::PrintSelf(os,indent);
|
|
|
|
os << indent << "CacheSize: " << this->GetCacheSize() << endl;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
void vtkImageCacheFilter::SetCacheSize(int size)
|
|
{
|
|
vtkCachedStreamingDemandDrivenPipeline *csddp =
|
|
vtkCachedStreamingDemandDrivenPipeline::SafeDownCast(this->GetExecutive());
|
|
if (csddp)
|
|
{
|
|
csddp->SetCacheSize(size);
|
|
}
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
int vtkImageCacheFilter::GetCacheSize()
|
|
{
|
|
vtkCachedStreamingDemandDrivenPipeline *csddp =
|
|
vtkCachedStreamingDemandDrivenPipeline::SafeDownCast(this->GetExecutive());
|
|
if (csddp)
|
|
{
|
|
return csddp->GetCacheSize();
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
// This method simply copies by reference the input data to the output.
|
|
void vtkImageCacheFilter::ExecuteData(vtkDataObject *)
|
|
{
|
|
// do nothing just override superclass to prevent warning
|
|
}
|
|
|