# opentl::core::cvdata::Pose2dAffine Class Reference

Implemented class for storing 2D solid object related affine (translation, rotation, scale) transformation data. More...

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

List of all members.

## Public Member Functions
virtual Pose2dAffine * | clone () const
virtual double | getX ()
virtual double | getY ()
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 ()
| Function to generate Lie Algebra Generator matrices, required for calculation of Jacobians, based on a specific pose representation type.
virtual Pose & | operator= (const Pose &value)
| Assignment operator.
virtual Pose2dAffine & | operator= (const Pose2dAffine &value)
| Pose2dAffine (const Pose2dAffine &)
| Pose2dAffine (opentl::core::cvdata::Pose::T_UPDATEMODE updateMode, std::vector< math::Vector2 > *poseLimits=NULL)
void | setDataFromVal (double a11, double a12, double a21, double a22, double b1, double b2)
virtual void | setX (double val)
virtual void | setY (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 | ~Pose2dAffine ()

## Detailed Description

Implemented class for storing 2D solid object related affine (translation, rotation, scale) transformation data.

y=H(p)x ; y = screen point In order to be compatible to x in 3d homogeneous coordinates H is 4x4 matrix

|1+a11 a12 0 b1| H = |a21 1+a22 0 b2| |0 0 1 0| |0 0 0 1|

Vector6[0] = a11 Vector6[1] = a12 Vector6[2] = a21 Vector6[3] = a22 Vector6[4] = b1 Vector6[5] = b2

## Constructor & Destructor Documentation

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

opentl::core::cvdata::Pose2dAffine::Pose2dAffine | ( | const Pose2dAffine & |  | ) |

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

## Member Function Documentation

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

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

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

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

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

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

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

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

Parameters:

  | bodyPoints | Input points in object space (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::Pose2dAffine::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` |
| ) |  |  | `[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::Pose2dAffine::initLieAlgGen | ( |  | ) | `[virtual]`

Function to generate Lie Algebra Generator matrices, required for calculation of Jacobians, based on a specific pose representation type.

Parameters:

  | mLieGen | STL vector to store matrices.

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

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

Assignment operator.

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

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

void opentl::core::cvdata::Pose2dAffine::setDataFromVal | ( | double | a11,
|  | double | a12,
|  | double | a21,
|  | double | a22,
|  | double | b1,
|  | double | b2 |
| ) |  |  |

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

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

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

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

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

Set pose by homog. transformation matrix.

Parameters:

  | matT |

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

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

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

Parameters:

  | linkId | If (-1) compute all link matrices

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