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