00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00035 #ifndef __vtkTemporalShiftScale_h
00036 #define __vtkTemporalShiftScale_h
00037
00038 #include "vtkTemporalDataSetAlgorithm.h"
00039
00040 class VTK_HYBRID_EXPORT vtkTemporalShiftScale : public vtkTemporalDataSetAlgorithm
00041 {
00042 public:
00043 static vtkTemporalShiftScale *New();
00044 vtkTypeMacro(vtkTemporalShiftScale, vtkTemporalDataSetAlgorithm);
00045 void PrintSelf(ostream& os, vtkIndent indent);
00046
00048
00051 vtkSetMacro(PreShift, double);
00052 vtkGetMacro(PreShift, double);
00054
00056
00057 vtkSetMacro(PostShift, double);
00058 vtkGetMacro(PostShift, double);
00060
00062
00063 vtkSetMacro(Scale, double);
00064 vtkGetMacro(Scale, double);
00066
00068
00079 vtkSetMacro(Periodic, int);
00080 vtkGetMacro(Periodic, int);
00081 vtkBooleanMacro(Periodic, int);
00083
00085
00093 vtkSetMacro(PeriodicEndCorrection, int);
00094 vtkGetMacro(PeriodicEndCorrection, int);
00095 vtkBooleanMacro(PeriodicEndCorrection, int);
00097
00099
00103 vtkSetMacro(MaximumNumberOfPeriods, double);
00104 vtkGetMacro(MaximumNumberOfPeriods, double);
00106
00107 protected:
00108 vtkTemporalShiftScale();
00109 ~vtkTemporalShiftScale();
00110
00111 double PreShift;
00112 double PostShift;
00113 double Scale;
00114 int Periodic;
00115 int PeriodicEndCorrection;
00116 double MaximumNumberOfPeriods;
00117
00118 double InRange[2];
00119 double OutRange[2];
00120 double PeriodicRange[2];
00121 int PeriodicN;
00122 double TempMultiplier;
00123
00124 virtual int RequestUpdateExtent (vtkInformation *,
00125 vtkInformationVector **,
00126 vtkInformationVector *);
00127 virtual int RequestInformation (vtkInformation *,
00128 vtkInformationVector **,
00129 vtkInformationVector *);
00130
00131 virtual int RequestData(vtkInformation *,
00132 vtkInformationVector **,
00133 vtkInformationVector *);
00134
00135 double ForwardConvert(double T0);
00136 double BackwardConvert(double T1);
00137
00138 private:
00139 vtkTemporalShiftScale(const vtkTemporalShiftScale&);
00140 void operator=(const vtkTemporalShiftScale&);
00141 };
00142
00143
00144
00145 #endif
00146
00147
00148