44#ifndef _INCLUDED_Field3D_ClassFactory_H_
45#define _INCLUDED_Field3D_ClassFactory_H_
47#include <boost/scoped_ptr.hpp>
95 void registerField(CreateFieldFnPtr createFunc);
98 FieldRes::Ptr createField(
const std::string &className)
const;
102 void registerFieldIO(CreateFieldIOFnPtr createFunc);
105 FieldIO::Ptr createFieldIO(
const std::string &className)
const;
114 void registerFieldMapping(CreateFieldMappingFnPtr createFunc);
121 void registerFieldMappingIO(CreateFieldMappingIOFnPtr createFunc);
Contains the FieldMappingIO base class and the NullFieldMappingIO and MatrixFieldMappingIO subclasses...
Contains Field, WritableField and ResizableField classes.
std::map< std::string, CreateFieldFnPtr > FieldFuncMap
std::map< std::string, CreateFieldMappingIOFnPtr > FieldMappingIOFuncMap
FieldMappingIOFuncMap m_mappingIOs
Map of create functions for FieldMapping IO classes. The key is the class name.
static boost::scoped_ptr< ClassFactory > ms_instance
Pointer to static instance.
NameVec m_fieldMappingIONames
FieldMappingFuncMap m_mappings
Map of create functions for FieldMappings. The key is the class name.
FieldFuncMap m_fields
Map of create functions for Fields. The key is the class name.
FieldIOFuncMap m_fieldIOs
Map of create functions for FieldIO classes. The key is the class name.
std::map< std::string, CreateFieldMappingFnPtr > FieldMappingFuncMap
std::vector< std::string > NameVec
std::map< std::string, CreateFieldIOFnPtr > FieldIOFuncMap
NameVec m_fieldMappingNames
boost::intrusive_ptr< FieldIO > Ptr
boost::intrusive_ptr< FieldMappingIO > Ptr
boost::intrusive_ptr< FieldMapping > Ptr
boost::intrusive_ptr< FieldRes > Ptr
#define FIELD3D_NAMESPACE_HEADER_CLOSE