41 #ifndef __OPENFLUID_FLUIDX_FLUIDXDESCRIPTOR_HPP__ 42 #define __OPENFLUID_FLUIDX_FLUIDXDESCRIPTOR_HPP__ 74 typedef std::list<SpatialUnitDescriptor> SpatialUnitsList_t;
76 typedef std::list<AttributesTableDescriptor> AttributesTableList_t;
80 struct LoadingTempData
82 SpatialUnitsList_t SpatiaUnits;
84 AttributesTableList_t Attributes;
99 std::string m_CurrentFile;
101 std::string m_CurrentDir;
103 bool m_RunConfigDefined;
107 std::string m_IndentStr;
111 template<
class T> std::string getSeparatedStrFromList(
const T& Data,
const std::string& Sep);
113 bool extractWareEnabledFromNode(QDomElement& Node);
115 void extractMonitoringFromNode(QDomElement& Node);
122 void extractModelFromNode(QDomElement& Node);
124 void extractRunFromNode(QDomElement& Node);
126 void extractDomainFomNode(QDomElement& Node, LoadingTempData& TempData);
130 SpatialUnitsList_t extractDomainDefinitionFromNode(QDomElement& Node);
134 EventsList_t extractDomainCalendarFromNode(QDomElement& Node);
136 void extractDatastoreFromNode(QDomElement& Node);
138 void parseFile(
const std::string& Filename, LoadingTempData& TempData);
140 void rebuildSpatialDomainFromTemp(LoadingTempData& TempData);
142 void prepareFluidXDir(
const std::string& DirPath);
148 void writeModelToStream(std::ostream& Contents);
150 void writeDomainToStream(std::ostream& Contents);
152 void writeDomainDefinitionToStream(std::ostream& Contents);
154 void writeDomainAttributesToStream(std::ostream& Contents);
156 void writeDomainCalendarToStream(std::ostream& Contents);
158 void writeRunConfigurationToStream(std::ostream& Contents);
160 void writeDatastoreToStream(std::ostream& Contents);
162 void writeMonitoringToStream(std::ostream& Contents);
172 void loadFromDirectory(
const std::string& DirPath);
176 return m_ModelDescriptor;
181 return m_ModelDescriptor;
186 return m_DomainDescriptor;
191 return m_DomainDescriptor;
196 return m_RunDescriptor;
201 return m_RunDescriptor;
206 return m_DatastoreDescriptor;
211 return m_DatastoreDescriptor;
216 return m_MonitoringDescriptor;
221 return m_MonitoringDescriptor;
224 void writeToManyFiles(
const std::string& DirPath);
226 void writeToSingleFile(
const std::string& FilePath);
Definition: FluidXDescriptor.hpp:70
Definition: DatastoreDescriptor.hpp:54
Definition: RunConfigurationDescriptor.hpp:52
Definition: ApplicationException.hpp:47
Definition: IOListener.hpp:53
Definition: SpatialDomainDescriptor.hpp:62
const openfluid::fluidx::SpatialDomainDescriptor & spatialDomain() const
Definition: FluidXDescriptor.hpp:189
const openfluid::fluidx::CoupledModelDescriptor & model() const
Definition: FluidXDescriptor.hpp:179
openfluid::fluidx::RunConfigurationDescriptor & runConfiguration()
Definition: FluidXDescriptor.hpp:194
Definition: CoupledModelDescriptor.hpp:52
openfluid::fluidx::CoupledModelDescriptor & model()
Definition: FluidXDescriptor.hpp:174
const openfluid::fluidx::MonitoringDescriptor & monitoring() const
Definition: FluidXDescriptor.hpp:219
~FluidXDescriptor()
Definition: FluidXDescriptor.hpp:169
openfluid::fluidx::SpatialDomainDescriptor & spatialDomain()
Definition: FluidXDescriptor.hpp:184
std::list< Event > EventsList_t
Definition: EventsCollection.hpp:53
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:128
GeneratorMethod
Definition: GeneratorDescriptor.hpp:54
const openfluid::fluidx::DatastoreDescriptor & datastore() const
Definition: FluidXDescriptor.hpp:209
#define OPENFLUID_API
Definition: dllexport.hpp:86
std::pair< UnitsClass_t, UnitID_t > UnitClassID_t
Definition: TypeDefs.hpp:136
openfluid::fluidx::DatastoreDescriptor & datastore()
Definition: FluidXDescriptor.hpp:204
Definition: AttributesTableDescriptor.hpp:51
Definition: MonitoringDescriptor.hpp:52
const openfluid::fluidx::RunConfigurationDescriptor & runConfiguration() const
Definition: FluidXDescriptor.hpp:199
openfluid::fluidx::MonitoringDescriptor & monitoring()
Definition: FluidXDescriptor.hpp:214