VTK  9.2.6
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 =========================================================================*/
59 #ifndef vtkLODActor_h
60 #define vtkLODActor_h
61 
62 #include "vtkActor.h"
63 #include "vtkRenderingLODModule.h" // For export macro
64 
65 class vtkMapper;
68 class vtkPolyDataMapper;
69 class vtkRenderer;
70 class vtkViewport;
71 class vtkWindow;
72 
73 class VTKRENDERINGLOD_EXPORT vtkLODActor : public vtkActor
74 {
75 public:
76  vtkTypeMacro(vtkLODActor, vtkActor);
77  void PrintSelf(ostream& os, vtkIndent indent) override;
78 
84  static vtkLODActor* New();
85 
90  void Render(vtkRenderer*, vtkMapper*) override;
91 
97  void ReleaseGraphicsResources(vtkWindow*) override;
98 
103  void AddLODMapper(vtkMapper* mapper);
104 
106 
111  virtual void SetLowResFilter(vtkPolyDataAlgorithm*);
112  virtual void SetMediumResFilter(vtkPolyDataAlgorithm*);
113  vtkGetObjectMacro(LowResFilter, vtkPolyDataAlgorithm);
114  vtkGetObjectMacro(MediumResFilter, vtkPolyDataAlgorithm);
116 
118 
121  vtkGetMacro(NumberOfCloudPoints, int);
122  vtkSetMacro(NumberOfCloudPoints, int);
124 
126 
130  vtkGetObjectMacro(LODMappers, vtkMapperCollection);
132 
136  void Modified() override;
137 
141  void ShallowCopy(vtkProp* prop) override;
142 
143 protected:
144  vtkLODActor();
145  ~vtkLODActor() override;
146 
149 
150  // We can create our own LOD filters. The default is to use a
151  //
156 
159 
160  virtual void CreateOwnLODs();
161  virtual void UpdateOwnLODs();
162  virtual void DeleteOwnLODs();
163 
164 private:
165  vtkLODActor(const vtkLODActor&) = delete;
166  void operator=(const vtkLODActor&) = delete;
167 };
168 
169 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:56
an ordered list of mappers
vtkPolyDataAlgorithm * LowResFilter
Definition: vtkLODActor.h:152
virtual void Render(vtkRenderer *, vtkMapper *)
This causes the actor to be rendered.
Definition: vtkActor.h:93
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
an actor that supports multiple levels of detail
Definition: vtkLODActor.h:73
int NumberOfCloudPoints
Definition: vtkLODActor.h:158
abstract specification for Viewports
Definition: vtkViewport.h:55
record modification and/or execution time
Definition: vtkTimeStamp.h:35
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPolyDataMapper * LowMapper
Definition: vtkLODActor.h:154
void ShallowCopy(vtkProp *prop) override
Shallow copy of an actor.
abstract specification for renderers
Definition: vtkRenderer.h:72
static vtkActor * New()
Creates an actor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,1,1) visibility=1 pickable=1 dragable=1 orientation=(0,0,0).
void ReleaseGraphicsResources(vtkWindow *) override
Release any graphics resources that are being consumed by this actor.
vtkPolyDataMapper * MediumMapper
Definition: vtkLODActor.h:155
vtkMapperCollection * LODMappers
Definition: vtkLODActor.h:148
vtkPolyDataAlgorithm * MediumResFilter
Definition: vtkLODActor.h:153
vtkTimeStamp BuildTime
Definition: vtkLODActor.h:157
window superclass for vtkRenderWindow
Definition: vtkWindow.h:38
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual void Modified()
Update the modification time for this object.
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:87
map vtkPolyData to graphics primitives
vtkActor * Device
Definition: vtkLODActor.h:147