Class astrea::astro::Constellation¶
template <class Spacecraft_T>
ClassList > astrea > astro > Constellation
A Constellation is a collection ofSpacecraft , organized into Shells and/or Planes.More...
#include <Constellation.hpp>
Classes¶
| Type | Name |
|---|---|
| class | sat_iterator Iterator class for iterating over all Spacecraft in theConstellation . |
Public Types¶
| Type | Name |
|---|---|
| typedef const sat_iterator | const_iterator Const iterator for iterating over all Spacecraft in theConstellation . |
| typedef sat_iterator | iterator Iterator for iterating over all Spacecraft in theConstellation . |
Public Functions¶
| Type | Name |
|---|---|
| Constellation () Default constructor for Constellation . |
|
| Constellation (std::vector< Shell< Spacecraft_T >> shells) Construct a Constellation from a vector of Shells. |
|
| Constellation (std::vector< Plane< Spacecraft_T >> planes) Construct a Constellation from a vector of Planes. |
|
| Constellation (std::vector< Spacecraft_T > satellites) Construct a Constellation from a vector ofSpacecraft . |
|
| Constellation (const std::vector< GeneralPerturbations > & gp, const AstrodynamicsSystem & system) Construct a Constellation from a vector ofGeneralPerturbations objects. |
|
| Constellation (const AstrodynamicsSystem & sys, const Date & epoch, const Distance & semimajor, const Angle & inclination, const std::size_t & T, const std::size_t & P, const double & F, const Angle & anchorRAAN=0.0 *mp_units::angular::unit_symbols::rad, const Angle & anchorAnomaly=0.0 *mp_units::angular::unit_symbols::rad) Construct a Constellation with a specific configuration. |
|
| void | add_plane (const Plane< Spacecraft_T > & plane, const std::size_t & shellId) Add a Plane to theConstellation with a specific shell ID. |
| void | add_plane (const Plane< Spacecraft_T > & plane) Add a Plane to theConstellation without specifying a shell ID. |
| void | add_shell (const Shell< Spacecraft_T > & shell) Add a Shell to theConstellation . |
| void | add_spacecraft (const Spacecraft_T & spacecraft, const std::size_t & planeId) Add a Spacecraft to a specificPlane in theConstellation . |
| void | add_spacecraft (const Spacecraft_T & spacecraft) Add a Spacecraft to theConstellation without specifying aPlane ID. |
| iterator | begin () Get an iterator to the beginning of the Constellation . |
| const_iterator | begin () const Get a const iterator to the beginning of the Constellation . |
| const_iterator | cbegin () const Get a const iterator to the beginning of the Constellation . |
| const_iterator | cend () const Get a const iterator to the end of the Constellation . |
| iterator | end () Get an iterator to the end of the Constellation . |
| const_iterator | end () const Get a const iterator to the end of the Constellation . |
| const std::vector< Spacecraft_T > | get_all_spacecraft () const Get all Spacecraft in theConstellation . |
| const Plane< Spacecraft_T > & | get_plane (const std::size_t & planeId) const Get a specific Plane by its ID. |
| const std::vector< Plane< Spacecraft_T > > | get_planes () const Get all Planes in the Constellation . |
| const Shell< Spacecraft_T > & | get_shell (const std::size_t & shellId) const Get a specific Shell by its ID. |
| std::vector< Shell< Spacecraft_T > > & | get_shells () Get all Shells in the Constellation . |
| const std::vector< Shell< Spacecraft_T > > & | get_shells () const Get all Shells in the Constellation . |
| const Spacecraft_T & | get_spacecraft (const std::size_t & spacecraftId) const Get a specific Spacecraft by its ID. |
| const std::size_t | n_planes () const Get the number of planes in the Constellation . |
| const std::size_t | n_shells () const Get the number of shells in the Constellation . |
| Spacecraft_T & | operator[] (const std::size_t idx) Access the Spacecraft at a specific index in theConstellation . |
| const Spacecraft_T & | operator[] (const std::size_t idx) const Access the Spacecraft at a specific index in theConstellation . |
| void | propagate (const Time & propTime, const EquationsOfMotion & eom, Integrator & integrator) Propagate the Constellation using the provided epoch, Equations of Motion, andIntegrator . |
| void | propagate (const Date & endEpoch, const EquationsOfMotion & eom, Integrator & integrator) Propagate the Constellation using the provided epoch, Equations of Motion, andIntegrator . |
| const std::size_t | size () const Get the size of the Constellation . |
| ~Constellation () = default Default destructor for Constellation . |
Detailed Description¶
Template parameters:
Spacecraft_TThe type of Spacecraft that this Constellation will contain. Must be derived from Spacecraft.
- Note:
-
Defaults to Spacecraft, but can be any class that inherits from Spacecraft.
Public Types Documentation¶
typedef const_iterator¶
Const iterator for iterating over all Spacecraft in theConstellation .
This const iterator allows iteration over all Spacecraft in the Constellation, regardless of their Shell or Plane.
typedef iterator¶
Iterator for iterating over all Spacecraft in theConstellation .
This iterator allows iteration over all Spacecraft in the Constellation, regardless of their Shell or Plane.
Public Functions Documentation¶
function Constellation [1/6]¶
Default constructor for Constellation .
function Constellation [2/6]¶
Construct a Constellation from a vector of Shells.
Parameters:
shellsA vector of Shells to initialize the Constellation.
function Constellation [3/6]¶
Construct a Constellation from a vector of Planes.
Parameters:
planesA vector of Planes to initialize the Constellation.
function Constellation [4/6]¶
Construct a Constellation from a vector ofSpacecraft .
Parameters:
satellitesA vector of Spacecraft to initialize the Constellation.
function Constellation [5/6]¶
Construct a Constellation from a vector ofGeneralPerturbations objects.
astrea::astro::Constellation::Constellation (
const std::vector< GeneralPerturbations > & gp,
const AstrodynamicsSystem & system
)
Parameters:
gpA vector of GeneralPerturbations objects to initialize the Constellation.systemThe AstrodynamicsSystem to use for the Constellation.
function Constellation [6/6]¶
Construct a Constellation with a specific configuration.
astrea::astro::Constellation::Constellation (
const AstrodynamicsSystem & sys,
const Date & epoch,
const Distance & semimajor,
const Angle & inclination,
const std::size_t & T,
const std::size_t & P,
const double & F,
const Angle & anchorRAAN=0.0 *mp_units::angular::unit_symbols::rad,
const Angle & anchorAnomaly=0.0 *mp_units::angular::unit_symbols::rad
)
Parameters:
sysThe AstrodynamicsSystem to use for the Constellation.epochThe epoch of the Constellation.semimajorThe semimajor axis of the orbit.inclinationThe inclination of the orbit.TThe number of shells in the Constellation.PThe number of planes in each shell.FThe number of spacecraft in each plane.anchorRAANThe right ascension of ascending node (RAAN) for the first shell.anchorAnomalyThe argument of perigee for the first shell.
function add_plane [1/2]¶
Add a Plane to theConstellation with a specific shell ID.
void astrea::astro::Constellation::add_plane (
const Plane < Spacecraft_T > & plane,
const std::size_t & shellId
)
Parameters:
planeThe Plane to add to the Constellation.shellIdThe ID of the shell to which the Plane belongs.
function add_plane [2/2]¶
Add a Plane to theConstellation without specifying a shell ID.
Parameters:
planeThe Plane to add to the Constellation.
function add_shell¶
Add a Shell to theConstellation .
Parameters:
shellThe Shell to add to the Constellation.
function add_spacecraft [1/2]¶
Add a Spacecraft to a specificPlane in theConstellation .
void astrea::astro::Constellation::add_spacecraft (
const Spacecraft_T & spacecraft,
const std::size_t & planeId
)
Parameters:
spacecraftThe Spacecraft to add to the Constellation.planeIdThe ID of the Plane to which the Spacecraft belongs.
function add_spacecraft [2/2]¶
Add a Spacecraft to theConstellation without specifying aPlane ID.
Parameters:
spacecraftThe Spacecraft to add to the Constellation.
function begin [1/2]¶
Get an iterator to the beginning of the Constellation .
Returns:
iterator An iterator pointing to the first Spacecraft in the Constellation.
function begin [2/2]¶
Get a const iterator to the beginning of the Constellation .
Returns:
const_iterator A const iterator pointing to the first Spacecraft in the Constellation.
function cbegin¶
Get a const iterator to the beginning of the Constellation .
Returns:
const_iterator A const iterator pointing to the first Spacecraft in the Constellation.
function cend¶
Get a const iterator to the end of the Constellation .
Returns:
const_iterator A const iterator pointing to one past the last Spacecraft in the Constellation.
function end [1/2]¶
Get an iterator to the end of the Constellation .
Returns:
iterator An iterator pointing to one past the last Spacecraft in the Constellation.
function end [2/2]¶
Get a const iterator to the end of the Constellation .
Returns:
const_iterator A const iterator pointing to one past the last Spacecraft in the Constellation.
function get_all_spacecraft¶
Get all Spacecraft in theConstellation .
Returns:
std::vector<Spacecraft_T> A vector of all Spacecraft in the Constellation.
function get_plane¶
Get a specific Plane by its ID.
const Plane < Spacecraft_T > & astrea::astro::Constellation::get_plane (
const std::size_t & planeId
) const
Parameters:
planeIdThe ID of the Plane to retrieve.
Returns:
const Plane<Spacecraft_T>& A const reference to the Plane with the specified ID.
function get_planes¶
Get all Planes in the Constellation .
Returns:
std::vector<Plane<Spacecraft_T>>& A reference to the vector of Planes in the Constellation.
function get_shell¶
Get a specific Shell by its ID.
const Shell < Spacecraft_T > & astrea::astro::Constellation::get_shell (
const std::size_t & shellId
) const
Parameters:
shellIdThe ID of the Shell to retrieve.
Returns:
const Shell<Spacecraft_T>& A const reference to the Shell with the specified ID.
function get_shells [1/2]¶
Get all Shells in the Constellation .
Returns:
std::vector<Shell<Spacecraft_T>>& A reference to the vector of Shells in the Constellation.
function get_shells [2/2]¶
Get all Shells in the Constellation .
Returns:
const std::vector<Shell<Spacecraft_T>>& A const reference to the vector of Shells in the Constellation.
function get_spacecraft¶
Get a specific Spacecraft by its ID.
const Spacecraft_T & astrea::astro::Constellation::get_spacecraft (
const std::size_t & spacecraftId
) const
Parameters:
spacecraftIdThe ID of the Spacecraft to retrieve.
Returns:
const Spacecraft_T& A const reference to the Spacecraft with the specified ID.
function n_planes¶
Get the number of planes in the Constellation .
Returns:
const std::size_t The number of planes in the Constellation.
function n_shells¶
Get the number of shells in the Constellation .
Returns:
const std::size_t The number of shells in the Constellation.
function operator[]¶
Access the Spacecraft at a specific index in theConstellation .
Parameters:
idxThe index of the Spacecraft to access.
Returns:
Spacecraft_T& A reference to the Spacecraft at the specified index.
function operator[]¶
Access the Spacecraft at a specific index in theConstellation .
Parameters:
idxThe index of the Spacecraft to access.
Returns:
const Spacecraft_T& A const reference to the Spacecraft at the specified index.
function propagate [1/2]¶
Propagate the Constellation using the provided epoch, Equations of Motion, andIntegrator .
void astrea::astro::Constellation::propagate (
const Time & propTime,
const EquationsOfMotion & eom,
Integrator & integrator
)
Parameters:
propTimeThe total propagation time after the initial state epoch.eomThe Equations of Motion to use for propagation.integratorThe Integrator to use for propagation.
function propagate [2/2]¶
Propagate the Constellation using the provided epoch, Equations of Motion, andIntegrator .
void astrea::astro::Constellation::propagate (
const Date & endEpoch,
const EquationsOfMotion & eom,
Integrator & integrator
)
Parameters:
endEpochThe total propagation time after the initial state epoch.eomThe Equations of Motion to use for propagation.integratorThe Integrator to use for propagation.
function size¶
Get the size of the Constellation .
Returns:
const std::size_t The number of Spacecraft in the Constellation.
function ~Constellation¶
Default destructor for Constellation .
The documentation for this class was generated from the following file astrea/astro/astro/platforms/space/Constellation.hpp