    

 ## On this page

  

 

 # i\_world\_simulator

 Last update: 16.07.2025 

<a id="l00001" name="l00001"></a> 1 

<a id="l00005" name="l00005"></a> 5 

<a id="l00006" name="l00006"></a> 6 \#pragma once

<a id="l00007" name="l00007"></a> 7 

<a id="l00008" name="l00008"></a> 8 \#include &lt;avx\_osi\_sensorview.pb.h&gt;

<a id="l00009" name="l00009"></a> 9 \#include &lt;avx\_osi\_trafficcommand.pb.h&gt;

<a id="l00010" name="l00010"></a> 10 \#include &lt;avx\_osi\_trafficupdate.pb.h&gt;

<a id="l00011" name="l00011"></a> 11 \#include &lt;chrono&gt;

<a id="l00012" name="l00012"></a> 12 \#include &lt;memory&gt;

<a id="l00013" name="l00013"></a> 13 \#include &lt;string&gt;

<a id="l00014" name="l00014"></a> 14 

<a id="l00019" name="l00019"></a> 19 namespace [world\_simulator](namespaceworld__simulator.xhtml)

<a id="l00020" name="l00020"></a> 20 {

<a id="l00021" name="l00021"></a> 21 

<a id="l00029" name="l00029"></a>[ 29](classworld__simulator_1_1IWorldSimulator.xhtml) class [IWorldSimulator](classworld__simulator_1_1IWorldSimulator.xhtml)

<a id="l00030" name="l00030"></a> 30 {

<a id="l00031" name="l00031"></a> 31 

<a id="l00032" name="l00032"></a> 32 public:

<a id="l00033" name="l00033"></a> 33 virtual ~[IWorldSimulator](classworld__simulator_1_1IWorldSimulator.xhtml)() = default;

<a id="l00034" name="l00034"></a> 34 

<a id="l00038" name="l00038"></a> 38 virtual void [InitSimulator](classworld__simulator_1_1IWorldSimulator.xhtml#a4a4fcdeef39b41f57fcb5145f67024e2)() = 0;

<a id="l00039" name="l00039"></a> 39 

<a id="l00043" name="l00043"></a> 43 virtual void [Tick](classworld__simulator_1_1IWorldSimulator.xhtml#ac39d97cd1437617e6c63b96bb3569d92)() = 0;

<a id="l00044" name="l00044"></a> 44 

<a id="l00049" name="l00049"></a> 49 virtual bool [IsSimulationFinished](classworld__simulator_1_1IWorldSimulator.xhtml#acd97df056a9a387c7c7421ecb833bb30)() const = 0;

<a id="l00050" name="l00050"></a> 50 

<a id="l00054" name="l00054"></a> 54 virtual void [Shutdown](classworld__simulator_1_1IWorldSimulator.xhtml#a3f39c72b0ab2ff9d51ebf657715ed212)() = 0;

<a id="l00055" name="l00055"></a> 55 

<a id="l00060" name="l00060"></a> 60 virtual const avx_osi3::SensorView&amp; [GetSensorView](classworld__simulator_1_1IWorldSimulator.xhtml#aae9daa33ffdd7c3ebb435b578336e773)() const = 0;

<a id="l00061" name="l00061"></a> 61 

<a id="l00066" name="l00066"></a> 66 virtual const std::vector&lt;avx_osi3::TrafficCommand&gt;&amp; [GetTrafficCommands](classworld__simulator_1_1IWorldSimulator.xhtml#a847afb720a6107821aa2ff0fb2d52a56)() const = 0;

<a id="l00067" name="l00067"></a> 67 

<a id="l00072" name="l00072"></a> 72 virtual std::chrono::milliseconds [GetCurrentTime](classworld__simulator_1_1IWorldSimulator.xhtml#a2be51bdc41234ad3a3a664855fca910c)() const = 0;

<a id="l00073" name="l00073"></a> 73 

<a id="l00078" name="l00078"></a> 78 virtual void [SetTrafficUpdate](classworld__simulator_1_1IWorldSimulator.xhtml#a795bdf36b2ac12711a7658ff2b763143)(const avx_osi3::TrafficUpdate&amp; traffic_update) = 0;

<a id="l00079" name="l00079"></a> 79 };

<a id="l00080" name="l00080"></a> 80 

<a id="l00081" name="l00081"></a> 81 } // namespace world\_simulator

<a id="l00082" name="l00082"></a> 82 

<a id="l00083" name="l00083"></a> 83 using WorldSimulatorPtr = std::unique_ptr&lt;world_simulator::IWorldSimulator&gt;;