32 #ifndef _OMS_VALUES_H_
33 #define _OMS_VALUES_H_
38 #include "OMSimulator/Types.h"
41 #include <pugixml.hpp>
54 oms_status_enu_t
setString(
const ComRef& cref,
const std::string& value);
55 oms_status_enu_t
setUnit(
const ComRef& cref,
const std::string& value);
74 oms_status_enu_t
setRealResources(
const ComRef& cref,
double value,
const ComRef& fullCref,
bool externalInput, oms_modelState_enu_t modelState);
75 oms_status_enu_t
setStringResources(
const ComRef& cref,
const std::string& value,
const ComRef& fullCref,
bool externalInput, oms_modelState_enu_t modelState);
78 oms_status_enu_t
getBooleanResources(
const ComRef& cref,
bool& value,
bool externalInput, oms_modelState_enu_t modelState);
79 oms_status_enu_t
getIntegerResources(
const ComRef& cref,
int& value,
bool externalInput, oms_modelState_enu_t modelState);
80 oms_status_enu_t
getRealResources(
const ComRef& cref,
double& value,
bool externalInput, oms_modelState_enu_t modelState);
81 oms_status_enu_t
getStringResources(
const ComRef& cref, std::string& value,
bool externalInput, oms_modelState_enu_t modelState);
91 oms_status_enu_t
exportToSSD(pugi::xml_node& node)
const;
92 oms_status_enu_t
importFromSnapshot(
const pugi::xml_node& node,
const std::string& sspVersion,
const Snapshot& snapshot, std::string variantName);
101 oms_status_enu_t
exportToSSV(pugi::xml_node& ssvNode)
const;
ComRef - component reference.
Definition: ComRef.h:47
Definition: Snapshot.h:47
oms_status_enu_t renameInResources(const oms::ComRef &oldCref, const oms::ComRef &newCref)
Definition: Values.cpp:1970
oms_status_enu_t setString(const ComRef &cref, const std::string &value)
Definition: Values.cpp:126
oms_status_enu_t setInteger(const ComRef &cref, int value)
Definition: Values.cpp:112
oms_status_enu_t setRealResources(const ComRef &cref, double value, const ComRef &fullCref, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:252
std::map< ComRef, int > integerValues
input values defined after initialization
Definition: Values.h:144
oms_status_enu_t exportUnitDefinitions(Snapshot &snapshot, std::string filename, std::string variantName) const
Definition: Values.cpp:957
oms_status_enu_t setUnit(const ComRef &cref, const std::string &value)
Definition: Values.cpp:186
oms_status_enu_t getString(const ComRef &cref, std::string &value)
Definition: Values.cpp:216
void importUnitDefinitions(const pugi::xml_node &node)
Definition: Values.cpp:1494
void setUnitDefinitions(const ComRef &cref)
Definition: Values.cpp:66
std::string getUnit(ComRef &cref) const
Definition: Values.cpp:571
oms_status_enu_t getBoolean(const ComRef &cref, bool &value)
Definition: Values.cpp:240
void importEnumerationDefinitions(const pugi::xml_node &node, std::string &enumTypeName)
Definition: Values.cpp:1512
std::map< std::string, std::string > modeldescriptionEnumeration
enumeration declared type list list read from modeldescription.xml
Definition: Values.h:175
void getFilteredEnumerationDefinitionsToSSD(std::map< std::string, std::map< std::string, std::string >> &enumerationDefinitions)
Definition: Values.cpp:99
std::map< ComRef, double > modelDescriptionRealStartValues
start values read from modelDescription.xml
Definition: Values.h:148
void updateModelDescriptionVariableUnit(const ComRef &cref, const std::string &value)
Definition: Values.cpp:165
std::string ssmFile
mapped ssm files associated with ssv files;
Definition: Values.h:181
std::map< ComRef, std::string > stringValues
input values defined after initialization
Definition: Values.h:145
std::map< ComRef, bool > booleanStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:137
oms_status_enu_t rename(const oms::ComRef &oldCref, const oms::ComRef &newCref)
Definition: Values.cpp:1908
std::map< ComRef, std::string > stringStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:140
void getFilteredUnitDefinitionsToSSD(std::map< std::string, std::map< std::string, std::string >> &unitDefinitions)
Definition: Values.cpp:86
std::multimap< ComRef, ComRef > mappedEntry
parameter names and values provided in the parameter source are to be mapped to the parameters of the...
Definition: Values.h:177
oms_status_enu_t exportUnitDefinitionsToSSVTemplate(Snapshot &snapshot, std::string filename)
Definition: Values.cpp:998
oms::ComRef getMappedCrefEntry(const ComRef &cref) const
Definition: Values.cpp:1210
void updateModelDescriptionIntegerStartValue(const ComRef &cref, int value)
Definition: Values.cpp:141
void updateModelDescriptionBooleanStartValue(const ComRef &cref, bool value)
Definition: Values.cpp:149
std::map< ComRef, int > integerStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:139
std::map< int, bool > modelStructureInitialUnknownsDependencyExist
Definition: Values.h:158
std::map< int, bool > modelStructureDerivativesDependencyExist
Definition: Values.h:157
void exportReduceSSV(pugi::xml_node &ssvNode, const ComRef &cref)
reduced SSV file which contains only the referenced crefs in parametermapping
Definition: Values.cpp:1312
std::map< ComRef, bool > booleanValues
input values defined after initialization
Definition: Values.h:142
oms_status_enu_t setIntegerResources(const ComRef &cref, int value, const ComRef &fullCref, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:355
std::map< ComRef, std::string > variableUnits
variable units set by user
Definition: Values.h:161
~Values()
Definition: Values.cpp:51
oms_status_enu_t getReal(const ComRef &cref, double &value)
Definition: Values.cpp:204
std::map< int, std::vector< int > > modelStructureDerivatives
derivatives and its dependencies from <ModelStructure>
Definition: Values.h:153
oms_status_enu_t deleteResourcesInSSP(const std::string &filename)
Definition: Values.cpp:793
oms_status_enu_t getRealFromModeldescription(const ComRef &cref, double &value)
Definition: Values.cpp:545
void exportToSSVTemplate(pugi::xml_node &ssvNode, const ComRef &cref)
start values read from modelDescription.xml and creates a ssv template
Definition: Values.cpp:1270
std::map< ComRef, double > realStartValues
parameters and start values defined before instantiating the FMU
Definition: Values.h:138
std::vector< Values > parameterResources
list of parameter resources provided inline or .ssv files
Definition: Values.h:179
std::map< ComRef, bool > modelDescriptionBooleanStartValues
start values read from modelDescription.xml
Definition: Values.h:147
std::string getUnitFromModeldescription(ComRef &cref) const
Definition: Values.cpp:581
void importParameterMapping(const pugi::xml_node ¶meterMapping)
Definition: Values.cpp:1891
oms_status_enu_t exportToSSMTemplate(pugi::xml_node &ssmNode, const ComRef &cref)
start values read from modelDescription.xml and creates a ssm template
Definition: Values.cpp:1381
std::map< std::string, std::map< std::string, std::string > > modeldescriptionTypeDefinitions
<TypeDefinitions> list read from modeldescription.xml
Definition: Values.h:174
std::map< int, bool > modelStructureOutputDependencyExist
Definition: Values.h:156
std::vector< unitDefinitionsToExport > unitDefinitionsToExportInSSP
list of unitDefinitions to be exported in ssp
Definition: Values.h:170
bool hasResources()
returns if the system or subsystem or submodule have parameter resources either as ssv or inline
Definition: Values.cpp:2037
void exportParameterMappingToSSM(pugi::xml_node &node) const
Definition: Values.cpp:1254
oms_status_enu_t exportStartValuesHelper(pugi::xml_node &node) const
Definition: Values.cpp:1043
void exportParameterMappingInline(pugi::xml_node &node) const
Definition: Values.cpp:1238
void exportParameterBindings(pugi::xml_node &node, Snapshot &snapshot, std::string variantName) const
Definition: Values.cpp:1109
oms_status_enu_t importFromSnapshot(const pugi::xml_node &node, const std::string &sspVersion, const Snapshot &snapshot, std::string variantName)
Definition: Values.cpp:858
void updateModelDescriptionStringStartValue(const ComRef &cref, std::string value)
Definition: Values.cpp:157
oms_status_enu_t setBooleanResources(const ComRef &cref, bool value, const ComRef &fullCref, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:392
oms_status_enu_t getIntegerResources(const ComRef &cref, int &value, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:458
oms_status_enu_t getBooleanResources(const ComRef &cref, bool &value, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:487
oms_status_enu_t getRealResources(const ComRef &cref, double &value, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:429
std::map< std::string, Values > allresources
mapped resources either inline or ssv
Definition: Values.h:180
oms_status_enu_t importStartValuesHelper(const pugi::xml_node ¶meters)
Definition: Values.cpp:1414
std::map< ComRef, double > realValues
input values defined after initialization
Definition: Values.h:143
std::map< ComRef, std::string > modelDescriptionStringStartValues
start values read from modelDescription.xml
Definition: Values.h:150
oms_status_enu_t setUnitResources(const ComRef &cref, const std::string &value, const ComRef &fullCref)
Definition: Values.cpp:324
oms_status_enu_t setReal(const ComRef &cref, double value)
Definition: Values.cpp:55
std::map< int, std::vector< int > > modelStructureOutputs
output and its dependencies from <ModelStructure>
Definition: Values.h:152
oms_status_enu_t getStringResources(const ComRef &cref, std::string &value, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:516
bool linkResources
Definition: Values.h:182
void updateModelDescriptionRealStartValue(const ComRef &cref, double value)
Definition: Values.cpp:133
oms_status_enu_t updateOrDeleteStartValueInReplacedComponent(Values &value, const ComRef &owner, std::vector< std::string > &warningList)
Definition: Values.cpp:659
std::map< ComRef, std::string > modelDescriptionVariableUnits
variable units read from modeldescription.xml
Definition: Values.h:160
oms_status_enu_t getIntegerFromModeldescription(const ComRef &cref, int &value)
Definition: Values.cpp:601
oms_status_enu_t getStringFromModeldescription(const ComRef &cref, std::string &value)
Definition: Values.cpp:558
oms_status_enu_t exportToSSD(pugi::xml_node &node) const
Definition: Values.cpp:811
oms_status_enu_t setStringResources(const ComRef &cref, const std::string &value, const ComRef &fullCref, bool externalInput, oms_modelState_enu_t modelState)
Definition: Values.cpp:290
oms_status_enu_t getInteger(const ComRef &cref, int &value)
Definition: Values.cpp:228
oms_status_enu_t deleteReferencesInSSD(const std::string &filename)
Definition: Values.cpp:776
bool empty() const
Definition: Values.cpp:942
oms_status_enu_t parseModelDescription(const filesystem::path &root, std::string &guid_)
path without the filename, i.e. modelDescription.xml
Definition: Values.cpp:1535
oms_status_enu_t deleteStartValue(const ComRef &cref)
Definition: Values.cpp:627
std::map< ComRef, int > modelDescriptionIntegerStartValues
start values read from modelDescription.xml
Definition: Values.h:149
oms_status_enu_t parseModelDescriptionFmi3(const filesystem::path &root, std::string &guid_)
path without the filename, i.e. modelDescription.xml
Definition: Values.cpp:1705
void copyModelDescriptionUnitToResources(Values &value)
Definition: Values.cpp:174
oms_status_enu_t deleteStartValueInResources(const ComRef &cref)
Definition: Values.cpp:738
Values()
Definition: Values.cpp:47
void parseModelStructureDependencies(std::string &dependencies, std::vector< int > &dependencyList)
Definition: Values.cpp:1880
std::map< int, std::vector< int > > modelStructureInitialUnknowns
initialUnknowns and its dependencies from <ModelStructure>
Definition: Values.h:154
oms_status_enu_t exportToSSV(pugi::xml_node &ssvNode) const
Definition: Values.cpp:947
std::string getEnumerationTypeFromModeldescription(ComRef &cref) const
Definition: Values.cpp:591
oms_status_enu_t setBoolean(const ComRef &cref, bool value)
Definition: Values.cpp:119
bool isEntryReferencedInSSM(const ComRef &cref) const
Definition: Values.cpp:1223
oms_status_enu_t getBooleanFromModeldescription(const ComRef &cref, bool &value)
Definition: Values.cpp:614
std::map< std::string, std::map< std::string, std::string > > modeldescriptionUnitDefinitions
<UnitDefinitions> list read from modeldescription.xml
Definition: Values.h:172
const char * parameters
Definition: Tags.cpp:78
bool exportUnit
Definition: Values.h:168
std::map< std::string, std::string > baseUnit
Definition: Values.h:167
std::string unitValue
Definition: Values.h:166
std::string unitName
Definition: Values.h:165