VTK  9.1.0
vtkInformation.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkInformation.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=========================================================================*/
137#ifndef vtkInformation_h
138#define vtkInformation_h
139
140#include "vtkCommonCoreModule.h" // For export macro
141#include "vtkObject.h"
142
143#include <string> // for std::string compat
144
145class vtkDataObject;
146class vtkExecutive;
160class vtkInformationKeyToInformationFriendship;
171class vtkVariant;
172
173class VTKCOMMONCORE_EXPORT vtkInformation : public vtkObject
174{
175public:
177 vtkTypeMacro(vtkInformation, vtkObject);
178 void PrintSelf(ostream& os, vtkIndent indent) override;
179 void PrintKeys(ostream& os, vtkIndent indent);
180
185 void Modified() override;
186
193
197 void Clear();
198
204
212 void Copy(vtkInformation* from, int deep = 0);
213
220 void Append(vtkInformation* from, int deep = 0);
221
223
229 void CopyEntry(vtkInformation* from, vtkInformationKey* key, int deep = 0);
244
252
257
262
264
271
273
281
283
291
293
301
303
311
313
318 void Set(vtkInformationIntegerVectorKey* key, int value1, int value2, int value3);
319 void Set(vtkInformationIntegerVectorKey* key, int value1, int value2, int value3, int value4,
320 int value5, int value6);
328
330
334 void Set(vtkInformationStringVectorKey* key, const char* value, int idx = 0);
337 const char* Get(vtkInformationStringVectorKey* key, int idx = 0);
342
344
354
356
364
366
371 void Set(vtkInformationDoubleVectorKey* key, double value1, double value2, double value3);
372 void Set(vtkInformationDoubleVectorKey* key, double value1, double value2, double value3,
373 double value4, double value5, double value6);
381
383
388 void Set(vtkInformationVariantVectorKey* key, const vtkVariant& value1, const vtkVariant& value2,
389 const vtkVariant& value3);
390 void Set(vtkInformationVariantVectorKey* key, const vtkVariant& value1, const vtkVariant& value2,
391 const vtkVariant& value3, const vtkVariant& value4, const vtkVariant& value5,
392 const vtkVariant& value6);
400
402
416
417 // Provide extra overloads of this method to avoid requiring user
418 // code to include the headers for these key types. Avoid wrapping
419 // them because the original method can be called from the wrappers
420 // anyway and this causes a python help string to be too long.
421
433
445
447
450 void Set(vtkInformationStringKey* key, const char*);
456
458
466
468
476
478
486
488
500
502
510
512
530
532
535 void Register(vtkObjectBase* o) override;
536 void UnRegister(vtkObjectBase* o) override;
538
540
546
547protected:
549 ~vtkInformation() override;
550
551 // Get/Set a map entry directly through the vtkObjectBase instance
552 // representing the value. Used internally to manage the map.
556
557 // Internal implementation details.
559
560 // Garbage collection support.
562
563 // Report the object associated with the given key to the collector.
565
566private:
567 friend class vtkInformationKeyToInformationFriendship;
569
570private:
571 vtkInformation(const vtkInformation&) = delete;
572 void operator=(const vtkInformation&) = delete;
574};
575
576#endif
general representation of visualization data
Superclass for all pipeline executives in VTK.
Definition: vtkExecutive.h:76
Detect and break reference loops.
a simple class to control print indentation
Definition: vtkIndent.h:113
Key for vtkDataObject values.
Key for double values in vtkInformation.
Key for vtkExecutive/Port value pairs.
Key for vtkExecutive/Port value pair vectors.
Key for vtkIdType values in vtkInformation.
Key for vtkInformation values.
Key for integer values in vtkInformation.
internal structure for vtkInformation
Iterates over keys of an information object.
Key for vector-of-keys values.
Superclass for vtkInformation keys.
Key for vtkObjectBase values.
Key for vtkObjectBase vector values.
Key for pointer to pointer.
Key for string values in vtkInformation.
Key for unsigned long values in vtkInformation.
Key for variant values in vtkInformation.
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
void Remove(vtkInformationObjectBaseKey *key)
Get/Set an entry storing a vtkObjectBase instance.
void CopyEntry(vtkInformation *from, vtkInformationIntegerKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
void CopyEntry(vtkInformation *from, vtkInformationIntegerVectorKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
vtkInformationVector * Get(vtkInformationInformationVectorKey *key)
Get/Set an entry storing a vtkInformationVector instance.
int Has(vtkInformationVariantKey *key)
Get/Set an variant-valued entry.
vtkInformationKey * Get(vtkInformationKeyVectorKey *key, int idx)
Get/Set an InformationKey-vector-valued entry.
void Get(vtkInformationDoubleVectorKey *key, double *value)
Get/Set an double-vector-valued entry.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationKey *value)
Get/Set an InformationKey-vector-valued entry.
void Set(vtkInformationInformationVectorKey *key, vtkInformationVector *)
Get/Set an entry storing a vtkInformationVector instance.
void Append(vtkInformationStringVectorKey *key, const char *value)
Get/Set a string-vector-valued entry.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationStringKey *value)
void Append(vtkInformationKeyVectorKey *key, vtkInformationDoubleVectorKey *value)
static vtkInformationKey * GetKey(vtkInformationDoubleVectorKey *key)
Upcast the given key instance.
void Remove(vtkInformationUnsignedLongKey *key)
Get/Set an unsigned-long-valued entry.
void Set(vtkInformationIntegerVectorKey *key, int value1, int value2, int value3)
Get/Set an integer-vector-valued entry.
void Set(vtkInformationDoubleVectorKey *key, double value1, double value2, double value3)
Get/Set an double-vector-valued entry.
int Get(vtkInformationIntegerKey *key)
Get/Set an integer-valued entry.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationDoubleKey *value)
void Append(vtkInformationKeyVectorKey *key, vtkInformationObjectBaseKey *value)
int Has(vtkInformationObjectBaseKey *key)
Get/Set an entry storing a vtkObjectBase instance.
void Get(vtkInformationIntegerVectorKey *key, int *value)
Get/Set an integer-vector-valued entry.
void Copy(vtkInformation *from, int deep=0)
Copy all information entries from the given vtkInformation instance.
void Remove(vtkInformationDoubleVectorKey *key)
Get/Set an double-vector-valued entry.
static vtkInformationKey * GetKey(vtkInformationStringVectorKey *key)
Upcast the given key instance.
static vtkInformationKey * GetKey(vtkInformationInformationKey *key)
Upcast the given key instance.
void CopyEntry(vtkInformation *from, vtkInformationKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
const char * Get(vtkInformationStringVectorKey *key, int idx=0)
Get/Set a string-vector-valued entry.
const vtkVariant * Get(vtkInformationVariantVectorKey *key)
Get/Set an variant-vector-valued entry.
void Set(vtkInformationVariantVectorKey *key, const vtkVariant &value1, const vtkVariant &value2, const vtkVariant &value3, const vtkVariant &value4, const vtkVariant &value5, const vtkVariant &value6)
Get/Set an variant-vector-valued entry.
void Set(vtkInformationKeyVectorKey *key, vtkInformationKey *const *value, int length)
Get/Set an InformationKey-vector-valued entry.
void Set(vtkInformationIntegerVectorKey *key, int value1, int value2, int value3, int value4, int value5, int value6)
Get/Set an integer-vector-valued entry.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationObjectBaseKey *value)
void Set(vtkInformationIntegerPointerKey *key, int *value, int length)
Get/Set an integer-pointer-valued entry.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationStringVectorKey *value)
void Set(vtkInformationIntegerVectorKey *key, const int *value, int length)
Get/Set an integer-vector-valued entry.
void Set(vtkInformationObjectBaseVectorKey *key, vtkObjectBase *value, int idx=0)
Manipulate a ObjectBaseVector entry.
int Has(vtkInformationDoubleKey *key)
Get/Set an double-valued entry.
const vtkVariant & Get(vtkInformationVariantVectorKey *key, int idx)
Get/Set an variant-vector-valued entry.
void Append(vtkInformation *from, int deep=0)
Append all information entries from the given vtkInformation instance.
void Remove(vtkInformationKey *key)
Remove the given key and its data from this information object.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationIntegerVectorKey *value)
void ReportAsObjectBase(vtkInformationKey *key, vtkGarbageCollector *collector)
void Set(vtkInformationInformationKey *key, vtkInformation *)
Get/Set an entry storing another vtkInformation instance.
double Get(vtkInformationDoubleKey *key)
Get/Set an double-valued entry.
void UnRegister(vtkObjectBase *o) override
Initiate garbage collection when a reference is removed.
void Remove(vtkInformationVariantVectorKey *key)
Get/Set an variant-vector-valued entry.
vtkInformationRequestKey * GetRequest()
Get/Set the Request ivar.
int Has(vtkInformationInformationVectorKey *key)
Get/Set an entry storing a vtkInformationVector instance.
int Length(vtkInformationVariantVectorKey *key)
Get/Set an variant-vector-valued entry.
static vtkInformationKey * GetKey(vtkInformationUnsignedLongKey *key)
Upcast the given key instance.
void Append(vtkInformationDoubleVectorKey *key, double value)
Get/Set an double-vector-valued entry.
void SetRequest(vtkInformationRequestKey *request)
Get/Set the Request ivar.
void CopyEntry(vtkInformation *from, vtkInformationDataObjectKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
void Set(vtkInformationObjectBaseKey *key, vtkObjectBase *)
Get/Set an entry storing a vtkObjectBase instance.
void CopyEntry(vtkInformation *from, vtkInformationInformationKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
vtkDataObject VTK_WRAP_EXTERN * Get(vtkInformationDataObjectKey *key)
Get/Set an entry storing a vtkDataObject instance.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationUnsignedLongKey *value)
void Modified() override
Modified signature with no arguments that calls Modified on vtkObject superclass.
static vtkInformationKey * GetKey(vtkInformationInformationVectorKey *key)
Upcast the given key instance.
static vtkInformation * New()
void Append(vtkInformationKeyVectorKey *key, vtkInformationInformationVectorKey *value)
int Length(vtkInformationKeyVectorKey *key)
Get/Set an InformationKey-vector-valued entry.
void CopyEntry(vtkInformation *from, vtkInformationStringVectorKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
void Set(vtkInformationDoubleKey *key, double value)
Get/Set an double-valued entry.
void Append(vtkInformationKeyVectorKey *key, vtkInformationIntegerVectorKey *value)
int Length(vtkInformationDoubleVectorKey *key)
Get/Set an double-vector-valued entry.
void CopyEntry(vtkInformation *from, vtkInformationVariantKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
vtkObjectBase * Get(vtkInformationObjectBaseVectorKey *key, int idx=0)
Manipulate a ObjectBaseVector entry.
vtkObjectBase * GetAsObjectBase(vtkInformationKey *key)
void CopyEntry(vtkInformation *from, vtkInformationDoubleVectorKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
void Set(vtkInformationStringKey *key, const char *)
Get/Set a string-valued entry.
void Get(vtkInformationKeyVectorKey *key, vtkInformationKey **value)
Get/Set an InformationKey-vector-valued entry.
int Has(vtkInformationDataObjectKey *key)
Get/Set an entry storing a vtkDataObject instance.
void Get(vtkInformationIntegerPointerKey *key, int *value)
Get/Set an integer-pointer-valued entry.
void Set(vtkInformationVariantKey *key, const vtkVariant &value)
Get/Set an variant-valued entry.
~vtkInformation() override
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationDoubleVectorKey *value)
static vtkInformationKey * GetKey(vtkInformationStringKey *key)
Upcast the given key instance.
void Set(vtkInformationVariantVectorKey *key, const vtkVariant *value, int length)
Get/Set an variant-vector-valued entry.
void Remove(vtkInformationStringKey *key)
Get/Set a string-valued entry.
void Append(vtkInformationKeyVectorKey *key, vtkInformationInformationKey *value)
void Append(vtkInformationKeyVectorKey *key, vtkInformationKey *value)
Get/Set an InformationKey-vector-valued entry.
void Remove(vtkInformationKeyVectorKey *key)
Get/Set an InformationKey-vector-valued entry.
void Remove(vtkInformationObjectBaseVectorKey *key, int indexToRemove)
Manipulate a ObjectBaseVector entry.
void Remove(vtkInformationInformationKey *key)
Get/Set an entry storing another vtkInformation instance.
void ReportReferences(vtkGarbageCollector *) override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkInformationKey * GetKey(vtkInformationVariantVectorKey *key)
Upcast the given key instance.
void Remove(vtkInformationObjectBaseVectorKey *key)
Manipulate a ObjectBaseVector entry.
void Clear()
Clear all information entries.
int Has(vtkInformationUnsignedLongKey *key)
Get/Set an unsigned-long-valued entry.
int Has(vtkInformationIdTypeKey *key)
Get/Set a vtkIdType-valued entry.
vtkInformation * Get(vtkInformationInformationKey *key)
Get/Set an entry storing another vtkInformation instance.
void Append(vtkInformationKeyVectorKey *key, vtkInformationUnsignedLongKey *value)
int Has(vtkInformationStringVectorKey *key)
Get/Set a string-vector-valued entry.
void Set(vtkInformationDoubleVectorKey *key, double value1, double value2, double value3, double value4, double value5, double value6)
Get/Set an double-vector-valued entry.
vtkIdType Get(vtkInformationIdTypeKey *key)
Get/Set a vtkIdType-valued entry.
void CopyEntry(vtkInformation *from, vtkInformationVariantVectorKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationInformationVectorKey *value)
const vtkVariant & Get(vtkInformationVariantKey *key)
Get/Set an variant-valued entry.
void Remove(vtkInformationIntegerPointerKey *key)
Get/Set an integer-pointer-valued entry.
int Has(vtkInformationVariantVectorKey *key)
Get/Set an variant-vector-valued entry.
const char * Get(vtkInformationStringKey *key)
Get/Set a string-valued entry.
void Remove(vtkInformationVariantKey *key)
Get/Set an variant-valued entry.
void CopyEntries(vtkInformation *from, vtkInformationKeyVectorKey *key, int deep=0)
Use the given key to lookup a list of other keys in the given information object.
static vtkInformationKey * GetKey(vtkInformationDataObjectKey *key)
Upcast the given key instance.
void Append(vtkInformationIntegerVectorKey *key, int value)
Get/Set an integer-vector-valued entry.
void Append(vtkInformationStringVectorKey *key, const std::string &value)
Get/Set a string-vector-valued entry.
void Remove(vtkInformationIntegerVectorKey *key)
Get/Set an integer-vector-valued entry.
void Set(vtkInformationDoubleVectorKey *key, const double *value, int length)
Get/Set an double-vector-valued entry.
void Set(vtkInformationStringVectorKey *key, const std::string &value, int idx=0)
Get/Set a string-vector-valued entry.
static vtkInformationKey * GetKey(vtkInformationRequestKey *key)
Upcast the given key instance.
void Remove(vtkInformationDoubleKey *key)
Get/Set an double-valued entry.
int GetNumberOfKeys()
Return the number of keys in this information object (as would be returned by iterating over the keys...
void Remove(vtkInformationInformationVectorKey *key)
Get/Set an entry storing a vtkInformationVector instance.
void Modified(vtkInformationKey *key)
Modified signature that takes an information key as an argument.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationDataObjectKey *value)
int Has(vtkInformationIntegerPointerKey *key)
Get/Set an integer-pointer-valued entry.
void Append(vtkInformationKeyVectorKey *key, vtkInformationStringKey *value)
static vtkInformationKey * GetKey(vtkInformationKey *key)
Upcast the given key instance.
void Append(vtkInformationKeyVectorKey *key, vtkInformationDataObjectKey *value)
void Register(vtkObjectBase *o) override
Initiate garbage collection when a reference is removed.
int * Get(vtkInformationIntegerPointerKey *key)
Get/Set an integer-pointer-valued entry.
vtkInformationInternals * Internal
void SetAsObjectBase(vtkInformationKey *key, vtkObjectBase *value)
void Append(vtkInformationObjectBaseVectorKey *key, vtkObjectBase *data)
Manipulate a ObjectBaseVector entry.
int Has(vtkInformationRequestKey *key)
Get/Set a request-valued entry.
void Set(vtkInformationUnsignedLongKey *key, unsigned long value)
Get/Set an unsigned-long-valued entry.
void Set(vtkInformationRequestKey *key)
Get/Set a request-valued entry.
void Append(vtkInformationKeyVectorKey *key, vtkInformationDoubleKey *value)
void Get(vtkInformationVariantVectorKey *key, vtkVariant *value)
Get/Set an variant-vector-valued entry.
void Append(vtkInformationKeyVectorKey *key, vtkInformationStringVectorKey *value)
int * Get(vtkInformationIntegerVectorKey *key)
Get/Set an integer-vector-valued entry.
static vtkInformationKey * GetKey(vtkInformationVariantKey *key)
Upcast the given key instance.
int Length(vtkInformationIntegerVectorKey *key)
Get/Set an integer-vector-valued entry.
int Has(vtkInformationIntegerKey *key)
Get/Set an integer-valued entry.
static vtkInformationKey * GetKey(vtkInformationIntegerKey *key)
Upcast the given key instance.
static vtkInformationKey * GetKey(vtkInformationDoubleKey *key)
Upcast the given key instance.
int Has(vtkInformationInformationKey *key)
Get/Set an entry storing another vtkInformation instance.
unsigned long Get(vtkInformationUnsignedLongKey *key)
Get/Set an unsigned-long-valued entry.
void Append(vtkInformationKeyVectorKey *key, vtkInformationIntegerKey *value)
int Has(vtkInformationIntegerVectorKey *key)
Get/Set an integer-vector-valued entry.
void Set(vtkInformationVariantVectorKey *key, const vtkVariant &value1, const vtkVariant &value2, const vtkVariant &value3)
Get/Set an variant-vector-valued entry.
int Has(vtkInformationDoubleVectorKey *key)
Get/Set an double-vector-valued entry.
int Get(vtkInformationIntegerVectorKey *key, int idx)
Get/Set an integer-vector-valued entry.
int Length(vtkInformationIntegerPointerKey *key)
Get/Set an integer-pointer-valued entry.
vtkInformationKey ** Get(vtkInformationKeyVectorKey *key)
Get/Set an InformationKey-vector-valued entry.
void CopyEntry(vtkInformation *from, vtkInformationRequestKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
void Remove(vtkInformationStringVectorKey *key)
Get/Set a string-vector-valued entry.
void Remove(vtkInformationDataObjectKey *key)
Get/Set an entry storing a vtkDataObject instance.
double Get(vtkInformationDoubleVectorKey *key, int idx)
Get/Set an double-vector-valued entry.
void Remove(vtkInformationKeyVectorKey *key, vtkInformationKey *value)
Get/Set an InformationKey-vector-valued entry.
void Set(vtkInformationStringVectorKey *key, const char *value, int idx=0)
Get/Set a string-vector-valued entry.
int Length(vtkInformationStringVectorKey *key)
Get/Set a string-vector-valued entry.
int Has(vtkInformationKeyVectorKey *key)
Get/Set an InformationKey-vector-valued entry.
void CopyEntry(vtkInformation *from, vtkInformationUnsignedLongKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
const vtkObjectBase * GetAsObjectBase(const vtkInformationKey *key) const
vtkObjectBase * Get(vtkInformationObjectBaseKey *key)
Get/Set an entry storing a vtkObjectBase instance.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationIntegerKey *value)
double * Get(vtkInformationDoubleVectorKey *key)
Get/Set an double-vector-valued entry.
void CopyEntry(vtkInformation *from, vtkInformationInformationVectorKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
void AppendUnique(vtkInformationKeyVectorKey *key, vtkInformationInformationKey *value)
void CopyEntry(vtkInformation *from, vtkInformationObjectBaseVectorKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
void Remove(vtkInformationObjectBaseVectorKey *key, vtkObjectBase *objectToRemove)
Manipulate a ObjectBaseVector entry.
void Set(vtkInformationDataObjectKey *key, vtkDataObject VTK_WRAP_EXTERN *)
Get/Set an entry storing a vtkDataObject instance.
int Has(vtkInformationObjectBaseVectorKey *key)
Manipulate a ObjectBaseVector entry.
int Has(vtkInformationStringKey *key)
Get/Set a string-valued entry.
void Append(vtkInformationVariantVectorKey *key, const vtkVariant &value)
Get/Set an variant-vector-valued entry.
void Set(vtkInformationIntegerKey *key, int value)
Get/Set an integer-valued entry.
void Remove(vtkInformationRequestKey *key)
Get/Set a request-valued entry.
void Remove(vtkInformationIntegerKey *key)
Get/Set an integer-valued entry.
int Length(vtkInformationObjectBaseVectorKey *key)
Manipulate a ObjectBaseVector entry.
void Remove(vtkInformationIdTypeKey *key)
Get/Set a vtkIdType-valued entry.
void PrintKeys(ostream &os, vtkIndent indent)
void CopyEntry(vtkInformation *from, vtkInformationStringKey *key, int deep=0)
Copy the key/value pair associated with the given key in the given information object.
void Set(vtkInformationStringKey *key, const std::string &)
Get/Set a string-valued entry.
int Has(vtkInformationKey *key)
Check whether the given key appears in this information object.
void Set(vtkInformationIdTypeKey *key, vtkIdType value)
Get/Set a vtkIdType-valued entry.
static vtkInformationKey * GetKey(vtkInformationIntegerVectorKey *key)
Upcast the given key instance.
abstract base class for most VTK objects
Definition: vtkObjectBase.h:70
abstract base class for most VTK objects
Definition: vtkObject.h:73
A atomic type representing the union of many types.
Definition: vtkVariant.h:145
@ key
Definition: vtkX3D.h:263
@ length
Definition: vtkX3D.h:399
@ value
Definition: vtkX3D.h:226
@ data
Definition: vtkX3D.h:321
@ string
Definition: vtkX3D.h:496
int vtkIdType
Definition: vtkType.h:332