SphericalCoordinates.hh
Go to the documentation of this file.
47 };
54 SPHERICAL = 1,
57 ECEF = 2,
60 GLOBAL = 3,
65 LOCAL = 4,
69 };
The Angle class is used to simplify and clarify the use of radians and degrees measurements....
Definition: Angle.hh:62
Convert spherical coordinates for planetary surfaces.
Definition: SphericalCoordinates.hh:39
void UpdateTransformationMatrix()
Update coordinate transformation matrix with reference location.
SurfaceType Surface() const
Get SurfaceType currently in use.
SphericalCoordinates & operator=(const SphericalCoordinates &_sc)
Assignment operator.
Vector3d PositionTransform(const Vector3d &_pos, const CoordinateType &_in, const CoordinateType &_out) const
Convert between positions in SPHERICAL/ECEF/LOCAL/GLOBAL frame Spherical coordinates use radians,...
void SetElevationReference(const double _elevation)
Set reference elevation above sea level in meters.
void SetHeadingOffset(const Angle &_angle)
Set heading angle offset for the frame.
bool operator==(const SphericalCoordinates &_sc) const
Equality operator, result = this == _sc.
SphericalCoordinates(const SurfaceType _type)
Constructor with surface type input.
SurfaceType
Unique identifiers for planetary surface models.
Definition: SphericalCoordinates.hh:43
double ElevationReference() const
Get reference elevation in meters.
Vector3d VelocityTransform(const Vector3d &_vel, const CoordinateType &_in, const CoordinateType &_out) const
Convert between velocity in SPHERICAL/ECEF/LOCAL/GLOBAL frame Spherical coordinates use radians,...
SphericalCoordinates(const SurfaceType _type, const Angle &_latitude, const Angle &_longitude, const double _elevation, const Angle &_heading)
Constructor with surface type, angle, and elevation inputs.
Angle LongitudeReference() const
Get reference longitude.
void SetLatitudeReference(const Angle &_angle)
Set reference geodetic latitude.
Vector3d LocalFromGlobalVelocity(const Vector3d &_xyz) const
Convert a Cartesian velocity vector with components East, North, Up to a local cartesian frame vector...
void SetSurface(const SurfaceType &_type)
Set SurfaceType for planetary surface model.
static double Distance(const Angle &_latA, const Angle &_lonA, const Angle &_latB, const Angle &_lonB)
Get the distance between two points expressed in geographic latitude and longitude....
static SurfaceType Convert(const std::string &_str)
Convert a string to a SurfaceType. Allowed values: ["EARTH_WGS84"].
Vector3d SphericalFromLocalPosition(const Vector3d &_xyz) const
Convert a Cartesian position vector to geodetic coordinates. This performs a PositionTransform from L...
bool operator!=(const SphericalCoordinates &_sc) const
Inequality.
static std::string Convert(SurfaceType _type)
Convert a SurfaceType to a string.
Angle HeadingOffset() const
Get heading offset for the reference frame, expressed as angle from East to x-axis,...
Vector3d LocalFromSphericalPosition(const Vector3d &_latLonEle) const
Convert a geodetic position vector to Cartesian coordinates. This performs a PositionTransform from S...
Vector3d GlobalFromLocalVelocity(const Vector3d &_xyz) const
Convert a Cartesian velocity vector in the local frame to a global Cartesian frame with components Ea...
Angle LatitudeReference() const
Get reference geodetic latitude.
void SetLongitudeReference(const Angle &_angle)
Set reference longitude.
SphericalCoordinates(const SphericalCoordinates &_sc)
Copy constructor.
CoordinateType
Unique identifiers for coordinate types.
Definition: SphericalCoordinates.hh:52
The Vector3 class represents the generic vector containing 3 elements. Since it's commonly used to ke...
Definition: Vector3.hh:42
Definition: Angle.hh:43