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);
77  {this->SetSortingStyle(VTK_CULLER_SORT_NONE);};
79  {this->SetSortingStyle(VTK_CULLER_SORT_BACK_TO_FRONT);};
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
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:49
virtual void PrintSelf(ostream &os, vtkIndent indent)
#define VTK_CULLER_SORT_NONE
abstract specification for renderers
Definition: vtkRenderer.h:69
cull props based on frustum coverage
#define VTK_CULLER_SORT_FRONT_TO_BACK
a superclass for prop cullers
Definition: vtkCuller.h:38
a simple class to control print indentation
Definition: vtkIndent.h:37
#define VTK_RENDERING_EXPORT
static vtkObject * New()
#define VTK_CULLER_SORT_BACK_TO_FRONT
virtual double Cull(vtkRenderer *ren, vtkProp **propList, int &listLength, int &initialized)=0