Graphics/vtkProjectedTexture.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00047 #ifndef __vtkProjectedTexture_h
00048 #define __vtkProjectedTexture_h
00049
00050 #include "vtkDataSetToDataSetFilter.h"
00051
00052 #define VTK_PROJECTED_TEXTURE_USE_PINHOLE 0
00053 #define VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS 1
00054
00055 class VTK_GRAPHICS_EXPORT vtkProjectedTexture : public vtkDataSetToDataSetFilter
00056 {
00057 public:
00058 static vtkProjectedTexture *New();
00059 vtkTypeRevisionMacro(vtkProjectedTexture,vtkDataSetToDataSetFilter);
00060 void PrintSelf(ostream& os, vtkIndent indent);
00061
00063
00064 vtkSetVector3Macro(Position,float);
00065 vtkGetVectorMacro(Position,float,3);
00067
00069
00071 void SetFocalPoint(float focalPoint[3]);
00072 void SetFocalPoint(float x, float y, float z);
00073 vtkGetVectorMacro(FocalPoint,float,3);
00075
00077
00079 vtkSetMacro(CameraMode, int);
00080 vtkGetMacro(CameraMode, int);
00081 void SetCameraModeToPinhole() {this->SetCameraMode(VTK_PROJECTED_TEXTURE_USE_PINHOLE);}
00082 void SetCameraModeToTwoMirror() {this->SetCameraMode(VTK_PROJECTED_TEXTURE_USE_TWO_MIRRORS);}
00084
00086
00087 vtkSetMacro(MirrorSeparation, float);
00088 vtkGetMacro(MirrorSeparation, float);
00090
00092
00093 vtkGetVectorMacro(Orientation,float,3);
00095
00096
00097 vtkSetVector3Macro(Up,float);
00098 vtkGetVectorMacro(Up,float,3);
00099
00100
00101
00102
00103
00104
00105 vtkSetVector3Macro(AspectRatio,float);
00106 vtkGetVectorMacro(AspectRatio,float,3);
00107
00109
00110 vtkSetVector2Macro(SRange,float);
00111 vtkGetVectorMacro(SRange,float,2);
00113
00115
00116 vtkSetVector2Macro(TRange,float);
00117 vtkGetVectorMacro(TRange,float,2);
00119
00120 protected:
00121 vtkProjectedTexture();
00122 ~vtkProjectedTexture() {};
00123
00124 void Execute();
00125 void ComputeNormal();
00126
00127 int CameraMode;
00128
00129 float Position[3];
00130 float Orientation[3];
00131 float FocalPoint[3];
00132 float Up[3];
00133 float MirrorSeparation;
00134 float AspectRatio[3];
00135 float SRange[2];
00136 float TRange[2];
00137 private:
00138 vtkProjectedTexture(const vtkProjectedTexture&);
00139 void operator=(const vtkProjectedTexture&);
00140 };
00141
00142 #endif
00143