00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00036 #ifndef __vtkTemporalInterpolator_h
00037 #define __vtkTemporalInterpolator_h
00038 
00039 #include "vtkTemporalDataSetAlgorithm.h"
00040 
00041 class vtkDataSet;
00042 
00043 class VTK_HYBRID_EXPORT vtkTemporalInterpolator : public vtkTemporalDataSetAlgorithm
00044 {
00045 public:
00046   static vtkTemporalInterpolator *New();
00047   vtkTypeRevisionMacro(vtkTemporalInterpolator, vtkTemporalDataSetAlgorithm);
00048   void PrintSelf(ostream& os, vtkIndent indent);
00049 
00051 
00058   vtkSetMacro(DiscreteTimeStepInterval, double);
00059   vtkGetMacro(DiscreteTimeStepInterval, double);
00061 
00062 protected:
00063   vtkTemporalInterpolator();
00064   ~vtkTemporalInterpolator();
00065 
00066   double DiscreteTimeStepInterval;
00067 
00068 
00069 
00070 
00071 
00072 
00073 
00074   virtual int RequestUpdateExtent(vtkInformation *,
00075                                   vtkInformationVector **,
00076                                   vtkInformationVector *);
00077   virtual int RequestInformation(vtkInformation *,
00078                                  vtkInformationVector **,
00079                                  vtkInformationVector *);
00080   
00081   virtual int RequestData(vtkInformation *,
00082                           vtkInformationVector **,
00083                           vtkInformationVector *);
00084 
00086 
00088   vtkDataObject *InterpolateDataObject(vtkDataObject *in1, 
00089                                        vtkDataObject *in2,
00090                                        double ratio);
00092 
00094 
00097   vtkDataSet *InterpolateDataSet(vtkDataSet *in1, 
00098                                  vtkDataSet *in2,
00099                                  double ratio);
00101 
00103 
00105   vtkDataArray *InterpolateDataArray(double ratio, vtkDataArray **arrays, 
00106                                      vtkIdType N);
00108 
00111   bool VerifyArrays(vtkDataArray **arrays, int N);
00112 
00113 private:
00114   vtkTemporalInterpolator(const vtkTemporalInterpolator&);  
00115   void operator=(const vtkTemporalInterpolator&);  
00116 };
00117 
00118 
00119 
00120 #endif
00121 
00122 
00123