VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkTemporalShiftScale.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 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&); // Not implemented. 00140 void operator=(const vtkTemporalShiftScale&); // Not implemented. 00141 }; 00142 00143 00144 00145 #endif 00146 00147 00148