opentl::core::cvdata::Pose3dRotoXYTranslation Class Reference

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

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

List of all members.

Public Member Functions

virtual Pose3dRotoXYTranslationclone () const
virtual double getAngleX ()
virtual double getAngleY ()
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 Poseoperator= (const Pose &value)
 Assignment operator.
virtual Pose3dRotoXYTranslationoperator= (const Pose3dRotoXYTranslation &value)
 Pose3dRotoXYTranslation (const Pose3dRotoXYTranslation &value)
 Constructor. Initialize object with existing value object.
 Pose3dRotoXYTranslation (opentl::core::cvdata::Pose::T_UPDATEMODE updateMode, std::vector< math::Vector2 > *poseLimits=NULL)
 Default constructor.
virtual void setAngleX (double val)
virtual void setAngleY (double val)
void setDataFromVal (double alpha, double beta, 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 ~Pose3dRotoXYTranslation ()
 Destructor.


Detailed Description

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

x_new_hom = T(p)*x_hom ;

| tx| T = | R_y(beta)*R_x(alpha) ty| | tz| |0 0 1|

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


Constructor & Destructor Documentation

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

Default constructor.

opentl::core::cvdata::Pose3dRotoXYTranslation::Pose3dRotoXYTranslation ( const Pose3dRotoXYTranslation value  ) 

Constructor. Initialize object with existing value object.

virtual opentl::core::cvdata::Pose3dRotoXYTranslation::~Pose3dRotoXYTranslation (  )  [inline, virtual]

Destructor.


Member Function Documentation

virtual Pose3dRotoXYTranslation* opentl::core::cvdata::Pose3dRotoXYTranslation::clone (  )  const [virtual]

virtual double opentl::core::cvdata::Pose3dRotoXYTranslation::getAngleX (  )  [inline, virtual]

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

virtual double opentl::core::cvdata::Pose3dRotoXYTranslation::getAngleY (  )  [inline, virtual]

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

virtual double opentl::core::cvdata::Pose3dRotoXYTranslation::getX (  )  [inline, virtual]

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

virtual double opentl::core::cvdata::Pose3dRotoXYTranslation::getY (  )  [inline, virtual]

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

virtual double opentl::core::cvdata::Pose3dRotoXYTranslation::getZ (  )  [inline, virtual]

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

virtual int opentl::core::cvdata::Pose3dRotoXYTranslation::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::Pose3dRotoXYTranslation::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::Pose3dRotoXYTranslation::initLieAlgGen (  )  [virtual]

Initialize Lie algebra generators for this pose type.

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

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

Assignment operator.

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

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

virtual void opentl::core::cvdata::Pose3dRotoXYTranslation::setAngleX ( double  val  )  [inline, virtual]

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

virtual void opentl::core::cvdata::Pose3dRotoXYTranslation::setAngleY ( double  val  )  [inline, virtual]

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

void opentl::core::cvdata::Pose3dRotoXYTranslation::setDataFromVal ( double  alpha,
double  beta,
double  tx,
double  ty,
double  tz 
)

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

virtual void opentl::core::cvdata::Pose3dRotoXYTranslation::setX ( double  val  )  [inline, virtual]

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

virtual void opentl::core::cvdata::Pose3dRotoXYTranslation::setY ( double  val  )  [inline, virtual]

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

virtual void opentl::core::cvdata::Pose3dRotoXYTranslation::setZ ( double  val  )  [inline, virtual]

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

virtual void opentl::core::cvdata::Pose3dRotoXYTranslation::updateDataFromLocalT (  )  [virtual]

Set pose by homog. transformation matrix.

Parameters:
matT 

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

virtual void opentl::core::cvdata::Pose3dRotoXYTranslation::updateWorldTFromData (  )  [virtual]

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

Returns:
transformation matrix T

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


Generated on Thu Jun 10 21:08:09 2010 for OpenTL by  doxygen 1.5.8