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
00057 #ifndef __vtkTransformToGrid_h
00058 #define __vtkTransformToGrid_h
00059
00060 #include "vtkImageSource.h"
00061 #include "vtkAbstractTransform.h"
00062
00063 class VTK_EXPORT vtkTransformToGrid : public vtkImageSource
00064 {
00065 public:
00066 static vtkTransformToGrid *New();
00067 vtkTypeMacro(vtkTransformToGrid,vtkImageSource);
00068 void PrintSelf(ostream& os, vtkIndent indent);
00069
00071 vtkSetObjectMacro(Input,vtkAbstractTransform);
00072 vtkGetObjectMacro(Input,vtkAbstractTransform);
00073
00075 vtkSetVector6Macro(GridExtent,int);
00076 vtkGetVector6Macro(GridExtent,int);
00077
00079 vtkSetVector3Macro(GridOrigin,float);
00080 vtkGetVector3Macro(GridOrigin,float);
00081
00083 vtkSetVector3Macro(GridSpacing,float);
00084 vtkGetVector3Macro(GridSpacing,float);
00085
00087 vtkSetMacro(GridScalarType,int);
00088 vtkGetMacro(GridScalarType,int);
00089 void SetGridScalarTypeToFloat(){this->SetGridScalarType(VTK_FLOAT);};
00090 void SetGridScalarTypeToShort(){this->SetGridScalarType(VTK_SHORT);};
00091 void SetGridScalarTypeToUnsignedShort()
00092 {this->SetGridScalarType(VTK_UNSIGNED_SHORT);};
00093 void SetGridScalarTypeToUnsignedChar()
00094 {this->SetGridScalarType(VTK_UNSIGNED_CHAR);};
00095 void SetGridScalarTypeToChar()
00096 {this->SetGridScalarType(VTK_CHAR);};
00097
00101 float GetDisplacementScale() {
00102 this->UpdateShiftScale(); return this->DisplacementScale; };
00103 float GetDisplacementShift() {
00104 this->UpdateShiftScale(); return this->DisplacementShift; };
00105
00106 protected:
00107 vtkTransformToGrid();
00108 ~vtkTransformToGrid();
00109 vtkTransformToGrid(const vtkTransformToGrid&) {};
00110 void operator=(const vtkTransformToGrid&) {};
00111
00112 void ExecuteInformation();
00113
00114 void Execute(vtkImageData *data);
00115 void Execute() { this->vtkImageSource::Execute(); };
00116
00119 void UpdateShiftScale();
00120
00121 unsigned long GetMTime();
00122
00123 vtkAbstractTransform *Input;
00124
00125 int GridScalarType;
00126 int GridExtent[6];
00127 float GridOrigin[3];
00128 float GridSpacing[3];
00129
00130 float DisplacementScale;
00131 float DisplacementShift;
00132 vtkTimeStamp ShiftScaleTime;
00133 };
00134
00135 #endif