    

 ## On this page

  

 

 # Class simulation\_framework::autonomy::ISimInstanceCreator

 Last update: 22.04.2026 

![](https://img.shields.io/badge/language-C%2B%2B-blue "C++")![](https://img.shields.io/badge/-public-brightgreen "public")

**Definition**: `autonomy/simulation/sim_instance/i_sim_instance_creator.h` (line 34)

Defines a generic interface for creating instances of `<a href="classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance.md#classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance">core::lifecycle::ISimulationInstance</a>`.

This interface provides a flexible and domain-agnostic mechanism to create simulation instances. Users can implement this interface to create domain-specific instances of `ISimulationInstance` using generic simulation parameters.

The design supports extensibility by allowing the creation of simulation instances tailored to specific requirements based on `<a href="structsimulation__framework_1_1core_1_1SimulationParameters.md#structsimulation__framework_1_1core_1_1SimulationParameters">core::SimulationParameters</a>`.

**See also**: [core::lifecycle::ISimulationInstance](classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance.md#classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance), [core::SimulationParameters](structsimulation__framework_1_1core_1_1SimulationParameters.md#structsimulation__framework_1_1core_1_1SimulationParameters)

**Inherited by**:

- [simulation\_framework::autonomy::AutonomySimInstanceCreator](classsimulation__framework_1_1autonomy_1_1AutonomySimInstanceCreator.md#classsimulation__framework_1_1autonomy_1_1AutonomySimInstanceCreator)

## Members

- [Create](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.md#classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator_1ab54ee20eeb15196c598e032d85f29624)
- [~ISimInstanceCreator](classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator.md#classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator_1ac065591079732dd1b8ce16a0662a5a8d)

## Public functions

<a id="classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator_1ac065591079732dd1b8ce16a0662a5a8d"></a>

### Function ~ISimInstanceCreator

![](https://img.shields.io/badge/-public-brightgreen "public")

```cpp
virtual simulation_framework::autonomy::ISimInstanceCreator::~ISimInstanceCreator()=default

```

Virtual destructor for safe polymorphic deletion.

**Return type**:

<a id="classsimulation__framework_1_1autonomy_1_1ISimInstanceCreator_1ab54ee20eeb15196c598e032d85f29624"></a>

### Function Create

![](https://img.shields.io/badge/-public-brightgreen "public")

```cpp
virtual std::unique_ptr< core::lifecycle::ISimulationInstance > simulation_framework::autonomy::ISimInstanceCreator::Create(const core::SimulationParameters &core_parameters)=0

```

Creates a simulation instance using the provided core simulation parameters.

This method generates a domain-specific implementation of `ISimulationInstance` based on the provided `<a href="structsimulation__framework_1_1core_1_1SimulationParameters.md#structsimulation__framework_1_1core_1_1SimulationParameters">core::SimulationParameters</a>`.

**Parameters**:

- **core\_parameters**: The generic parameters required to configure and initialize the simulation instance.

**Returns**:

A unique pointer to a concrete implementation of `<a href="classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance.md#classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance">core::lifecycle::ISimulationInstance</a>`.

**Parameters**:

- [const](classsimulation__framework_1_1core_1_1Topic.md#classsimulation__framework_1_1core_1_1Topic) [core::SimulationParameters](structsimulation__framework_1_1core_1_1SimulationParameters.md#structsimulation__framework_1_1core_1_1SimulationParameters) &amp; **core\_parameters**

**Return type**: std::unique\_ptr&lt; [core::lifecycle::ISimulationInstance](classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance.md#classsimulation__framework_1_1core_1_1lifecycle_1_1ISimulationInstance) &gt;

**Reimplemented by**:

- [Create](classsimulation__framework_1_1autonomy_1_1AutonomySimInstanceCreator.md#classsimulation__framework_1_1autonomy_1_1AutonomySimInstanceCreator_1a2f1395805d36b67098af6722d3987ba3)