VTK  9.6.20260112
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
125
126#ifndef vtkLODActor_h
127#define vtkLODActor_h
128
129#include "vtkActor.h"
130#include "vtkRenderingLODModule.h" // For export macro
131#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
132
133VTK_ABI_NAMESPACE_BEGIN
134class vtkMapper;
138class vtkRenderer;
139class vtkViewport;
140class vtkWindow;
141
142class VTKRENDERINGLOD_EXPORT VTK_MARSHALAUTO vtkLODActor : public vtkActor
143{
144public:
145 vtkTypeMacro(vtkLODActor, vtkActor);
146 void PrintSelf(ostream& os, vtkIndent indent) override;
147
153 static vtkLODActor* New();
154
159 void Render(vtkRenderer*, vtkMapper*) override;
160
167
172 void AddLODMapper(vtkMapper* mapper);
173
175
189
191
194 vtkGetMacro(NumberOfCloudPoints, int);
195 vtkSetMacro(NumberOfCloudPoints, int);
197
199
203 vtkGetObjectMacro(LODMappers, vtkMapperCollection);
205
209 void Modified() override;
210
214 void ShallowCopy(vtkProp* prop) override;
215
216protected:
218 ~vtkLODActor() override;
219
222
223 // We can create our own LOD filters. The default is to use a
224 //
229
232
233 virtual void CreateOwnLODs();
234 virtual void UpdateOwnLODs();
235 virtual void DeleteOwnLODs();
236
237private:
238 vtkLODActor(const vtkLODActor&) = delete;
239 void operator=(const vtkLODActor&) = delete;
240};
241
242VTK_ABI_NAMESPACE_END
243#endif
a simple class to control print indentation
Definition vtkIndent.h:108
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:98
map vtkPolyData to graphics primitives
abstract specification for renderers
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:66
window superclass for vtkRenderWindow
Definition vtkWindow.h:48
#define VTK_MARSHAL_EXCLUDE_REASON_NOT_SUPPORTED
#define VTK_MARSHALAUTO
#define VTK_MARSHALEXCLUDE(reason)
#define vtkPolyDataAlgorithm