VTK  9.0.20200601
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 =========================================================================*/
56 #ifndef vtkLODActor_h
57 #define vtkLODActor_h
58 
59 #include "vtkActor.h"
60 #include "vtkRenderingLODModule.h" // For export macro
61 
62 class vtkMapper;
65 class vtkPolyDataMapper;
66 class vtkRenderer;
67 class vtkViewport;
68 class vtkWindow;
69 
70 class VTKRENDERINGLOD_EXPORT vtkLODActor : public vtkActor
71 {
72 public:
73  vtkTypeMacro(vtkLODActor, vtkActor);
74  void PrintSelf(ostream& os, vtkIndent indent) override;
75 
81  static vtkLODActor* New();
82 
87  void Render(vtkRenderer*, vtkMapper*) override;
88 
93  int RenderOpaqueGeometry(vtkViewport* viewport) override;
94 
100  void ReleaseGraphicsResources(vtkWindow*) override;
101 
106  void AddLODMapper(vtkMapper* mapper);
107 
109 
114  virtual void SetLowResFilter(vtkPolyDataAlgorithm*);
115  virtual void SetMediumResFilter(vtkPolyDataAlgorithm*);
116  vtkGetObjectMacro(LowResFilter, vtkPolyDataAlgorithm);
117  vtkGetObjectMacro(MediumResFilter, vtkPolyDataAlgorithm);
119 
121 
124  vtkGetMacro(NumberOfCloudPoints, int);
125  vtkSetMacro(NumberOfCloudPoints, int);
127 
129 
133  vtkGetObjectMacro(LODMappers, vtkMapperCollection);
135 
139  void Modified() override;
140 
144  void ShallowCopy(vtkProp* prop) override;
145 
146 protected:
147  vtkLODActor();
148  ~vtkLODActor() override;
149 
152 
153  // We can create our own LOD filters. The default is to use a
154  //
159 
162 
163  virtual void CreateOwnLODs();
164  virtual void UpdateOwnLODs();
165  virtual void DeleteOwnLODs();
166 
167 private:
168  vtkLODActor(const vtkLODActor&) = delete;
169  void operator=(const vtkLODActor&) = delete;
170 };
171 
172 #endif
vtkPolyDataMapper
map vtkPolyData to graphics primitives
Definition: vtkPolyDataMapper.h:36
vtkActor::RenderOpaqueGeometry
int RenderOpaqueGeometry(vtkViewport *viewport) override
Support the standard render methods.
vtkLODActor::LowResFilter
vtkPolyDataAlgorithm * LowResFilter
Definition: vtkLODActor.h:155
vtkActor::ReleaseGraphicsResources
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
vtkActor::ShallowCopy
void ShallowCopy(vtkProp *prop) override
Shallow copy of an actor.
vtkLODActor::LowMapper
vtkPolyDataMapper * LowMapper
Definition: vtkLODActor.h:157
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:32
vtkObject::Modified
virtual void Modified()
Update the modification time for this object.
vtkLODActor::BuildTime
vtkTimeStamp BuildTime
Definition: vtkLODActor.h:160
vtkWindow
window superclass for vtkRenderWindow
Definition: vtkWindow.h:37
vtkLODActor
an actor that supports multiple levels of detail
Definition: vtkLODActor.h:70
vtkActor::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkLODActor::MediumMapper
vtkPolyDataMapper * MediumMapper
Definition: vtkLODActor.h:158
vtkActor::New
static vtkActor * New()
Creates an actor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,...
vtkMapper
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:80
vtkMapperCollection
an ordered list of mappers
Definition: vtkMapperCollection.h:35
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkLODActor::LODMappers
vtkMapperCollection * LODMappers
Definition: vtkLODActor.h:151
vtkLODActor::MediumResFilter
vtkPolyDataAlgorithm * MediumResFilter
Definition: vtkLODActor.h:156
vtkActor.h
vtkViewport
abstract specification for Viewports
Definition: vtkViewport.h:44
vtkLODActor::Device
vtkActor * Device
Definition: vtkLODActor.h:150
vtkProp
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:56
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:67
vtkLODActor::NumberOfCloudPoints
int NumberOfCloudPoints
Definition: vtkLODActor.h:161
vtkActor::Render
virtual void Render(vtkRenderer *, vtkMapper *)
This causes the actor to be rendered.
Definition: vtkActor.h:87
vtkPolyDataAlgorithm
Superclass for algorithms that produce only polydata as output.
Definition: vtkPolyDataAlgorithm.h:41