44 #ifndef _INCLUDED_Field3D_ClassFactory_H_ 45 #define _INCLUDED_Field3D_ClassFactory_H_ 94 void registerField(CreateFieldFnPtr createFunc);
97 FieldRes::Ptr createField(
const std::string &className)
const;
101 void registerFieldIO(CreateFieldIOFnPtr createFunc);
104 FieldIO::Ptr createFieldIO(
const std::string &className)
const;
113 void registerFieldMapping(CreateFieldMappingFnPtr createFunc);
120 void registerFieldMappingIO(CreateFieldMappingIOFnPtr createFunc);
174 #endif // Include guard #define FIELD3D_NAMESPACE_HEADER_CLOSE
boost::intrusive_ptr< FieldMappingIO > Ptr
std::map< std::string, CreateFieldMappingFnPtr > FieldMappingFuncMap
std::map< std::string, CreateFieldIOFnPtr > FieldIOFuncMap
std::vector< std::string > NameVec
FieldIOFuncMap m_fieldIOs
Map of create functions for FieldIO classes. The key is the class name.
boost::intrusive_ptr< FieldRes > Ptr
FieldFuncMap m_fields
Map of create functions for Fields. The key is the class name.
FieldMappingIOFuncMap m_mappingIOs
Map of create functions for FieldMapping IO classes. The key is the class name.
FieldMappingFuncMap m_mappings
Map of create functions for FieldMappings. The key is the class name.
boost::intrusive_ptr< FieldMapping > Ptr
NameVec m_fieldMappingNames
static ClassFactory * ms_instance
Pointer to static instance.
NameVec m_fieldMappingIONames
Contains Field, WritableField and ResizableField classes.
std::map< std::string, CreateFieldMappingIOFnPtr > FieldMappingIOFuncMap
std::map< std::string, CreateFieldFnPtr > FieldFuncMap
boost::intrusive_ptr< FieldIO > Ptr
Contains the FieldMappingIO base class and the NullFieldMappingIO and MatrixFieldMappingIO subclasses...