VTK
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkInformationKey Class Referenceabstract

Superclass for vtkInformation keys. More...

#include <vtkInformationKey.h>

Inheritance diagram for vtkInformationKey:
[legend]
Collaboration diagram for vtkInformationKey:
[legend]

Public Member Functions

 vtkBaseTypeMacro (vtkInformationKey, vtkObjectBase)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
void Register (vtkObjectBase *) override
 Prevent normal vtkObject reference counting behavior. More...
 
void UnRegister (vtkObjectBase *) override
 Prevent normal vtkObject reference counting behavior. More...
 
const char * GetName ()
 Get the name of the key. More...
 
const char * GetLocation ()
 Get the location of the key. More...
 
virtual void ShallowCopy (vtkInformation *from, vtkInformation *to)=0
 Copy the entry associated with this key from one information object to another. More...
 
virtual void DeepCopy (vtkInformation *from, vtkInformation *to)
 Duplicate (new instance created) the entry associated with this key from one information object to another (new instances of any contained vtkInformation and vtkInformationVector objects are created). More...
 
virtual int Has (vtkInformation *info)
 Check whether this key appears in the given information object. More...
 
virtual void Remove (vtkInformation *info)
 Remove this key from the given information object. More...
 
virtual void Report (vtkInformation *info, vtkGarbageCollector *collector)
 Report a reference this key has in the given information object. More...
 
virtual bool NeedToExecute (vtkInformation *vtkNotUsed(pipelineInfo), vtkInformation *vtkNotUsed(dobjInfo))
 This function is only relevant when the pertaining key is used in a VTK pipeline. More...
 
virtual void StoreMetaData (vtkInformation *vtkNotUsed(request), vtkInformation *vtkNotUsed(pipelineInfo), vtkInformation *vtkNotUsed(dobjInfo))
 This function is only relevant when the pertaining key is used in a VTK pipeline. More...
 
virtual void CopyDefaultInformation (vtkInformation *vtkNotUsed(request), vtkInformation *vtkNotUsed(fromInfo), vtkInformation *vtkNotUsed(toInfo))
 This function is only relevant when the pertaining key is used in a VTK pipeline. More...
 
 vtkInformationKey (const char *name, const char *location)
 Key instances are static data that need to be created and destroyed. More...
 
 ~vtkInformationKey () override
 Key instances are static data that need to be created and destroyed. More...
 
void Print (vtkInformation *info)
 Print the key's value in an information object to a stream. More...
 
virtual void Print (ostream &os, vtkInformation *info)
 Print the key's value in an information object to a stream. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual vtkTypeBool IsA (const char *name)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Protected Member Functions

 vtkInformationKeySetStringMacro (Name)
 
 vtkInformationKeySetStringMacro (Location)
 
void SetAsObjectBase (vtkInformation *info, vtkObjectBase *value)
 
const vtkObjectBaseGetAsObjectBase (vtkInformation *info) const
 
vtkObjectBaseGetAsObjectBase (vtkInformation *info)
 
void ReportAsObjectBase (vtkInformation *info, vtkGarbageCollector *collector)
 
void ConstructClass (const char *)
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void RegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

char * Name
 
char * Location
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Additional Inherited Members

- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Detailed Description

Superclass for vtkInformation keys.

vtkInformationKey is the superclass for all keys used to access the map represented by vtkInformation. The vtkInformation::Set and vtkInformation::Get methods of vtkInformation are accessed by information keys. A key is a pointer to an instance of a subclass of vtkInformationKey. The type of the subclass determines the overload of Set/Get that is selected. This ensures that the type of value stored in a vtkInformation instance corresponding to a given key matches the type expected for that key.

Tests:
vtkInformationKey (Tests)

Definition at line 41 of file vtkInformationKey.h.

Constructor & Destructor Documentation

vtkInformationKey::vtkInformationKey ( const char *  name,
const char *  location 
)

Key instances are static data that need to be created and destroyed.

The constructor and destructor must be public. The name of the static instance and the class in which it is defined should be passed to the constructor. They must be string literals because the strings are not copied.

vtkInformationKey::~vtkInformationKey ( )
override

Key instances are static data that need to be created and destroyed.

The constructor and destructor must be public. The name of the static instance and the class in which it is defined should be passed to the constructor. They must be string literals because the strings are not copied.

Member Function Documentation

vtkInformationKey::vtkBaseTypeMacro ( vtkInformationKey  ,
vtkObjectBase   
)
void vtkInformationKey::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual
void vtkInformationKey::Register ( vtkObjectBase )
overridevirtual

Prevent normal vtkObject reference counting behavior.

Reimplemented from vtkObjectBase.

void vtkInformationKey::UnRegister ( vtkObjectBase )
overridevirtual

Prevent normal vtkObject reference counting behavior.

Reimplemented from vtkObjectBase.

const char* vtkInformationKey::GetName ( )

Get the name of the key.

This is not the type of the key, but the name of the key instance.

const char* vtkInformationKey::GetLocation ( )

Get the location of the key.

This is the name of the class in which the key is defined.

virtual void vtkInformationKey::ShallowCopy ( vtkInformation from,
vtkInformation to 
)
pure virtual
virtual void vtkInformationKey::DeepCopy ( vtkInformation from,
vtkInformation to 
)
inlinevirtual

Duplicate (new instance created) the entry associated with this key from one information object to another (new instances of any contained vtkInformation and vtkInformationVector objects are created).

Default implementation simply calls ShallowCopy().

Reimplemented in vtkInformationQuadratureSchemeDefinitionVectorKey, vtkInformationInformationKey, and vtkInformationInformationVectorKey.

Definition at line 94 of file vtkInformationKey.h.

virtual int vtkInformationKey::Has ( vtkInformation info)
virtual

Check whether this key appears in the given information object.

Reimplemented in vtkInformationRequestKey.

virtual void vtkInformationKey::Remove ( vtkInformation info)
virtual

Remove this key from the given information object.

Reimplemented in vtkInformationExecutivePortVectorKey, and vtkInformationRequestKey.

virtual void vtkInformationKey::Report ( vtkInformation info,
vtkGarbageCollector collector 
)
virtual
void vtkInformationKey::Print ( vtkInformation info)

Print the key's value in an information object to a stream.

virtual void vtkInformationKey::Print ( ostream &  os,
vtkInformation info 
)
virtual
virtual bool vtkInformationKey::NeedToExecute ( vtkInformation vtkNotUsedpipelineInfo,
vtkInformation vtkNotUseddobjInfo 
)
inlinevirtual

This function is only relevant when the pertaining key is used in a VTK pipeline.

Specific keys that handle pipeline data requests (for example, UPDATE_PIECE_NUMBER) can overwrite this method to notify the pipeline that a a filter should be (re-)executed because what is in the current output is different that what is being requested by the key. For example, DATA_PIECE_NUMBER != UPDATE_PIECE_NUMBER.

Definition at line 129 of file vtkInformationKey.h.

virtual void vtkInformationKey::StoreMetaData ( vtkInformation vtkNotUsedrequest,
vtkInformation vtkNotUsedpipelineInfo,
vtkInformation vtkNotUseddobjInfo 
)
inlinevirtual

This function is only relevant when the pertaining key is used in a VTK pipeline.

Specific keys that handle pipeline data requests (for example, UPDATE_PIECE_NUMBER) can overwrite this method to store in the data information meta-data about the request that led to the current filter execution. This meta-data can later be used to compare what is being requested to decide whether the filter needs to re-execute. For example, a filter may store the current UPDATE_PIECE_NUMBER in the data object's information as the DATA_PIECE_NUMBER. DATA_PIECE_NUMBER can later be compared to a new UPDATA_PIECE_NUMBER to decide whether a filter should re-execute.

Definition at line 146 of file vtkInformationKey.h.

virtual void vtkInformationKey::CopyDefaultInformation ( vtkInformation vtkNotUsedrequest,
vtkInformation vtkNotUsedfromInfo,
vtkInformation vtkNotUsedtoInfo 
)
inlinevirtual

This function is only relevant when the pertaining key is used in a VTK pipeline.

By overwriting this method, a key can decide if/how to copy itself downstream or upstream during a particular pipeline pass. For example, meta-data keys can copy themselves during REQUEST_INFORMATION whereas request keys can copy themselves during REQUEST_UPDATE_EXTENT.

Definition at line 158 of file vtkInformationKey.h.

vtkInformationKey::vtkInformationKeySetStringMacro ( Name  )
protected
vtkInformationKey::vtkInformationKeySetStringMacro ( Location  )
protected
void vtkInformationKey::SetAsObjectBase ( vtkInformation info,
vtkObjectBase value 
)
protected
const vtkObjectBase* vtkInformationKey::GetAsObjectBase ( vtkInformation info) const
protected
vtkObjectBase* vtkInformationKey::GetAsObjectBase ( vtkInformation info)
protected
void vtkInformationKey::ReportAsObjectBase ( vtkInformation info,
vtkGarbageCollector collector 
)
protected
void vtkInformationKey::ConstructClass ( const char *  )
protected

Member Data Documentation

char* vtkInformationKey::Name
protected

Definition at line 163 of file vtkInformationKey.h.

char* vtkInformationKey::Location
protected

Definition at line 164 of file vtkInformationKey.h.


The documentation for this class was generated from the following file: