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 "vtkActor.h"
65 
66 class vtkMapper;
69 class vtkPolyDataMapper;
70 class vtkRenderer;
71 class vtkViewport;
72 class vtkWindow;
73 
75 {
76 public:
77  vtkTypeMacro(vtkLODActor,vtkActor);
78  void PrintSelf(ostream& os, vtkIndent indent);
79 
83  static vtkLODActor *New();
84 
87  virtual void Render(vtkRenderer *, vtkMapper *);
88 
91  int RenderOpaqueGeometry(vtkViewport *viewport);
92 
97 
100  void AddLODMapper(vtkMapper *mapper);
101 
103 
106  virtual void SetLowResFilter( vtkPolyDataAlgorithm * );
107  virtual void SetMediumResFilter( vtkPolyDataAlgorithm * );
108  vtkGetObjectMacro( LowResFilter, vtkPolyDataAlgorithm );
109  vtkGetObjectMacro( MediumResFilter, vtkPolyDataAlgorithm );
111 
113 
114  vtkGetMacro(NumberOfCloudPoints,int);
115  vtkSetMacro(NumberOfCloudPoints,int);
117 
119 
121  vtkGetObjectMacro(LODMappers, vtkMapperCollection);
123 
126  void Modified();
127 
129  void ShallowCopy(vtkProp *prop);
130 
131 protected:
132  vtkLODActor();
133  ~vtkLODActor();
134 
137 
138  // We can create our own LOD filters. The default is to use a
139  //
144 
147 
148  virtual void CreateOwnLODs();
149  virtual void UpdateOwnLODs();
150  virtual void DeleteOwnLODs();
151 
152 private:
153  vtkLODActor(const vtkLODActor&); // Not implemented.
154  void operator=(const vtkLODActor&); // Not implemented.
155 };
156 
157 #endif
158 
159 
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:49
a list of mappers
vtkPolyDataAlgorithm * LowResFilter
Definition: vtkLODActor.h:140
virtual void Render(vtkRenderer *, vtkMapper *)
Definition: vtkActor.h:79
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:49
an actor that supports multiple levels of detail
Definition: vtkLODActor.h:74
int NumberOfCloudPoints
Definition: vtkLODActor.h:146
abstract specification for Viewports
Definition: vtkViewport.h:45
record modification and/or execution time
Definition: vtkTimeStamp.h:33
vtkPolyDataMapper * LowMapper
Definition: vtkLODActor.h:142
abstract specification for renderers
Definition: vtkRenderer.h:69
static vtkActor * New()
void PrintSelf(ostream &os, vtkIndent indent)
vtkPolyDataMapper * MediumMapper
Definition: vtkLODActor.h:143
vtkMapperCollection * LODMappers
Definition: vtkLODActor.h:136
vtkPolyDataAlgorithm * MediumResFilter
Definition: vtkLODActor.h:141
vtkTimeStamp BuildTime
Definition: vtkLODActor.h:145
window superclass for vtkRenderWindow
Definition: vtkWindow.h:35
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:37
virtual void Modified()
abstract class specifies interface to map data to graphics primitives
Definition: vtkMapper.h:85
#define VTK_RENDERING_EXPORT
map vtkPolyData to graphics primitives
virtual int RenderOpaqueGeometry(vtkViewport *viewport)
void ReleaseGraphicsResources(vtkWindow *)
vtkActor * Device
Definition: vtkLODActor.h:135
void ShallowCopy(vtkProp *prop)