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
vtkOverrideInformation
Factory object override information.
Definition: vtkOverrideInformation.h:32
vtkOverrideInformation::GetObjectFactory
vtkObjectFactory * GetObjectFactory()
Return the specific object factory that this override occurs in.
Definition: vtkOverrideInformation.h:74
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:53
vtkOverrideInformation::GetDescription
const char * GetDescription()
Return a human readable or GUI displayable description of this override.
Definition: vtkOverrideInformation.h:66
vtkObjectFactory
abstract base class for vtkObjectFactories
Definition: vtkObjectFactory.h:49
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkOverrideInformation::GetClassOverrideName
const char * GetClassOverrideName()
Returns the name of the class being overridden.
Definition: vtkOverrideInformation.h:47
vtkObject.h
vtkOverrideInformation::GetClassOverrideWithName
const char * GetClassOverrideWithName()
Returns the name of the class that will override the class.
Definition: vtkOverrideInformation.h:57