Go to the documentation of this file.
22 #ifndef SIMULATION_MANAGER_FTI_H
23 #define SIMULATION_MANAGER_FTI_H
57 void initializeCB()
override;
58 bool resetCB()
override;
59 void stopCB()
override;
60 bool runUntilDoneOrTimeoutCB()
override;
61 bool runCB(
unsigned numIterations)
override;
62 void shutdownCB()
override;
73 std::atomic<bool> _stopLoop;
83 void runSimulationOnce();
91 bool runSimulationUntilCondition(std::function<
bool ()> condition);
Manages simulation execution.
Definition: simulation_manager.h:47
EngineLauncherManager::const_shared_ptr EngineLauncherManagerConstSharedPtr
Definition: engine_launcher_manager.h:59
bool hasSimulationTimedOut() const override
Definition: simulation_manager_fti.cpp:56
std::shared_ptr< const ProcessLauncherManager< PROCESS_LAUNCHERS... > > const_shared_ptr
Definition: ptr_templates.h:32
std::shared_ptr< nlohmann::json > jsonSharedPtr
Definition: json_schema_utils.h:35
FTILoop::shared_ptr FTILoopSharedPtr
Definition: fti_loop.h:109
FTILoopSimManager(const jsonSharedPtr &simulationConfig, const EngineLauncherManagerConstSharedPtr &engineLauncherManager, const MainProcessLauncherManager::const_shared_ptr &processLauncherManager)
Constructor.
Definition: simulation_manager_fti.cpp:37
Manages simulation loop. Runs physics and brain interface, and synchronizes them via Transfer Functio...
Definition: fti_loop.h:34
~FTILoopSimManager()
Destructor. Will shutdown the simulation if it was initialized.
Definition: simulation_manager_fti.cpp:45
std::chrono::nanoseconds SimulationTime
Definition: time_utils.h:31
Implementation of SimulationManager which manages an FTILoop.
Definition: simulation_manager_fti.h:33