VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkAssemblyNode.h 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 vtkTypeMacro(vtkAssemblyNode,vtkObject); 00060 void PrintSelf(ostream& os, vtkIndent indent); 00061 00063 00064 virtual void SetViewProp(vtkProp* prop); 00065 vtkGetObjectMacro(ViewProp, vtkProp); 00067 00069 00074 void SetMatrix(vtkMatrix4x4 *matrix); 00075 vtkGetObjectMacro(Matrix, vtkMatrix4x4); 00077 00080 virtual unsigned long GetMTime(); 00081 00082 // Disable warnings about qualifiers on return types. 00083 #if defined(_COMPILER_VERSION) 00084 # pragma set woff 3303 00085 #endif 00086 #if defined(__INTEL_COMPILER) 00087 # pragma warning (push) 00088 # pragma warning (disable:858) 00089 #endif 00090 00091 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE 00092 # define SetPropA SetProp 00093 # define SetPropW SetProp 00094 # define GetPropA GetProp 00095 # define GetPropW GetProp 00096 #endif 00097 00099 VTK_LEGACY(virtual void SetProp(vtkProp* prop)); 00100 00102 VTK_LEGACY(virtual vtkProp* GetProp()); 00103 00104 #ifdef VTK_WORKAROUND_WINDOWS_MANGLE 00105 # undef SetPropW 00106 # undef SetPropA 00107 # undef GetPropW 00108 # undef GetPropA 00109 //BTX 00110 VTK_LEGACY(virtual void SetPropA(vtkProp* prop)); 00111 VTK_LEGACY(virtual void SetPropW(vtkProp* prop)); 00112 VTK_LEGACY(virtual vtkProp* GetPropA()); 00113 VTK_LEGACY(virtual vtkProp* GetPropW()); 00114 //ETX 00115 #endif 00116 00117 // Reset disabled warning about qualifiers on return types. 00118 #if defined(__INTEL_COMPILER) 00119 # pragma warning (pop) 00120 #endif 00121 #if defined(_COMPILER_VERSION) 00122 # pragma reset woff 3303 00123 #endif 00124 00125 protected: 00126 vtkAssemblyNode(); 00127 ~vtkAssemblyNode(); 00128 00129 private: 00130 vtkProp *ViewProp; //reference to vtkProp 00131 vtkMatrix4x4 *Matrix; //associated matrix 00132 00133 private: 00134 void operator=(const vtkAssemblyNode&); // Not implemented. 00135 vtkAssemblyNode(const vtkAssemblyNode&); // Not implemented. 00136 }; 00137 00138 #endif