VTK
vtkFrustumCoverageCuller.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkFrustumCoverageCuller.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
37 #ifndef __vtkFrustumCoverageCuller_h
38 #define __vtkFrustumCoverageCuller_h
39 
40 #include "vtkCuller.h"
41 
42 #define VTK_CULLER_SORT_NONE 0
43 #define VTK_CULLER_SORT_FRONT_TO_BACK 1
44 #define VTK_CULLER_SORT_BACK_TO_FRONT 2
45 
46 class vtkProp;
47 class vtkRenderer;
48 
50 {
51 public:
52  static vtkFrustumCoverageCuller *New();
54  void PrintSelf(ostream& os,vtkIndent indent);
55 
57 
59  vtkSetMacro( MinimumCoverage, double );
60  vtkGetMacro( MinimumCoverage, double );
62 
64 
66  vtkSetMacro( MaximumCoverage, double );
67  vtkGetMacro( MaximumCoverage, double );
69 
71 
73  vtkSetClampMacro( SortingStyle, int,
75  vtkGetMacro(SortingStyle,int);
76  void SetSortingStyleToNone()
77  {this->SetSortingStyle(VTK_CULLER_SORT_NONE);};
78  void SetSortingStyleToBackToFront()
79  {this->SetSortingStyle(VTK_CULLER_SORT_BACK_TO_FRONT);};
80  void SetSortingStyleToFrontToBack()
81  {this->SetSortingStyle(VTK_CULLER_SORT_FRONT_TO_BACK);};
82  const char *GetSortingStyleAsString(void);
84 
85 //BTX
87 
91  double Cull( vtkRenderer *ren, vtkProp **propList,
92  int& listLength, int& initialized );
93 //ETX
95 
96 protected:
99 
100  double MinimumCoverage;
103 private:
104  vtkFrustumCoverageCuller(const vtkFrustumCoverageCuller&); // Not implemented.
105  void operator=(const vtkFrustumCoverageCuller&); // Not implemented.
106 };
107 
108 
109 #endif