00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkOverrideInformation.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 =========================================================================*/ 00026 #ifndef __vtkOverrideInformation_h 00027 #define __vtkOverrideInformation_h 00028 00029 #include "vtkObject.h" 00030 00031 class vtkObjectFactory; 00032 00033 class VTK_COMMON_EXPORT vtkOverrideInformation : public vtkObject 00034 { 00035 public: 00036 static vtkOverrideInformation* New(); 00037 vtkTypeRevisionMacro(vtkOverrideInformation,vtkObject); 00039 virtual void PrintSelf(ostream& os, vtkIndent indent); 00040 00042 00045 const char* GetClassOverrideName() 00046 { 00047 return this->ClassOverrideName; 00048 } 00050 00052 00055 const char* GetClassOverrideWithName() 00056 { 00057 return this->ClassOverrideWithName; 00058 } 00060 00062 00064 const char* GetDescription() 00065 { 00066 return this->Description; 00067 } 00069 00071 00072 vtkObjectFactory* GetObjectFactory() 00073 { 00074 return this->ObjectFactory; 00075 } 00076 // Description: 00077 // Set the class override name 00078 vtkSetStringMacro(ClassOverrideName); 00079 // Set the class override with name 00080 vtkSetStringMacro(ClassOverrideWithName); 00081 // Set the description 00082 vtkSetStringMacro(Description); 00084 protected: 00085 virtual void SetObjectFactory(vtkObjectFactory*); 00086 00087 private: 00088 vtkOverrideInformation(); 00089 ~vtkOverrideInformation(); 00090 // allow the object factory to set the values in this 00091 // class, but only the object factory 00092 //BTX 00093 friend class vtkObjectFactory; 00094 //ETX 00095 00096 char* ClassOverrideName; 00097 char* ClassOverrideWithName; 00098 char* Description; 00099 vtkObjectFactory* ObjectFactory; 00100 private: 00101 vtkOverrideInformation(const vtkOverrideInformation&); // Not implemented. 00102 void operator=(const vtkOverrideInformation&); // Not implemented. 00103 }; 00104 00105 #endif