Class inertialsim::geodesy::Gravity¶
ClassList > inertialsim > geodesy > Gravity
Abstract base class for gravity models. More...
#include <gravity.h>
Inherits the following classes: inertialsim::geodesy::Field
Inherited by the following classes: inertialsim::geodesy::ConstantGravity, inertialsim::geodesy::EllipsoidalGravity
Public Static Attributes¶
| Type | Name |
|---|---|
| constexpr double | standard_magnitude = STANDARD\_GRAVITYStandard gravity magnitude. |
Public Functions¶
| Type | Name |
|---|---|
| virtual Scalar1D | Magnitude (const Coordinates & coordinates) const Return magnitude at the given coordinates. |
| Scalar1D | Magnitude (const Array3D & coordinates, CoordinateSystem default_frame=CoordinateSystem::GEODETIC) const Return magnitude at the given coordinates. |
| Scalar1D | Magnitude (const geometry::Vector & coordinates, CoordinateSystem default_frame=CoordinateSystem::LOCAL) const Return magnitude at the given coordinates. |
| Scalar1D | Magnitude (const Vector3D & coordinates, CoordinateSystem default_frame=CoordinateSystem::LOCAL) const Return magnitude at the given coordinates. |
| Vector3D | Vector (const Coordinates & coordinates, const std::optional< CoordinateSystem > & basis=std::nullopt) const Return the vector field at the given coordinates. |
| Vector3D | Vector (const Array3D & coordinates, CoordinateSystem default_frame=CoordinateSystem::GEODETIC, const std::optional< CoordinateSystem > & basis=std::nullopt) const Return the vector field at the given coordinates. |
| Vector3D | Vector (const geometry::Vector & coordinates, CoordinateSystem default_frame=CoordinateSystem::LOCAL, const std::optional< CoordinateSystem > & basis=std::nullopt) const Return the vector field at the given coordinates. |
| Vector3D | Vector (const Vector3D & coordinates, CoordinateSystem default_frame=CoordinateSystem::LOCAL, const std::optional< CoordinateSystem > & basis=std::nullopt) const Return the vector field at the given coordinates. |
Public Functions inherited from inertialsim::geodesy::Field¶
See inertialsim::geodesy::Field
| Type | Name |
|---|---|
| virtual Scalar1D | Magnitude (const Coordinates & coordinates) const Return magnitude at the given coordinates. |
| Scalar1D | Magnitude (const Array3D & coordinates, CoordinateSystem default_frame=CoordinateSystem::GEODETIC) const Return magnitude at the given coordinates. |
| Scalar1D | Magnitude (const geometry::Vector & coordinates, CoordinateSystem default_frame=CoordinateSystem::LOCAL) const Return magnitude at the given coordinates. |
| Scalar1D | Magnitude (const Vector3D & coordinates, CoordinateSystem default_frame=CoordinateSystem::LOCAL) const Return magnitude at the given coordinates. |
| Vector3D | Vector (const Coordinates & coordinates, const std::optional< CoordinateSystem > & basis=std::nullopt) const Return the vector field at the given coordinates. |
| Vector3D | Vector (const Array3D & coordinates, CoordinateSystem default_frame=CoordinateSystem::GEODETIC, const std::optional< CoordinateSystem > & basis=std::nullopt) const Return the vector field at the given coordinates. |
| Vector3D | Vector (const geometry::Vector & coordinates, CoordinateSystem default_frame=CoordinateSystem::LOCAL, const std::optional< CoordinateSystem > & basis=std::nullopt) const Return the vector field at the given coordinates. |
| Vector3D | Vector (const Vector3D & coordinates, CoordinateSystem default_frame=CoordinateSystem::LOCAL, const std::optional< CoordinateSystem > & basis=std::nullopt) const Return the vector field at the given coordinates. |
| virtual | ~Field () = default Virtual destructor. |
Public Static Functions¶
| Type | Name |
|---|---|
| Vector3D | StandardVector (TopocentricAxisOrder axis_order=TopocentricAxisOrder::NED) Standard gravity in a topocentric frame. |
Detailed Description¶
Provides the base interface for gravity models including the standard gravity magnitude and standard gravity vector methods.
Public Static Attributes Documentation¶
variable standard_magnitude¶
Standard gravity magnitude.
The standard value of gravity is 9.80665 m/s/s (See Standard [01] and equivalent international standards). This standard value is approximately the value of gravity at 45 degrees latitude and 0 altitude. It should be used to convert units of "g". It may be used in applications where a single global approximation is appropriate.
Public Functions Documentation¶
function Magnitude [1/4]¶
Return magnitude at the given coordinates.
Parameters:
coordinatesArray of coordinates.
Returns:
Magnitudes.
Implements inertialsim::geodesy::Field::Magnitude
function Magnitude [2/4]¶
Return magnitude at the given coordinates.
Scalar1D inertialsim::geodesy::Gravity::Magnitude (
const Array3D & coordinates,
CoordinateSystem default_frame=CoordinateSystem::GEODETIC
) const
Parameters:
coordinatesCoordinates in raw form (e.g. geodetic).default_frameCoordinate system corresponding to the coordinate input.
Returns:
Magnitudes.
function Magnitude [3/4]¶
Return magnitude at the given coordinates.
Scalar1D inertialsim::geodesy::Gravity::Magnitude (
const geometry::Vector & coordinates,
CoordinateSystem default_frame=CoordinateSystem::LOCAL
) const
Parameters:
coordinatesCoordinates.default_frameCoordinate system corresponding to the coordinate input.
Returns:
Magnitudes.
function Magnitude [4/4]¶
Return magnitude at the given coordinates.
Scalar1D inertialsim::geodesy::Gravity::Magnitude (
const Vector3D & coordinates,
CoordinateSystem default_frame=CoordinateSystem::LOCAL
) const
Parameters:
coordinatesCoordinates in raw form (e.g. local xyz).default_frameCoordinate system corresponding to the coordinate input.
Returns:
Magnitudes.
function Vector [1/4]¶
Return the vector field at the given coordinates.
inline Vector3D inertialsim::geodesy::Gravity::Vector (
const Coordinates & coordinates,
const std::optional< CoordinateSystem > & basis=std::nullopt
) const
By default, the vector components will be expressed in the basis associated with the coordinates. For curvilinear systems (e.g. geodetic), the basis is the local basis at the given coordinates. If basis is supplied, it will be used instead.
Note
For curvilinear coordinate systems like geodetic coordinates, the default basis is the local tangent plane basis at each coordinate location. For Cartesian systems like ECEF, the basis is constant.
Parameters:
coordinatesArray of coordinates.basisOptional basis in which to return the vector. If not specified, uses the basis associated with the coordinates.
Returns:
Vectors.
function Vector [2/4]¶
Return the vector field at the given coordinates.
Vector3D inertialsim::geodesy::Gravity::Vector (
const Array3D & coordinates,
CoordinateSystem default_frame=CoordinateSystem::GEODETIC,
const std::optional< CoordinateSystem > & basis=std::nullopt
) const
Parameters:
coordinatesCoordinates in raw form (e.g. geodetic).default_frameCoordinate system corresponding to the coordinate input.basisOptional basis in which to return the vector.
Returns:
Vectors.
function Vector [3/4]¶
Return the vector field at the given coordinates.
Vector3D inertialsim::geodesy::Gravity::Vector (
const geometry::Vector & coordinates,
CoordinateSystem default_frame=CoordinateSystem::LOCAL,
const std::optional< CoordinateSystem > & basis=std::nullopt
) const
Parameters:
coordinatesCoordinates.default_frameCoordinate system corresponding to the coordinate input.basisOptional basis in which to return the vector.
Returns:
Vectors.
function Vector [4/4]¶
Return the vector field at the given coordinates.
Vector3D inertialsim::geodesy::Gravity::Vector (
const Vector3D & coordinates,
CoordinateSystem default_frame=CoordinateSystem::LOCAL,
const std::optional< CoordinateSystem > & basis=std::nullopt
) const
Parameters:
coordinatesCoordinates in raw form (e.g. local xyz).default_frameCoordinate system corresponding to the coordinate input.basisOptional basis in which to return the vector.
Returns:
Vectors.
Public Static Functions Documentation¶
function StandardVector¶
Standard gravity in a topocentric frame.
static Vector3D inertialsim::geodesy::Gravity::StandardVector (
TopocentricAxisOrder axis_order=TopocentricAxisOrder::NED
)
The standard value of gravity is 9.80665 m/s/s (See Standard [01] and equivalent international standards). This standard value is approximately the value of gravity at 45 degrees latitude and 0 altitude. It should be used to convert units of "g". It may be used in applications where a single global approximation is appropriate.
Parameters:
axis_orderThe axis ordering of the topocentric frame: NED or ENU.
Returns:
Standard gravity vector in the topocentric frame.
The documentation for this class was generated from the following file cpp/include/inertialsim/geodesy/gravity.h