VTK
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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;
68 class vtkMapperCollection;
69 class vtkPolyDataAlgorithm;
70 class vtkPolyDataMapper;
71 class vtkRenderer;
72 class vtkViewport;
73 class vtkWindow;
74 
75 class VTKRENDERINGLOD_EXPORT vtkLODActor : public vtkActor
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 
97  void ReleaseGraphicsResources(vtkWindow*);
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 
136  vtkActor* Device;
137  vtkMapperCollection* LODMappers;
138 
139  // We can create our own LOD filters. The default is to use a
140  //
141  vtkPolyDataAlgorithm* LowResFilter;
142  vtkPolyDataAlgorithm* MediumResFilter;
143  vtkPolyDataMapper* LowMapper;
144  vtkPolyDataMapper* MediumMapper;
145 
146  vtkTimeStamp BuildTime;
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
vtkPolyDataAlgorithm * LowResFilter
Definition: vtkLODActor.h:141
an actor that supports multiple levels of detail
Definition: vtkLODActor.h:75
int NumberOfCloudPoints
Definition: vtkLODActor.h:147
vtkPolyDataMapper * LowMapper
Definition: vtkLODActor.h:143
vtkPolyDataMapper * MediumMapper
Definition: vtkLODActor.h:144
vtkMapperCollection * LODMappers
Definition: vtkLODActor.h:137
vtkPolyDataAlgorithm * MediumResFilter
Definition: vtkLODActor.h:142
vtkTimeStamp BuildTime
Definition: vtkLODActor.h:146
vtkActor * Device
Definition: vtkLODActor.h:136