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 "vtkFiltersHybridModule.h" // For export macro 00039 #include "vtkAlgorithm.h" 00040 00041 00042 class VTKFILTERSHYBRID_EXPORT vtkTemporalShiftScale: public vtkAlgorithm 00043 { 00044 public: 00045 static vtkTemporalShiftScale *New(); 00046 vtkTypeMacro(vtkTemporalShiftScale, vtkAlgorithm); 00047 void PrintSelf(ostream& os, vtkIndent indent); 00048 00050 00053 vtkSetMacro(PreShift, double); 00054 vtkGetMacro(PreShift, double); 00056 00058 00059 vtkSetMacro(PostShift, double); 00060 vtkGetMacro(PostShift, double); 00062 00064 00065 vtkSetMacro(Scale, double); 00066 vtkGetMacro(Scale, double); 00068 00070 00081 vtkSetMacro(Periodic, int); 00082 vtkGetMacro(Periodic, int); 00083 vtkBooleanMacro(Periodic, int); 00085 00087 00095 vtkSetMacro(PeriodicEndCorrection, int); 00096 vtkGetMacro(PeriodicEndCorrection, int); 00097 vtkBooleanMacro(PeriodicEndCorrection, int); 00099 00101 00105 vtkSetMacro(MaximumNumberOfPeriods, double); 00106 vtkGetMacro(MaximumNumberOfPeriods, double); 00108 00109 protected: 00110 vtkTemporalShiftScale(); 00111 ~vtkTemporalShiftScale(); 00112 00113 double PreShift; 00114 double PostShift; 00115 double Scale; 00116 int Periodic; 00117 int PeriodicEndCorrection; 00118 double MaximumNumberOfPeriods; 00119 // 00120 double InRange[2]; 00121 double OutRange[2]; 00122 double PeriodicRange[2]; 00123 int PeriodicN; 00124 double TempMultiplier; 00125 00127 00128 virtual int ProcessRequest(vtkInformation* request, 00129 vtkInformationVector** inputVector, 00130 vtkInformationVector* outputVector); 00132 00133 virtual int RequestUpdateExtent (vtkInformation *, 00134 vtkInformationVector **, 00135 vtkInformationVector *); 00136 00137 virtual int FillInputPortInformation(int port, vtkInformation* info); 00138 virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info); 00139 00140 00141 virtual int RequestDataObject(vtkInformation *, 00142 vtkInformationVector **, 00143 vtkInformationVector *); 00144 00145 00146 virtual int RequestInformation (vtkInformation *, 00147 vtkInformationVector **, 00148 vtkInformationVector *); 00149 00150 virtual int RequestData(vtkInformation *, 00151 vtkInformationVector **, 00152 vtkInformationVector *); 00153 00154 double ForwardConvert(double T0); 00155 double BackwardConvert(double T1); 00156 00157 private: 00158 vtkTemporalShiftScale(const vtkTemporalShiftScale&); // Not implemented. 00159 void operator=(const vtkTemporalShiftScale&); // Not implemented. 00160 }; 00161 00162 00163 00164 #endif 00165 00166 00167