    

 ## On this page

  

 

 # world\_simulator::IWorldSimulator Class Reference

 Last update: 16.07.2025 

This serves as the interface for a world/groundtruth simulator implementation in simulation framework. It ensures that any third party ground truth generator lib could follow this API definition and thus could be easily used in simulation framework. Interface of scenario should follow ASAM OSI3 standard (<https://opensimulationinterface.github.io/osi-antora-generator/asamosi/latest/specification/index.html>) [More...](classworld__simulator_1_1IWorldSimulator.xhtml#details)

`#include <<a class="el" href="i__world__simulator_8h_source.xhtml">i_world_simulator.h</a>>`

## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

virtual void [InitSimulator](classworld__simulator_1_1IWorldSimulator.xhtml#a4a4fcdeef39b41f57fcb5145f67024e2) ()=0 virtual void [Tick](classworld__simulator_1_1IWorldSimulator.xhtml#ac39d97cd1437617e6c63b96bb3569d92) ()=0 virtual bool [IsSimulationFinished](classworld__simulator_1_1IWorldSimulator.xhtml#acd97df056a9a387c7c7421ecb833bb30) () const =0 virtual void [Shutdown](classworld__simulator_1_1IWorldSimulator.xhtml#a3f39c72b0ab2ff9d51ebf657715ed212) ()=0 virtual const osi3::SensorView &amp; [GetSensorView](classworld__simulator_1_1IWorldSimulator.xhtml#acc8a782ac92747215bcb75c76bee1f05) () const =0 virtual const std::vector&lt; osi3::TrafficCommand &gt; &amp; [GetTrafficCommands](classworld__simulator_1_1IWorldSimulator.xhtml#a172af6ab594a47f639bc7cb6177a54cb) () const =0 virtual std::chrono::milliseconds [GetCurrentTime](classworld__simulator_1_1IWorldSimulator.xhtml#a2be51bdc41234ad3a3a664855fca910c) () const =0 virtual void [SetTrafficUpdate](classworld__simulator_1_1IWorldSimulator.xhtml#a7f21250be50a37cfe88c28b846eee3d5) (const osi3::TrafficUpdate &amp;traffic\_update)=0 <a id="details" name="details"></a>## Detailed Description

This serves as the interface for a world/groundtruth simulator implementation in simulation framework. It ensures that any third party ground truth generator lib could follow this API definition and thus could be easily used in simulation framework. Interface of scenario should follow ASAM OSI3 standard (<https://opensimulationinterface.github.io/osi-antora-generator/asamosi/latest/specification/index.html>)

Definition at line [29](i__world__simulator_8h_source.xhtml#l00029) of file [i\_world\_simulator.h](i__world__simulator_8h_source.xhtml).



## Member Function Documentation

<a id="a2be51bdc41234ad3a3a664855fca910c" name="a2be51bdc41234ad3a3a664855fca910c"></a>## [◆ ](#a2be51bdc41234ad3a3a664855fca910c)GetCurrentTime()

 virtual std::chrono::milliseconds world\_simulator::IWorldSimulator::GetCurrentTime  ( )  const  pure virtual 

Return current simulation time

Returnsstd::chrono::milliseconds type 



<a id="acc8a782ac92747215bcb75c76bee1f05" name="acc8a782ac92747215bcb75c76bee1f05"></a>## [◆ ](#acc8a782ac92747215bcb75c76bee1f05)GetSensorView()

 virtual const osi3::SensorView &amp; world\_simulator::IWorldSimulator::GetSensorView  ( )  const  pure virtual 

Return sensor view in osi3 format

Returnsosi3::SensorView type 



<a id="a172af6ab594a47f639bc7cb6177a54cb" name="a172af6ab594a47f639bc7cb6177a54cb"></a>## [◆ ](#a172af6ab594a47f639bc7cb6177a54cb)GetTrafficCommands()

 virtual const std::vector&lt; osi3::TrafficCommand &gt; &amp; world\_simulator::IWorldSimulator::GetTrafficCommands  ( )  const  pure virtual 

Return traffic commands in osi3 format

Returnsan vector of osi3::TrafficCommand type 



<a id="a4a4fcdeef39b41f57fcb5145f67024e2" name="a4a4fcdeef39b41f57fcb5145f67024e2"></a>## [◆ ](#a4a4fcdeef39b41f57fcb5145f67024e2)InitSimulator()

 virtual void world\_simulator::IWorldSimulator::InitSimulator  ( )   pure virtual 

Initialization of the simulator





<a id="acd97df056a9a387c7c7421ecb833bb30" name="acd97df056a9a387c7c7421ecb833bb30"></a>## [◆ ](#acd97df056a9a387c7c7421ecb833bb30)IsSimulationFinished()

 virtual bool world\_simulator::IWorldSimulator::IsSimulationFinished  ( )  const  pure virtual 

Return the state if simulation is finished

Returnstrue if the simulation ends 



<a id="a7f21250be50a37cfe88c28b846eee3d5" name="a7f21250be50a37cfe88c28b846eee3d5"></a>## [◆ ](#a7f21250be50a37cfe88c28b846eee3d5)SetTrafficUpdate()

 virtual void world\_simulator::IWorldSimulator::SetTrafficUpdate  ( const osi3::TrafficUpdate &amp;  *traffic\_update*)   pure virtual 

set new traffic update into simulator

Parameters traffic\_updatetraffic update data in osi3::TrafficUpdate format 



<a id="a3f39c72b0ab2ff9d51ebf657715ed212" name="a3f39c72b0ab2ff9d51ebf657715ed212"></a>## [◆ ](#a3f39c72b0ab2ff9d51ebf657715ed212)Shutdown()

 virtual void world\_simulator::IWorldSimulator::Shutdown  ( )   pure virtual 

Any logic needs to be called in the termination





<a id="ac39d97cd1437617e6c63b96bb3569d92" name="ac39d97cd1437617e6c63b96bb3569d92"></a>## [◆ ](#ac39d97cd1437617e6c63b96bb3569d92)Tick()

 virtual void world\_simulator::IWorldSimulator::Tick  ( )   pure virtual 

Main step function which drive the simulator's calculation for one minimum cycle time





---

The documentation for this class was generated from the following file:- [i\_world\_simulator.h](i__world__simulator_8h_source.xhtml)