VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkOverrideInformation.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 =========================================================================*/ 00026 #ifndef __vtkOverrideInformation_h 00027 #define __vtkOverrideInformation_h 00028 00029 #include "vtkCommonCoreModule.h" // For export macro 00030 #include "vtkObject.h" 00031 00032 class vtkObjectFactory; 00033 00034 class VTKCOMMONCORE_EXPORT vtkOverrideInformation : public vtkObject 00035 { 00036 public: 00037 static vtkOverrideInformation* New(); 00038 vtkTypeMacro(vtkOverrideInformation,vtkObject); 00040 virtual void PrintSelf(ostream& os, vtkIndent indent); 00041 00043 00046 const char* GetClassOverrideName() 00047 { 00048 return this->ClassOverrideName; 00049 } 00051 00053 00056 const char* GetClassOverrideWithName() 00057 { 00058 return this->ClassOverrideWithName; 00059 } 00061 00063 00065 const char* GetDescription() 00066 { 00067 return this->Description; 00068 } 00070 00072 00073 vtkObjectFactory* GetObjectFactory() 00074 { 00075 return this->ObjectFactory; 00076 } 00078 00079 00080 vtkSetStringMacro(ClassOverrideName); 00081 // Set the class override with name 00082 vtkSetStringMacro(ClassOverrideWithName); 00083 // Set the description 00084 vtkSetStringMacro(Description); 00085 protected: 00086 virtual void SetObjectFactory(vtkObjectFactory*); 00088 00089 private: 00090 vtkOverrideInformation(); 00091 ~vtkOverrideInformation(); 00092 // allow the object factory to set the values in this 00093 // class, but only the object factory 00094 //BTX 00095 friend class vtkObjectFactory; 00096 //ETX 00097 00098 char* ClassOverrideName; 00099 char* ClassOverrideWithName; 00100 char* Description; 00101 vtkObjectFactory* ObjectFactory; 00102 private: 00103 vtkOverrideInformation(const vtkOverrideInformation&); // Not implemented. 00104 void operator=(const vtkOverrideInformation&); // Not implemented. 00105 }; 00106 00107 #endif