VTK
vtkOverrideInformation.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOverrideInformation.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
24 #ifndef vtkOverrideInformation_h
25 #define vtkOverrideInformation_h
26 
27 #include "vtkCommonCoreModule.h" // For export macro
28 #include "vtkObject.h"
29 
30 class vtkObjectFactory;
31 
32 class VTKCOMMONCORE_EXPORT vtkOverrideInformation : public vtkObject
33 {
34 public:
35  static vtkOverrideInformation* New();
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
47  const char* GetClassOverrideName()
48  {
49  return this->ClassOverrideName;
50  }
51 
58  {
59  return this->ClassOverrideWithName;
60  }
61 
66  const char* GetDescription()
67  {
68  return this->Description;
69  }
70 
75  {
76  return this->ObjectFactory;
77  }
78 
80 
83  vtkSetStringMacro(ClassOverrideName);
84 
88  vtkSetStringMacro(ClassOverrideWithName);
89 
93  vtkSetStringMacro(Description);
95 
96 protected:
97  virtual void SetObjectFactory(vtkObjectFactory*);
98 
99 private:
101  ~vtkOverrideInformation() override;
102  // allow the object factory to set the values in this
103  // class, but only the object factory
104 
105  friend class vtkObjectFactory;
106 
107  char* ClassOverrideName;
108  char* ClassOverrideWithName;
109  char* Description;
110  vtkObjectFactory* ObjectFactory;
111 private:
113  void operator=(const vtkOverrideInformation&) = delete;
114 };
115 
116 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:53
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const char * GetClassOverrideWithName()
Returns the name of the class that will override the class.
const char * GetDescription()
Return a human readable or GUI displayable description of this override.
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkObjectFactory * GetObjectFactory()
Return the specific object factory that this override occurs in.
abstract base class for vtkObjectFactories
Factory object override information.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
const char * GetClassOverrideName()
Returns the name of the class being overridden.