ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkMetaDataObject.h>
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef MetaDataObject | Self |
typedef MetaDataObjectBase | Superclass |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const std::type_info & | GetMetaDataObjectTypeInfo (void) const |
virtual const char * | GetMetaDataObjectTypeName (void) const |
const MetaDataObjectType & | GetMetaDataObjectValue (void) const |
virtual const char * | GetNameOfClass () const |
MetaDataObject (void) | |
MetaDataObject (const MetaDataObjectType InitializerValue) | |
MetaDataObject (const MetaDataObject< MetaDataObjectType > &TemplateObject) | |
virtual void | Print (std::ostream &os) const |
void | SetMetaDataObjectValue (const MetaDataObjectType &NewValue) |
virtual | ~MetaDataObject (void) |
Static Public Member Functions | |
static Pointer | New (void) |
Private Attributes | |
MetaDataObjectType | m_MetaDataObjectValue |
Allows arbitrary data types to be stored as MetaDataObjectBase types, and to be stored in a MetaDataDictionary.
The MetaDataObject class is a templated class that is a specialization of the MetaDataObjectBase type. This class allows arbitrary data types to be stored as MetaDataObjectBase types, and to be stored in a MetaDataDictionary.
Any class or built in type that has valid copy constructor and operator= can be wrapped directly with this simple template type.
Classes or built in types that do not have valid copy constructors or operator= implemented will have to implement those functions by deriving from MetaDataObject<MetaDataObjectType> and redefining the copy constructor and initializing constructor and the Get/Set functions to work around those deficiencies.
The behavior of the MetaDataObject<Type>::Print() function has many plausible application dependant implementations. The default implementation prints the string "[UNKNOWN PRINT CHARACTERISTICS]" that works for all possible MetaDataObject types.
The application developer may overload the default implementation to provide a specialized Print() characteristics to produce results desirable for their application. A set of very crude Macros {NATIVE_TYPE_METADATAPRINT, ITK_OBJECT_TYPE_METADATAPRINT_1COMMA, ITK_IMAGE_TYPE_METADATAPRINT } are provided to facilitate a very simple implementation, and as an example.
Definition at line 74 of file itkMetaDataObject.h.
typedef SmartPointer< const Self > itk::MetaDataObject< MetaDataObjectType >::ConstPointer |
Reimplemented from itk::MetaDataObjectBase.
Definition at line 82 of file itkMetaDataObject.h.
typedef SmartPointer< Self > itk::MetaDataObject< MetaDataObjectType >::Pointer |
Reimplemented from itk::MetaDataObjectBase.
Definition at line 81 of file itkMetaDataObject.h.
typedef MetaDataObject itk::MetaDataObject< MetaDataObjectType >::Self |
Smart pointer typedef support.
Reimplemented from itk::MetaDataObjectBase.
Definition at line 79 of file itkMetaDataObject.h.
typedef MetaDataObjectBase itk::MetaDataObject< MetaDataObjectType >::Superclass |
Reimplemented from itk::MetaDataObjectBase.
Definition at line 80 of file itkMetaDataObject.h.
itk::MetaDataObject< MetaDataObjectType >::MetaDataObject | ( | void | ) |
virtual itk::MetaDataObject< MetaDataObjectType >::~MetaDataObject | ( | void | ) | [virtual] |
itk::MetaDataObject< MetaDataObjectType >::MetaDataObject | ( | const MetaDataObjectType | InitializerValue | ) |
itk::MetaDataObject< MetaDataObjectType >::MetaDataObject | ( | const MetaDataObject< MetaDataObjectType > & | TemplateObject | ) |
virtual ::itk::LightObject::Pointer itk::MetaDataObject< MetaDataObjectType >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
virtual const std::type_info& itk::MetaDataObject< MetaDataObjectType >::GetMetaDataObjectTypeInfo | ( | void | ) | const [virtual] |
The definition of this function is necessary to fulfill the interface of the MetaDataObjectBase
Reimplemented from itk::MetaDataObjectBase.
virtual const char* itk::MetaDataObject< MetaDataObjectType >::GetMetaDataObjectTypeName | ( | void | ) | const [virtual] |
The definition of this function is necessary to fulfill the interface of the MetaDataObjectBase
Reimplemented from itk::MetaDataObjectBase.
const MetaDataObjectType& itk::MetaDataObject< MetaDataObjectType >::GetMetaDataObjectValue | ( | void | ) | const |
virtual const char* itk::MetaDataObject< MetaDataObjectType >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::MetaDataObjectBase.
static Pointer itk::MetaDataObject< MetaDataObjectType >::New | ( | void | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::LightObject.
Referenced by itk::EncapsulateMetaData().
virtual void itk::MetaDataObject< MetaDataObjectType >::Print | ( | std::ostream & | os | ) | const [virtual] |
Defines the default behavior for printing out this element
os | An output stream |
Reimplemented from itk::MetaDataObjectBase.
void itk::MetaDataObject< MetaDataObjectType >::SetMetaDataObjectValue | ( | const MetaDataObjectType & | NewValue | ) |
NewValue | A constant reference to at MetaDataObjectType. |
MetaDataObjectType itk::MetaDataObject< MetaDataObjectType >::m_MetaDataObjectValue [private] |
Definition at line 159 of file itkMetaDataObject.h.