00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkAssemblyNode.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00045 #ifndef __vtkAssemblyNode_h 00046 #define __vtkAssemblyNode_h 00047 00048 #include "vtkObject.h" 00049 00050 class vtkProp; 00051 class vtkMatrix4x4; 00052 00053 class VTK_COMMON_EXPORT vtkAssemblyNode : public vtkObject 00054 { 00055 public: 00057 static vtkAssemblyNode *New(); 00058 00059 vtkTypeRevisionMacro(vtkAssemblyNode,vtkObject); 00060 void PrintSelf(ostream& os, vtkIndent indent); 00061 00063 00064 void SetProp(vtkProp *prop); 00065 vtkGetObjectMacro(Prop, vtkProp); 00067 00069 00074 void SetMatrix(vtkMatrix4x4 *matrix); 00075 vtkGetObjectMacro(Matrix, vtkMatrix4x4); 00077 00080 virtual unsigned long GetMTime(); 00081 00082 protected: 00083 vtkAssemblyNode(); 00084 ~vtkAssemblyNode(); 00085 00086 private: 00087 vtkProp *Prop; //reference to vtkProp 00088 vtkMatrix4x4 *Matrix; //associated matrix 00089 00090 private: 00091 void operator=(const vtkAssemblyNode&); // Not implemented. 00092 vtkAssemblyNode(const vtkAssemblyNode&); // Not implemented. 00093 }; 00094 00095 #endif