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