17 #ifndef IGNITION_MATH_SPHERICALCOORDINATES_HH_ 18 #define IGNITION_MATH_SPHERICALCOORDINATES_HH_ 26 #include <ignition/math/config.hh> 32 inline namespace IGNITION_MATH_VERSION_NAMESPACE
34 class SphericalCoordinatesPrivate;
80 const ignition::math::Angle &_latitude,
81 const ignition::math::Angle &_longitude,
82 const double _elevation,
83 const ignition::math::Angle &_heading);
110 public:
static SurfaceType Convert(
const std::string &_str);
121 public:
static double Distance(
const ignition::math::Angle &_latA,
122 const ignition::math::Angle &_lonA,
123 const ignition::math::Angle &_latB,
124 const ignition::math::Angle &_lonB);
128 public: SurfaceType Surface()
const;
132 public: ignition::math::Angle LatitudeReference()
const;
136 public: ignition::math::Angle LongitudeReference()
const;
140 public:
double ElevationReference()
const;
146 public: ignition::math::Angle HeadingOffset()
const;
150 public:
void SetSurface(
const SurfaceType &_type);
154 public:
void SetLatitudeReference(
const ignition::math::Angle &_angle);
158 public:
void SetLongitudeReference(
const ignition::math::Angle &_angle);
162 public:
void SetElevationReference(
const double _elevation);
166 public:
void SetHeadingOffset(
const ignition::math::Angle &_angle);
182 public:
void UpdateTransformationMatrix();
191 const CoordinateType &_in,
const CoordinateType &_out)
const;
200 const CoordinateType &_in,
const CoordinateType &_out)
const;
222 #pragma warning(push) 223 #pragma warning(disable: 4251) 225 private: std::unique_ptr<SphericalCoordinatesPrivate> dataPtr;
CoordinateType
Unique identifiers for coordinate types.
Definition: SphericalCoordinates.hh:51
Vector3< double > Vector3d
Definition: Vector3.hh:756
Convert spherical coordinates for planetary surfaces.
Definition: SphericalCoordinates.hh:38
SurfaceType
Unique identifiers for planetary surface models.
Definition: SphericalCoordinates.hh:42