VTK  9.4.20241225
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
26VTK_ABI_NAMESPACE_BEGIN
27class vtkProp;
28class vtkRenderer;
29
30class VTKRENDERINGCORE_EXPORT VTK_MARSHALAUTO vtkCuller : public vtkObject
31{
32public:
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
41protected:
43 ~vtkCuller() override;
44
45private:
46 vtkCuller(const vtkCuller&) = delete;
47 void operator=(const vtkCuller&) = delete;
48};
49
50VTK_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
#define VTK_MARSHALAUTO