File i_fmu_logic.h
Last update: 22.04.2026Location: core/lifecycle/fmu_activity/i_fmu_logic.h
Classes
Namespaces
Includes
- core/export/simfwk_core_export.h
- core/lifecycle/fmu_activity/fmu_config.h
- core/lifecycle/fmu_activity/fmu_state.h
-
-
Included by
Source
#ifndef SIMFWK_CORE_LIFECYCLE_FMUACTIVITY_IFMULOGIC_H
#define SIMFWK_CORE_LIFECYCLE_FMUACTIVITY_IFMULOGIC_H
#include "core/export/simfwk_core_export.h"
#include "core/lifecycle/fmu_activity/fmu_config.h"
#include "core/lifecycle/fmu_activity/fmu_state.h"
#include <set>
#include <string>
namespace simulation_framework
{
namespace core
{
namespace lifecycle
{
class SIMFWK_CORE_API IFmuLogic
{
public:
virtual ~IFmuLogic() = default;
virtual void SetupExperiment(double start = 0, double stop = 0, double tolerance = 0) = 0;
virtual void EnterInitialization() = 0;
virtual void ExitInitialization() = 0;
virtual void Setup(double start = 0, double stop = 0, double tolerance = 0) = 0;
virtual bool Step(double step_size) = 0;
virtual FmuInOutMap InitInOutMap(std::set<std::string> variable_names) = 0;
virtual bool Step(double step_size, const FmuInOutMap& input) = 0;
virtual void SetInitializationParams(const FmuInOutMap& params) = 0;
virtual void SetInputs(const FmuInOutMap& inputs) = 0;
virtual FmuInOutMap GetOutputs() const = 0;
virtual void GetOutputs(FmuInOutMap& requested_outputs) const = 0;
virtual FmuState GetFmuState() const = 0;
};
} // namespace lifecycle
} // namespace core
} // namespace simulation_framework
#endif // SIMFWK_CORE_LIFECYCLE_FMUACTIVITY_IFMULOGIC_H