00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkOverrideInformation.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 =========================================================================*/ 00042 #ifndef __vtkOverrideInformation_h 00043 #define __vtkOverrideInformation_h 00044 00045 #include "vtkObject.h" 00046 00047 class vtkObjectFactory; 00048 00049 class VTK_COMMON_EXPORT vtkOverrideInformation : public vtkObject 00050 { 00051 public: 00052 static vtkOverrideInformation* New(); 00053 vtkTypeRevisionMacro(vtkOverrideInformation,vtkObject); 00055 virtual void PrintSelf(ostream& os, vtkIndent indent); 00056 00058 00061 const char* GetClassOverrideName() 00062 { 00063 return this->ClassOverrideName; 00064 } 00066 00068 00071 const char* GetClassOverrideWithName() 00072 { 00073 return this->ClassOverrideWithName; 00074 } 00076 00078 00080 const char* GetDescription() 00081 { 00082 return this->Description; 00083 } 00085 00087 00088 vtkObjectFactory* GetObjectFactory() 00089 { 00090 return this->ObjectFactory; 00091 } 00092 // Description: 00093 // Set the class override name 00094 vtkSetStringMacro(ClassOverrideName); 00095 // Set the class override with name 00096 vtkSetStringMacro(ClassOverrideWithName); 00097 // Set the description 00098 vtkSetStringMacro(Description); 00100 protected: 00101 virtual void SetObjectFactory(vtkObjectFactory*); 00102 00103 private: 00104 vtkOverrideInformation(); 00105 ~vtkOverrideInformation(); 00106 // allow the object factory to set the values in this 00107 // class, but only the object factory 00108 //BTX 00109 friend class vtkObjectFactory; 00110 //ETX 00111 00112 char* ClassOverrideName; 00113 char* ClassOverrideWithName; 00114 char* Description; 00115 vtkObjectFactory* ObjectFactory; 00116 private: 00117 vtkOverrideInformation(const vtkOverrideInformation&); // Not implemented. 00118 void operator=(const vtkOverrideInformation&); // Not implemented. 00119 }; 00120 00121 #endif