VTK  9.1.0
vtkLODActor.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkLODActor.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
65#ifndef vtkLODActor_h
66#define vtkLODActor_h
67
68#include "vtkActor.h"
69#include "vtkRenderingLODModule.h" // For export macro
70
71class vtkMapper;
75class vtkRenderer;
76class vtkViewport;
77class vtkWindow;
78
79class VTKRENDERINGLOD_EXPORT vtkLODActor : public vtkActor
80{
81public:
82 vtkTypeMacro(vtkLODActor, vtkActor);
83 void PrintSelf(ostream& os, vtkIndent indent) override;
84
90 static vtkLODActor* New();
91
96 void Render(vtkRenderer*, vtkMapper*) override;
97
104
109 void AddLODMapper(vtkMapper* mapper);
110
112
119 vtkGetObjectMacro(LowResFilter, vtkPolyDataAlgorithm);
120 vtkGetObjectMacro(MediumResFilter, vtkPolyDataAlgorithm);
122
124
127 vtkGetMacro(NumberOfCloudPoints, int);
128 vtkSetMacro(NumberOfCloudPoints, int);
130
132
136 vtkGetObjectMacro(LODMappers, vtkMapperCollection);
138
142 void Modified() override;
143
147 void ShallowCopy(vtkProp* prop) override;
148
149protected:
151 ~vtkLODActor() override;
152
155
156 // We can create our own LOD filters. The default is to use a
157 //
162
165
166 virtual void CreateOwnLODs();
167 virtual void UpdateOwnLODs();
168 virtual void DeleteOwnLODs();
169
170private:
171 vtkLODActor(const vtkLODActor&) = delete;
172 void operator=(const vtkLODActor&) = delete;
173};
174
175#endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:55
a simple class to control print indentation
Definition: vtkIndent.h:43
an actor that supports multiple levels of detail
Definition: vtkLODActor.h:80
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
Definition: vtkLODActor.h:161
vtkTimeStamp BuildTime
Definition: vtkLODActor.h:163
vtkActor * Device
Definition: vtkLODActor.h:153
vtkMapperCollection * LODMappers
Definition: vtkLODActor.h:154
vtkPolyDataAlgorithm * MediumResFilter
Definition: vtkLODActor.h:159
void AddLODMapper(vtkMapper *mapper)
Add another level of detail.
vtkPolyDataAlgorithm * LowResFilter
Definition: vtkLODActor.h:158
vtkPolyDataMapper * LowMapper
Definition: vtkLODActor.h:160
int NumberOfCloudPoints
Definition: vtkLODActor.h:164
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:91
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:57
abstract specification for renderers
Definition: vtkRenderer.h:73
record modification and/or execution time
Definition: vtkTimeStamp.h:42
abstract specification for Viewports
Definition: vtkViewport.h:56
window superclass for vtkRenderWindow
Definition: vtkWindow.h:45