Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
Loading...
Searching...
No Matches
icarus::EntitySystemConfig Struct Reference

Entity system configuration. More...

#include <SimulatorConfig.hpp>

Public Member Functions

std::tuple< std::vector< ComponentConfig >, std::vector< signal::SignalRoute >, SchedulerConfigExpandAll () const
 Expand all entities and swarms to flat component list.

Public Attributes

std::vector< EntityInstanceentities
std::vector< SwarmConfigswarms
std::vector< signal::SignalRoutecross_entity_routes
std::vector< std::string > entity_order
 Entity execution order (empty = auto-order based on dependencies).
bool auto_order = true

Detailed Description

Entity system configuration.

Holds entities, swarms, cross-entity routes, and entity execution order. Provides ExpandAll() to flatten everything to components and routes.

Member Function Documentation

◆ ExpandAll()

std::tuple< std::vector< ComponentConfig >, std::vector< signal::SignalRoute >, SchedulerConfig > icarus::EntitySystemConfig::ExpandAll ( ) const
inline

Expand all entities and swarms to flat component list.

Expands all entity instances and swarms, prefixing signal paths.

Returns
Tuple of (components, routes, merged scheduler)

Member Data Documentation

◆ auto_order

bool icarus::EntitySystemConfig::auto_order = true

◆ cross_entity_routes

std::vector<signal::SignalRoute> icarus::EntitySystemConfig::cross_entity_routes

◆ entities

std::vector<EntityInstance> icarus::EntitySystemConfig::entities

◆ entity_order

std::vector<std::string> icarus::EntitySystemConfig::entity_order

Entity execution order (empty = auto-order based on dependencies).

◆ swarms

std::vector<SwarmConfig> icarus::EntitySystemConfig::swarms

The documentation for this struct was generated from the following files: