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 =========================================================================*/
135 #ifndef vtkLODActor_h
136 #define vtkLODActor_h
137 
138 #include "vtkActor.h"
139 #include "vtkRenderingLODModule.h" // For export macro
140 
141 class vtkMapper;
142 class vtkMapperCollection;
144 class vtkPolyDataMapper;
145 class vtkRenderer;
146 class vtkViewport;
147 class vtkWindow;
148 
149 class VTKRENDERINGLOD_EXPORT vtkLODActor : public vtkActor
150 {
151 public:
152  vtkTypeMacro(vtkLODActor, vtkActor);
153  void PrintSelf(ostream& os, vtkIndent indent) override;
154 
160  static vtkLODActor* New();
161 
166  void Render(vtkRenderer*, vtkMapper*) override;
167 
174 
179  void AddLODMapper(vtkMapper* mapper);
180 
182 
189  vtkGetObjectMacro(LowResFilter, vtkPolyDataAlgorithm);
190  vtkGetObjectMacro(MediumResFilter, vtkPolyDataAlgorithm);
192 
194 
197  vtkGetMacro(NumberOfCloudPoints, int);
198  vtkSetMacro(NumberOfCloudPoints, int);
200 
202 
206  vtkGetObjectMacro(LODMappers, vtkMapperCollection);
208 
212  void Modified() override;
213 
217  void ShallowCopy(vtkProp* prop) override;
218 
219 protected:
221  ~vtkLODActor() override;
222 
225 
226  // We can create our own LOD filters. The default is to use a
227  //
232 
235 
236  virtual void CreateOwnLODs();
237  virtual void UpdateOwnLODs();
238  virtual void DeleteOwnLODs();
239 
240 private:
241  vtkLODActor(const vtkLODActor&) = delete;
242  void operator=(const vtkLODActor&) = delete;
243 };
244 
245 #endif
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:155
a simple class to control print indentation
Definition: vtkIndent.h:113
an actor that supports multiple levels of detail
Definition: vtkLODActor.h:150
static vtkLODActor * New()
Creates a vtkLODActor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,...
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:231
vtkTimeStamp BuildTime
Definition: vtkLODActor.h:233
vtkActor * Device
Definition: vtkLODActor.h:223
vtkMapperCollection * LODMappers
Definition: vtkLODActor.h:224
vtkPolyDataAlgorithm * MediumResFilter
Definition: vtkLODActor.h:229
void AddLODMapper(vtkMapper *mapper)
Add another level of detail.
vtkPolyDataAlgorithm * LowResFilter
Definition: vtkLODActor.h:228
vtkPolyDataMapper * LowMapper
Definition: vtkLODActor.h:230
int NumberOfCloudPoints
Definition: vtkLODActor.h:234
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:171
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:67
abstract specification for renderers
Definition: vtkRenderer.h:173
record modification and/or execution time
Definition: vtkTimeStamp.h:52
abstract specification for Viewports
Definition: vtkViewport.h:47
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36