1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkImageCacheFilter.h,v $
6 Date: $Date: 2002/01/22 15:31:56 $
7 Version: $Revision: 1.17 $
9 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notice for more information.
17 =========================================================================*/
18 // .NAME vtkImageCacheFilter - Caches multiple vtkImageData objects.
19 // .SECTION Description
20 // vtkImageCacheFilter keep a number of vtkImageDataObjects from previous updates
21 // to satisfy future updates without needing to update the input.
22 // It does not change the data at all.
23 // It just makes the pipeline more efficient at the expense of using extra memory.
27 #ifndef __vtkImageCacheFilter_h
28 #define __vtkImageCacheFilter_h
30 #include "vtkImageToImageFilter.h"
32 class VTK_IMAGING_EXPORT vtkImageCacheFilter : public vtkImageToImageFilter
35 static vtkImageCacheFilter *New();
36 vtkTypeRevisionMacro(vtkImageCacheFilter,vtkImageToImageFilter);
37 void PrintSelf(ostream& os, vtkIndent indent);
40 // This is the maximum number of images that can be retained in memory.
42 void SetCacheSize(int size);
43 vtkGetMacro(CacheSize, int);
46 // This is an internal method that you should not call.
47 void UpdateData(vtkDataObject *outData);
50 vtkImageCacheFilter();
51 ~vtkImageCacheFilter();
56 // I do not have write access to UpdateTime.
59 vtkImageCacheFilter(const vtkImageCacheFilter&); // Not implemented.
60 void operator=(const vtkImageCacheFilter&); // Not implemented.