    

 ## 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;osi\_sensorview.pb.h&gt;

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

<a id="l00010" name="l00010"></a> 10\#include &lt;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> 19namespace [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](classworld__simulator_1_1IWorldSimulator.xhtml#a4a4fcdeef39b41f57fcb5145f67024e2) virtual void [InitSimulator](classworld__simulator_1_1IWorldSimulator.xhtml#a4a4fcdeef39b41f57fcb5145f67024e2)() = 0;

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

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

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

<a id="l00049" name="l00049"></a>[ 49](classworld__simulator_1_1IWorldSimulator.xhtml#acd97df056a9a387c7c7421ecb833bb30) 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](classworld__simulator_1_1IWorldSimulator.xhtml#a3f39c72b0ab2ff9d51ebf657715ed212) virtual void [Shutdown](classworld__simulator_1_1IWorldSimulator.xhtml#a3f39c72b0ab2ff9d51ebf657715ed212)() = 0;

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

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

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

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

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

<a id="l00072" name="l00072"></a>[ 72](classworld__simulator_1_1IWorldSimulator.xhtml#a2be51bdc41234ad3a3a664855fca910c) 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](classworld__simulator_1_1IWorldSimulator.xhtml#a7f21250be50a37cfe88c28b846eee3d5) virtual void [SetTrafficUpdate](classworld__simulator_1_1IWorldSimulator.xhtml#a7f21250be50a37cfe88c28b846eee3d5)(const 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

[world\_simulator::IWorldSimulator](classworld__simulator_1_1IWorldSimulator.xhtml)

This serves as the interface for a world/groundtruth simulator implementation in simulation framework...

**Definition** [i\_world\_simulator.h:30](i__world__simulator_8h_source.xhtml#l00029)



[world\_simulator::IWorldSimulator::GetTrafficCommands](classworld__simulator_1_1IWorldSimulator.xhtml#a172af6ab594a47f639bc7cb6177a54cb)

virtual const std::vector&lt; osi3::TrafficCommand &gt; &amp; GetTrafficCommands() const =0



[world\_simulator::IWorldSimulator::GetCurrentTime](classworld__simulator_1_1IWorldSimulator.xhtml#a2be51bdc41234ad3a3a664855fca910c)

virtual std::chrono::milliseconds GetCurrentTime() const =0



[world\_simulator::IWorldSimulator::Shutdown](classworld__simulator_1_1IWorldSimulator.xhtml#a3f39c72b0ab2ff9d51ebf657715ed212)

virtual void Shutdown()=0



[world\_simulator::IWorldSimulator::InitSimulator](classworld__simulator_1_1IWorldSimulator.xhtml#a4a4fcdeef39b41f57fcb5145f67024e2)

virtual void InitSimulator()=0



[world\_simulator::IWorldSimulator::SetTrafficUpdate](classworld__simulator_1_1IWorldSimulator.xhtml#a7f21250be50a37cfe88c28b846eee3d5)

virtual void SetTrafficUpdate(const osi3::TrafficUpdate &amp;traffic_update)=0



[world\_simulator::IWorldSimulator::Tick](classworld__simulator_1_1IWorldSimulator.xhtml#ac39d97cd1437617e6c63b96bb3569d92)

virtual void Tick()=0



[world\_simulator::IWorldSimulator::GetSensorView](classworld__simulator_1_1IWorldSimulator.xhtml#acc8a782ac92747215bcb75c76bee1f05)

virtual const osi3::SensorView &amp; GetSensorView() const =0



[world\_simulator::IWorldSimulator::IsSimulationFinished](classworld__simulator_1_1IWorldSimulator.xhtml#acd97df056a9a387c7c7421ecb833bb30)

virtual bool IsSimulationFinished() const =0



[world\_simulator](namespaceworld__simulator.xhtml)

dedicated namespace for IWorldSimulator interface