VTK  9.7.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;
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 
62  vtkOverrideAttribute* GetOverrideAttributes() { return this->OverrideAttributes; }
63 
65 
68  vtkSetStringMacro(ClassOverrideName);
69 
73  vtkSetStringMacro(ClassOverrideWithName);
74 
78  vtkSetStringMacro(Description);
80 
81 protected:
82  virtual void SetObjectFactory(vtkObjectFactory*);
83  virtual void SetOverrideAttributes(vtkOverrideAttribute* attrs);
84 
85 private:
87  ~vtkOverrideInformation() override;
88  // allow the object factory to set the values in this
89  // class, but only the object factory
90 
91  friend class vtkObjectFactory;
92 
93  char* ClassOverrideName;
94  char* ClassOverrideWithName;
95  char* Description;
96  vtkObjectFactory* ObjectFactory;
97  vtkOverrideAttribute* OverrideAttributes;
98 
100  void operator=(const vtkOverrideInformation&) = delete;
101 };
102 
103 VTK_ABI_NAMESPACE_END
104 #endif
Attribute for vtkObjectFactory overrides.
abstract base class for most VTK objects
Definition: vtkObject.h:52
vtkOverrideAttribute * GetOverrideAttributes()
Get the override attributes if any.
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.