i_world_simulator Last update: 16.07.2025 1 5 6 #pragma once 7 8 #include <avx_osi_sensorview.pb.h> 9 #include <avx_osi_trafficcommand.pb.h> 10 #include <avx_osi_trafficupdate.pb.h> 11 #include <chrono> 12 #include <memory> 13 #include <string> 14 19 namespace world_simulator 20 { 21 29 class IWorldSimulator 30 { 31 32 public: 33 virtual ~IWorldSimulator() = default; 34 38 virtual void InitSimulator() = 0; 39 43 virtual void Tick() = 0; 44 49 virtual bool IsSimulationFinished() const = 0; 50 54 virtual void Shutdown() = 0; 55 60 virtual const avx_osi3::SensorView& GetSensorView() const = 0; 61 66 virtual const std::vector<avx_osi3::TrafficCommand>& GetTrafficCommands() const = 0; 67 72 virtual std::chrono::milliseconds GetCurrentTime() const = 0; 73 78 virtual void SetTrafficUpdate(const avx_osi3::TrafficUpdate& traffic_update) = 0; 79 }; 80 81 } // namespace world_simulator