gazebo::math::Pose Class Reference

Encapsulates a position and rotation in three space. More...

`#include <Pose.hh>`

## Public Member Functions

Pose ()
Default constructors.

Pose (const Vector3 &_pos, const Quaternion &_rot)
Constructor.

Pose (double _x, double _y, double _z, double _roll, double _pitch, double _yaw)
Constructor.

Pose (const Pose &_pose)
Copy constructor.

virtual ~Pose ()
Destructor.

Pose CoordPoseSolve (const Pose &_b) const
Find the inverse of a pose; i.e., if b = this + a, given b and this, find a.

Vector3 CoordPositionAdd (const Vector3 &_pos) const
Add one point to a vector: result = this + pos.

Vector3 CoordPositionAdd (const Pose &_pose) const
Add one point to another: result = this + pose.

Vector3 CoordPositionSub (const Pose &_pose) const
Subtract one position from another: result = this - pose.

Quaternion CoordRotationAdd (const Quaternion &_rot) const
Add one rotation to another: result = this->rot + rot.

Quaternion CoordRotationSub (const Quaternion &_rot) const
Subtract one rotation from another: result = this->rot - rot.

void Correct ()
Fix any nan values.

Pose GetInverse () const
Get the inverse of this pose.

bool IsFinite () const
See if a pose is finite (e.g., not nan)

bool operator!= (const Pose &_pose) const
Inequality operator.

Pose operator* (const Pose &_pose)
Multiplication operator.

Pose operator+ (const Pose &_pose) const

const Poseoperator+= (const Pose &_pose)

Pose operator- (const Pose &_pose) const
Subtraction operator.

const Poseoperator-= (const Pose &_pose)
Subtraction operator.

bool operator== (const Pose &_pose) const
Equality operator.

void Reset ()
Reset the pose.

Pose RotatePositionAboutOrigin (const Quaternion &_rot) const
Rotate vector part of a pose about the origin.

void Round (int _precision)
Round all values to _precision decimal places.

void Set (const Vector3 &_pos, const Quaternion &_rot)
Set the pose from a Vector3 and a Quaternion.

void Set (double _x, double _y, double _z, double _roll, double _pitch, double _yaw)
Set the pose from a six tuple.

Vector3 pos
The position.

Quaternion rot
The rotation.

## Friends

std::ostream & operator<< (std::ostream &_out, const gazebo::math::Pose &_pose)
Stream insertion operator.

std::istream & operator>> (std::istream &_in, gazebo::math::Pose &_pose)
Stream extraction operator.

## Detailed Description

Encapsulates a position and rotation in three space.

## Constructor & Destructor Documentation

 gazebo::math::Pose::Pose ( )

Default constructors.

Referenced by operator-().

 gazebo::math::Pose::Pose ( const Vector3 & _pos, const Quaternion & _rot )

Constructor.

Parameters
 pos A position rot A rotation
 gazebo::math::Pose::Pose ( double _x, double _y, double _z, double _roll, double _pitch, double _yaw )

Constructor.

 gazebo::math::Pose::Pose ( const Pose & _pose )

Copy constructor.

Parameters
 pose Pose to copy
 virtual gazebo::math::Pose::~Pose ( )
virtual

Destructor.

## Member Function Documentation

 Pose gazebo::math::Pose::CoordPoseSolve ( const Pose & _b ) const

Find the inverse of a pose; i.e., if b = this + a, given b and this, find a.

Parameters
 [in] _b the other pose
 Vector3 gazebo::math::Pose::CoordPositionAdd ( const Vector3 & _pos ) const

Add one point to a vector: result = this + pos.

Parameters
 [in] pos Position to add to this pose
Returns
the resulting position
 Vector3 gazebo::math::Pose::CoordPositionAdd ( const Pose & _pose ) const

Add one point to another: result = this + pose.

Parameters
 [in] _pose The Pose to add
Returns
The resulting position
 Vector3 gazebo::math::Pose::CoordPositionSub ( const Pose & _pose ) const
inline

Subtract one position from another: result = this - pose.

Parameters
 [in] _pose Pose to subtract
Returns
The resulting position

Referenced by operator-().

 Quaternion gazebo::math::Pose::CoordRotationAdd ( const Quaternion & _rot ) const

Add one rotation to another: result = this->rot + rot.

Parameters
Returns
The resulting rotation
 Quaternion gazebo::math::Pose::CoordRotationSub ( const Quaternion & _rot ) const
inline

Subtract one rotation from another: result = this->rot - rot.

Parameters
 [in] _rot The rotation to subtract
Returns
The resulting rotation

Referenced by operator-().

 void gazebo::math::Pose::Correct ( )
inline

Fix any nan values.

 Pose gazebo::math::Pose::GetInverse ( ) const

Get the inverse of this pose.

Returns
the inverse pose
 bool gazebo::math::Pose::IsFinite ( ) const

See if a pose is finite (e.g., not nan)

 bool gazebo::math::Pose::operator!= ( const Pose & _pose ) const

Inequality operator.

Parameters
 [in] _pose Pose for comparison
Returns
True if not equal
 Pose gazebo::math::Pose::operator* ( const Pose & _pose )

Multiplication operator.

Parameters
 [in] _pose the other pose
Returns
itself
 Pose gazebo::math::Pose::operator+ ( const Pose & _pose ) const

Parameters
 [in] pose Pose to add to this pose
Returns
The resulting pose
 const Pose& gazebo::math::Pose::operator+= ( const Pose & _pose )

Parameters
 [in] pose Pose to add to this pose
Returns
The resulting pose
 Pose gazebo::math::Pose::operator- ( const Pose & _pose ) const
inline

Subtraction operator.

Parameters
 [in] pose Pose to subtract from this one
Returns
The resulting pose

References CoordPositionSub(), CoordRotationSub(), Pose(), and rot.

 const Pose& gazebo::math::Pose::operator-= ( const Pose & _pose )

Subtraction operator.

Parameters
 [in] pose Pose to subtract from this one
Returns
The resulting pose
 bool gazebo::math::Pose::operator== ( const Pose & _pose ) const

Equality operator.

Parameters
 [in] _pose Pose for comparison
Returns
True if equal
 void gazebo::math::Pose::Reset ( )

Reset the pose.

 Pose gazebo::math::Pose::RotatePositionAboutOrigin ( const Quaternion & _rot ) const

Rotate vector part of a pose about the origin.

Parameters
 [in] _rot rotation
Returns
the rotated pose
 void gazebo::math::Pose::Round ( int _precision )

Round all values to _precision decimal places.

Parameters
 [in] _precision
 void gazebo::math::Pose::Set ( const Vector3 & _pos, const Quaternion & _rot )

Set the pose from a Vector3 and a Quaternion.

Parameters
 [in] _pos The position. [in] _rot The rotation.
 void gazebo::math::Pose::Set ( double _x, double _y, double _z, double _roll, double _pitch, double _yaw )

Set the pose from a six tuple.

Parameters
 [in] _x x position in meters. [in] _y y position in meters. [in] _z z position in meters. [in] _roll Roll (rotation about X-axis) in radians. [in] _pitch Pitch (rotation about y-axis) in radians. [in] _yaw Pitch (rotation about z-axis) in radians.

## Friends And Related Function Documentation

 std::ostream& operator<< ( std::ostream & _out, const gazebo::math::Pose & _pose )
friend

Stream insertion operator.

Parameters
 out output stream pose pose to output
Returns
the stream
 std::istream& operator>> ( std::istream & _in, gazebo::math::Pose & _pose )
friend

Stream extraction operator.

Parameters
 [in] _in the input stream [in] _pose the pose
Returns
the stream

## Member Data Documentation

 Vector3 gazebo::math::Pose::pos

The position.

Referenced by CoordPositionSub(), and Correct().

 Quaternion gazebo::math::Pose::rot

The rotation.

Referenced by CoordPositionSub(), CoordRotationSub(), Correct(), and operator-().

The documentation for this class was generated from the following file: