OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / include / vtk / vtkImageCacheFilter.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkImageCacheFilter.h,v $
5   Language:  C++
6   Date:      $Date: 2002/01/22 15:31:56 $
7   Version:   $Revision: 1.17 $
8
9   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
10   All rights reserved.
11   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
12
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.
16
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.
24
25
26
27 #ifndef __vtkImageCacheFilter_h
28 #define __vtkImageCacheFilter_h
29
30 #include "vtkImageToImageFilter.h"
31
32 class VTK_IMAGING_EXPORT vtkImageCacheFilter : public vtkImageToImageFilter
33 {
34 public:
35   static vtkImageCacheFilter *New();
36   vtkTypeRevisionMacro(vtkImageCacheFilter,vtkImageToImageFilter);
37   void PrintSelf(ostream& os, vtkIndent indent);
38
39   // Description:
40   // This is the maximum number of images that can be retained in memory.
41   // it defaults to 10.
42   void SetCacheSize(int size);
43   vtkGetMacro(CacheSize, int);
44   
45   // Description:
46   // This is an internal method that you should not call.
47   void UpdateData(vtkDataObject *outData);
48
49 protected:
50   vtkImageCacheFilter();
51   ~vtkImageCacheFilter();
52
53   int CacheSize;
54   
55   vtkImageData **Data;
56   // I do not have write access to UpdateTime.
57   unsigned long *Times;
58 private:
59   vtkImageCacheFilter(const vtkImageCacheFilter&);  // Not implemented.
60   void operator=(const vtkImageCacheFilter&);  // Not implemented.
61 };
62
63
64
65 #endif
66
67
68