17 #ifndef _GAZEBO_SPHERICALCOORDINATES_HH_
18 #define _GAZEBO_SPHERICALCOORDINATES_HH_
22 #include <ignition/math/Angle.hh>
23 #include <ignition/math/Vector3.hh>
35 class SphericalCoordinatesPrivate;
98 const ignition::math::Angle &_latitude,
99 const ignition::math::Angle &_longitude,
101 const ignition::math::Angle &_heading);
119 public: ignition::math::Vector3d SphericalFromLocal(
120 const ignition::math::Vector3d &_xyz)
const;
135 public: ignition::math::Vector3d GlobalFromLocal(
136 const ignition::math::Vector3d &_xyz)
const;
141 public:
static SurfaceType
Convert(
const std::string &_str);
154 public:
static double Distance(
const math::Angle &_latA,
168 public:
static double Distance(
const ignition::math::Angle &_latA,
169 const ignition::math::Angle &_lonA,
170 const ignition::math::Angle &_latB,
171 const ignition::math::Angle &_lonB);
175 public: SurfaceType GetSurfaceType()
const;
185 public:
ignition::math::Angle LatitudeReference() const;
195 public:
ignition::math::Angle LongitudeReference() const;
199 public:
double GetElevationReference() const;
207 public: math::Angle GetHeadingOffset() const GAZEBO_DEPRECATED(6.0);
213 public:
ignition::math::Angle HeadingOffset() const;
217 public:
void SetSurfaceType(const SurfaceType &_type);
223 public:
void SetLatitudeReference(const math::Angle &_angle)
224 GAZEBO_DEPRECATED(6.0);
228 public:
void SetLatitudeReference(const
ignition::math::Angle &_angle);
234 public:
void SetLongitudeReference(const math::Angle &_angle)
235 GAZEBO_DEPRECATED(6.0);
239 public:
void SetLongitudeReference(const
ignition::math::Angle &_angle);
243 public:
void SetElevationReference(
double _elevation);
249 public:
void SetHeadingOffset(const math::Angle &_angle)
250 GAZEBO_DEPRECATED(6.0);
254 public:
void SetHeadingOffset(const
ignition::math::Angle &_angle);
259 public:
ignition::math::Vector3d LocalFromSpherical(
260 const
ignition::math::Vector3d &_xyz) const;
266 public:
ignition::math::Vector3d LocalFromGlobal(
267 const
ignition::math::Vector3d &_xyz) const;
270 public:
void UpdateTransformationMatrix();
278 PositionTransform(const
ignition::math::Vector3d &_pos,
279 const CoordinateType &_in, const CoordinateType &_out) const;
286 public:
ignition::math::Vector3d VelocityTransform(
287 const
ignition::math::Vector3d &_vel,
288 const CoordinateType &_in, const CoordinateType &_out) const;
Convert spherical coordinates for planetary surfaces.
Definition: SphericalCoordinates.hh:42
Forward declarations for the common classes.
Definition: Animation.hh:33
The Vector3 class represents the generic vector containing 3 elements.
Definition: Vector3.hh:39
#define GAZEBO_DEPRECATED(version)
Definition: CommonTypes.hh:47
GAZEBO_VISIBLE msgs::Vector3d Convert(const math::Vector3 &_v) GAZEBO_DEPRECATED(6.0)
Convert a math::Vector3 to a msgs::Vector3d.
#define GZ_COMMON_VISIBLE
Definition: system.hh:91
commmon/common.hh
Definition: SphericalCoordinatesPrivate.hh:40
An angle and related functions.
Definition: Angle.hh:53
CoordinateType
Unique identifiers for coordinate types.
Definition: SphericalCoordinates.hh:55
Definition: Animation.hh:24
SurfaceType
Unique identifiers for planetary surface models.
Definition: SphericalCoordinates.hh:46