VTK
dox/Common/Core/vtkOverrideInformation.h
Go to the documentation of this file.
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