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