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

Loads complete simulation configuration from YAML. More...

#include <SimulationLoader.hpp>

Static Public Member Functions

static SimulatorConfig Load (const std::string &path)
 Load complete simulation config from file.
static SimulatorConfig Parse (const std::string &yaml_content)
 Parse simulation config from YAML string (for testing).
static std::vector< ComponentConfigLoadComponents (const std::string &yaml_path)
 Load just the component list from a file.
static ComponentConfig LoadComponent (const vulcan::io::YamlNode &node)
 Load a single component config from a YamlNode.
static EntityTemplate LoadEntityTemplate (const vulcan::io::YamlNode &node)
 Load entity template from YAML node (public API).

Detailed Description

Loads complete simulation configuration from YAML.

Supports:

  • Single-file mode: all configuration inline
  • Multi-file mode: !include directive for modular configs
  • Environment variables: ${VAR} and ${VAR:default}
  • Janus type support via Vulcan

Example usage:

auto config = SimulationLoader::Load("simulation.yaml");
Simulator<double> sim(config);
Top-level simulation coordinator.
Definition Simulator.hpp:70
static SimulatorConfig Load(const std::string &path)
Load complete simulation config from file.
Definition SimulationLoader.hpp:60

Member Function Documentation

◆ Load()

SimulatorConfig icarus::io::SimulationLoader::Load ( const std::string & path)
inlinestatic

Load complete simulation config from file.

Uses Vulcan's YamlEnv::LoadWithIncludesAndEnv() for:

  • !include directive resolution
  • ${VAR} and ${VAR:default} expansion
Parameters
pathPath to simulation YAML file
Returns
Complete SimulatorConfig
Exceptions
ConfigErroron parsing or validation errors

◆ LoadComponent()

ComponentConfig icarus::io::SimulationLoader::LoadComponent ( const vulcan::io::YamlNode & node)
inlinestatic

Load a single component config from a YamlNode.

◆ LoadComponents()

std::vector< ComponentConfig > icarus::io::SimulationLoader::LoadComponents ( const std::string & yaml_path)
inlinestatic

Load just the component list from a file.

Deprecated
Use Load() to get full SimulatorConfig

◆ LoadEntityTemplate()

EntityTemplate icarus::io::SimulationLoader::LoadEntityTemplate ( const vulcan::io::YamlNode & node)
inlinestatic

Load entity template from YAML node (public API).

◆ Parse()

SimulatorConfig icarus::io::SimulationLoader::Parse ( const std::string & yaml_content)
inlinestatic

Parse simulation config from YAML string (for testing).

Parameters
yaml_contentYAML content as string
Returns
Complete SimulatorConfig

The documentation for this class was generated from the following file: