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
00040
00063 #ifndef __vtkFrustumCoverageCuller_h
00064 #define __vtkFrustumCoverageCuller_h
00065
00066 #include "vtkCuller.h"
00067
00068 #define VTK_CULLER_SORT_NONE 0
00069 #define VTK_CULLER_SORT_FRONT_TO_BACK 1
00070 #define VTK_CULLER_SORT_BACK_TO_FRONT 2
00071
00072 class vtkProp;
00073 class vtkRenderer;
00074
00075 class VTK_RENDERING_EXPORT vtkFrustumCoverageCuller : public vtkCuller
00076 {
00077 public:
00078 static vtkFrustumCoverageCuller *New();
00079 vtkTypeMacro(vtkFrustumCoverageCuller,vtkCuller);
00080 void PrintSelf(ostream& os,vtkIndent indent);
00081
00083
00085 vtkSetMacro( MinimumCoverage, float );
00086 vtkGetMacro( MinimumCoverage, float );
00088
00090
00092 vtkSetMacro( MaximumCoverage, float );
00093 vtkGetMacro( MaximumCoverage, float );
00095
00097
00099 vtkSetClampMacro( SortingStyle, int,
00100 VTK_CULLER_SORT_NONE, VTK_CULLER_SORT_BACK_TO_FRONT );
00101 vtkGetMacro(SortingStyle,int);
00102 void SetSortingStyleToNone()
00103 {this->SetSortingStyle(VTK_CULLER_SORT_NONE);};
00104 void SetSortingStyleToBackToFront()
00105 {this->SetSortingStyle(VTK_CULLER_SORT_BACK_TO_FRONT);};
00106 void SetSortingStyleToFrontToBack()
00107 {this->SetSortingStyle(VTK_CULLER_SORT_FRONT_TO_BACK);};
00108 const char *GetSortingStyleAsString(void);
00110
00111
00113
00114 THESE METHODS OUTSIDE OF THE RENDERING PROCESS Perform the cull
00115 operation This method should only be called by vtkRenderer as part of
00116 the render process */
00117 float Cull( vtkRenderer *ren, vtkProp **propList,
00118 int& listLength, int& initialized );
00120
00121
00122 protected:
00123 vtkFrustumCoverageCuller();
00124 ~vtkFrustumCoverageCuller() {};
00125
00126 float MinimumCoverage;
00127 float MaximumCoverage;
00128 int SortingStyle;
00129 private:
00130 vtkFrustumCoverageCuller(const vtkFrustumCoverageCuller&);
00131 void operator=(const vtkFrustumCoverageCuller&);
00132 };
00133
00134
00135 #endif