Struct astrea::astro::detail::VehicleInner¶
template <typename T>
ClassList > astrea > astro > detail > VehicleInner
A template class for vehicle inner implementations. More...
#include <Vehicle.hpp>
Inherits the following classes: astrea::astro::detail::VehicleInnerBase
Public Attributes¶
| Type | Name |
|---|---|
| T | _value The value of the vehicle inner implementation, which is the user-defined vehicle type. |
Public Functions¶
| Type | Name |
|---|---|
| VehicleInner () = default Default constructor for VehicleInner . |
|
| VehicleInner (const VehicleInner &) = delete Deleted copy assignment operator. |
|
| VehicleInner (VehicleInner &&) = delete Deleted move assignment operator. |
|
| VehicleInner (const T & x) Constructs a VehicleInner with a given value. |
|
| VehicleInner (T && x) Constructs a VehicleInner with a given value. |
|
| virtual std::unique_ptr< VehicleInnerBase > | clone () const Clones the vehicle inner implementation. |
| virtual Unitless | get_coefficient_of_drag () const Gets the coefficient of drag of the vehicle or a default value. |
| virtual Unitless | get_coefficient_of_lift () const Gets the coefficient of lift of the vehicle or a default value. |
| virtual Unitless | get_coefficient_of_reflectivity () const Gets the coefficient of reflectivity of the vehicle or a default value. |
| 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. |
| virtual SurfaceArea | get_lift_area () const Gets the lift area of the vehicle or a default value. |
| virtual Mass | get_mass () const Gets the mass of the vehicle. |
| virtual std::string | get_name () override const Gets the name of the vehicle. |
| virtual const void * | get_ptr () const Gets a pointer to the internal vehicle instance. |
| virtual void * | get_ptr () Gets a pointer to the internal vehicle instance. |
| virtual SurfaceArea | get_ram_area () const Gets the ram area of the vehicle or a default value. |
| virtual SurfaceArea | get_solar_area () const Gets the solar area of the vehicle or a default value. |
| VehicleInner & | operator= (const VehicleInner &) = delete Deleted copy assignment operator. |
| VehicleInner & | operator= (VehicleInner &&) = delete Deleted move assignment operator. |
| requires (!HasGetRamArea< U >) const Gets the default ram area of the vehicle. |
|
| requires (HasGetRamArea< U >) const Gets the ram area of the vehicle. |
|
| requires (!HasGetLiftArea< U >) const Gets the default lift area of the vehicle. |
|
| requires (HasGetLiftArea< U >) const Gets the lift area of the vehicle. |
|
| requires (!HasGetSolarArea< U >) const Gets the default solar area of the vehicle. |
|
| requires (HasGetSolarArea< U >) const Gets the solar area of the vehicle. |
|
| requires (!HasGetCoefficientOfDrag< U >) const Gets the default coefficient of drag of the vehicle. |
|
| requires (HasGetCoefficientOfDrag< U >) const Gets the coefficient of drag of the vehicle. |
|
| requires (!HasGetCoefficientOfLift< U >) const Gets the default coefficient of lift of the vehicle. |
|
| requires (HasGetCoefficientOfLift< U >) const Gets the coefficient of lift of the vehicle. |
|
| requires (!HasGetCoefficientOfReflectivity< U >) const Gets the default coefficient of reflectivity of the vehicle. |
|
| requires (HasGetCoefficientOfReflectivity< U >) const Gets the coefficient of reflectivity of the vehicle. |
Public Functions inherited from astrea::astro::detail::VehicleInnerBase¶
See astrea::astro::detail::VehicleInnerBase
| Type | Name |
|---|---|
| virtual std::unique_ptr< VehicleInnerBase > | clone () const = 0 Clones the vehicle inner implementation. |
| virtual Unitless | get_coefficient_of_drag () const = 0 Gets the coefficient of drag of the vehicle. |
| virtual Unitless | get_coefficient_of_lift () const = 0 Gets the coefficient of lift of the vehicle. |
| virtual Unitless | get_coefficient_of_reflectivity () const = 0 Gets the coefficient of reflectivity of the vehicle. |
| virtual SurfaceArea | get_lift_area () const = 0 Gets the lift area of the vehicle. |
| virtual Mass | get_mass () const = 0 Gets the mass of the vehicle. |
| virtual const void * | get_ptr () const = 0 Gets a pointer to the internal vehicle instance. |
| virtual void * | get_ptr () = 0 Gets a pointer to the internal vehicle instance. |
| virtual SurfaceArea | get_ram_area () const = 0 Gets the ram area of the vehicle. |
| virtual SurfaceArea | get_solar_area () const = 0 Gets the solar area of the vehicle. |
| virtual | ~VehicleInnerBase () Destructor for VehicleInnerBase . |
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 . |
Detailed Description¶
Template parameters:
TThe type of the vehicle implementation.
Public Attributes Documentation¶
variable _value¶
The value of the vehicle inner implementation, which is the user-defined vehicle type.
Public Functions Documentation¶
function VehicleInner [1/5]¶
Default constructor for VehicleInner .
function VehicleInner [2/5]¶
Deleted copy assignment operator.
function VehicleInner [3/5]¶
Deleted move assignment operator.
function VehicleInner [4/5]¶
Constructs a VehicleInner with a given value.
Parameters:
xThe value to initialize the vehicle inner implementation.
function VehicleInner [5/5]¶
Constructs a VehicleInner with a given value.
Parameters:
xThe value to initialize the vehicle inner implementation.
function clone¶
Clones the vehicle inner implementation.
inline virtual std::unique_ptr< VehicleInnerBase > astrea::astro::detail::VehicleInner::clone () const
Returns:
std::unique_ptr<VehicleInnerBase> A unique pointer to the cloned vehicle inner implementation.
Implements astrea::astro::detail::VehicleInnerBase::clone
function get_coefficient_of_drag¶
Gets the coefficient of drag of the vehicle or a default value.
Returns:
Unitless The coefficient of drag of the vehicle.
Implements astrea::astro::detail::VehicleInnerBase::get_coefficient_of_drag
function get_coefficient_of_lift¶
Gets the coefficient of lift of the vehicle or a default value.
Returns:
Unitless The coefficient of lift of the vehicle.
Implements astrea::astro::detail::VehicleInnerBase::get_coefficient_of_lift
function get_coefficient_of_reflectivity¶
Gets the coefficient of reflectivity of the vehicle or a default value.
inline virtual Unitless astrea::astro::detail::VehicleInner::get_coefficient_of_reflectivity () const
Returns:
Unitless The coefficient of reflectivity of the vehicle.
Implements astrea::astro::detail::VehicleInnerBase::get_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::detail::VehicleInner::get_inertial_acceleration (
const Date & date
) override const
Parameters:
dateThe 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::detail::VehicleInner::get_inertial_position (
const Date & date
) override const
Parameters:
dateThe 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::detail::VehicleInner::get_inertial_velocity (
const Date & date
) override const
Parameters:
dateThe date for which to get the velocity.
Returns:
VelocityVector<frames::earth::icrf>
Implements astrea::astro::FrameReference::get_inertial_velocity
function get_lift_area¶
Gets the lift area of the vehicle or a default value.
Returns:
SurfaceArea The lift area of the vehicle.
Implements astrea::astro::detail::VehicleInnerBase::get_lift_area
function get_mass¶
Gets the mass of the vehicle.
Returns:
Mass The mass of the vehicle.
Implements astrea::astro::detail::VehicleInnerBase::get_mass
function get_name¶
Gets the name of the vehicle.
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.
Returns:
const void* A pointer to the internal vehicle instance.
Implements astrea::astro::detail::VehicleInnerBase::get_ptr
function get_ptr [2/2]¶
Gets a pointer to the internal vehicle instance.
Returns:
void* A pointer to the internal vehicle instance.
Implements astrea::astro::detail::VehicleInnerBase::get_ptr
function get_ram_area¶
Gets the ram area of the vehicle or a default value.
Returns:
SurfaceArea The ram area of the vehicle.
Implements astrea::astro::detail::VehicleInnerBase::get_ram_area
function get_solar_area¶
Gets the solar area of the vehicle or a default value.
Returns:
SurfaceArea The solar area of the vehicle.
Implements astrea::astro::detail::VehicleInnerBase::get_solar_area
function operator=¶
Deleted copy assignment operator.
function operator=¶
Deleted move assignment operator.
function requires [1/12]¶
Gets the default ram area of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
!HasGetRamArea< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the ram area from.
Returns:
SurfaceArea The ram area of the vehicle.
function requires [2/12]¶
Gets the ram area of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
HasGetRamArea< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the ram area from.
Returns:
SurfaceArea The ram area of the vehicle.
function requires [3/12]¶
Gets the default lift area of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
!HasGetLiftArea< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the lift area from.
Returns:
SurfaceArea The lift area of the vehicle.
function requires [4/12]¶
Gets the lift area of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
HasGetLiftArea< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the lift area from.
Returns:
SurfaceArea The lift area of the vehicle.
function requires [5/12]¶
Gets the default solar area of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
!HasGetSolarArea< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the solar area from.
Returns:
SurfaceArea The solar area of the vehicle.
function requires [6/12]¶
Gets the solar area of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
HasGetSolarArea< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the solar area from.
Returns:
SurfaceArea The solar area of the vehicle.
function requires [7/12]¶
Gets the default coefficient of drag of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
!HasGetCoefficientOfDrag< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the coefficient of drag from.
Returns:
Unitless The coefficient of drag of the vehicle.
function requires [8/12]¶
Gets the coefficient of drag of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
HasGetCoefficientOfDrag< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the coefficient of drag from.
Returns:
Unitless The coefficient of drag of the vehicle.
function requires [9/12]¶
Gets the default coefficient of lift of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
!HasGetCoefficientOfLift< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the coefficient of lift from.
Returns:
Unitless The coefficient of lift of the vehicle.
function requires [10/12]¶
Gets the coefficient of lift of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
HasGetCoefficientOfLift< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the coefficient of lift from.
Returns:
Unitless The coefficient of lift of the vehicle.
function requires [11/12]¶
Gets the default coefficient of reflectivity of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
!HasGetCoefficientOfReflectivity< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the coefficient of reflectivity from.
Returns:
Unitless The coefficient of reflectivity of the vehicle.
function requires [12/12]¶
Gets the coefficient of reflectivity of the vehicle.
template<typename U>
inline astrea::astro::detail::VehicleInner::requires (
HasGetCoefficientOfReflectivity< U >
) const
Template parameters:
UThe type of the vehicle implementation.
Parameters:
valueThe vehicle instance to get the coefficient of reflectivity from.
Returns:
Unitless The coefficient of reflectivity of the vehicle.
The documentation for this class was generated from the following file astrea/astro/astro/platforms/Vehicle.hpp