00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00025 #ifndef __vtkTemporalDataSetCache_h
00026 #define __vtkTemporalDataSetCache_h
00027
00028 #include "vtkTemporalDataSetAlgorithm.h"
00029
00030 #include <vtkstd/map>
00031
00032 class VTK_HYBRID_EXPORT vtkTemporalDataSetCache : public vtkTemporalDataSetAlgorithm
00033 {
00034 public:
00035 static vtkTemporalDataSetCache *New();
00036 vtkTypeRevisionMacro(vtkTemporalDataSetCache, vtkTemporalDataSetAlgorithm);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040
00042 void SetCacheSize(int size);
00043 vtkGetMacro(CacheSize,int);
00045
00046 protected:
00047 vtkTemporalDataSetCache();
00048 ~vtkTemporalDataSetCache();
00049
00050 int CacheSize;
00051
00052
00053 typedef vtkstd::map<double,vtkstd::pair<unsigned long,vtkDataObject *> >
00054 CacheType;
00055 CacheType Cache;
00056
00057
00058 virtual int FillInputPortInformation(int port, vtkInformation* info);
00059
00060 virtual int RequestUpdateExtent (vtkInformation *,
00061 vtkInformationVector **,
00062 vtkInformationVector *);
00063
00064 virtual int RequestData(vtkInformation *,
00065 vtkInformationVector **,
00066 vtkInformationVector *);
00067
00068 private:
00069 vtkTemporalDataSetCache(const vtkTemporalDataSetCache&);
00070 void operator=(const vtkTemporalDataSetCache&);
00071 };
00072
00073
00074
00075 #endif
00076
00077
00078