opentl::core::cvdata::Pose3dRotoZTranslation Class Reference

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

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

List of all members.

Public Member Functions

virtual Pose3dRotoZTranslationclone () const
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 Poseoperator= (const Pose &value)
 Assignment operator.
virtual Pose3dRotoZTranslationoperator= (const Pose3dRotoZTranslation &value)
 Pose3dRotoZTranslation (const Pose3dRotoZTranslation &value)
 Constructor. Initialize object with existing value object.
 Pose3dRotoZTranslation (opentl::core::cvdata::Pose::T_UPDATEMODE updateMode, std::vector< math::Vector2 > *poseLimits=NULL)
 Default constructor.
virtual void setAngleZ (double val)
void setDataFromVal (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 ~Pose3dRotoZTranslation ()
 Destructor.


Detailed Description

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

x_new_hom = T(p)*x_hom ;

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

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


Constructor & Destructor Documentation

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

Default constructor.

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

Constructor. Initialize object with existing value object.

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

Destructor.


Member Function Documentation

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

virtual double opentl::core::cvdata::Pose3dRotoZTranslation::getAngleZ (  )  [inline, virtual]

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

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

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

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

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

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

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

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

Initialize Lie algebra generators for this pose type.

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

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

Assignment operator.

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

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

virtual void opentl::core::cvdata::Pose3dRotoZTranslation::setAngleZ ( double  val  )  [inline, virtual]

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

void opentl::core::cvdata::Pose3dRotoZTranslation::setDataFromVal ( 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::Pose3dRotoZTranslation::setX ( double  val  )  [inline, virtual]

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

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

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

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

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

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

Set pose by homog. transformation matrix.

Parameters:
matT 

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

virtual void opentl::core::cvdata::Pose3dRotoZTranslation::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