Skip to content

Class astrea::astro::Vehicle

ClassList > astrea > astro > Vehicle

A class representing a vehicle in the astrea astro platform. This class serves as a base for user-defined vehicles and provides a common interface.

  • #include <Vehicle.hpp>

Inherits the following classes: astrea::astro::FrameReference

Public Functions

Type Name
Vehicle ()
Default constructor for Vehicle .
Vehicle (T && x)
Constructs a Vehicle with a user-defined type.
Vehicle (const Vehicle & other)
Copy constructor for Vehicle .
Vehicle (Vehicle && other) noexcept
Move constructor for Vehicle .
const T * extract () noexcept const
Extracts the user-defined vehicle from the Vehicle instance.
Unitless get_coefficient_of_drag () const
Gets the coefficient of drag.
Unitless get_coefficient_of_lift () const
Gets the coefficient of lift.
Unitless get_coefficient_of_reflectivity () const
Gets the coefficient of reflectivity.
virtual AccelerationVector< frames::earth::icrf > get_inertial_acceleration (const Date & date) override const
Get the acceleration of the frame in Earth-Centered Inertial coordinates.
virtual RadiusVector< frames::earth::icrf > get_inertial_position (const Date & date) override const
Get the position of the frame in Earth-Centered Inertial coordinates.
virtual VelocityVector< frames::earth::icrf > get_inertial_velocity (const Date & date) override const
Get the velocity of the frame in Earth-Centered Inertial coordinates.
SurfaceArea get_lift_area () const
Get the lift area of the vehicle.
Mass get_mass () const
Gets the mass of the vehicle.
virtual std::string get_name () override const
Gets the name of the vehicle.
const void * get_ptr () const
Gets a pointer to the internal vehicle instance.
void * get_ptr ()
Gets a pointer to the internal vehicle instance.
SurfaceArea get_ram_area () const
Get the ram area of the vehicle.
SurfaceArea get_solar_area () const
Get the solar area of the vehicle.
Vehicle & operator= (Vehicle && other) noexcept
Copy assignment operator for Vehicle .
Vehicle & operator= (const Vehicle & other)
Move assignment operator for Vehicle .
Vehicle & operator= (T && x)
Generic assignment operator for Vehicle .

Public Functions inherited from astrea::astro::FrameReference

See astrea::astro::FrameReference

Type Name
FrameReference () = default
Default constructor for FrameReference .
virtual CartesianVector< Acceleration, frames::earth::icrf > get_inertial_acceleration (const Date & date) const
Get the acceleration of the frame in Earth-Centered Inertial coordinates.
virtual CartesianVector< Distance, frames::earth::icrf > get_inertial_position (const Date & date) const = 0
Get the position of the frame in Earth-Centered Inertial coordinates.
virtual CartesianVector< Velocity, frames::earth::icrf > get_inertial_velocity (const Date & date) const = 0
Get the velocity of the frame in Earth-Centered Inertial coordinates.
virtual std::string get_name () const = 0
Get the name of the frame reference.
virtual ~FrameReference () = default
Default destructor for FrameReference .

Public Functions Documentation

function Vehicle [1/4]

Default constructor for Vehicle .

astrea::astro::Vehicle::Vehicle () 


function Vehicle [2/4]

Constructs a Vehicle with a user-defined type.

template<IsGenericallyConstructableVehicle T>
inline explicit astrea::astro::Vehicle::Vehicle (
    T && x
) 

Template parameters:

  • T The type of the user-defined vehicle.

Parameters:

  • x The user-defined vehicle instance to initialize the Vehicle.

function Vehicle [3/4]

Copy constructor for Vehicle .

astrea::astro::Vehicle::Vehicle (
    const Vehicle & other
) 

Parameters:

  • other The Vehicle instance to copy from.

function Vehicle [4/4]

Move constructor for Vehicle .

astrea::astro::Vehicle::Vehicle (
    Vehicle && other
) noexcept

Parameters:

  • other The Vehicle instance to move from.

function extract

Extracts the user-defined vehicle from the Vehicle instance.

template<IsGenericallyConstructableVehicle T>
inline const T * astrea::astro::Vehicle::extract () noexcept const

Template parameters:

  • T The type of the user-defined vehicle to extract.

Returns:

const T* A pointer to the user-defined vehicle if it matches the type, otherwise nullptr.


function get_coefficient_of_drag

Gets the coefficient of drag.

inline Unitless astrea::astro::Vehicle::get_coefficient_of_drag () const

Returns:

Unitless The coefficient of drag.


function get_coefficient_of_lift

Gets the coefficient of lift.

inline Unitless astrea::astro::Vehicle::get_coefficient_of_lift () const

Returns:

Unitless The coefficient of lift.


function get_coefficient_of_reflectivity

Gets the coefficient of reflectivity.

inline Unitless astrea::astro::Vehicle::get_coefficient_of_reflectivity () const

Returns:

Unitless The coefficient of reflectivity.


function get_inertial_acceleration

Get the acceleration of the frame in Earth-Centered Inertial coordinates.

inline virtual AccelerationVector < frames::earth::icrf > astrea::astro::Vehicle::get_inertial_acceleration (
    const Date & date
) override const

Parameters:

  • date The date for which to get the acceleration.

Returns:

AccelerationVector<frames::earth::icrf>

Implements astrea::astro::FrameReference::get_inertial_acceleration


function get_inertial_position

Get the position of the frame in Earth-Centered Inertial coordinates.

inline virtual RadiusVector < frames::earth::icrf > astrea::astro::Vehicle::get_inertial_position (
    const Date & date
) override const

Parameters:

  • date The date for which to get the position.

Returns:

RadiusVector<frames::earth::icrf>

Implements astrea::astro::FrameReference::get_inertial_position


function get_inertial_velocity

Get the velocity of the frame in Earth-Centered Inertial coordinates.

inline virtual VelocityVector < frames::earth::icrf > astrea::astro::Vehicle::get_inertial_velocity (
    const Date & date
) override const

Parameters:

  • date The date for which to get the velocity.

Returns:

VelocityVector<frames::earth::icrf>

Implements astrea::astro::FrameReference::get_inertial_velocity


function get_lift_area

Get the lift area of the vehicle.

inline SurfaceArea astrea::astro::Vehicle::get_lift_area () const

Returns:

SurfaceArea The lift area of the vehicle.


function get_mass

Gets the mass of the vehicle.

inline Mass astrea::astro::Vehicle::get_mass () const

Returns:

Mass The mass of the vehicle.


function get_name

Gets the name of the vehicle.

inline virtual std::string astrea::astro::Vehicle::get_name () override const

Returns:

std::string The name of the vehicle.

Implements astrea::astro::FrameReference::get_name


function get_ptr [1/2]

Gets a pointer to the internal vehicle instance.

const void * astrea::astro::Vehicle::get_ptr () const

Returns:

const void* A pointer to the internal vehicle instance.


function get_ptr [2/2]

Gets a pointer to the internal vehicle instance.

void * astrea::astro::Vehicle::get_ptr () 

Returns:

void* A pointer to the internal vehicle instance.


function get_ram_area

Get the ram area of the vehicle.

inline SurfaceArea astrea::astro::Vehicle::get_ram_area () const

Returns:

SurfaceArea The ram area of the vehicle.


function get_solar_area

Get the solar area of the vehicle.

inline SurfaceArea astrea::astro::Vehicle::get_solar_area () const

Returns:

SurfaceArea The solar area of the vehicle.


function operator=

Copy assignment operator for Vehicle .

Vehicle & astrea::astro::Vehicle::operator= (
    Vehicle && other
) noexcept

Returns:

Vehicle& A reference to the current Vehicle instance.


function operator=

Move assignment operator for Vehicle .

Vehicle & astrea::astro::Vehicle::operator= (
    const Vehicle & other
) 

Parameters:

  • other The Vehicle instance to move from.

Returns:

Vehicle& A reference to the current Vehicle instance.


function operator=

Generic assignment operator for Vehicle .

template<IsGenericallyConstructableVehicle T>
inline Vehicle & astrea::astro::Vehicle::operator= (
    T && x
) 

Template parameters:

  • T The type of the user-defined vehicle.

Parameters:

  • x The user-defined vehicle instance to assign to the Vehicle.

Returns:

Vehicle& A reference to the current Vehicle instance.



The documentation for this class was generated from the following file astrea/astro/astro/platforms/Vehicle.hpp