Class astrea::astro::Shell¶
template <class Spacecraft_T>
ClassList > astrea > astro > Shell
A Shell is a collection of planes, each containing a set ofSpacecraft . It is used to represent sub-constellations of satellites in orbit.More...
#include <Shell.hpp>
Classes¶
| Type | Name |
|---|---|
| class | sat_iterator Iterator for iterating over all Spacecraft in theShell . |
Public Types¶
| Type | Name |
|---|---|
| typedef const sat_iterator | const_iterator Const iterator for iterating over all Planes in the Shell . |
| typedef sat_iterator | iterator Iterator for iterating over all Planes in the Shell . |
Public Functions¶
| Type | Name |
|---|---|
| Shell () = default Default constructor for Shell . Initializes an empty shell with no planes or spacecraft. |
|
| Shell (std::vector< Plane< Spacecraft_T >> planes) Constructor for Shell with a vector of planes. |
|
| Shell (std::vector< Spacecraft_T > satellites) Constructor for Shell with a vector of satellites. |
|
| Shell (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) Constructor for Shell with a Walker parameters. |
|
| void | add_plane (const Plane< Spacecraft_T > & plane) Adds a plane to the shell. |
| void | add_spacecraft (const Spacecraft_T & spacecraft, const std::size_t & planeId) Adds a spacecraft to a specific plane in the shell. |
| void | add_spacecraft (const Spacecraft_T & spacecraft) Adds a spacecraft to the shell. |
| iterator | begin () Get an iterator to the beginning of the Shell . |
| const_iterator | begin () const Get a const iterator to the beginning of the Shell . |
| const_iterator | cbegin () const Get a const iterator to the beginning of the Shell . |
| const_iterator | cend () const Get a const iterator to the end of the Shell . |
| iterator | end () Get an iterator to the end of the Shell . |
| const_iterator | end () const Get a const iterator to the end of the Shell . |
| const std::vector< Spacecraft_T > | get_all_spacecraft () const Returns a vector of all spacecraft in the shell. |
| const std::size_t | get_id () const |
| const Plane< Spacecraft_T > & | get_plane (const std::size_t & planeId) const Returns a reference to a specific plane in the shell by its ID. |
| std::vector< Plane< Spacecraft_T > > & | get_planes () Returns a reference to the vector of planes in the shell. |
| const std::vector< Plane< Spacecraft_T > > & | get_planes () const Returns a constant reference to the vector of planes in the shell. |
| const Spacecraft_T & | get_spacecraft (const std::size_t & spacecraftId) const Returns a reference to a specific spacecraft in the shell by its ID. |
| const std::size_t | n_planes () const Returns the number of planes in the shell. |
| void | propagate (const Time & propTime, const EquationsOfMotion & eom, Integrator & integrator) Propagates the shell's spacecraft using the provided equations of motion and integrator. |
| void | propagate (const Date & endEpoch, const EquationsOfMotion & eom, Integrator & integrator) Propagates the shell's spacecraft using the provided equations of motion and integrator. |
| const std::size_t | size () const Returns the size of the shell, which is the number of spacecraft it contains. |
| ~Shell () Destructor for Shell . Cleans up the shell and its planes. |
Detailed Description¶
Template parameters:
Spacecraft_TThe type of spacecraft contained in the shell, must derive from Spacecraft.
Note:
This class is templated to allow for different types of spacecraft, but it must be derived from the Spacecraft base class.
Public Types Documentation¶
typedef const_iterator¶
Const iterator for iterating over all Planes in the Shell .
typedef iterator¶
Iterator for iterating over all Planes in the Shell .
Public Functions Documentation¶
function Shell [1/4]¶
Default constructor for Shell . Initializes an empty shell with no planes or spacecraft.
function Shell [2/4]¶
Constructor for Shell with a vector of planes.
Parameters:
planesA vector of Plane objects containing Spacecraft_T.
function Shell [3/4]¶
Constructor for Shell with a vector of satellites.
Parameters:
satellitesA vector of Spacecraft_T objects to be added to the shell.
function Shell [4/4]¶
Constructor for Shell with a Walker parameters.
astrea::astro::Shell::Shell (
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 astrodynamics system to which the shell belongs.epochThe epoch date for the shell's orbit.semimajorThe semimajor axis of the shell's orbit.inclinationThe inclination of the shell's orbit.TThe number of planes in the shell.PThe number of spacecraft per plane.FThe spacing factor between spacecraft in the same plane.anchorRAANThe right ascension of ascending node for the shell's orbit (default is 0).anchorAnomalyThe argument of perigee for the shell's orbit (default is 0).
function add_plane¶
Adds a plane to the shell.
Parameters:
planeThe Plane object to be added to the shell.
function add_spacecraft [1/2]¶
Adds a spacecraft to a specific plane in the shell.
void astrea::astro::Shell::add_spacecraft (
const Spacecraft_T & spacecraft,
const std::size_t & planeId
)
Parameters:
spacecraftThe Spacecraft_T object to be added.planeIdThe ID of the plane to which the spacecraft will be added.
function add_spacecraft [2/2]¶
Adds a spacecraft to the shell.
Parameters:
spacecraftThe Spacecraft_T object to be added.
function begin [1/2]¶
Get an iterator to the beginning of the Shell .
Returns:
iterator An iterator pointing to the first Plane in the Shell.
function begin [2/2]¶
Get a const iterator to the beginning of the Shell .
Returns:
const_iterator A const iterator pointing to the first Plane in the Shell.
function cbegin¶
Get a const iterator to the beginning of the Shell .
Returns:
const_iterator A const iterator pointing to the first Plane in the Shell.
function cend¶
Get a const iterator to the end of the Shell .
Returns:
const_iterator A const iterator pointing to one past the last Plane in the Shell.
function end [1/2]¶
Get an iterator to the end of the Shell .
Returns:
iterator An iterator pointing to one past the last Plane in the Shell.
function end [2/2]¶
Get a const iterator to the end of the Shell .
Returns:
const_iterator A const iterator pointing to one past the last Plane in the Shell.
function get_all_spacecraft¶
Returns a vector of all spacecraft in the shell.
Returns:
const std::vector<Spacecraft_T> A vector containing all spacecraft in the shell.
function get_id¶
function get_plane¶
Returns a reference to a specific plane in the shell by its ID.
const Plane < Spacecraft_T > & astrea::astro::Shell::get_plane (
const std::size_t & planeId
) const
Parameters:
planeIdThe ID of the plane to retrieve.
Returns:
const Plane<Spacecraft_T>& A constant reference to the specified plane.
function get_planes [1/2]¶
Returns a reference to the vector of planes in the shell.
Returns:
std::vector<Plane<Spacecraft_T>>& A reference to the vector of planes in the shell.
function get_planes [2/2]¶
Returns a constant reference to the vector of planes in the shell.
Returns:
const std::vector<Plane<Spacecraft_T>>& A constant reference to the vector of planes in the shell.
function get_spacecraft¶
Returns a reference to a specific spacecraft in the shell by its ID.
const Spacecraft_T & astrea::astro::Shell::get_spacecraft (
const std::size_t & spacecraftId
) const
Parameters:
spacecraftIdThe ID of the spacecraft to retrieve.
Returns:
const Spacecraft_T& A constant reference to the specified spacecraft.
function n_planes¶
Returns the number of planes in the shell.
Returns:
const std::size_t The number of planes in the shell.
function propagate [1/2]¶
Propagates the shell's spacecraft using the provided equations of motion and integrator.
void astrea::astro::Shell::propagate (
const Time & propTime,
const EquationsOfMotion & eom,
Integrator & integrator
)
Parameters:
propTimeThe total propagation time after the initial state epoch.eomThe equations of motion to be used for propagation.integratorThe integrator to be used for numerical integration.
function propagate [2/2]¶
Propagates the shell's spacecraft using the provided equations of motion and integrator.
void astrea::astro::Shell::propagate (
const Date & endEpoch,
const EquationsOfMotion & eom,
Integrator & integrator
)
Parameters:
endEpochThe end epoch for propagation.eomThe equations of motion to be used for propagation.integratorThe integrator to be used for numerical integration.
function size¶
Returns the size of the shell, which is the number of spacecraft it contains.
Returns:
const std::size_t The number of spacecraft in the shell.
function ~Shell¶
Destructor for Shell . Cleans up the shell and its planes.
The documentation for this class was generated from the following file astrea/astro/astro/platforms/space/Shell.hpp