VTK  9.1.0
vtkInformationObjectBaseKey.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkInformationObjectBaseKey.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=========================================================================*/
23#ifndef vtkInformationObjectBaseKey_h
24#define vtkInformationObjectBaseKey_h
25
26#include "vtkCommonCoreModule.h" // For export macro
27#include "vtkInformationKey.h"
28
29#include "vtkCommonInformationKeyManager.h" // Manage instances of this type.
30
31class vtkObjectBase;
32
33class VTKCOMMONCORE_EXPORT vtkInformationObjectBaseKey : public vtkInformationKey
34{
35public:
37 void PrintSelf(ostream& os, vtkIndent indent) override;
38
40 const char* name, const char* location, const char* requiredClass = nullptr);
42
50 const char* name, const char* location, const char* requiredClass = nullptr)
51 {
52 return new vtkInformationObjectBaseKey(name, location, requiredClass);
53 }
54
56
63
69 void ShallowCopy(vtkInformation* from, vtkInformation* to) override;
70
74 void Report(vtkInformation* info, vtkGarbageCollector* collector) override;
75
76protected:
77 // The type required of all objects stored with this key.
78 const char* RequiredClass;
79
81
82private:
84 void operator=(const vtkInformationObjectBaseKey&) = delete;
85};
86
87#endif
Detect and break reference loops.
a simple class to control print indentation
Definition: vtkIndent.h:113
Superclass for vtkInformation keys.
Key for vtkObjectBase values.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Report(vtkInformation *info, vtkGarbageCollector *collector) override
Report a reference this key has in the given information object.
vtkInformationObjectBaseKey(const char *name, const char *location, const char *requiredClass=nullptr)
~vtkInformationObjectBaseKey() override
void Set(vtkInformation *info, vtkObjectBase *)
Get/Set the value associated with this key in the given information object.
vtkObjectBase * Get(vtkInformation *info)
Get/Set the value associated with this key in the given information object.
static vtkInformationObjectBaseKey * MakeKey(const char *name, const char *location, const char *requiredClass=nullptr)
This method simply returns a new vtkInformationObjectBaseKey, given a name, location and optionally a...
vtkInformationKeySetStringMacro(RequiredClass)
void ShallowCopy(vtkInformation *from, vtkInformation *to) override
Copy the entry associated with this key from one information object to another.
Store vtkAlgorithm input/output information.
abstract base class for most VTK objects
Definition: vtkObjectBase.h:70
@ location
Definition: vtkX3D.h:412
@ info
Definition: vtkX3D.h:382
@ name
Definition: vtkX3D.h:225