VTK
dox/Common/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 "vtkObject.h"
00030 
00031 class vtkObjectFactory;
00032 
00033 class VTK_COMMON_EXPORT vtkOverrideInformation : public vtkObject
00034 {
00035 public: 
00036   static vtkOverrideInformation* New();
00037   vtkTypeMacro(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     }
00077 
00078 
00079   vtkSetStringMacro(ClassOverrideName);
00080   // Set the class override with name
00081   vtkSetStringMacro(ClassOverrideWithName);
00082   // Set the description
00083   vtkSetStringMacro(Description);
00084 protected:
00085   virtual void SetObjectFactory(vtkObjectFactory*);
00087 
00088 private:
00089   vtkOverrideInformation();
00090   ~vtkOverrideInformation();
00091   // allow the object factory to set the values in this
00092   // class, but only the object factory
00093 //BTX
00094   friend class vtkObjectFactory;
00095 //ETX
00096   
00097   char* ClassOverrideName;
00098   char* ClassOverrideWithName;
00099   char* Description;
00100   vtkObjectFactory* ObjectFactory;  
00101 private:
00102   vtkOverrideInformation(const vtkOverrideInformation&);  // Not implemented.
00103   void operator=(const vtkOverrideInformation&);  // Not implemented.
00104 };
00105 
00106 #endif