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())
FieldMappingIO::Ptr createFieldMappingIO(const std::string &className) const
Instances an IO object by name.
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
FieldRes::Ptr createField(const std::string &className) const
Instances an object by name.
ClassFactory()
Standard constructor.
boost::intrusive_ptr< FieldMapping > Ptr
FieldIO::Ptr createFieldIO(const std::string &className) const
Instances an IO 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.
Contains the ClassFactory class for registering Field3D classes.
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
FieldMapping::Ptr createFieldMapping(const std::string &className) const
Instances an object by name.