VTK  9.3.1
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 
25 VTK_ABI_NAMESPACE_BEGIN
26 class vtkProp;
27 class vtkRenderer;
28 
29 class VTKRENDERINGCORE_EXPORT vtkCuller : public vtkObject
30 {
31 public:
32  vtkTypeMacro(vtkCuller, vtkObject);
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
38  virtual double Cull(vtkRenderer* ren, vtkProp** propList, int& listLength, int& initialized) = 0;
39 
40 protected:
41  vtkCuller();
42  ~vtkCuller() override;
43 
44 private:
45  vtkCuller(const vtkCuller&) = delete;
46  void operator=(const vtkCuller&) = delete;
47 };
48 
49 VTK_ABI_NAMESPACE_END
50 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:45
abstract base class for most VTK objects
Definition: vtkObject.h:51
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract specification for renderers
Definition: vtkRenderer.h:61
a superclass for prop cullers
Definition: vtkCuller.h:29
a simple class to control print indentation
Definition: vtkIndent.h:28