Class Constellation

Inheritance Relationships

Derived Type

Class Documentation

class Constellation

Subclassed by lupnt::GnssConstellation

Public Functions

Constellation()

Construct an empty constellation (no satellites).

Constellation(Config &agent_config)

Build a constellation of Satellite agents from a TLE file.

Called by AssetFactory<...>-driven scenario setup to populate the agents: list from a tle: file: for each TLE entry, converts the mean elements to a ClassicalOE state (propagated to the current LuPNT epoch via the TLE’s mean motion), builds a CartesianTwoBodyDynamics

Parameters:

agent_config – YAML config node with name, tle, frequency, and attitude_dynamics keys

void Setup()

Call Setup on every satellite in the constellation. Invoked once by the simulation setup pass alongside individual agents’ Setup.

void Step(Real time)

Call Step on every satellite in the constellation, advancing each to time. Invoked by the simulation’s per-step scheduling.

Parameters:

time – Target simulation time [s]

void SetSimulation(Simulation *sim)

Register this constellation (and all its satellites) with a Simulation, so each satellite can access the event scheduler and Cesium viewer via Agent::GetSimulation.

Protected Attributes

Simulation *sim_
std::vector<Ptr<Agent>> satellites_
std::string name_