VTK  9.3.1
vtkOverrideInformation.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
15 #ifndef vtkOverrideInformation_h
16 #define vtkOverrideInformation_h
17 
18 #include "vtkCommonCoreModule.h" // For export macro
19 #include "vtkObject.h"
20 
21 VTK_ABI_NAMESPACE_BEGIN
22 class vtkObjectFactory;
23 
24 class VTKCOMMONCORE_EXPORT vtkOverrideInformation : public vtkObject
25 {
26 public:
27  static vtkOverrideInformation* New();
32  void PrintSelf(ostream& os, vtkIndent indent) override;
33 
39  const char* GetClassOverrideName() { return this->ClassOverrideName; }
40 
46  const char* GetClassOverrideWithName() { return this->ClassOverrideWithName; }
47 
52  const char* GetDescription() { return this->Description; }
53 
57  vtkObjectFactory* GetObjectFactory() { return this->ObjectFactory; }
58 
60 
63  vtkSetStringMacro(ClassOverrideName);
64 
68  vtkSetStringMacro(ClassOverrideWithName);
69 
73  vtkSetStringMacro(Description);
75 
76 protected:
77  virtual void SetObjectFactory(vtkObjectFactory*);
78 
79 private:
81  ~vtkOverrideInformation() override;
82  // allow the object factory to set the values in this
83  // class, but only the object factory
84 
85  friend class vtkObjectFactory;
86 
87  char* ClassOverrideName;
88  char* ClassOverrideWithName;
89  char* Description;
90  vtkObjectFactory* ObjectFactory;
91 
93  void operator=(const vtkOverrideInformation&) = delete;
94 };
95 
96 VTK_ABI_NAMESPACE_END
97 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:51
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:28
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.