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
00039
00066 #ifndef __vtkDepthSortPolyData_h
00067 #define __vtkDepthSortPolyData_h
00068
00069 #include "vtkPolyDataToPolyDataFilter.h"
00070 #include "vtkCamera.h"
00071 #include "vtkProp3D.h"
00072 #include "vtkTransform.h"
00073
00074 #define VTK_DIRECTION_BACK_TO_FRONT 0
00075 #define VTK_DIRECTION_FRONT_TO_BACK 1
00076 #define VTK_DIRECTION_SPECIFIED_VECTOR 2
00077
00078 #define VTK_SORT_FIRST_POINT 0
00079 #define VTK_SORT_BOUNDS_CENTER 1
00080 #define VTK_SORT_PARAMETRIC_CENTER 2
00081
00082 class VTK_HYBRID_EXPORT vtkDepthSortPolyData : public vtkPolyDataToPolyDataFilter
00083 {
00084 public:
00086 static vtkDepthSortPolyData *New();
00087
00088 vtkTypeMacro(vtkDepthSortPolyData,vtkPolyDataToPolyDataFilter);
00089 void PrintSelf(ostream& os, vtkIndent indent);
00090
00092
00094 vtkSetMacro(Direction,int);
00095 vtkGetMacro(Direction,int);
00096 void SetDirectionToFrontToBack()
00097 {this->SetDirection(VTK_DIRECTION_FRONT_TO_BACK);}
00098 void SetDirectionToBackToFront()
00099 {this->SetDirection(VTK_DIRECTION_BACK_TO_FRONT);}
00100 void SetDirectionToSpecifiedVector()
00101 {this->SetDirection(VTK_DIRECTION_SPECIFIED_VECTOR);}
00103
00105
00109 vtkSetMacro(DepthSortMode,int);
00110 vtkGetMacro(DepthSortMode,int);
00111 void SetDepthSortModeToFirstPoint()
00112 {this->SetDepthSortMode(VTK_SORT_FIRST_POINT);}
00113 void SetDepthSortModeToBoundsCenter()
00114 {this->SetDepthSortMode(VTK_SORT_BOUNDS_CENTER);}
00115 void SetDepthSortModeToParametricCenter()
00116 {this->SetDepthSortMode(VTK_SORT_PARAMETRIC_CENTER);}
00118
00120
00123 vtkSetObjectMacro(Camera,vtkCamera);
00124 vtkGetObjectMacro(Camera,vtkCamera);
00126
00128
00133 void SetProp3D(vtkProp3D *);
00134 vtkProp3D *GetProp3D();
00136
00138
00141 vtkSetVector3Macro(Vector,double);
00142 vtkGetVectorMacro(Vector,double,3);
00144
00146
00150 vtkSetVector3Macro(Origin,double);
00151 vtkGetVectorMacro(Origin,double,3);
00153
00155
00159 vtkSetMacro(SortScalars, int);
00160 vtkGetMacro(SortScalars, int);
00161 vtkBooleanMacro(SortScalars, int);
00163
00166 unsigned long GetMTime();
00167
00168 protected:
00169 vtkDepthSortPolyData();
00170 ~vtkDepthSortPolyData();
00171
00172 void Execute();
00173 void ComputeProjectionVector(double vector[3], double origin[3]);
00174
00175 int Direction;
00176 int DepthSortMode;
00177 vtkCamera *Camera;
00178 vtkProp3D *Prop3D;
00179 vtkTransform *Transform;
00180 double Vector[3];
00181 double Origin[3];
00182 int SortScalars;
00183
00184 private:
00185 vtkDepthSortPolyData(const vtkDepthSortPolyData&);
00186 void operator=(const vtkDepthSortPolyData&);
00187 };
00188
00189 #endif