00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00047 #ifndef __vtkSelectVisiblePoints_h
00048 #define __vtkSelectVisiblePoints_h
00049
00050 #include "vtkPolyDataAlgorithm.h"
00051
00052 class vtkRenderer;
00053 class vtkMatrix4x4;
00054
00055 class VTK_RENDERING_EXPORT vtkSelectVisiblePoints : public vtkPolyDataAlgorithm
00056 {
00057 public:
00058 vtkTypeRevisionMacro(vtkSelectVisiblePoints,vtkPolyDataAlgorithm);
00059 void PrintSelf(ostream& os, vtkIndent indent);
00060
00063 static vtkSelectVisiblePoints *New();
00064
00066
00068 void SetRenderer(vtkRenderer* ren)
00069 {
00070 if (this->Renderer != ren)
00071 {
00072 this->Renderer = ren;
00073 this->Modified();
00074 }
00075 }
00076 vtkRenderer* GetRenderer() { return this->Renderer; }
00078
00080
00082 vtkSetMacro(SelectionWindow,int);
00083 vtkGetMacro(SelectionWindow,int);
00084 vtkBooleanMacro(SelectionWindow,int);
00086
00088
00090 vtkSetVector4Macro(Selection,int);
00091 vtkGetVectorMacro(Selection,int,4);
00093
00095
00097 vtkSetMacro(SelectInvisible,int);
00098 vtkGetMacro(SelectInvisible,int);
00099 vtkBooleanMacro(SelectInvisible,int);
00101
00103
00106 vtkSetClampMacro(Tolerance,double,0.0,VTK_DOUBLE_MAX);
00107 vtkGetMacro(Tolerance,double);
00109
00113 float * Initialize(bool getZbuff);
00114
00117 bool IsPointOccluded(const double x[], float *zPtr);
00118
00120 unsigned long GetMTime();
00121
00122 protected:
00123 vtkSelectVisiblePoints();
00124 ~vtkSelectVisiblePoints();
00125
00126 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00127 virtual int FillInputPortInformation(int port, vtkInformation *info);
00128
00129 vtkRenderer *Renderer;
00130 vtkMatrix4x4 *CompositePerspectiveTransform;
00131
00132 int SelectionWindow;
00133 int Selection[4];
00134 int InternalSelection[4];
00135 int SelectInvisible;
00136 double Tolerance;
00137
00138 private:
00139 vtkSelectVisiblePoints(const vtkSelectVisiblePoints&);
00140 void operator=(const vtkSelectVisiblePoints&);
00141 };
00142
00143 #endif