VTK  9.3.20240418
vtkFrustumCoverageCuller.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
26 #ifndef vtkFrustumCoverageCuller_h
27 #define vtkFrustumCoverageCuller_h
28 
29 #include "vtkCuller.h"
30 #include "vtkRenderingCoreModule.h" // For export macro
31 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
32 
33 #define VTK_CULLER_SORT_NONE 0
34 #define VTK_CULLER_SORT_FRONT_TO_BACK 1
35 #define VTK_CULLER_SORT_BACK_TO_FRONT 2
36 
37 VTK_ABI_NAMESPACE_BEGIN
38 class vtkProp;
39 class vtkRenderer;
40 
41 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkFrustumCoverageCuller : public vtkCuller
42 {
43 public:
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
49 
53  vtkSetMacro(MinimumCoverage, double);
54  vtkGetMacro(MinimumCoverage, double);
56 
58 
62  vtkSetMacro(MaximumCoverage, double);
63  vtkGetMacro(MaximumCoverage, double);
65 
67 
71  vtkSetClampMacro(SortingStyle, int, VTK_CULLER_SORT_NONE, VTK_CULLER_SORT_BACK_TO_FRONT);
72  vtkGetMacro(SortingStyle, int);
73  void SetSortingStyleToNone() { this->SetSortingStyle(VTK_CULLER_SORT_NONE); }
76  const char* GetSortingStyleAsString();
78 
86  double Cull(vtkRenderer* ren, vtkProp** propList, int& listLength, int& initialized) override;
87 
88 protected:
90  ~vtkFrustumCoverageCuller() override = default;
91 
95 
96 private:
98  void operator=(const vtkFrustumCoverageCuller&) = delete;
99 };
100 
101 VTK_ABI_NAMESPACE_END
102 #endif
a superclass for prop cullers
Definition: vtkCuller.h:31
cull props based on frustum coverage
static vtkFrustumCoverageCuller * New()
void SetSortingStyleToNone()
Set the sorting style - none, front-to-back or back-to-front The default is none.
void SetSortingStyleToBackToFront()
Set the sorting style - none, front-to-back or back-to-front The default is none.
const char * GetSortingStyleAsString()
Set the sorting style - none, front-to-back or back-to-front The default is none.
double Cull(vtkRenderer *ren, vtkProp **propList, int &listLength, int &initialized) override
WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDE...
void SetSortingStyleToFrontToBack()
Set the sorting style - none, front-to-back or back-to-front The default is none.
~vtkFrustumCoverageCuller() override=default
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:66
abstract specification for renderers
Definition: vtkRenderer.h:172
#define VTK_CULLER_SORT_NONE
#define VTK_CULLER_SORT_BACK_TO_FRONT
#define VTK_CULLER_SORT_FRONT_TO_BACK
#define VTK_MARSHALAUTO