VTK  9.3.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
56#ifndef vtkLODActor_h
57#define vtkLODActor_h
58
59#include "vtkActor.h"
60#include "vtkRenderingLODModule.h" // For export macro
61
62VTK_ABI_NAMESPACE_BEGIN
63class vtkMapper;
67class vtkRenderer;
68class vtkViewport;
69class vtkWindow;
70
71class VTKRENDERINGLOD_EXPORT vtkLODActor : public vtkActor
72{
73public:
74 vtkTypeMacro(vtkLODActor, vtkActor);
75 void PrintSelf(ostream& os, vtkIndent indent) override;
76
82 static vtkLODActor* New();
83
88 void Render(vtkRenderer*, vtkMapper*) override;
89
96
101 void AddLODMapper(vtkMapper* mapper);
102
104
111 vtkGetObjectMacro(LowResFilter, vtkPolyDataAlgorithm);
112 vtkGetObjectMacro(MediumResFilter, vtkPolyDataAlgorithm);
114
116
119 vtkGetMacro(NumberOfCloudPoints, int);
120 vtkSetMacro(NumberOfCloudPoints, int);
122
124
128 vtkGetObjectMacro(LODMappers, vtkMapperCollection);
130
134 void Modified() override;
135
139 void ShallowCopy(vtkProp* prop) override;
140
141protected:
143 ~vtkLODActor() override;
144
147
148 // We can create our own LOD filters. The default is to use a
149 //
154
157
158 virtual void CreateOwnLODs();
159 virtual void UpdateOwnLODs();
160 virtual void DeleteOwnLODs();
161
162private:
163 vtkLODActor(const vtkLODActor&) = delete;
164 void operator=(const vtkLODActor&) = delete;
165};
166
167VTK_ABI_NAMESPACE_END
168#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:50
a simple class to control print indentation
Definition vtkIndent.h:38
an actor that supports multiple levels of detail
Definition vtkLODActor.h:72
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.
~vtkLODActor() override
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:86
Superclass for algorithms that produce only polydata as output.
map vtkPolyData to graphics primitives
abstract superclass for all actors, volumes and annotations
Definition vtkProp.h:52
abstract specification for renderers
Definition vtkRenderer.h:68
record modification and/or execution time
abstract specification for Viewports
Definition vtkViewport.h:54
window superclass for vtkRenderWindow
Definition vtkWindow.h:34