i_simulation_instance Last update: 16.07.2025 1 5 6 #pragma once 7 8 #include <chrono> 9 #include <memory> 10 15 namespace simulation_framework 16 { 17 namespace core 18 { 19 namespace lifecycle 20 { 21 23 27 class ISimulationInstance 28 { 29 public: 30 virtual ~ISimulationInstance() = default; 31 33 virtual void StepOnce() = 0; 34 36 virtual void Reset() = 0; 37 39 virtual void Init() = 0; 40 42 virtual bool IsSimulationFinished() = 0; 43 45 virtual std::chrono::milliseconds GetSimulationDuration() const = 0; 46 49 virtual std::chrono::milliseconds GetSimulationBaseCycleTime() const = 0; 50 }; 51 52 } // namespace lifecycle 53 } // namespace core 54 } // namespace simulation_framework