1 #ifndef rrSBMLModelSimulationH
2 #define rrSBMLModelSimulationH
6 #include "rrExporter.h"
7 #include "rrStringUtils.h"
8 #include "rrRoadRunnerOptions.h"
9 #include "rrRoadRunnerData.h"
21 class RR_DECLSPEC SBMLModelSimulation
24 std::string mModelFileName;
25 std::filesystem::path mModelFilePath;
26 std::filesystem::path mModelSettingsFileName;
27 std::filesystem::path mSimulationLogFile;
28 std::filesystem::path mDataOutputFolder;
29 std::filesystem::path mTempDataFolder;
31 SimulateOptions mSettings;
32 bool mCompileIfDllExists;
35 SBMLModelSimulation(std::filesystem::path dataOutputFolder =
"", std::filesystem::path tempDataFilePath =
"");
36 virtual ~SBMLModelSimulation();
37 bool SetModelFilePath(
const std::filesystem::path& path);
38 bool SetModelFileName(
const std::string& name);
39 bool SetDataOutputFolder(
const std::filesystem::path& name);
40 std::filesystem::path GetModelsFullFilePath();
41 std::filesystem::path GetDataOutputFolder();
42 std::filesystem::path GetTempDataFolder();
43 bool UseEngine(RoadRunner* engine);
46 bool SaveModelAsXML( std::filesystem::path& folder);
49 bool SetTimeStart(
const double& tStart);
50 bool SetTimeEnd(
const double& tEnd);
51 bool SetNumberOfPoints(
const int& pts);
52 bool SetSelectionList(
const std::string& list);
53 virtual bool LoadSBMLFromFile();
54 virtual bool Simulate();
55 virtual bool SaveResult();
56 void loadSBMLTolerances(std::filesystem::path
const& filename);
57 virtual bool LoadSettings(
const std::filesystem::path& fName =
"");
58 virtual RoadRunnerData GetResult();
60 void ReCompileIfDllExists(
const bool& doIt);
61 bool DoCompileIfDllExists();
65 bool GenerateModelCode();
67 bool GenerateAndCompileModel();