44 #ifndef _INCLUDED_Field3D_ClassFactory_H_
45 #define _INCLUDED_Field3D_ClassFactory_H_
174 #endif // Include guard
#define FIELD3D_NAMESPACE_HEADER_CLOSE
boost::intrusive_ptr< FieldMappingIO > Ptr
std::map< std::string, CreateFieldMappingFnPtr > FieldMappingFuncMap
void registerFieldIO(CreateFieldIOFnPtr createFunc)
Registers an IO class with the class pool.
std::map< std::string, CreateFieldIOFnPtr > FieldIOFuncMap
FieldIO::Ptr(* CreateFieldIOFnPtr)()
std::vector< std::string > NameVec
FieldIOFuncMap m_fieldIOs
Map of create functions for FieldIO classes. The key is the class name.
static ClassFactory & singleton()
}
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.
ClassFactory()
Standard constructor.
FieldMappingFuncMap m_mappings
Map of create functions for FieldMappings. The key is the class name.
boost::intrusive_ptr< FieldMapping > Ptr
FieldMappingIO::Ptr(* CreateFieldMappingIOFnPtr)()
FieldRes::Ptr createField(const std::string &className) const
Instances an object by name.
NameVec m_fieldMappingNames
static ClassFactory * ms_instance
Pointer to static instance.
FieldRes::Ptr(* CreateFieldFnPtr)()
NameVec m_fieldMappingIONames
FieldMapping::Ptr(* CreateFieldMappingFnPtr)()
void registerFieldMappingIO(CreateFieldMappingIOFnPtr createFunc)
Registers an IO class with the class pool.
FieldMapping::Ptr createFieldMapping(const std::string &className) const
Instances an object by name.
Contains Field, WritableField and ResizableField classes.
std::map< std::string, CreateFieldMappingIOFnPtr > FieldMappingIOFuncMap
FieldIO::Ptr createFieldIO(const std::string &className) const
Instances an IO object by name.
std::map< std::string, CreateFieldFnPtr > FieldFuncMap
void registerFieldMapping(CreateFieldMappingFnPtr createFunc)
Registers a class with the class pool.
void registerField(CreateFieldFnPtr createFunc)
Registers a class with the class pool.
boost::intrusive_ptr< FieldIO > Ptr
FieldMappingIO::Ptr createFieldMappingIO(const std::string &className) const
Instances an IO object by name.
Contains the FieldMappingIO base class and the NullFieldMappingIO and MatrixFieldMappingIO subclasses...
#define FIELD3D_NAMESPACE_OPEN