opentl::core::cvdata::Pose3dEulerRotoTranslation Class Reference

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

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

List of all members.

Public Member Functions

virtual
Pose3dEulerRotoTranslation
clone () const
virtual double getAngleX ()
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
Pose3dEulerRotoTranslation
operator= (const Pose3dEulerRotoTranslation &value)
 Pose3dEulerRotoTranslation (const Pose3dEulerRotoTranslation &value)
 Constructor. Initialize object with existing value object.
 Pose3dEulerRotoTranslation (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)
virtual void setAngleZ (double val)
void setDataFromVal (double alpha, 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 ~Pose3dEulerRotoTranslation ()
 Destructor.


Detailed Description

Implemented class for storing 3D solid object related rotation with Euler angles and translation transformation data. T is 4x4 matrix.

x_new_hom = T(p)*x_hom ;

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

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


Constructor & Destructor Documentation

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

Default constructor.

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

Constructor. Initialize object with existing value object.

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

Destructor.


Member Function Documentation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Initialize Lie algebra generators for this pose type.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Set pose by homog. transformation matrix.

Parameters:
matT 

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

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

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

Returns:
transformation matrix T

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


Generated on Fri Jul 31 17:38:38 2009 for OpenTL by  doxygen 1.5.8