Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Common/vtkPropAssembly.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkPropAssembly.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00050 #ifndef __vtkPropAssembly_h 00051 #define __vtkPropAssembly_h 00052 00053 #include "vtkProp.h" 00054 00055 class VTK_COMMON_EXPORT vtkPropAssembly : public vtkProp 00056 { 00057 public: 00058 vtkTypeRevisionMacro(vtkPropAssembly,vtkProp); 00059 void PrintSelf(ostream& os, vtkIndent indent); 00060 00062 static vtkPropAssembly *New(); 00063 00065 void AddPart(vtkProp *); 00066 00068 void RemovePart(vtkProp *); 00069 00071 vtkPropCollection *GetParts(); 00072 00074 00077 int RenderOpaqueGeometry(vtkViewport *ren); 00078 int RenderTranslucentGeometry(vtkViewport *ren); 00079 int RenderOverlay(vtkViewport *); 00081 00085 void ReleaseGraphicsResources(vtkWindow *); 00086 00090 float *GetBounds(); 00091 00093 void ShallowCopy(vtkProp *Prop); 00094 00097 unsigned long int GetMTime(); 00098 00100 00108 void InitPathTraversal(); 00109 vtkAssemblyPath *GetNextPath(); 00110 int GetNumberOfPaths(); 00112 00113 //BTX 00117 void BuildPaths(vtkAssemblyPaths *paths, vtkAssemblyPath *path); 00118 //ETX 00119 00120 protected: 00121 vtkPropAssembly(); 00122 ~vtkPropAssembly(); 00123 00124 vtkPropCollection *Parts; 00125 float Bounds[6]; 00126 00127 // Support the BuildPaths() method, 00128 vtkTimeStamp PathTime; 00129 void UpdatePaths(); //apply transformations and properties recursively 00130 private: 00131 vtkPropAssembly(const vtkPropAssembly&); // Not implemented. 00132 void operator=(const vtkPropAssembly&); // Not implemented. 00133 }; 00134 00135 #endif 00136 00137 00138 00139