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 "vtkRenderingCoreModule.h" // For export macro
41 #include "vtkCuller.h"
42 
43 #define VTK_CULLER_SORT_NONE 0
44 #define VTK_CULLER_SORT_FRONT_TO_BACK 1
45 #define VTK_CULLER_SORT_BACK_TO_FRONT 2
46 
47 class vtkProp;
48 class vtkRenderer;
49 
51 {
52 public:
53  static vtkFrustumCoverageCuller *New();
55  void PrintSelf(ostream& os,vtkIndent indent);
56 
58 
60  vtkSetMacro( MinimumCoverage, double );
61  vtkGetMacro( MinimumCoverage, double );
63 
65 
67  vtkSetMacro( MaximumCoverage, double );
68  vtkGetMacro( MaximumCoverage, double );
70 
72 
74  vtkSetClampMacro( SortingStyle, int,
76  vtkGetMacro(SortingStyle,int);
78  {this->SetSortingStyle(VTK_CULLER_SORT_NONE);};
80  {this->SetSortingStyle(VTK_CULLER_SORT_BACK_TO_FRONT);};
82  {this->SetSortingStyle(VTK_CULLER_SORT_FRONT_TO_BACK);};
83  const char *GetSortingStyleAsString(void);
85 
86 //BTX
88 
92  double Cull( vtkRenderer *ren, vtkProp **propList,
93  int& listLength, int& initialized );
94 //ETX
96 
97 protected:
100 
104 private:
105  vtkFrustumCoverageCuller(const vtkFrustumCoverageCuller&); // Not implemented.
106  void operator=(const vtkFrustumCoverageCuller&); // Not implemented.
107 };
108 
109 
110 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:52
virtual void PrintSelf(ostream &os, vtkIndent indent)
#define VTK_CULLER_SORT_NONE
abstract specification for renderers
Definition: vtkRenderer.h:62
cull props based on frustum coverage
#define VTK_CULLER_SORT_FRONT_TO_BACK
a superclass for prop cullers
Definition: vtkCuller.h:39
a simple class to control print indentation
Definition: vtkIndent.h:38
#define VTKRENDERINGCORE_EXPORT
static vtkObject * New()
#define VTK_CULLER_SORT_BACK_TO_FRONT
virtual double Cull(vtkRenderer *ren, vtkProp **propList, int &listLength, int &initialized)=0