Class inertialsim::geodesy::ConstantEarthRate¶
ClassList > inertialsim > geodesy > ConstantEarthRate
Constant Earth rate model. More...
#include <earth_rate.h>
Inherits the following classes: inertialsim::geodesy::Field
Inherited by the following classes: inertialsim::geodesy::ZeroEarthRate
Public Functions¶
| Type | Name |
|---|---|
| ConstantEarthRate (const Vector3D & earth_rate) Construct from an Earth rate vector. |
|
| virtual Scalar1D | Magnitude (const Coordinates & coordinates) override const Return Earth rate magnitude at the given coordinates. |
| 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. |
Protected Functions¶
| Type | Name |
|---|---|
| virtual Vector3D | VectorImpl (const Coordinates & coordinates, const std::optional< CoordinateSystem > & basis) override const Return the constant Earth rate vector. |
Protected Functions inherited from inertialsim::geodesy::Field¶
See inertialsim::geodesy::Field
| Type | Name |
|---|---|
| virtual Vector3D | VectorImpl (const Coordinates & coordinates, const std::optional< CoordinateSystem > & basis) const = 0 Vector implementation to be overridden by subclasses. |
Detailed Description¶
Models a constant Earth rate vector for all coordinates. This is appropriate for ECEF, topocentric, and local coordinate systems where the coordinate basis is fixed relative to Earth and the Earth rate vector remains constant.
Unlike EllipsoidalEarthRate which computes the Earth rate vector in varying local bases (for curvilinear coordinates), ConstantEarthRate returns the same vector regardless of the input coordinates or their basis.
Note:
This model is useful for simulations in fixed coordinate frames or when Earth rate is pre-computed and constant in the simulation frame.
See also: ZeroEarthRate for zero Earth rate (inertial/local frames)
See also: EllipsoidalEarthRate for Earth rate in curvilinear coordinates
Public Functions Documentation¶
function ConstantEarthRate¶
Construct from an Earth rate vector.
Parameters:
earth_rate3x1 Earth rate vector (rad/s).
function Magnitude [⅕]¶
Return Earth rate magnitude at the given coordinates.
virtual Scalar1D inertialsim::geodesy::ConstantEarthRate::Magnitude (
const Coordinates & coordinates
) override const
The Earth rate magnitude is constant so the coordinates are not used but the interface is maintained for consistency.
Parameters:
coordinatesArray of coordinates.
Returns:
Array of magnitudes.
Implements inertialsim::geodesy::Field::Magnitude
function Magnitude [⅖]¶
Return magnitude at the given coordinates.
virtual Scalar1D inertialsim::geodesy::ConstantEarthRate::Magnitude (
const Coordinates & coordinates
) const
Parameters:
coordinatesArray of coordinates.
Returns:
Array of magnitudes.
Implements inertialsim::geodesy::Field::Magnitude
function Magnitude [⅗]¶
Return magnitude at the given coordinates.
Scalar1D inertialsim::geodesy::ConstantEarthRate::Magnitude (
const Array3D & coordinates,
CoordinateSystem default_frame=CoordinateSystem::GEODETIC
) const
Parameters:
coordinatesArray of raw coordinates (e.g. geodetic).default_frameCoordinate system corresponding to the coordinate input.
Returns:
Array of magnitudes.
function Magnitude [⅘]¶
Return magnitude at the given coordinates.
Scalar1D inertialsim::geodesy::ConstantEarthRate::Magnitude (
const geometry::Vector & coordinates,
CoordinateSystem default_frame=CoordinateSystem::LOCAL
) const
Parameters:
coordinatesArray of coordinates as geometry::Vector.default_frameCoordinate system corresponding to the coordinate input.
Returns:
Array of magnitudes.
function Magnitude [5/5]¶
Return magnitude at the given coordinates.
Scalar1D inertialsim::geodesy::ConstantEarthRate::Magnitude (
const Vector3D & coordinates,
CoordinateSystem default_frame=CoordinateSystem::LOCAL
) const
Parameters:
coordinatesArray of raw coordinates (e.g. local xyz).default_frameCoordinate system corresponding to the coordinate input.
Returns:
Array of magnitudes.
function Vector [¼]¶
Return the vector field at the given coordinates.
inline Vector3D inertialsim::geodesy::ConstantEarthRate::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:
Array of vectors (3xN).
function Vector [2/4]¶
Return the vector field at the given coordinates.
Vector3D inertialsim::geodesy::ConstantEarthRate::Vector (
const Array3D & coordinates,
CoordinateSystem default_frame=CoordinateSystem::GEODETIC,
const std::optional< CoordinateSystem > & basis=std::nullopt
) const
Parameters:
coordinatesArray of raw coordinates (e.g. geodetic).default_frameCoordinate system corresponding to the coordinate input.basisOptional basis in which to return the vector.
Returns:
Array of vectors.
function Vector [¾]¶
Return the vector field at the given coordinates.
Vector3D inertialsim::geodesy::ConstantEarthRate::Vector (
const geometry::Vector & coordinates,
CoordinateSystem default_frame=CoordinateSystem::LOCAL,
const std::optional< CoordinateSystem > & basis=std::nullopt
) const
Parameters:
coordinatesArray of coordinates as geometry::Vector.default_frameCoordinate system corresponding to the coordinate input.basisOptional basis in which to return the vector.
Returns:
Array of vectors.
function Vector [4/4]¶
Return the vector field at the given coordinates.
Vector3D inertialsim::geodesy::ConstantEarthRate::Vector (
const Vector3D & coordinates,
CoordinateSystem default_frame=CoordinateSystem::LOCAL,
const std::optional< CoordinateSystem > & basis=std::nullopt
) const
Parameters:
coordinatesVector of raw coordinates (e.g. local xyz)default_frameCoordinate system corresponding to the coordinate input.basisOptional basis in which to return the vector.
Returns:
Array of vectors.
Protected Functions Documentation¶
function VectorImpl¶
Return the constant Earth rate vector.
virtual Vector3D inertialsim::geodesy::ConstantEarthRate::VectorImpl (
const Coordinates & coordinates,
const std::optional< CoordinateSystem > & basis
) override const
Returns the same vector for each input coordinate.
Parameters:
coordinatesArray of coordinates (only used for count).basisIgnored (constant field has no coordinate dependence).
Returns:
Array of Earth rate vectors (rad/s) (3xN).
Implements inertialsim::geodesy::Field::VectorImpl
The documentation for this class was generated from the following file cpp/include/inertialsim/geodesy/earth_rate.h