39 #ifndef __OPENFLUID_UTILS_BINDING_HPP__    40 #define __OPENFLUID_UTILS_BINDING_HPP__    45 #include <QCoreApplication>    47 #include <openfluid/config.hpp>    73 #define STRING_TO_ALLOCATED_CARRAY(str,carray) \    74     char* carray = (char*)malloc((str.length()+1)*sizeof(char)); \    75     strcpy(carray,str.c_str());    84 #define OPENFLUID_BINDING_DEFINE(erroutclass)\    85   bool openfluid::utils::Binding::m_Initialized = false; \    86   int openfluid::utils::Binding::m_qapp_argc = 1; \    87   char openfluid::utils::Binding::m_qapp_arg0[] = "OpenFLUID_Binding"; \    88   char* openfluid::utils::Binding::m_qapp_argv[] = { openfluid::utils::Binding::m_qapp_arg0  , NULL }; \    89   std::string openfluid::utils::Binding::m_LastErrorMsg = ""; \    90   const openfluid::utils::BindingAbstractOutErr* openfluid::utils::Binding::mp_OutErr = new erroutclass();   153     static bool m_Initialized;
   155     static int m_qapp_argc;
   156     static char m_qapp_arg0[];
   157     static char* m_qapp_argv[];
   159     static std::string m_LastErrorMsg;
   167     bool m_IsProject = 
false;
   168     bool m_IsDataset = 
false;
   170     std::string m_SourcePath = 
"";
   171     std::string m_OutputDir = 
"";
   173     bool m_IsSimulationRun = 
false;
   181       m_FluidXDesc(&m_FluidXListener)
   201     std::map<openfluid::core::UnitsClass_t,unsigned int> getUnitsCountByClasses()
   203       std::map<openfluid::core::UnitsClass_t,unsigned int> RetMap;
   207         RetMap[UnitsByClass.first] = UnitsByClass.second.size();
   234       std::setlocale(LC_NUMERIC,
"C");
   236       m_Initialized = 
true;
   291       return m_LastErrorMsg.c_str();
   349       const unsigned int Count = SimsPaths.size();
   351       char** Paths = (
char**)malloc(Count*
sizeof(
char*));
   353       for (
unsigned int i=0;i<Count;i++)
   355         Paths[i] = (
char*)malloc(SimsPaths[i].size()+1);
   356         std::copy(SimsPaths[i].begin(), SimsPaths[i].end(), Paths[i]);
   357         Paths[i][SimsPaths[i].size()] = 
'\0';
   390       const unsigned int Count = ExtraSimsPaths.size();
   392       char** Paths = (
char**)malloc(Count*
sizeof(
char*));
   394       for (
unsigned int i=0;i<Count;i++)
   396         Paths[i] = (
char*)malloc(ExtraSimsPaths[i].size()+1);
   397         std::copy(ExtraSimsPaths[i].begin(), ExtraSimsPaths[i].end(), Paths[i]);
   398         Paths[i][ExtraSimsPaths[i].size()] = 
'\0';
   459       const unsigned int Count = ObsPaths.size();
   461       char** Paths = (
char**)malloc(Count*
sizeof(
char*));
   463       for (
unsigned int i=0;i<Count;i++)
   465         Paths[i] = (
char*)malloc(ObsPaths[i].size()+1);
   466         std::copy(ObsPaths[i].begin(), ObsPaths[i].end(), Paths[i]);
   467         Paths[i][ObsPaths[i].size()] = 
'\0';
   500       const unsigned int Count = ExtraObsPaths.size();
   502       char** Paths = (
char**)malloc(Count*
sizeof(
char*));
   504       for (
unsigned int i=0;i<Count;i++)
   506         Paths[i] = (
char*)malloc(ExtraObsPaths[i].size()+1);
   507         std::copy(ExtraObsPaths[i].begin(), ExtraObsPaths[i].end(), Paths[i]);
   508         Paths[i][ExtraObsPaths[i].size()] = 
'\0';
   525       openfluid::base::RunContextManager::instance()->setOutputDir(std::string(Path));
   548         openfluid::base::RunContextManager::instance()->setInputDir(std::string(Path));
   549         Data->m_FluidXDesc.
loadFromDirectory(openfluid::base::RunContextManager::instance()->getInputDir());
   551         Data->m_IsSimulationRun = 
false;
   553         if (!Data->m_IsProject)
   555           Data->m_IsDataset = 
true;
   556           Data->m_SourcePath = openfluid::base::RunContextManager::instance()->getInputDir();
   564         m_LastErrorMsg = 
"OpenFLUID ERROR: " + std::string(E.
what()) +
"\n";
   566       catch (std::bad_alloc& E)
   568         m_LastErrorMsg = 
"MEMORY ALLOCATION ERROR: " + std::string(E.what()) +
   569                          ". Possibly not enough memory available\n";
   571       catch (std::exception& E)
   573         m_LastErrorMsg = 
"SYSTEM ERROR: " + std::string(E.what()) +
"\n";
   577         m_LastErrorMsg = 
"UNKNOWN ERROR\n";
   580       Data->m_IsProject = 
false;
   581       Data->m_IsDataset = 
false;
   582       Data->m_SourcePath = 
"";
   607         if (!openfluid::base::RunContextManager::instance()->
openProject(std::string(Path)))
   611               std::string(Path) + 
" is not a correct project path");
   614         Data->m_IsProject = 
true;
   615         Data->m_SourcePath = openfluid::base::RunContextManager::instance()->getProjectPath();
   617         return Binding::openDataset(openfluid::base::RunContextManager::instance()->getInputDir().c_str());
   621         m_LastErrorMsg = 
"OpenFLUID ERROR: " + std::string(E.
what()) +
"\n";
   623       catch (std::bad_alloc& E)
   625         m_LastErrorMsg = 
"MEMORY ALLOCATION ERROR: " + std::string(E.what()) +
   626                          ". Possibly not enough memory available\n";
   628       catch (std::exception& E)
   630         m_LastErrorMsg = 
"SYSTEM ERROR: " + std::string(E.what()) +
"\n";
   634         m_LastErrorMsg = 
"UNKNOWN ERROR\n";
   661         openfluid::machine::SimulatorPluginsManager::instance()->unloadAllWares();
   664         std::unique_ptr<openfluid::machine::MachineListener> Listener;
   668           Listener = std::make_unique<BindingVerboseMachineListener>(mp_OutErr);
   672           Listener = std::make_unique<openfluid::machine::MachineListener>();
   680           mp_OutErr->
printfOut(
"%s",
"Building spatial domain...");
   696           mp_OutErr->
printfOut(
"%s",
"Building model instance...");
   715           mp_OutErr->
printfOut(
"%s",
"Building monitoring instance...");
   732         m_OutputDir = openfluid::base::RunContextManager::instance()->getOutputDir();
   748         m_IsSimulationRun = 
true;
   754         m_LastErrorMsg = 
"OpenFLUID ERROR: " + std::string(E.
what()) +
"\n";
   756       catch (std::bad_alloc& E)
   758         m_LastErrorMsg = 
"MEMORY ALLOCATION ERROR: " + std::string(E.what()) +
   759                          ". Possibly not enough memory available\n";
   761       catch (std::exception& E)
   763         m_LastErrorMsg = 
"SYSTEM ERROR: " + std::string(E.what()) +
"\n";
   767         m_LastErrorMsg = 
"UNKNOWN ERROR\n";
   785       mp_OutErr->
printfOut(
"Spatial domain is made of %i spatial units\n",
   790         mp_OutErr->
printfOut(
" - %i units of class %s\n",UnitsClass.second.size(),UnitsClass.first.c_str());
   796       mp_OutErr->
printfOut(
"Model is made of %i simulation items\n",m_FluidXDesc.
model().
items().size());
   798       for (
const auto& ModelInfos : m_FluidXDesc.
model().
items())
   832           mp_OutErr->
printfOut(
" generator for variable %s on units %s\n",
   839       mp_OutErr->
printfOut(
"Simulation period from %s to %s\n",
   939     void setPeriod(
const char* BeginDate, 
const char* EndDate)
   941       std::string StrBeginDate(BeginDate);
   942       std::string StrEndDate(EndDate);
   967       std::string SimIDsStr(
"");
   968       std::ostringstream ssSimIDs;
   969       std::string sep = 
"";
   972       for (
const auto& Item : ModDesc.items())
   976           ssSimIDs << sep << ModDesc.
getID(Item);
   981       SimIDsStr = ssSimIDs.str();
   998       std::string SimIDStr(SimID);
   999       std::string ParamNamesStr(
"");
  1000       std::ostringstream ssParamNames;
  1001       std::string sep = 
"";
  1018         ssParamNames << sep << Param.first;
  1022       ParamNamesStr = ssParamNames.str();
  1041       std::string ParamValStr(
"");
  1042       std::string SimIDStr(SimID);
  1043       std::string ParamNameStr(ParamName);
  1045       for (
const auto& ModelInfos : m_FluidXDesc.
model().
items())
  1051           openfluid::ware::WareParams_t::iterator ItParam = Params.find(ParamNameStr);
  1053           if (ItParam != Params.end())
  1055             ParamValStr = (*ItParam).second;
  1079       std::string SimIDStr(SimID);
  1080       std::string ParamNameStr(ParamName);
  1081       std::string ParamValStr(ParamVal);
  1083       for (
auto& ModelInfos : m_FluidXDesc.
model().
items())
  1087           ModelInfos->setParameter(ParamNameStr,ParamValStr);
  1103       std::string SimIDStr(SimID);
  1104       std::string ParamNameStr(ParamName);
  1106       for (
auto& ModelInfos : m_FluidXDesc.
model().
items())
  1111           ModelInfos->eraseParameter(ParamNameStr);
  1129       std::string VarNameStr(VarName);
  1130       std::string UnitsClassStr(UnitsClass);
  1131       std::string ParamNamesStr(
"");
  1132       std::ostringstream ssParamNames;
  1133       std::string sep = 
"";
  1135       for (
const auto& Item : m_FluidXDesc.
model().
items())
  1143             ssParamNames << sep << Param.first;
  1150       ParamNamesStr = ssParamNames.str();
  1170       std::string UnitsClassStr(UnitsClass);
  1171       std::string VarNameStr(VarName);
  1172       std::string ParamNameStr(ParamName);
  1173       std::string ParamValStr(
"");
  1175       for (
const auto& ModelInfos : m_FluidXDesc.
model().
items())
  1182           openfluid::ware::WareParams_t::const_iterator ItParam = Params.find(ParamNameStr);
  1184           if (ItParam != Params.end())
  1186             ParamValStr = (*ItParam).second;
  1210     void setGeneratorParam(
const char* UnitsClass, 
const char* VarName, 
const char* ParamName, 
const char* ParamVal)
  1212       std::string UnitsClassStr(UnitsClass);
  1213       std::string VarNameStr(VarName);
  1214       std::string ParamNameStr(ParamName);
  1215       std::string ParamValStr(ParamVal);
  1217       for (
auto& ItModelInfos : m_FluidXDesc.
model().
items())
  1223           ItModelInfos->setParameter(ParamNameStr,ParamValStr);
  1241       std::string VarNamesStr(
"");
  1242       std::string UnitsClassStr(UnitsClass);
  1243       std::ostringstream ssVarNames;
  1244       std::string sep = 
"";
  1246       for (
const auto& Item : m_FluidXDesc.
model().
items())
  1256       VarNamesStr = ssVarNames.str();
  1273       std::string ParamNamesStr(
"");
  1274       std::ostringstream ssParamNames;
  1275       std::string sep = 
"";
  1279         ssParamNames << sep << Param.first;
  1283       ParamNamesStr = ssParamNames.str();
  1300       std::string ParamNameStr(ParamName);
  1301       std::string ParamValStr(
"");
  1304       openfluid::ware::WareParams_t::const_iterator ItParam = Params.find(ParamNameStr);
  1306       if (ItParam != Params.end())
  1308         ParamValStr = (*ItParam).second;
  1329       std::string ParamNameStr(ParamName);
  1330       std::string ParamValStr(ParamVal);
  1346       std::string ParamNameStr(ParamName);
  1362       std::string ObsIDsStr(
"");
  1363       std::ostringstream ssObsIDs;
  1364       std::string sep = 
"";
  1367       for (
auto& ItItem : MonDesc.
items())
  1369         ssObsIDs << sep << MonDesc.
getID(ItItem);
  1373       ObsIDsStr = ssObsIDs.str();
  1390       std::string ObsIDStr(ObsID);
  1391       std::string ParamNamesStr(
"");
  1392       std::ostringstream ssParamNames;
  1393       std::string sep = 
"";
  1410         ssParamNames << sep << Param.first;
  1414       ParamNamesStr = ssParamNames.str();
  1433       std::string ParamValStr(
"");
  1434       std::string ObsIDStr(ObsID);
  1435       std::string ParamNameStr(ParamName);
  1443           openfluid::ware::WareParams_t::const_iterator ItParam = Params.find(ParamNameStr);
  1445           if (ItParam != Params.end())
  1447             ParamValStr = (*ItParam).second;
  1471       std::string ObsIDStr(ObsID);
  1472       std::string ParamNameStr(ParamName);
  1473       std::string ParamValStr(ParamVal);
  1480           ObsInfos->setParameter(ParamNameStr,ParamValStr);
  1497       std::string ObsIDStr(ObsID);
  1498       std::string ParamNameStr(ParamName);
  1504           ObsInfos->eraseParameter(ParamNameStr);
  1519       std::map<openfluid::core::UnitsClass_t,unsigned int> UnitsCountByClasses;
  1520       UnitsCountByClasses = getUnitsCountByClasses();
  1522       const unsigned int Count = UnitsCountByClasses.size();
  1524       char** Classes = (
char**)malloc(Count*
sizeof(
char*));
  1527       for (
auto& ItUCC : UnitsCountByClasses)
  1529         Classes[i] = (
char*)malloc(ItUCC.first.size()+1);
  1530         std::copy(ItUCC.first.begin(), ItUCC.first.end(), Classes[i]);
  1531         Classes[i][ItUCC.first.size()] = 
'\0';
  1550       return getUnitsCountByClasses().size();
  1570         IDs = (
int*)malloc(IDsOfClass.size()*
sizeof(int));
  1572         for (
const auto& ID : IDsOfClass)
  1614       std::string UnitClassStr(UnitsClass);
  1615       std::string AttrNamesStr(
"");
  1616       std::ostringstream ssAttrNames;
  1617       std::string sep = 
"";
  1621         ssAttrNames << sep << Name;
  1625       AttrNamesStr = ssAttrNames.str();
  1643       std::string UnitsClassStr(UnitsClass);
  1644       std::string AttrNameStr(AttrName);
  1645       std::string AttrValStr(AttrVal);
  1665     const char* 
getAttribute(
const char* UnitsClass, 
int UnitID, 
const char* AttrName)
  1667       std::string UnitClassStr(UnitsClass);
  1668       std::string AttrNameStr(AttrName);
  1669       std::string AttrValStr(
"");
  1696     void setAttribute(
const char* UnitsClass, 
int UnitID, 
const char* AttrName, 
const char* AttrVal)
  1698       std::string UnitClassStr(UnitsClass);
  1699       std::string AttrNameStr(AttrName);
  1700       std::string AttrValStr(AttrVal);
  1724       std::string UnitClassStr(UnitsClass);
  1725       std::string AttrNameStr(AttrName);
  1752                                  const char* UnitsClass, 
const char* UnitsIDs,
  1753                                  const char* VarName, 
int Precision)
  1755       std::string BindingNameStr(BindingName);
  1756       std::string UnitsClassStr(UnitsClass);
  1757       std::string UnitsIDsStr(UnitsIDs);
  1758       std::string VarNameStr(VarName);
  1776         std::ostringstream ssPrec;
  1777         ssPrec << Precision;
  1778         std::string PrecStr(ssPrec.str());
  1783       ObsDesc.
setParameter(
"set."+BindingNameStr+UnitsClassStr+
".unitsclass",
  1785       ObsDesc.
setParameter(
"set."+BindingNameStr+UnitsClassStr+
".unitsIDs",
  1787       ObsDesc.
setParameter(
"set."+BindingNameStr+UnitsClassStr+
".vars",
  1789       ObsDesc.
setParameter(
"set."+BindingNameStr+UnitsClassStr+
".format",
 Definition: MonitoringInstance.hpp:58
Definition: GeneratorDescriptor.hpp:54
Definition: StringValue.hpp:88
static char ** getObserversPaths()
Definition: Binding.hpp:455
Class for management of date and time information. 
Definition: DateTime.hpp:116
const char * getGeneratorParamNames(const char *UnitsClass, const char *VarName)
Definition: Binding.hpp:1127
const char * getObserversIDs()
Definition: Binding.hpp:1360
Definition: SimulationBlob.hpp:53
Definition: GeneratorDescriptor.hpp:54
std::string getAsString(std::string Format) const
const char * getGeneratorsVarNames(const char *UnitsClass)
Definition: Binding.hpp:1239
static void addExtraSimulatorsPaths(const char *Paths)
Definition: Binding.hpp:304
Definition: Listener.hpp:54
openfluid::core::UnitsClass_t getUnitsClass() const
GeneratorMethod getGeneratorMethod() const
const char * getModelGlobalParam(const char *ParamName)
Definition: Binding.hpp:1298
const char * getSimulatorsIDs()
Definition: Binding.hpp:965
openfluid::ware::WareParams_t getGlobalParameters() const
Definition: WareSetDescriptor.hpp:136
Definition: FluidXDescriptor.hpp:70
std::set< std::string > getAttributesNames(const openfluid::core::UnitsClass_t &ClassName) const
openfluid::fluidx::MonitoringDescriptor & monitoring()
Definition: FluidXDescriptor.hpp:214
Definition: Engine.hpp:75
Definition: GeneratorDescriptor.hpp:54
unsigned int getUnitsIDsCount(const char *UnitsClass)
Definition: Binding.hpp:1592
static void addExtraObserversPaths(const char *Paths)
Definition: Binding.hpp:414
int * getUnitsIDs(const char *UnitsClass)
Definition: Binding.hpp:1562
std::string getAttribute(const openfluid::core::UnitsClass_t &ClassName, const openfluid::core::UnitID_t &ID, const openfluid::core::AttributeName_t &AttrName) const
void createAttribute(const char *UnitsClass, const char *AttrName, const char *AttrVal)
Definition: Binding.hpp:1641
SpatialUnitsByIDByClass_t & spatialUnits()
Definition: SpatialDomainDescriptor.hpp:101
static void addExtraObserversDirs(const std::string &Paths)
static void resetExtraSimulatorsPaths()
Definition: Binding.hpp:317
void removeSimulatorParam(const char *SimID, const char *ParamName)
Definition: Binding.hpp:1101
static char ** getSimulatorsPaths()
Definition: Binding.hpp:345
static void addExtraSimulatorsDirs(const std::string &Paths)
Definition: ObserverDescriptor.hpp:50
static void resetExtraSimulatorsDirs()
Definition: BindingAbstractOutErr.hpp:46
unsigned short int runSimulation(int IsVerbose=false)
Definition: Binding.hpp:649
const char * getAttribute(const char *UnitsClass, int UnitID, const char *AttrName)
Definition: Binding.hpp:1665
void setDeltaT(const int DeltaT)
Definition: RunConfigurationDescriptor.hpp:106
static const char * getLastError()
Definition: Binding.hpp:289
void setAttribute(const openfluid::core::UnitsClass_t &ClassName, const openfluid::core::UnitID_t &ID, const openfluid::core::AttributeName_t &AttrName, const std::string &AttrValue)
Definition: GeneratorDescriptor.hpp:51
void removeObserverParam(const char *ObsID, const char *ParamName)
Definition: Binding.hpp:1495
#define STRING_TO_ALLOCATED_CARRAY(str, carray)
Definition: Binding.hpp:73
bool isClassNameExists(const openfluid::core::UnitsClass_t &ClassName) const
static unsigned int getExtraObserversPathsCount()
Definition: Binding.hpp:482
const char * getModelGlobalParamNames()
Definition: Binding.hpp:1271
std::string getAsISOString() const
openfluid::core::DateTime getEndDate() const
Definition: RunConfigurationDescriptor.hpp:91
int findFirstItem(const openfluid::ware::WareID_t &ID) const
Definition: WareSetDescriptor.hpp:319
const char * getObserverParamNames(const char *ObsID)
Definition: Binding.hpp:1388
T & itemAt(unsigned int Index) const
Definition: WareSetDescriptor.hpp:198
Definition: ApplicationException.hpp:50
static void resetExtraObserversPaths()
Definition: Binding.hpp:427
openfluid::ware::WareParams_t & parameters()
Definition: ModelInstance.hpp:65
Definition: SimulatorDescriptor.hpp:51
void removeModelGlobalParam(const char *ParamName)
Definition: Binding.hpp:1344
static void buildMonitoringInstanceFromDescriptor(const openfluid::fluidx::MonitoringDescriptor &MonDesc, MonitoringInstance &MonInstance)
void removeAttribute(const char *UnitsClass, const char *AttrName)
Definition: Binding.hpp:1722
Definition: MonitoringDescriptor.hpp:52
Class for easier binding with other programming languages. 
Definition: Binding.hpp:149
static void buildSimulationBlobFromDescriptors(const openfluid::fluidx::FluidXDescriptor &FluidXDesc, SimulationBlob &SimBlob)
const char * getSimulatorParam(const char *SimID, const char *ParamName)
Definition: Binding.hpp:1039
unsigned int getUnitsCount() const
static std::vector< std::string > getExtraSimulatorsDirs()
Definition: Environment.hpp:365
int getDeltaT() const
Definition: RunConfigurationDescriptor.hpp:101
static void destroy(Binding *B)
Definition: Binding.hpp:262
void printSimulationInfo()
Definition: Binding.hpp:781
openfluid::ware::WareID_t getID(ModelItemDescriptor *Item) const
void addVariablesExportAsCSV(const char *BindingName, const char *UnitsClass, const char *UnitsIDs, const char *VarName, int Precision)
Definition: Binding.hpp:1751
void setObserverParam(const char *ObsID, const char *ParamName, const char *ParamVal)
Definition: Binding.hpp:1469
static unsigned int getSimulatorsPathsCount()
Definition: Binding.hpp:331
const char * getGeneratorParam(const char *UnitsClass, const char *VarName, const char *ParamName)
Definition: Binding.hpp:1168
void setModelGlobalParam(const char *ParamName, const char *ParamVal)
Definition: Binding.hpp:1327
unsigned int getUnitsClassesCount()
Definition: Binding.hpp:1548
static std::vector< std::string > getSimulatorsDirs()
void loadFromDirectory(const std::string &DirPath)
static void buildModelInstanceFromDescriptor(const openfluid::fluidx::CoupledModelDescriptor &ModelDesc, ModelInstance &MInstance)
static char ** getExtraObserversPaths()
Definition: Binding.hpp:496
#define INIT_OPENFLUID_APPLICATION(ac, av)
Definition: Init.hpp:54
Definition: FrameworkException.hpp:50
Definition: ApplicationException.hpp:47
bool setFromISOString(const std::string &DateTimeStr)
const char * getPeriodEndDate()
Definition: Binding.hpp:920
static unsigned int getObserversPathsCount()
Definition: Binding.hpp:441
static ExceptionContext computeContext(const std::string &AppName)
Definition: ApplicationException.hpp:76
static std::vector< std::string > getObserversDirs()
const char * getAttributesNames(const char *UnitsClass)
Definition: Binding.hpp:1612
const char * getSimulationOutputDir()
Definition: Binding.hpp:858
const char * getObserverParam(const char *ObsID, const char *ParamName)
Definition: Binding.hpp:1431
virtual void printfOut(const char *fmt,...) const =0
Definition: GeneratorDescriptor.hpp:54
SetDescription_t & items()
Definition: WareSetDescriptor.hpp:90
openfluid::fluidx::RunConfigurationDescriptor & runConfiguration()
Definition: FluidXDescriptor.hpp:194
bool isType(openfluid::ware::WareType MIType) const
void setAttribute(const char *UnitsClass, int UnitID, const char *AttrName, const char *AttrVal)
Definition: Binding.hpp:1696
void deleteAttribute(const openfluid::core::UnitsClass_t &ClassName, const std::string &AttrName)
openfluid::ware::WareID_t getID(ObserverDescriptor *Item) const
std::set< int > getIDsOfClass(const openfluid::core::UnitsClass_t &ClassName) const
Definition: CoupledModelDescriptor.hpp:52
static char ** getExtraSimulatorsPaths()
Definition: Binding.hpp:386
int getDefaultDeltaT()
Definition: Binding.hpp:873
static void setCurrentOutputDir(const char *Path)
Definition: Binding.hpp:523
openfluid::fluidx::CoupledModelDescriptor & model()
Definition: FluidXDescriptor.hpp:174
static Binding * openDataset(const char *Path)
Definition: Binding.hpp:538
openfluid::core::DateTime getBeginDate() const
Definition: RunConfigurationDescriptor.hpp:81
static std::vector< std::string > getExtraObserversDirs()
Definition: Environment.hpp:408
static Binding * openProject(const char *Path)
Definition: Binding.hpp:599
openfluid::core::VariableName_t getVariableName() const
void setBeginDate(const openfluid::core::DateTime BeginDate)
Definition: RunConfigurationDescriptor.hpp:86
static void init()
Definition: Binding.hpp:223
char ** getUnitsClasses()
Definition: Binding.hpp:1517
void setParameter(const openfluid::ware::WareParamKey_t &Key, const openfluid::ware::WareParamValue_t &Value)
void setPeriod(const char *BeginDate, const char *EndDate)
Definition: Binding.hpp:939
static Binding * make()
Definition: Binding.hpp:248
Definition: Exception.hpp:52
void setDefaultDeltaT(int DeltaT)
Definition: Binding.hpp:887
Definition: BindingVerboseMachineListener.hpp:50
static unsigned int getExtraSimulatorsPathsCount()
Definition: Binding.hpp:372
const char * getSimulatorParamNames(const char *SimID)
Definition: Binding.hpp:996
void setGlobalParameter(const openfluid::ware::WareParamKey_t &Key, const openfluid::ware::WareParamValue_t &Value)
Definition: WareSetDescriptor.hpp:110
void setGeneratorParam(const char *UnitsClass, const char *VarName, const char *ParamName, const char *ParamVal)
Definition: Binding.hpp:1210
void setEndDate(const openfluid::core::DateTime EndDate)
Definition: RunConfigurationDescriptor.hpp:96
void setSimulatorParam(const char *SimID, const char *ParamName, const char *ParamVal)
Definition: Binding.hpp:1077
void eraseGlobalParameter(const openfluid::ware::WareParamKey_t &Key)
Definition: WareSetDescriptor.hpp:146
Definition: ModelItemDescriptor.hpp:51
const char * getPeriodBeginDate()
Definition: Binding.hpp:902
void addAttribute(const openfluid::core::UnitsClass_t &ClassName, const std::string &AttrName, const std::string &DefaultValue, bool Check=true)
static const char * getVersion()
Definition: Binding.hpp:275
Definition: IOListener.hpp:53
openfluid::fluidx::SpatialDomainDescriptor & spatialDomain()
Definition: FluidXDescriptor.hpp:184
const char * what() const
Definition: Exception.hpp:87
static void resetExtraObserversDirs()
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:128
void appendItem(T *Item)
Definition: WareSetDescriptor.hpp:156