VTK  9.3.20240418
vtkCuller.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
19 #ifndef vtkCuller_h
20 #define vtkCuller_h
21 
22 #include "vtkObject.h"
23 #include "vtkRenderingCoreModule.h" // For export macro
24 #include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
25 
26 VTK_ABI_NAMESPACE_BEGIN
27 class vtkProp;
28 class vtkRenderer;
29 
30 class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkCuller : public vtkObject
31 {
32 public:
33  vtkTypeMacro(vtkCuller, vtkObject);
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
39  virtual double Cull(vtkRenderer* ren, vtkProp** propList, int& listLength, int& initialized) = 0;
40 
41 protected:
43  ~vtkCuller() override;
44 
45 private:
46  vtkCuller(const vtkCuller&) = delete;
47  void operator=(const vtkCuller&) = delete;
48 };
49 
50 VTK_ABI_NAMESPACE_END
51 #endif
a superclass for prop cullers
Definition: vtkCuller.h:31
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual double Cull(vtkRenderer *ren, vtkProp **propList, int &listLength, int &initialized)=0
This is called outside the render loop by vtkRenderer.
~vtkCuller() override
a simple class to control print indentation
Definition: vtkIndent.h:108
abstract base class for most VTK objects
Definition: vtkObject.h:162
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:66
abstract specification for renderers
Definition: vtkRenderer.h:172
#define VTK_MARSHALAUTO