VTK
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 =========================================================================*/
61 #ifndef vtkLODActor_h
62 #define vtkLODActor_h
63 
64 #include "vtkRenderingLODModule.h" // For export macro
65 #include "vtkActor.h"
66 
67 class vtkMapper;
70 class vtkPolyDataMapper;
71 class vtkRenderer;
72 class vtkViewport;
73 class vtkWindow;
74 
76 {
77 public:
78  vtkTypeMacro(vtkLODActor, vtkActor);
79  void PrintSelf(ostream& os, vtkIndent indent);
80 
84  static vtkLODActor* New();
85 
88  virtual void Render(vtkRenderer *, vtkMapper *);
89 
92  int RenderOpaqueGeometry(vtkViewport* viewport);
93 
98 
101  void AddLODMapper(vtkMapper* mapper);
102 
104 
107  virtual void SetLowResFilter(vtkPolyDataAlgorithm*);
108  virtual void SetMediumResFilter(vtkPolyDataAlgorithm*);
109  vtkGetObjectMacro(LowResFilter, vtkPolyDataAlgorithm);
110  vtkGetObjectMacro(MediumResFilter, vtkPolyDataAlgorithm);
112 
114 
115  vtkGetMacro(NumberOfCloudPoints, int);
116  vtkSetMacro(NumberOfCloudPoints, int);
118 
120 
122  vtkGetObjectMacro(LODMappers, vtkMapperCollection);
124 
127  void Modified();
128 
130  void ShallowCopy(vtkProp *prop);
131 
132 protected:
133  vtkLODActor();
134  ~vtkLODActor();
135 
138 
139  // We can create our own LOD filters. The default is to use a
140  //
145 
148 
149  virtual void CreateOwnLODs();
150  virtual void UpdateOwnLODs();
151  virtual void DeleteOwnLODs();
152 
153 private:
154  vtkLODActor(const vtkLODActor&); // Not implemented.
155  void operator=(const vtkLODActor&); // Not implemented.
156 };
157 
158 #endif
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:52
a list of mappers
vtkPolyDataAlgorithm * LowResFilter
Definition: vtkLODActor.h:141
virtual void Render(vtkRenderer *, vtkMapper *)
Definition: vtkActor.h:80
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:50
an actor that supports multiple levels of detail
Definition: vtkLODActor.h:75
int NumberOfCloudPoints
Definition: vtkLODActor.h:147
abstract specification for Viewports
Definition: vtkViewport.h:46
record modification and/or execution time
Definition: vtkTimeStamp.h:34
vtkPolyDataMapper * LowMapper
Definition: vtkLODActor.h:143
abstract specification for renderers
Definition: vtkRenderer.h:63
static vtkActor * New()
void PrintSelf(ostream &os, vtkIndent indent)
vtkPolyDataMapper * MediumMapper
Definition: vtkLODActor.h:144
vtkMapperCollection * LODMappers
Definition: vtkLODActor.h:137
vtkPolyDataAlgorithm * MediumResFilter
Definition: vtkLODActor.h:142
vtkTimeStamp BuildTime
Definition: vtkLODActor.h:146
window superclass for vtkRenderWindow
Definition: vtkWindow.h:36
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:38
virtual void Modified()
#define VTKRENDERINGLOD_EXPORT
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:89
map vtkPolyData to graphics primitives
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
void ReleaseGraphicsResources(vtkWindow *)
vtkActor * Device
Definition: vtkLODActor.h:136
void ShallowCopy(vtkProp *prop)