VTK
vtkPropAssembly.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPropAssembly.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 =========================================================================*/
49 #ifndef __vtkPropAssembly_h
50 #define __vtkPropAssembly_h
51 
52 #include "vtkProp.h"
53 
55 {
56 public:
57  vtkTypeMacro(vtkPropAssembly,vtkProp);
58  void PrintSelf(ostream& os, vtkIndent indent);
59 
61  static vtkPropAssembly *New();
62 
64  void AddPart(vtkProp *);
65 
67  void RemovePart(vtkProp *);
68 
70  vtkPropCollection *GetParts();
71 
73 
78  virtual int RenderVolumetricGeometry( vtkViewport *ren);
79  int RenderOverlay(vtkViewport *ren);
81 
83  virtual int HasTranslucentPolygonalGeometry();
84 
89 
93  double *GetBounds();
94 
96  void ShallowCopy(vtkProp *Prop);
97 
100  unsigned long int GetMTime();
101 
103 
111  void InitPathTraversal();
113  int GetNumberOfPaths();
115 
116 //BTX
118 
121  void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path);
122 //ETX
124 
125 protected:
126  vtkPropAssembly();
127  ~vtkPropAssembly();
128 
130  double Bounds[6];
131 
132  // Support the BuildPaths() method,
134  void UpdatePaths(); //apply transformations and properties recursively
135 private:
136  vtkPropAssembly(const vtkPropAssembly&); // Not implemented.
137  void operator=(const vtkPropAssembly&); // Not implemented.
138 };
139 
140 #endif
141 
142 
143 
144 
abstract superclass for all actors, volumes and annotations
Definition: vtkProp.h:49
vtkPropCollection * Parts
void PrintSelf(ostream &os, vtkIndent indent)
virtual void ShallowCopy(vtkProp *prop)
abstract specification for Viewports
Definition: vtkViewport.h:45
#define VTK_FILTERING_EXPORT
virtual int RenderOpaqueGeometry(vtkViewport *)
Definition: vtkProp.h:171
virtual int HasTranslucentPolygonalGeometry()
Definition: vtkProp.h:230
virtual int RenderOverlay(vtkViewport *)
Definition: vtkProp.h:174
virtual void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path)
record modification and/or execution time
Definition: vtkTimeStamp.h:33
create hierarchies of props
virtual vtkAssemblyPath * GetNextPath()
a list of Props
virtual void ReleaseGraphicsResources(vtkWindow *)
Definition: vtkProp.h:236
virtual double * GetBounds()
Definition: vtkProp.h:113
window superclass for vtkRenderWindow
Definition: vtkWindow.h:35
virtual int RenderVolumetricGeometry(vtkViewport *)
Definition: vtkProp.h:173
a list of nodes that form an assembly path
virtual unsigned long GetMTime()
a simple class to control print indentation
Definition: vtkIndent.h:37
a list of lists of props representing an assembly hierarchy
virtual int RenderTranslucentPolygonalGeometry(vtkViewport *)
Definition: vtkProp.h:172
virtual int GetNumberOfPaths()
Definition: vtkProp.h:132
static vtkObject * New()
virtual void InitPathTraversal()
vtkTimeStamp PathTime