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