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