octomap  1.9.7
octomath::Pose6D Class Reference

This class represents a tree-dimensional pose of an object. More...

+ Collaboration diagram for octomath::Pose6D:

Public Member Functions

double distance (const Pose6D &other) const
 Translational distance. More...
 
Pose6D inv () const
 Inversion. More...
 
Pose6Dinv_IP ()
 Inversion. More...
 
bool operator!= (const Pose6D &other) const
 
Pose6D operator* (const Pose6D &p) const
 Concatenation. More...
 
const Pose6Doperator*= (const Pose6D &p)
 In place concatenation. More...
 
Pose6Doperator= (const Pose6D &other)
 
bool operator== (const Pose6D &other) const
 
double pitch () const
 
 Pose6D ()
 
 Pose6D (const Pose6D &other)
 
 Pose6D (const Vector3 &trans, const Quaternion &rot)
 Constructor. More...
 
 Pose6D (float x, float y, float z, double roll, double pitch, double yaw)
 Constructor. More...
 
std::istream & read (std::istream &s)
 Input operator. More...
 
std::istream & readBinary (std::istream &s)
 Binary input operator. More...
 
double roll () const
 
Quaternionrot ()
 Rotational component. More...
 
const Quaternionrot () const
 Rotational component. More...
 
Vector3trans ()
 Translational component. More...
 
const Vector3trans () const
 Translational component. More...
 
Vector3 transform (const Vector3 &v) const
 Transformation of a vector. More...
 
double transLength () const
 Translational length. More...
 
std::ostream & write (std::ostream &s) const
 Output operator. More...
 
std::ostream & writeBinary (std::ostream &s) const
 Binary output operator. More...
 
float & x ()
 
const float & x () const
 
float & y ()
 
const float & y () const
 
double yaw () const
 
float & z ()
 
const float & z () const
 
 ~Pose6D ()
 

Protected Attributes

Quaternion rotation
 
Vector3 translation
 

Detailed Description

This class represents a tree-dimensional pose of an object.

The tree-dimensional pose is represented by a three-dimensional translation vector representing the position of the object and a Quaternion representing the attitude of the object

Constructor & Destructor Documentation

◆ Pose6D() [1/4]

octomath::Pose6D::Pose6D ( )

Referenced by operator*().

◆ ~Pose6D()

octomath::Pose6D::~Pose6D ( )

◆ Pose6D() [2/4]

octomath::Pose6D::Pose6D ( const Vector3 trans,
const Quaternion rot 
)

Constructor.

Constructs a pose from given translation and rotation.

◆ Pose6D() [3/4]

octomath::Pose6D::Pose6D ( float  x,
float  y,
float  z,
double  roll,
double  pitch,
double  yaw 
)

Constructor.

Constructs a pose from a translation represented by its x, y, z-values and a rotation represented by its Tait-Bryan angles roll, pitch, and yaw

◆ Pose6D() [4/4]

octomath::Pose6D::Pose6D ( const Pose6D other)

Member Function Documentation

◆ distance()

double octomath::Pose6D::distance ( const Pose6D other) const

Translational distance.

Returns
the translational (euclidian) distance to p

References x(), y(), and z().

◆ inv()

Pose6D octomath::Pose6D::inv ( ) const

Inversion.

Inverts the coordinate transformation represented by this pose

Returns
a copy of this pose inverted

References octomath::Quaternion::inv(), octomath::Quaternion::normalized(), rot(), octomath::Quaternion::rotate(), and trans().

Referenced by octomap::ScanGraph::addEdge(), octomap::ScanGraph::crop(), octomap::OccupancyOcTreeBase< OcTreeNodeStamped >::insertPointCloud(), and main().

◆ inv_IP()

Pose6D & octomath::Pose6D::inv_IP ( )

Inversion.

Inverts the coordinate transformation represented by this pose

Returns
a reference to this pose

References octomath::Quaternion::inv(), octomath::Quaternion::normalized(), rot(), octomath::Quaternion::rotate(), and trans().

◆ operator!=()

bool octomath::Pose6D::operator!= ( const Pose6D other) const

◆ operator*()

Pose6D octomath::Pose6D::operator* ( const Pose6D p) const

Concatenation.

Concatenates the coordinate transformations represented by this and p.

Returns
this * p (applies first this, then p)

References octomath::Quaternion::normalized(), Pose6D(), rot(), octomath::Quaternion::rotate(), rotation, and trans().

◆ operator*=()

const Pose6D & octomath::Pose6D::operator*= ( const Pose6D p)

In place concatenation.

Concatenates p to this Pose6D.

Returns
this which results from first moving by this and afterwards by p

References rot(), octomath::Quaternion::rotate(), rotation, and trans().

◆ operator=()

Pose6D & octomath::Pose6D::operator= ( const Pose6D other)

References rot(), rotation, trans(), and translation.

◆ operator==()

bool octomath::Pose6D::operator== ( const Pose6D other) const

References rotation, and translation.

◆ pitch()

double octomath::Pose6D::pitch ( ) const
inline

◆ read()

std::istream & octomath::Pose6D::read ( std::istream &  s)

Input operator.

Parsing from stream which was written by write().

References octomath::Quaternion::read(), octomath::Vector3::read(), rotation, and translation.

Referenced by octomap::ScanEdge::readASCII().

◆ readBinary()

std::istream & octomath::Pose6D::readBinary ( std::istream &  s)

Binary input operator.

Parsing from binary stream which was written by writeBinary().

References octomath::Quaternion::readBinary(), octomath::Vector3::readBinary(), rotation, and translation.

Referenced by octomap::ScanNode::readBinary(), and octomap::ScanEdge::readBinary().

◆ roll()

double octomath::Pose6D::roll ( ) const
inline

◆ rot() [1/2]

Quaternion& octomath::Pose6D::rot ( )
inline

Rotational component.

Returns
the rotational component of this pose

References rotation.

Referenced by inv(), inv_IP(), operator*(), operator*=(), octomath::operator<<(), operator=(), octomap::ScanNode::readPoseASCII(), transform(), and octomap::ScanNode::writePoseASCII().

◆ rot() [2/2]

const Quaternion& octomath::Pose6D::rot ( ) const
inline

Rotational component.

Returns
the rotational component of this pose

References rotation.

◆ trans() [1/2]

Vector3& octomath::Pose6D::trans ( )
inline

◆ trans() [2/2]

const Vector3& octomath::Pose6D::trans ( ) const
inline

Translational component.

Returns
the translational component of this pose

References translation.

◆ transform()

Vector3 octomath::Pose6D::transform ( const Vector3 v) const

Transformation of a vector.

Transforms the vector v by the transformation which is specified by this.

Returns
the vector which is translated by the translation of this and afterwards rotated by the rotation of this.

References rot(), octomath::Quaternion::rotate(), and trans().

Referenced by octomap::OccupancyOcTreeBase< OcTreeNodeStamped >::insertPointCloud(), main(), and octomap::Pointcloud::transformAbsolute().

◆ transLength()

double octomath::Pose6D::transLength ( ) const

Translational length.

Returns
the translational (euclidian) length of the translation vector of this Pose6D

References x(), y(), and z().

◆ write()

std::ostream & octomath::Pose6D::write ( std::ostream &  s) const

Output operator.

Output to stream in a format which can be parsed using read().

References rotation, translation, octomath::Quaternion::write(), and octomath::Vector3::write().

Referenced by octomap::ScanEdge::writeASCII().

◆ writeBinary()

std::ostream & octomath::Pose6D::writeBinary ( std::ostream &  s) const

Binary output operator.

Output to stream in a binary format which can be parsed using readBinary().

References rotation, translation, octomath::Quaternion::writeBinary(), and octomath::Vector3::writeBinary().

Referenced by octomap::ScanNode::writeBinary(), and octomap::ScanEdge::writeBinary().

◆ x() [1/2]

float& octomath::Pose6D::x ( )
inline

◆ x() [2/2]

const float& octomath::Pose6D::x ( ) const
inline

References translation.

◆ y() [1/2]

float& octomath::Pose6D::y ( )
inline

◆ y() [2/2]

const float& octomath::Pose6D::y ( ) const
inline

References translation.

◆ yaw()

double octomath::Pose6D::yaw ( ) const
inline

◆ z() [1/2]

float& octomath::Pose6D::z ( )
inline

◆ z() [2/2]

const float& octomath::Pose6D::z ( ) const
inline

References translation.

Field Documentation

◆ rotation

Quaternion octomath::Pose6D::rotation
protected

◆ translation

Vector3 octomath::Pose6D::translation
protected

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