40 #ifndef __OPENFLUID_WARE_PLUGGABLESIMULATOR_HPP__
41 #define __OPENFLUID_WARE_PLUGGABLESIMULATOR_HPP__
48 #include <openfluid/core/TypeDefs.hpp>
66 #define DECLARE_SIMULATOR_PLUGIN
73 #define DEFINE_SIMULATOR_CLASS(pluginclassname) \
76 OPENFLUID_PLUGIN const std::string* WAREABIVERSION_PROC_DECL() \
78 return new std::string(openfluid::config::VERSION_FULL); \
81 OPENFLUID_PLUGIN openfluid::ware::PluggableSimulator* WAREBODY_PROC_DECL() \
83 return new pluginclassname(); \
249 std::string& Val)
const;
260 std::vector<std::string>& Vals)
const;
271 std::vector<double>& Vals)
const;
282 std::vector<long>& Vals)
const;
Definition: SchedulingRequest.hpp:54
@ NEVER
Definition: SchedulingRequest.hpp:57
@ ATTHEEND
Definition: SchedulingRequest.hpp:57
Definition: DoubleValue.hpp:81
Definition: MatrixValue.hpp:85
Definition: StringValue.hpp:83
Definition: VectorValue.hpp:85
Abstract class for simulator plugin.
Definition: PluggableSimulator.hpp:105
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, openfluid::core::DoubleValue &Val) const
void initializeWare(const WareID_t &SimID, const unsigned int &MaxThreads)
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, std::vector< std::string > &Vals) const
virtual openfluid::base::SchedulingRequest runStep()=0
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, float &Val) const
virtual openfluid::base::SchedulingRequest initializeRun()=0
openfluid::base::SchedulingRequest DefaultDeltaT() const
Definition: PluggableSimulator.hpp:366
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, std::vector< long > &Vals) const
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, bool &Val) const
int OPENFLUID_GetSimulatorMaxThreads() const
Definition: PluggableSimulator.hpp:297
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, openfluid::core::StringValue &Val) const
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, int &Val) const
openfluid::core::StringValue OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName) const
openfluid::base::SchedulingRequest MultipliedDefaultDeltaT(const double &Mult) const
Definition: PluggableSimulator.hpp:385
virtual void prepareData()=0
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, long &Val) const
virtual void checkConsistency()=0
openfluid::base::SchedulingRequest Duration(const openfluid::core::Duration_t &D) const
Definition: PluggableSimulator.hpp:404
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, std::vector< double > &Vals) const
openfluid::base::SchedulingRequest AtTheEnd() const
Definition: PluggableSimulator.hpp:330
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, double &Val) const
virtual void finalizeRun()=0
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, openfluid::core::VectorValue &Val) const
openfluid::base::SchedulingRequest Never() const
Definition: PluggableSimulator.hpp:348
void OPENFLUID_SetSimulatorMaxThreads(const int &MaxNumThreads)
bool OPENFLUID_IsSimulatorParameterExist(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName) const
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, openfluid::core::MatrixValue &Val) const
virtual ~PluggableSimulator()
bool OPENFLUID_GetSimulatorParameter(const openfluid::ware::WareParams_t &Params, const openfluid::ware::WareParamKey_t &ParamName, std::string &Val) const
virtual void initParams(const openfluid::ware::WareParams_t &Params)=0
Definition: SimulationContributorWare.hpp:52
void initializeWare(const WareID_t &ID)
Definition: SimulatorSignature.hpp:237
#define OPENFLUID_API
Definition: dllexport.hpp:86
std::uint64_t Duration_t
Definition: TypeDefs.hpp:312
std::string WareID_t
Definition: TypeDefs.hpp:49
std::string WareParamKey_t
Definition: TypeDefs.hpp:142
std::map< WareParamKey_t, WareParamValue_t > WareParams_t
Definition: TypeDefs.hpp:146
Definition: ApplicationException.hpp:47