opentl::core::cvdata::Pose2d2ScaleRotation Class Reference

Implemented class for storing 2D solid object related transformation data with 3 DOF (2xscale, rotation). More...

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

List of all members.

Public Member Functions

virtual Pose2d2ScaleRotationclone () const
virtual double getAngleZ ()
virtual double getScaleX ()
virtual double getScaleY ()
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.
Pose2d2ScaleRotationoperator= (const Pose2d2ScaleRotation &value)
 Pose2d2ScaleRotation (const Pose2d2ScaleRotation &value)
 Pose2d2ScaleRotation (opentl::core::cvdata::Pose::T_UPDATEMODE updateMode, std::vector< math::Vector2 > *poseLimits=NULL)
virtual void setAngleZ (double val)
void setDataFromVal (double v0, double v1, double v2)
virtual void setScaleX (double val)
virtual void setScaleY (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 ~Pose2d2ScaleRotation ()


Detailed Description

Implemented class for storing 2D solid object related transformation data with 3 DOF (2xscale, rotation).

Sets transformationn matrix from 2d 2 scales, rotation vector. y=H(p)x; y = screen coordinates In order to be compatible to x in 3d homogeneous coordinates H is 4x4 matrix

|s1*cos(phi) s1*(-sin(phi)) 0 0| H = |s2*sin(phi) s2*cos(phi) 0 0| |0 0 1 0| |0 0 0 1|

Vector[0] = s1 Vector[1] = s2 Vector[2] = phi (in rad!)


Constructor & Destructor Documentation

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

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

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


Member Function Documentation

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

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

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

virtual double opentl::core::cvdata::Pose2d2ScaleRotation::getScaleX (  )  [inline, virtual]

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

virtual double opentl::core::cvdata::Pose2d2ScaleRotation::getScaleY (  )  [inline, virtual]

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

virtual int opentl::core::cvdata::Pose2d2ScaleRotation::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::Pose2d2ScaleRotation::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::Pose2d2ScaleRotation::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.

Pose2d2ScaleRotation& opentl::core::cvdata::Pose2d2ScaleRotation::operator= ( const Pose2d2ScaleRotation value  )  [inline]

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

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

void opentl::core::cvdata::Pose2d2ScaleRotation::setDataFromVal ( double  v0,
double  v1,
double  v2 
)

virtual void opentl::core::cvdata::Pose2d2ScaleRotation::setScaleX ( double  val  )  [inline, virtual]

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

virtual void opentl::core::cvdata::Pose2d2ScaleRotation::setScaleY ( double  val  )  [inline, virtual]

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

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

Set pose by homog. transformation matrix.

Parameters:
matT 

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

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


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