76 bool nameExists =
false;
82 "Unsuccessful attempt at registering Field class. " 83 "(Creation function returned null pointer)");
87 string simpleClassName = instance->className();
88 string dataTypeName = instance->dataTypeString();
89 string className = simpleClassName +
"<" + dataTypeName +
">";
91 FieldFuncMap::const_iterator i = m_fields.find(className);
92 if (i != m_fields.end())
96 m_fields[className] = createFunc;
99 if (find(m_fieldNames.begin(), m_fieldNames.end(),
100 className) == m_fieldNames.end()) {
101 m_fieldNames.push_back(className);
102 char *debugEnvVar = getenv(
"FIELD3D_DEBUG");
104 Msg::print(
"Registered Field class " + className);
116 FieldFuncMap::const_iterator i = m_fields.find(className);
117 if (i != m_fields.end())
129 bool nameExists =
false;
135 "Unsuccessful attempt at registering FieldIO class. " 136 "(Creation function returned null pointer)");
140 string className = instance->className();
142 FieldIOFuncMap::const_iterator i = m_fieldIOs.find(className);
143 if (i != m_fieldIOs.end())
147 m_fieldIOs[className] = createFunc;
150 if (find(m_fieldIONames.begin(), m_fieldIONames.end(),
151 className) == m_fieldIONames.end()) {
152 m_fieldIONames.push_back(className);
153 char *debugEnvVar = getenv(
"FIELD3D_DEBUG");
155 Msg::print(
"Registered FieldIO class " + className);
168 FieldIOFuncMap::const_iterator i = m_fieldIOs.find(className);
169 if (i != m_fieldIOs.end())
181 bool nameExists =
false;
187 "Unsuccessful attempt at registering FieldMapping class. " 188 "(Creation function returned null pointer)");
192 string className = instance->className();
194 FieldMappingFuncMap::const_iterator i = m_mappings.find(className);
195 if (i != m_mappings.end())
199 m_mappings[className] = createFunc;
202 if (find(m_fieldMappingNames.begin(), m_fieldMappingNames.end(),
203 className) == m_fieldMappingNames.end()) {
204 m_fieldMappingNames.push_back(className);
205 char *debugEnvVar = getenv(
"FIELD3D_DEBUG");
207 Msg::print(
"Registered FieldMapping class " + className);
218 FieldMappingFuncMap::const_iterator i = m_mappings.find(className);
219 if (i != m_mappings.end())
231 bool nameExists =
false;
237 "Unsuccessful attempt at registering FieldMappingIO class. " 238 "(Creation function returned null pointer)");
242 string className = instance->className();
244 FieldMappingIOFuncMap::const_iterator i = m_mappingIOs.find(className);
245 if (i != m_mappingIOs.end())
249 m_mappingIOs[className] = createFunc;
252 if (find(m_fieldMappingNames.begin(), m_fieldMappingNames.end(),
253 className) == m_fieldMappingNames.end()) {
254 m_fieldMappingNames.push_back(className);
255 char *debugEnvVar = getenv(
"FIELD3D_DEBUG");
257 Msg::print(
"Registered FieldMappingIO class " + className);
268 FieldMappingIOFuncMap::const_iterator i = m_mappingIOs.find(className);
269 if (i != m_mappingIOs.end())
boost::intrusive_ptr< FieldMappingIO > Ptr
void registerFieldIO(CreateFieldIOFnPtr createFunc)
Registers an IO class with the class pool.
#define FIELD3D_NAMESPACE_SOURCE_CLOSE
static void loadPlugins()
Checks all paths in $FIELD3D_DSO_PATH and loads the plugins it finds.
static ClassFactory & singleton()
}
FIELD3D_API void print(Severity severity, const std::string &message)
Sends the string to the assigned output, prefixing the message with the severity. ...
boost::intrusive_ptr< FieldRes > Ptr
ClassFactory()
Standard constructor.
boost::intrusive_ptr< FieldMapping > Ptr
FieldRes::Ptr createField(const std::string &className) const
Instances an object by name.
static ClassFactory * ms_instance
Pointer to static instance.
Contains the PluginLoader class.
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 the ClassFactory class for registering Field3D classes.
FieldIO::Ptr createFieldIO(const std::string &className) const
Instances an IO object by name.
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.