Skip to main content

AVxcelerate Simulation Framework 2024 R1

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 
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
82 
83 using WorldSimulatorPtr = std::unique_ptr<world_simulator::IWorldSimulator>;

Connect with Ansys