    

 ## On this page

  

 

 # i\_sim\_instance\_creator

 Last update: 16.07.2025 

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

<a id="l00003" name="l00003"></a> 3 

<a id="l00004" name="l00004"></a> 4\#pragma once

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

<a id="l00006" name="l00006"></a> 6\#include "core/lifecycle/i\_simulation\_instance/i\_simulation\_instance.h"

<a id="l00007" name="l00007"></a> 7\#include "core/service/parameter/simulation\_parameters.h"

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

<a id="l00009" name="l00009"></a> 9 

<a id="l00014" name="l00014"></a> 14namespace [simulation\_framework](namespacesimulation__framework.xhtml)

<a id="l00015" name="l00015"></a> 15{

<a id="l00016" name="l00016"></a> 16 

<a id="l00021" name="l00021"></a> 21namespace [autonomy](namespaceautonomy.xhtml)

<a id="l00022" name="l00022"></a> 22{

<a id="l00023" name="l00023"></a> 23 

<a id="l00033" name="l00033"></a>[ 33](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.xhtml)class [ISimInstanceCreator](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.xhtml)

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

<a id="l00035" name="l00035"></a> 35 public:

<a id="l00037" name="l00037"></a>[ 37](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.xhtml#ac065591079732dd1b8ce16a0662a5a8d) virtual [~ISimInstanceCreator](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.xhtml#ac065591079732dd1b8ce16a0662a5a8d)() = default;

<a id="l00038" name="l00038"></a> 38 

<a id="l00045" name="l00045"></a>[ 45](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.xhtml#ab54ee20eeb15196c598e032d85f29624) virtual std::unique_ptr&lt;core::lifecycle::ISimulationInstance&gt; [Create](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.xhtml#ab54ee20eeb15196c598e032d85f29624)(

<a id="l00046" name="l00046"></a> 46 const [core::SimulationParameters](structsimulation__framework_1_1core_1_1SimulationParameters.xhtml)&amp; core_parameters) = 0;

<a id="l00047" name="l00047"></a> 47};



<a id="l00048" name="l00048"></a> 48 

<a id="l00049" name="l00049"></a> 49} // namespace autonomy

<a id="l00050" name="l00050"></a> 50} // namespace simulation\_framework

[simulation\_framework::autonomy::ISimInstanceCreator](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.xhtml)

Defines a generic interface for creating instances of core::lifecycle::ISimulationInstance.

**Definition** [i\_sim\_instance\_creator.h:34](i__sim__instance__creator_8h_source.xhtml#l00033)



[simulation\_framework::autonomy::ISimInstanceCreator::Create](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.xhtml#ab54ee20eeb15196c598e032d85f29624)

virtual std::unique_ptr&lt; core::lifecycle::ISimulationInstance &gt; Create(const core::SimulationParameters &amp;core_parameters)=0

Creates a simulation instance using the provided core simulation parameters.



[simulation\_framework::autonomy::ISimInstanceCreator::~ISimInstanceCreator](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.xhtml#ac065591079732dd1b8ce16a0662a5a8d)

virtual ~ISimInstanceCreator()=default

Virtual destructor for safe polymorphic deletion.



[autonomy](namespaceautonomy.xhtml)

The namespace for all autonomy specific functionalities.



[simulation\_framework](namespacesimulation__framework.xhtml)

The top namespace for simulation framework.



[simulation\_framework::core::SimulationParameters](structsimulation__framework_1_1core_1_1SimulationParameters.xhtml)

The SimulationParameters struct encapsulates parameters related to simfwk-core configuration.

**Definition** [simulation\_parameters.h:29](simulation__parameters_8h_source.xhtml#l00028)