rci::Orientation Class Reference

Domain object, representing an orientation or rotational transformation in cartesian space. More...

#include <CartesianPose.h>

Inheritance diagram for rci::Orientation:
Collaboration diagram for rci::Orientation:

List of all members.

Public Member Functions

 Orientation ()
 Orientation (double q0, double q1, double q2, double q3)
 Orientation (const nemo::RealVector &values)
 Orientation (const Orientation &orientation)
 Orientation (const OrientationPtr &orientation)
 Orientation (const ::boost::math::quaternion< double > &quaternion)
 Orientation (double rxx, double rxy, double rxz, double ryx, double ryy, double ryz, double rzx, double rzy, double rzz)
virtual OrientationPtr rotateBy (const OrientationPtr &rot) const
 Apply a rotation to this orientation/rotation.
virtual std::string print () const
 Printing the orientation object.

Static Public Member Functions

static OrientationPtr fromEulerAngles (double rotX, double rotY, double rotZ)
 Create orientation from given euler angles.
static OrientationPtr fromAxisAngle (double angle, double vexX, double vecY, double vecZ)
 Create orientation from given values in axis-angle representation.
static OrientationPtr fromCompactAxisAngle (double x, double y, double z)
 Create orientation from given values in compact axis-angle representation.
static OrientationPtr fromQuaternion (double q0, double q1, double q2, double q3)
 Create orientation from.
static OrientationPtr fromQuaternion (const ::boost::math::quaternion< double > &quaternion)
 Create orientation from.
static OrientationPtr fromRotationMatrix (double rxx, double rxy, double rxz, double ryx, double ryy, double ryz, double rzx, double rzy, double rzz)

Detailed Description

Domain object, representing an orientation or rotational transformation in cartesian space.

We represent orientation as quaternions, for reference see http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation

Definition at line 82 of file CartesianPose.h.


Constructor & Destructor Documentation

rci::Orientation::Orientation (  ) 

Definition at line 72 of file CartesianPose.cpp.

Referenced by fromAxisAngle(), fromEulerAngles(), fromQuaternion(), and fromRotationMatrix().

Here is the caller graph for this function:

rci::Orientation::Orientation ( double  q0,
double  q1,
double  q2,
double  q3 
)

Definition at line 76 of file CartesianPose.cpp.

rci::Orientation::Orientation ( const nemo::RealVector &  values  ) 
rci::Orientation::Orientation ( const Orientation orientation  ) 

Definition at line 84 of file CartesianPose.cpp.

rci::Orientation::Orientation ( const OrientationPtr orientation  ) 

Definition at line 88 of file CartesianPose.cpp.

rci::Orientation::Orientation ( const ::boost::math::quaternion< double > &  quaternion  ) 

Definition at line 92 of file CartesianPose.cpp.

rci::Orientation::Orientation ( double  rxx,
double  rxy,
double  rxz,
double  ryx,
double  ryy,
double  ryz,
double  rzx,
double  rzy,
double  rzz 
)

Definition at line 96 of file CartesianPose.cpp.


Member Function Documentation

OrientationPtr rci::Orientation::fromAxisAngle ( double  angle,
double  vexX,
double  vecY,
double  vecZ 
) [static]

Create orientation from given values in axis-angle representation.

Expects rotation angle and axis as unit vector {x, y, z}.

Parameters:
angle Rotation angle
vecX X-Component of rotation axis
vecY Y-Component of rotation axis
vecZ Z-Component of rotation axis

Definition at line 127 of file CartesianPose.cpp.

References rci::CartesianRotational::epsilon(), and Orientation().

Referenced by fromCompactAxisAngle().

Here is the call graph for this function:

Here is the caller graph for this function:

OrientationPtr rci::Orientation::fromCompactAxisAngle ( double  x,
double  y,
double  z 
) [static]

Create orientation from given values in compact axis-angle representation.

Expects rotation as axis {x, y, z}, multiplied by rotation angle.

Definition at line 143 of file CartesianPose.cpp.

References fromAxisAngle().

Here is the call graph for this function:

OrientationPtr rci::Orientation::fromEulerAngles ( double  rotX,
double  rotY,
double  rotZ 
) [static]

Create orientation from given euler angles.

Convention is euler angles in order x, y, z - right-handed.

Parameters:
rotX Rotation angle around the x-axis
rotY Rotation angle around the y-axis
rotZ Rotation angle around the z-axis

Definition at line 113 of file CartesianPose.cpp.

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

Referenced by rci::Pose::fromMetersAndRadians().

Here is the call graph for this function:

Here is the caller graph for this function:

OrientationPtr rci::Orientation::fromQuaternion ( const ::boost::math::quaternion< double > &  quaternion  )  [static]

Create orientation from.

Definition at line 156 of file CartesianPose.cpp.

References Orientation().

Here is the call graph for this function:

OrientationPtr rci::Orientation::fromQuaternion ( double  q0,
double  q1,
double  q2,
double  q3 
) [static]

Create orientation from.

Definition at line 150 of file CartesianPose.cpp.

References Orientation().

Referenced by rci::Pose::getOrientation(), and rotateBy().

Here is the call graph for this function:

Here is the caller graph for this function:

OrientationPtr rci::Orientation::fromRotationMatrix ( double  rxx,
double  rxy,
double  rxz,
double  ryx,
double  ryy,
double  ryz,
double  rzx,
double  rzy,
double  rzz 
) [static]

Definition at line 161 of file CartesianPose.cpp.

References Orientation().

Referenced by rci::Pose::fromMetersAndRadiansHomogeneous().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Printing the orientation object.

Returns:
Textual representation of this orientation.

Reimplemented from rci::CartesianRotational.

Definition at line 105 of file CartesianPose.cpp.

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

Here is the call graph for this function:

OrientationPtr rci::Orientation::rotateBy ( const OrientationPtr rot  )  const [virtual]

Apply a rotation to this orientation/rotation.

Definition at line 101 of file CartesianPose.cpp.

References rci::CartesianRotational::_quaternion, and fromQuaternion().

Here is the call graph for this function:


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