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
00063 #ifndef __vtkDepthSortPolyData_h
00064 #define __vtkDepthSortPolyData_h
00065
00066 #include "vtkPolyDataToPolyDataFilter.h"
00067 #include "vtkCamera.h"
00068 #include "vtkProp3D.h"
00069 #include "vtkTransform.h"
00070
00071 #define VTK_DIRECTION_BACK_TO_FRONT 0
00072 #define VTK_DIRECTION_FRONT_TO_BACK 1
00073 #define VTK_DIRECTION_SPECIFIED_VECTOR 2
00074
00075 class VTK_EXPORT vtkDepthSortPolyData : public vtkPolyDataToPolyDataFilter
00076 {
00077 public:
00079 static vtkDepthSortPolyData *New();
00080
00081 vtkTypeMacro(vtkDepthSortPolyData,vtkPolyDataToPolyDataFilter);
00082 void PrintSelf(ostream& os, vtkIndent indent);
00083
00085 vtkSetMacro(Direction,int);
00086 vtkGetMacro(Direction,int);
00087 void SetDirectionToFrontToBack() {
00088 this->SetDirection(VTK_DIRECTION_FRONT_TO_BACK);};
00089 void SetDirectionToBackToFront() {
00090 this->SetDirection(VTK_DIRECTION_BACK_TO_FRONT);};
00091 void SetDirectionToSpecifiedVector() {
00092 this->SetDirection(VTK_DIRECTION_SPECIFIED_VECTOR);};
00093
00097 vtkSetObjectMacro(Camera,vtkCamera);
00098 vtkGetObjectMacro(Camera,vtkCamera);
00099
00105 void SetProp3D(vtkProp3D *);
00106 vtkProp3D *GetProp3D();
00107
00111 vtkSetVector3Macro(Vector,double);
00112 vtkGetVectorMacro(Vector,double,3);
00113
00118 vtkSetVector3Macro(Origin,double);
00119 vtkGetVectorMacro(Origin,double,3);
00120
00125 vtkSetMacro(SortScalars, int);
00126 vtkGetMacro(SortScalars, int);
00127 vtkBooleanMacro(SortScalars, int);
00128
00131 unsigned long GetMTime();
00132
00133 protected:
00134 vtkDepthSortPolyData();
00135 ~vtkDepthSortPolyData();
00136 vtkDepthSortPolyData(const vtkDepthSortPolyData&) {};
00137 void operator=(const vtkDepthSortPolyData&) {};
00138
00139 void Execute();
00140 void ComputeProjectionVector(double vector[3], double origin[3]);
00141
00142 int Direction;
00143 vtkCamera *Camera;
00144 vtkProp3D *Prop3D;
00145 vtkTransform *Transform;
00146 double Vector[3];
00147 double Origin[3];
00148 int SortScalars;
00149
00150 };
00151
00152 #endif