00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00057 #ifndef __vtkTemporalInterpolator_h
00058 #define __vtkTemporalInterpolator_h
00059
00060 #include "vtkTemporalDataSetAlgorithm.h"
00061
00062 class vtkDataSet;
00063
00064 class VTK_HYBRID_EXPORT vtkTemporalInterpolator : public vtkTemporalDataSetAlgorithm
00065 {
00066 public:
00067 static vtkTemporalInterpolator *New();
00068 vtkTypeMacro(vtkTemporalInterpolator, vtkTemporalDataSetAlgorithm);
00069 void PrintSelf(ostream& os, vtkIndent indent);
00070
00072
00079 vtkSetMacro(DiscreteTimeStepInterval, double);
00080 vtkGetMacro(DiscreteTimeStepInterval, double);
00082
00084
00091 vtkSetMacro(ResampleFactor, int);
00092 vtkGetMacro(ResampleFactor, int);
00094
00095 protected:
00096 vtkTemporalInterpolator();
00097 ~vtkTemporalInterpolator();
00098
00099 double DiscreteTimeStepInterval;
00100 int ResampleFactor;
00101
00102
00103
00104
00105
00106
00107
00108 virtual int RequestUpdateExtent(vtkInformation *,
00109 vtkInformationVector **,
00110 vtkInformationVector *);
00111 virtual int RequestInformation(vtkInformation *,
00112 vtkInformationVector **,
00113 vtkInformationVector *);
00114
00115 virtual int RequestData(vtkInformation *,
00116 vtkInformationVector **,
00117 vtkInformationVector *);
00118
00120
00122 vtkDataObject *InterpolateDataObject(vtkDataObject *in1,
00123 vtkDataObject *in2,
00124 double ratio);
00126
00128
00131 virtual vtkDataSet *InterpolateDataSet(vtkDataSet *in1,
00132 vtkDataSet *in2,
00133 double ratio);
00135
00137
00139 virtual vtkDataArray *InterpolateDataArray(double ratio,
00140 vtkDataArray **arrays,
00141 vtkIdType N);
00143
00146 virtual bool VerifyArrays(vtkDataArray **arrays, int N);
00147
00148
00149
00150
00151
00152 double Ratio;
00153 double DeltaT;
00154 double Tfrac;
00155
00156 private:
00157 vtkTemporalInterpolator(const vtkTemporalInterpolator&);
00158 void operator=(const vtkTemporalInterpolator&);
00159 };
00160
00161
00162
00163 #endif
00164
00165
00166