rci::Pose Class Reference

Domain object, representing a full cartesian pose, consisting of translational transformation and orientation. More...

#include <CartesianPose.h>

Inheritance diagram for rci::Pose:
Collaboration diagram for rci::Pose:

List of all members.

Public Member Functions

 Pose ()
 Pose (double valx, double valy, double valz, double vala, double valb, double valc, double vald)
 Pose (double valx, double valy, double valz, double a, double b, double c)
 Pose (const nemo::RealVector &values)
 Pose (const Pose &pose)
 Pose (const TranslationPtr &transl, const OrientationPtr &rot)
virtual TranslationPtr getTranslation () const
 Returns just the 3-dimensional translational part of this Pose.
virtual OrientationPtr getOrientation () const
 Returns just the rotational part of this Pose.
virtual double x () const
 Domain specific getter for 1st translatory value.
virtual double y () const
 Domain specific getter for 2nd translatory value.
virtual double z () const
 Domain specific getter for 3rd translatory value.
virtual double q0 () const
 First quaternion component.
virtual double q1 () const
 Second quaternion component.
virtual double q2 () const
 Third quaternion component.
virtual double q3 () const
 Fourth quaternion component.
virtual double a () const
 First euler angle from x, y, z - right-handed.
virtual double b () const
 Second euler angle from x, y, z - right-handed.
virtual double c () const
 Third euler angle from x, y, z - right-handed.
virtual std::string print () const
 Printing the pose object.

Static Public Member Functions

static PosePtr fromMetersAndRadians (double x, double y, double z, double q0, double q1, double q2, double q3)
 Shared Pointer.
static PosePtr fromMetersAndRadians (double x, double y, double z, double a, double b, double c)
static PosePtr fromMetersAndRadiansHomogeneous (double rxx, double rxy, double rxz, double tx, double ryx, double ryy, double ryz, double ty, double rzx, double rzy, double rzz, double tz)
 Creates pose from homogeneous translation.
static PosePtr fromMetersAndRadiansHomogeneous (const nemo::RealMatrix &homogeneous)
 Creates pose from homogeneous translation matrix.

Detailed Description

Domain object, representing a full cartesian pose, consisting of translational transformation and orientation.

Default units are ($m, m, m, rad, rad, rad$).

Definition at line 165 of file CartesianPose.h.


Constructor & Destructor Documentation

rci::Pose::Pose (  ) 

Definition at line 168 of file CartesianPose.cpp.

Referenced by fromMetersAndRadians(), and fromMetersAndRadiansHomogeneous().

Here is the caller graph for this function:

rci::Pose::Pose ( double  valx,
double  valy,
double  valz,
double  vala,
double  valb,
double  valc,
double  vald 
)

Definition at line 172 of file CartesianPose.cpp.

rci::Pose::Pose ( double  valx,
double  valy,
double  valz,
double  a,
double  b,
double  c 
)

Definition at line 177 of file CartesianPose.cpp.

rci::Pose::Pose ( const nemo::RealVector &  values  ) 
rci::Pose::Pose ( const Pose pose  ) 

Definition at line 186 of file CartesianPose.cpp.

rci::Pose::Pose ( const TranslationPtr transl,
const OrientationPtr rot 
)

Definition at line 194 of file CartesianPose.cpp.


Member Function Documentation

double rci::Pose::a (  )  const [virtual]

First euler angle from x, y, z - right-handed.

Returns:
Euler x-angle from x, y, z - right-handed. ($rad$)

Reimplemented from rci::CartesianValue.

Definition at line 219 of file CartesianPose.cpp.

References rci::CartesianValue::_rot, and rci::CartesianRotational::a().

Here is the call graph for this function:

double rci::Pose::b (  )  const [virtual]

Second euler angle from x, y, z - right-handed.

Returns:
Euler y-angle from x, y, z - right-handed. ($rad$)

Reimplemented from rci::CartesianValue.

Definition at line 223 of file CartesianPose.cpp.

References rci::CartesianValue::_rot, and rci::CartesianRotational::b().

Here is the call graph for this function:

double rci::Pose::c (  )  const [virtual]

Third euler angle from x, y, z - right-handed.

Returns:
Euler z-angle from x, y, z - right-handed. ($rad$)

Reimplemented from rci::CartesianValue.

Definition at line 227 of file CartesianPose.cpp.

References rci::CartesianValue::_rot, and rci::CartesianRotational::c().

Here is the call graph for this function:

PosePtr rci::Pose::fromMetersAndRadians ( double  x,
double  y,
double  z,
double  a,
double  b,
double  c 
) [static]

Definition at line 253 of file CartesianPose.cpp.

References rci::Orientation::fromEulerAngles(), rci::Translation::fromMeters(), and Pose().

Here is the call graph for this function:

PosePtr rci::Pose::fromMetersAndRadians ( double  x,
double  y,
double  z,
double  q0,
double  q1,
double  q2,
double  q3 
) [static]

Shared Pointer.

Definition at line 247 of file CartesianPose.cpp.

References Pose().

Here is the call graph for this function:

static PosePtr rci::Pose::fromMetersAndRadiansHomogeneous ( const nemo::RealMatrix &  homogeneous  )  [static]

Creates pose from homogeneous translation matrix.

We expect a 3x4 matrix, which is only the three top rows of the 4x4 matrix, the last row (0, 0, 0, 1) is not necessary.

Parameters:
homogeneous Homogeneous transformation as 3x4 matrix like: | rxx rxy rxz tx | | ryx ryy ryz ty | | rzx rzy rzz tz |
Returns:
Shared pointer to newly created pose
PosePtr rci::Pose::fromMetersAndRadiansHomogeneous ( double  rxx,
double  rxy,
double  rxz,
double  tx,
double  ryx,
double  ryy,
double  ryz,
double  ty,
double  rzx,
double  rzy,
double  rzz,
double  tz 
) [static]

Creates pose from homogeneous translation.

We expect only the three top rows of the 4x4 matrix, the last row (0, 0, 0, 1) is not necessary. Provide matrix like: | rxx rxy rxz tx | | ryx ryy ryz ty | | rzx rzy rzz tz |

Parameters:
rxx Top-left matrix value
Returns:
Shared pointer to newly created pose

Definition at line 261 of file CartesianPose.cpp.

References rci::Translation::fromMeters(), rci::Orientation::fromRotationMatrix(), and Pose().

Here is the call graph for this function:

OrientationPtr rci::Pose::getOrientation (  )  const [virtual]

Returns just the rotational part of this Pose.

Returns:
Rotational part of this Pose.

Definition at line 202 of file CartesianPose.cpp.

References rci::Orientation::fromQuaternion(), q0(), q1(), q2(), and q3().

Here is the call graph for this function:

TranslationPtr rci::Pose::getTranslation (  )  const [virtual]

Returns just the 3-dimensional translational part of this Pose.

Returns:
Translational part of this Pose.

Definition at line 198 of file CartesianPose.cpp.

References rci::Translation::fromMeters(), x(), y(), and z().

Here is the call graph for this function:

std::string rci::Pose::print (  )  const [virtual]

Printing the pose object.

Returns:
Textual representation of this pose.

Definition at line 279 of file CartesianPose.cpp.

References rci::CartesianValue::_rot, and rci::CartesianValue::_transl.

double rci::Pose::q0 (  )  const [virtual]

First quaternion component.

Returns:
First quaternion component

Reimplemented from rci::CartesianValue.

Definition at line 231 of file CartesianPose.cpp.

References rci::CartesianValue::_rot, and rci::CartesianRotational::q0().

Referenced by getOrientation().

Here is the call graph for this function:

Here is the caller graph for this function:

double rci::Pose::q1 (  )  const [virtual]

Second quaternion component.

Returns:
Second quaternion component

Reimplemented from rci::CartesianValue.

Definition at line 235 of file CartesianPose.cpp.

References rci::CartesianValue::_rot, and rci::CartesianRotational::q1().

Referenced by getOrientation().

Here is the call graph for this function:

Here is the caller graph for this function:

double rci::Pose::q2 (  )  const [virtual]

Third quaternion component.

Returns:
Third quaternion component

Reimplemented from rci::CartesianValue.

Definition at line 239 of file CartesianPose.cpp.

References rci::CartesianValue::_rot, and rci::CartesianRotational::q2().

Referenced by getOrientation().

Here is the call graph for this function:

Here is the caller graph for this function:

double rci::Pose::q3 (  )  const [virtual]

Fourth quaternion component.

Returns:
Fourth quaternion component

Reimplemented from rci::CartesianValue.

Definition at line 243 of file CartesianPose.cpp.

References rci::CartesianValue::_rot, and rci::CartesianRotational::q3().

Referenced by getOrientation().

Here is the call graph for this function:

Here is the caller graph for this function:

double rci::Pose::x (  )  const [virtual]

Domain specific getter for 1st translatory value.

Returns:
1st translatory value in meter

Reimplemented from rci::CartesianValue.

Definition at line 207 of file CartesianPose.cpp.

References rci::CartesianValue::_transl, and rci::CartesianTranslational::x().

Referenced by getTranslation().

Here is the call graph for this function:

Here is the caller graph for this function:

double rci::Pose::y (  )  const [virtual]

Domain specific getter for 2nd translatory value.

Returns:
2nd translatory value in meter

Reimplemented from rci::CartesianValue.

Definition at line 211 of file CartesianPose.cpp.

References rci::CartesianValue::_transl, and rci::CartesianTranslational::y().

Referenced by getTranslation().

Here is the call graph for this function:

Here is the caller graph for this function:

double rci::Pose::z (  )  const [virtual]

Domain specific getter for 3rd translatory value.

Returns:
3rd translatory value in meter

Reimplemented from rci::CartesianValue.

Definition at line 215 of file CartesianPose.cpp.

References rci::CartesianValue::_transl, and rci::CartesianTranslational::z().

Referenced by getTranslation().

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this class was generated from the following files:
Generated on Thu Aug 2 14:03:00 2012 for RCI by  doxygen 1.6.3