00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00037 #ifndef __vtkFrustumCoverageCuller_h
00038 #define __vtkFrustumCoverageCuller_h
00039
00040 #include "vtkCuller.h"
00041
00042 #define VTK_CULLER_SORT_NONE 0
00043 #define VTK_CULLER_SORT_FRONT_TO_BACK 1
00044 #define VTK_CULLER_SORT_BACK_TO_FRONT 2
00045
00046 class vtkProp;
00047 class vtkRenderer;
00048
00049 class VTK_RENDERING_EXPORT vtkFrustumCoverageCuller : public vtkCuller
00050 {
00051 public:
00052 static vtkFrustumCoverageCuller *New();
00053 vtkTypeMacro(vtkFrustumCoverageCuller,vtkCuller);
00054 void PrintSelf(ostream& os,vtkIndent indent);
00055
00057
00059 vtkSetMacro( MinimumCoverage, double );
00060 vtkGetMacro( MinimumCoverage, double );
00062
00064
00066 vtkSetMacro( MaximumCoverage, double );
00067 vtkGetMacro( MaximumCoverage, double );
00069
00071
00073 vtkSetClampMacro( SortingStyle, int,
00074 VTK_CULLER_SORT_NONE, VTK_CULLER_SORT_BACK_TO_FRONT );
00075 vtkGetMacro(SortingStyle,int);
00076 void SetSortingStyleToNone()
00077 {this->SetSortingStyle(VTK_CULLER_SORT_NONE);};
00078 void SetSortingStyleToBackToFront()
00079 {this->SetSortingStyle(VTK_CULLER_SORT_BACK_TO_FRONT);};
00080 void SetSortingStyleToFrontToBack()
00081 {this->SetSortingStyle(VTK_CULLER_SORT_FRONT_TO_BACK);};
00082 const char *GetSortingStyleAsString(void);
00084
00085
00087
00091 double Cull( vtkRenderer *ren, vtkProp **propList,
00092 int& listLength, int& initialized );
00094
00095
00096 protected:
00097 vtkFrustumCoverageCuller();
00098 ~vtkFrustumCoverageCuller() {};
00099
00100 double MinimumCoverage;
00101 double MaximumCoverage;
00102 int SortingStyle;
00103 private:
00104 vtkFrustumCoverageCuller(const vtkFrustumCoverageCuller&);
00105 void operator=(const vtkFrustumCoverageCuller&);
00106 };
00107
00108
00109 #endif