00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00058 #ifndef __vtkTransformToGrid_h
00059 #define __vtkTransformToGrid_h
00060
00061 #include "vtkImageSource.h"
00062 #include "vtkAbstractTransform.h"
00063
00064 class VTK_HYBRID_EXPORT vtkTransformToGrid : public vtkImageSource
00065 {
00066 public:
00067 static vtkTransformToGrid *New();
00068 vtkTypeMacro(vtkTransformToGrid,vtkImageSource);
00069 void PrintSelf(ostream& os, vtkIndent indent);
00070
00072
00073 vtkSetObjectMacro(Input,vtkAbstractTransform);
00074 vtkGetObjectMacro(Input,vtkAbstractTransform);
00076
00078
00079 vtkSetVector6Macro(GridExtent,int);
00080 vtkGetVector6Macro(GridExtent,int);
00082
00084
00085 vtkSetVector3Macro(GridOrigin,float);
00086 vtkGetVector3Macro(GridOrigin,float);
00088
00090
00091 vtkSetVector3Macro(GridSpacing,float);
00092 vtkGetVector3Macro(GridSpacing,float);
00094
00096
00097 vtkSetMacro(GridScalarType,int);
00098 vtkGetMacro(GridScalarType,int);
00099 void SetGridScalarTypeToFloat(){this->SetGridScalarType(VTK_FLOAT);};
00100 void SetGridScalarTypeToShort(){this->SetGridScalarType(VTK_SHORT);};
00101 void SetGridScalarTypeToUnsignedShort()
00102 {this->SetGridScalarType(VTK_UNSIGNED_SHORT);};
00103 void SetGridScalarTypeToUnsignedChar()
00104 {this->SetGridScalarType(VTK_UNSIGNED_CHAR);};
00105 void SetGridScalarTypeToChar()
00106 {this->SetGridScalarType(VTK_CHAR);};
00108
00110
00113 float GetDisplacementScale() {
00114 this->UpdateShiftScale(); return this->DisplacementScale; };
00115 float GetDisplacementShift() {
00116 this->UpdateShiftScale(); return this->DisplacementShift; };
00118
00119 protected:
00120 vtkTransformToGrid();
00121 ~vtkTransformToGrid();
00122
00123 void ExecuteInformation();
00124
00125 void ExecuteData(vtkDataObject *data);
00126
00129 void UpdateShiftScale();
00130
00131 unsigned long GetMTime();
00132
00133 vtkAbstractTransform *Input;
00134
00135 int GridScalarType;
00136 int GridExtent[6];
00137 float GridOrigin[3];
00138 float GridSpacing[3];
00139
00140 float DisplacementScale;
00141 float DisplacementShift;
00142 vtkTimeStamp ShiftScaleTime;
00143 private:
00144 vtkTransformToGrid(const vtkTransformToGrid&);
00145 void operator=(const vtkTransformToGrid&);
00146 };
00147
00148 #endif