gazebo::math::Pose Class Reference

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

`#include <math/gzmath.hh>`

Public Member Functions

Pose ()
Default constructors. More...

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

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

Pose (const Pose &_pose)
Copy constructor. More...

virtual ~Pose ()
Destructor. More...

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

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

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

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

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

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

void Correct ()
Fix any nan values. More...

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

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

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

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

Pose operator+ (const Pose &_pose) const
Addition operator A is the transform from O to P specified in frame O B is the transform from P to Q specified in frame P then, B + A is the transform from O to Q specified in frame O. More...

const Poseoperator+= (const Pose &_pose)

Pose operator- () const
Negation operator A is the transform from O to P in frame O then -A is transform from P to O specified in frame P. More...

Pose operator- (const Pose &_pose) const
Subtraction operator A is the transform from O to P in frame O B is the transform from O to Q in frame O B - A is the transform from P to Q in frame P. More...

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

Poseoperator= (const Pose &_pose)
Equal operator. More...

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

void Reset ()
Reset the pose. More...

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

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

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

void Set (const Vector3 &_pos, const Vector3 &_rpy)
Set the pose from pos and rpy vectors. More...

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

Public Attributes

Vector3 pos
The position. More...

Quaternion rot
The rotation. More...

Static Public Attributes

static const Pose Zero
math::Pose(0, 0, 0, 0, 0, 0) More...

Friends

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

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

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
 [in] _pos A position [in] _rot A rotation
 gazebo::math::Pose::Pose ( double _x, double _y, double _z, double _roll, double _pitch, double _yaw )

Constructor.

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 Yaw (rotation about z-axis) in radians.
 gazebo::math::Pose::Pose ( const Pose & _pose )

Copy constructor.

Parameters
 [in] _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

Addition operator A is the transform from O to P specified in frame O B is the transform from P to Q specified in frame P then, B + A is the transform from O to Q specified in frame O.

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
inline

Negation operator A is the transform from O to P in frame O then -A is transform from P to O specified in frame P.

Returns
The resulting pose

References Pose().

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

Subtraction operator A is the transform from O to P in frame O B is the transform from O to Q in frame O B - A is the transform from P to Q in frame P.

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
 Pose& gazebo::math::Pose::operator= ( const Pose & _pose )

Equal operator.

Parameters
 [in] _pose Pose to copy
 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 ( const Vector3 & _pos, const Vector3 & _rpy )

Set the pose from pos and rpy vectors.

Parameters
 [in] _pos The position. [in] _rpy The rotation expressed as Euler angles.
 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
 [in] _out output stream [in] _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
 Quaternion gazebo::math::Pose::rot

The rotation.

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

 const Pose gazebo::math::Pose::Zero
static

math::Pose(0, 0, 0, 0, 0, 0)

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