# opentl::core::cvdata::Pose3dRotoYZTranslation Class Reference

Implemented class for storing 3D solid object related rotation with Euler angles and translation transformation data limiting the rotation to Y and Z axes only. T is 4x4 matrix. More...

Inherits opentl::core::cvdata::Pose.

List of all members.

## Public Member Functions
virtual Pose3dRotoYZTranslation * | clone () const
virtual double | getAngleY ()
virtual double | getAngleZ ()
virtual double | getX ()
virtual double | getY ()
virtual double | getZ ()
virtual int | initFromPoints (const math::Matrix &bodyPoints, const math::Matrix &screenPoints, const math::SquareMatrix &intrinsicMat, const math::Vector *linkIdx=NULL)
| Compute LSE pose (world T matrix) from N object-screen point correspondences (also called "PnP problem").
virtual int | initFromPointsAndLines (const math::Matrix &bodyPoints, const math::Matrix &screenPoints, const math::Matrix &bodyLines, const math::Matrix &screenLines, const math::SquareMatrix &intrinsicMat, const math::Vector *linkIdxForPoint=NULL, const math::Vector *linkIdxForLine=NULL)
| Compute LSE pose (world T matrix) from N1 object-screen point correspondences and N2 line correspondences.
virtual void | initLieAlgGen ()
| Initialize Lie algebra generators for this pose type.
virtual Pose & | operator= (const Pose &value)
| Assignment operator.
virtual Pose3dRotoYZTranslation & | operator= (const Pose3dRotoYZTranslation &value)
| Pose3dRotoYZTranslation (const Pose3dRotoYZTranslation &value)
| Constructor. Initialize object with existing value object.
| Pose3dRotoYZTranslation (opentl::core::cvdata::Pose::T_UPDATEMODE updateMode, std::vector< math::Vector2 > *poseLimits=NULL)
| Default constructor.
virtual void | setAngleY (double val)
virtual void | setAngleZ (double val)
void | setDataFromVal (double beta, double gamma, double tx, double ty, double tz)
| Set pose data one by one. See class definition for parameter meaning.
virtual void | setX (double val)
virtual void | setY (double val)
virtual void | setZ (double val)
virtual void | updateDataFromLocalT ()
| Set pose by homog. transformation matrix.
virtual void | updateWorldTFromData ()
| Function to get the pose as homog. transformation matrix T.
virtual | ~Pose3dRotoYZTranslation ()
| Destructor.

## Detailed Description

Implemented class for storing 3D solid object related rotation with Euler angles and translation transformation data limiting the rotation to Y and Z axes only. T is 4x4 matrix.

x_new_hom = T(p)*x_hom ;

| tx| T = |R_z(gamma)*R_y(beta) ty| | tz| |0 0 1|

Vector6[0] = beta (in rad) Vector6[1] = gamma (in rad) Vector6[2] = tx Vector6[3] = ty Vector6[4] = tz

## Constructor & Destructor Documentation

opentl::core::cvdata::Pose3dRotoYZTranslation::Pose3dRotoYZTranslation | ( | opentl::core::cvdata::Pose::T_UPDATEMODE | updateMode,
|  | std::vector< math::Vector2 > * | poseLimits = `NULL` |
| ) |  |  |

Default constructor.

opentl::core::cvdata::Pose3dRotoYZTranslation::Pose3dRotoYZTranslation | ( | const Pose3dRotoYZTranslation & | value | ) |

Constructor. Initialize object with existing value object.

virtual opentl::core::cvdata::Pose3dRotoYZTranslation::~Pose3dRotoYZTranslation | ( |  | ) | `[inline, virtual]`

Destructor.

## Member Function Documentation

virtual Pose3dRotoYZTranslation* opentl::core::cvdata::Pose3dRotoYZTranslation::clone | ( |  | ) | const`[virtual]`

Implements opentl::core::cvdata::Pose.

virtual double opentl::core::cvdata::Pose3dRotoYZTranslation::getAngleY | ( |  | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

virtual double opentl::core::cvdata::Pose3dRotoYZTranslation::getAngleZ | ( |  | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

virtual double opentl::core::cvdata::Pose3dRotoYZTranslation::getX | ( |  | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

virtual double opentl::core::cvdata::Pose3dRotoYZTranslation::getY | ( |  | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

virtual double opentl::core::cvdata::Pose3dRotoYZTranslation::getZ | ( |  | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

virtual int opentl::core::cvdata::Pose3dRotoYZTranslation::initFromPoints | ( | const math::Matrix & | bodyPoints,
|  | const math::Matrix & | screenPoints,
|  | const math::SquareMatrix & | intrinsicMat,
|  | const math::Vector * | linkIdx = `NULL` |
| ) |  |  | `[inline, virtual]`

Compute LSE pose (world T matrix) from N object-screen point correspondences (also called "PnP problem").

Parameters:

  | bodyPoints | Input points in object space (3xN) or (2xN)
  | screenPoints | Input corresponding points in image space (2xN)
  | intrinsicMat | Input camera calibration matrix (3x3)
  | linkIdx | Input Link ID of each point (for articulated Poses only)

Returns:
  Error condition (0 = OK)

Implements opentl::core::cvdata::Pose.

virtual int opentl::core::cvdata::Pose3dRotoYZTranslation::initFromPointsAndLines | ( | const math::Matrix & | bodyPoints,
|  | const math::Matrix & | screenPoints,
|  | const math::Matrix & | bodyLines,
|  | const math::Matrix & | screenLines,
|  | const math::SquareMatrix & | intrinsicMat,
|  | const math::Vector * | linkIdxForPoint = `NULL`,
|  | const math::Vector * | linkIdxForLine = `NULL` |
| ) |  |  | `[inline, virtual]`

Compute LSE pose (world T matrix) from N1 object-screen point correspondences and N2 line correspondences.

Parameters:

  | bodyPoints | Input points in object space (3xN1) or (2xN1)
  | screenPoints | Input corresponding points in image space (2xN1)
  | bodyLines | Input line segments in object space (3x2*N2)
  | screenLines | Input corresponding lines in image space (3xN2 for 2D represantation)
  | intrinsicMat | Input camera calibration matrix (3x3)
  | linkIdxForPoint | Input Link ID of each point (for articulated Poses only)
  | linkIdxForLine | Input Link ID of each line (for articulated Poses only)

Returns:
  Error condition (0 = OK)

Implements opentl::core::cvdata::Pose.

virtual void opentl::core::cvdata::Pose3dRotoYZTranslation::initLieAlgGen | ( |  | ) | `[virtual]`

Initialize Lie algebra generators for this pose type.

Implements opentl::core::cvdata::Pose.

virtual Pose& opentl::core::cvdata::Pose3dRotoYZTranslation::operator= | ( | const Pose & | value | ) | `[inline, virtual]`

Assignment operator.

Reimplemented from opentl::core::cvdata::Pose.

virtual Pose3dRotoYZTranslation& opentl::core::cvdata::Pose3dRotoYZTranslation::operator= | ( | const Pose3dRotoYZTranslation & | value | ) | `[inline, virtual]`

virtual void opentl::core::cvdata::Pose3dRotoYZTranslation::setAngleY | ( | double | val | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

virtual void opentl::core::cvdata::Pose3dRotoYZTranslation::setAngleZ | ( | double | val | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

void opentl::core::cvdata::Pose3dRotoYZTranslation::setDataFromVal | ( | double | beta,
|  | double | gamma,
|  | double | tx,
|  | double | ty,
|  | double | tz |
| ) |  |  |

Set pose data one by one. See class definition for parameter meaning.

virtual void opentl::core::cvdata::Pose3dRotoYZTranslation::setX | ( | double | val | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

virtual void opentl::core::cvdata::Pose3dRotoYZTranslation::setY | ( | double | val | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

virtual void opentl::core::cvdata::Pose3dRotoYZTranslation::setZ | ( | double | val | ) | `[inline, virtual]`

Reimplemented from opentl::core::cvdata::Pose.

virtual void opentl::core::cvdata::Pose3dRotoYZTranslation::updateDataFromLocalT | ( |  | ) | `[virtual]`

Set pose by homog. transformation matrix.

Parameters:

  | matT |

Implements opentl::core::cvdata::Pose.

virtual void opentl::core::cvdata::Pose3dRotoYZTranslation::updateWorldTFromData | ( |  | ) | `[virtual]`

Function to get the pose as homog. transformation matrix T.

Returns:
  transformation matrix T

Implements opentl::core::cvdata::Pose.