VTK: Rendering/LOD/vtkLODActor.h Source File

| VTK 9.3.1

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
62 VTK_ABI_NAMESPACE_BEGIN
63 class vtkMapper;
64 class vtkMapperCollection;
65 class vtkPolyDataAlgorithm;
66 class vtkPolyDataMapper;
67 class vtkRenderer;
68 class vtkViewport;
69 class vtkWindow;
70
71 class VTKRENDERINGLOD_EXPORT vtkLODActor : public vtkActor
72 {
73 public:
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
95 void ReleaseGraphicsResources(vtkWindow*) override;
96
101 void AddLODMapper(vtkMapper* mapper);
102
104
109 virtual void SetLowResFilter(vtkPolyDataAlgorithm*);
110 virtual void SetMediumResFilter(vtkPolyDataAlgorithm*);
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
141 protected:
142 vtkLODActor();
143 ~vtkLODActor() override;
144
145 vtkActor* Device;
146 vtkMapperCollection* LODMappers;
147
148 // We can create our own LOD filters. The default is to use a
149 //
150 vtkPolyDataAlgorithm* LowResFilter;
151 vtkPolyDataAlgorithm* MediumResFilter;
152 vtkPolyDataMapper* LowMapper;
153 vtkPolyDataMapper* MediumMapper;
154
155 vtkTimeStamp BuildTime;
156 int NumberOfCloudPoints;
157
158 virtual void CreateOwnLODs();
159 virtual void UpdateOwnLODs();
160 virtual void DeleteOwnLODs();
161
162 private:
163 vtkLODActor(const vtkLODActor&) = delete;
164 void operator=(const vtkLODActor&) = delete;
165 };
166
167 VTK_ABI_NAMESPACE_END
168 #endif
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkLODActor
an actor that supports multiple levels of detail
Definition: vtkLODActor.h:72
vtkLODActor::New
static vtkLODActor * New()
Creates a vtkLODActor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,...
vtkLODActor::SetMediumResFilter
virtual void SetMediumResFilter(vtkPolyDataAlgorithm *)
You may plug in your own filters to decimate/subsample the input.
vtkLODActor::Render
void Render(vtkRenderer *, vtkMapper *) override
This causes the actor to be rendered.
vtkLODActor::DeleteOwnLODs
virtual void DeleteOwnLODs()
vtkLODActor::UpdateOwnLODs
virtual void UpdateOwnLODs()
vtkLODActor::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
vtkLODActor::~vtkLODActor
~vtkLODActor() override
vtkLODActor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkLODActor::ShallowCopy
void ShallowCopy(vtkProp *prop) override
Shallow copy of an LOD actor.
vtkLODActor::MediumMapper
vtkPolyDataMapper * MediumMapper
Definition: vtkLODActor.h:153
vtkLODActor::BuildTime
vtkTimeStamp BuildTime
Definition: vtkLODActor.h:155
vtkLODActor::Device
vtkActor * Device
Definition: vtkLODActor.h:145
vtkLODActor::LODMappers
vtkMapperCollection * LODMappers
Definition: vtkLODActor.h:146
vtkLODActor::MediumResFilter
vtkPolyDataAlgorithm * MediumResFilter
Definition: vtkLODActor.h:151
vtkLODActor::AddLODMapper
void AddLODMapper(vtkMapper *mapper)
Add another level of detail.
vtkLODActor::LowResFilter
vtkPolyDataAlgorithm * LowResFilter
Definition: vtkLODActor.h:150
vtkLODActor::LowMapper
vtkPolyDataMapper * LowMapper
Definition: vtkLODActor.h:152
vtkLODActor::NumberOfCloudPoints
int NumberOfCloudPoints
Definition: vtkLODActor.h:156
vtkLODActor::vtkLODActor
vtkLODActor()
vtkLODActor::Modified
void Modified() override
When this objects gets modified, this method also modifies the object.
vtkLODActor::SetLowResFilter
virtual void SetLowResFilter(vtkPolyDataAlgorithm *)
You may plug in your own filters to decimate/subsample the input.
vtkLODActor::CreateOwnLODs
virtual void CreateOwnLODs()
vtkMapperCollection
an ordered list of mappers
Definition: vtkMapperCollection.h:25
vtkMapper
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:86
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:43
vtkPolyDataMapper
map vtkPolyData to graphics primitives
Definition: vtkPolyDataMapper.h:42
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:55
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:71
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:34
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:54
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
vtkActor.h