28 #ifndef __itkMetaDataObject_h
29 #define __itkMetaDataObject_h
72 template<
typename MetaDataObjectType >
84 itkFactorylessNewMacro(
Self);
147 virtual void Print(std::ostream & os)
const;
170 template<
typename T >
174 temp->SetMetaDataObjectValue(invalue);
175 Dictionary[key] = temp;
179 template<
typename T >
194 template<
typename T >
197 if ( !Dictionary.
HasKey(key) )
204 if ( baseObjectSmartPointer.
IsNull() || strcmp(
typeid( T ).name(), baseObjectSmartPointer->GetMetaDataObjectTypeName() ) != 0 )
210 if ( TempMetaDataObject !=
NULL )
230 #define NATIVE_TYPE_METADATAPRINT(TYPE_NAME) \
233 itk::MetaDataObject< TYPE_NAME > \
234 ::Print(std::ostream & os) const \
236 os << this->m_MetaDataObjectValue << std::endl; \
240 itk::MetaDataObject< const TYPE_NAME > \
241 ::Print(std::ostream & os) const \
243 os << this->m_MetaDataObjectValue << std::endl; \
255 #define ITK_OBJECT_TYPE_METADATAPRINT_1COMMA(TYPE_NAME_PART1, TYPE_NAME_PART2) \
258 itk::MetaDataObject< TYPE_NAME_PART1, TYPE_NAME_PART2 > \
259 ::Print(std::ostream & os) const \
261 this->m_MetaDataObjectValue->Print(os); \
265 itk::MetaDataObject< const TYPE_NAME_PART1, TYPE_NAME_PART2 > \
266 ::Print(std::ostream & os) const \
268 this->m_MetaDataObjectValue->Print(os); \
279 #define ITK_IMAGE_TYPE_METADATAPRINT(STORAGE_TYPE) \
280 ITK_OBJECT_TYPE_METADATAPRINT_1COMMA(itk::Image< STORAGE_TYPE, 1 >::Pointer) \
281 ITK_OBJECT_TYPE_METADATAPRINT_1COMMA(itk::Image< STORAGE_TYPE, 2 >::Pointer) \
282 ITK_OBJECT_TYPE_METADATAPRINT_1COMMA(itk::Image< STORAGE_TYPE, 3 >::Pointer) \
283 ITK_OBJECT_TYPE_METADATAPRINT_1COMMA(itk::Image< STORAGE_TYPE, 4 >::Pointer) \
284 ITK_OBJECT_TYPE_METADATAPRINT_1COMMA(itk::Image< STORAGE_TYPE, 5 >::Pointer) \
285 ITK_OBJECT_TYPE_METADATAPRINT_1COMMA(itk::Image< STORAGE_TYPE, 6 >::Pointer) \
286 ITK_OBJECT_TYPE_METADATAPRINT_1COMMA(itk::Image< STORAGE_TYPE, 7 >::Pointer) \
287 ITK_OBJECT_TYPE_METADATAPRINT_1COMMA(itk::Image< STORAGE_TYPE, 8 >::Pointer) \
289 #ifndef ITK_MANUAL_INSTANTIATION
290 #include "itkMetaDataObject.hxx"
293 #endif //itkMetaDataObject_h
Light weight base class for most itk classes.
void EncapsulateMetaData(MetaDataDictionary &Dictionary, const std::string &key, const T &invalue)
ObjectType * GetPointer() const
bool ExposeMetaData(const MetaDataDictionary &Dictionary, const std::string key, T &outval)