VTK  9.7.0
vtkLODActor.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
46
47#ifndef vtkLODActor_h
48#define vtkLODActor_h
49
50#include "vtkActor.h"
51#include "vtkRenderingLODModule.h" // For export macro
52#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
53
54VTK_ABI_NAMESPACE_BEGIN
55class vtkMapper;
59class vtkRenderer;
60class vtkViewport;
61class vtkWindow;
62
63class VTKRENDERINGLOD_EXPORT VTK_MARSHALAUTO vtkLODActor : public vtkActor
64{
65public:
66 vtkTypeMacro(vtkLODActor, vtkActor);
67 void PrintSelf(ostream& os, vtkIndent indent) override;
68
74 static vtkLODActor* New();
75
80 void Render(vtkRenderer*, vtkMapper*) override;
81
88
93 void AddLODMapper(vtkMapper* mapper);
94
96
110
112
115 vtkGetMacro(NumberOfCloudPoints, int);
116 vtkSetMacro(NumberOfCloudPoints, int);
118
120
124 vtkGetObjectMacro(LODMappers, vtkMapperCollection);
126
130 void Modified() override;
131
135 void ShallowCopy(vtkProp* prop) override;
136
137protected:
139 ~vtkLODActor() override;
140
143
144 // We can create our own LOD filters. The default is to use a
145 //
150
153
154 virtual void CreateOwnLODs();
155 virtual void UpdateOwnLODs();
156 virtual void DeleteOwnLODs();
157
158private:
159 vtkLODActor(const vtkLODActor&) = delete;
160 void operator=(const vtkLODActor&) = delete;
161};
162
163VTK_ABI_NAMESPACE_END
164#endif
a simple class to control print indentation
Definition vtkIndent.h:29
virtual void SetMediumResFilter(vtkPolyDataAlgorithm *)
You may plug in your own filters to decimate/subsample the input.
void Render(vtkRenderer *, vtkMapper *) override
This causes the actor to be rendered.
virtual void DeleteOwnLODs()
virtual void UpdateOwnLODs()
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ShallowCopy(vtkProp *prop) override
Shallow copy of an LOD actor.
vtkPolyDataMapper * MediumMapper
vtkTimeStamp BuildTime
vtkActor * Device
vtkMapperCollection * LODMappers
vtkPolyDataAlgorithm * MediumResFilter
void AddLODMapper(vtkMapper *mapper)
Add another level of detail.
vtkPolyDataAlgorithm * LowResFilter
vtkPolyDataMapper * LowMapper
int NumberOfCloudPoints
static vtkLODActor * New()
Creates a vtkLODActor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,...
void Modified() override
When this objects gets modified, this method also modifies the object.
virtual void SetLowResFilter(vtkPolyDataAlgorithm *)
You may plug in your own filters to decimate/subsample the input.
virtual void CreateOwnLODs()
an ordered list of mappers
abstract class specifies interface to map data to graphics primitives
Definition vtkMapper.h:78
map vtkPolyData to graphics primitives
abstract specification for renderers
Definition vtkRenderer.h:64
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:47
window superclass for vtkRenderWindow
Definition vtkWindow.h:42
#define VTK_MARSHAL_EXCLUDE_REASON_NOT_SUPPORTED
#define VTK_MARSHALAUTO
#define VTK_MARSHALEXCLUDE(reason)
#define vtkPolyDataAlgorithm