Inherits opentl::core::cvdata::Pose.
Public Member Functions | |
| virtual PoseArticulated * | clone () const |
| virtual void | copyPoseData (const Pose &value) |
| Internal function for the operator =. | |
| virtual double | getAngleX () |
| virtual double | getAngleY () |
| virtual double | getAngleZ () |
| virtual void | getIncT (math::Transform &incT, int linkId=0) |
| Function to get the stored value information. | |
| virtual void | getLocalT (math::Transform &T, int linkId=0) |
| Function to get the local, finite T matrix (= inter-link). | |
| virtual void | getRefT (math::Transform &refT, int linkId=0) |
| Return the reference T matrix. | |
| virtual double | getScaleX () |
| virtual double | getScaleY () |
| virtual double | getScaleZ () |
| cvdata::Pose * | getSinglePose (int linkId) const |
| Return the single INTER-LINK Pose class, for a given link. | |
| 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 Pose & | operator= (const Pose &value) |
| Assignment operator. | |
| virtual PoseArticulated & | operator= (const PoseArticulated &value) |
| PoseArticulated (const PoseArticulated &value) | |
| Constructor. Initialize object with existing value object. | |
| PoseArticulated (opentl::core::cvdata::Skeleton *skel, opentl::core::cvdata::CvData::DataReprClass poseClass, opentl::core::cvdata::Pose::T_UPDATEMODE updateMode, std::vector< math::Vector2 > *poseLimits=NULL) | |
| Default constructor. | |
| virtual void | resetData () |
| Reset to 0 the incremental pose parameters, and the update flag as well. | |
| virtual void | resetIncData () |
| Reset to 0 the incremental pose parameters, and the update flag as well. | |
| virtual void | resetRefT (int linkId=-1) |
| Reset the reference T matrices (to identity). | |
| virtual void | setAngleX (double sX) |
| virtual void | setAngleY (double sY) |
| virtual void | setAngleZ (double sZ) |
| virtual void | setDataFromVec (const math::Vector &value) |
| Set INTER-LINK T matrices, by using a global vector. | |
| virtual void | setIncDataFromVec (const math::Vector &value) |
| Set INTER-LINK incremental T matrices, by using a global vector. | |
| virtual void | setLocalIncT (const std::vector< math::Transform > &matT) |
| Set pose parameters by homog. transformation matrix data. | |
| virtual void | setLocalT (const std::vector< math::Transform > &matT) |
| Set pose parameters by homog. transformation matrix data. | |
| virtual void | setRefT (const math::Transform &refT, int linkId=0) |
| Set the reference T matrix. | |
| virtual void | setScaleX (double sX) |
| virtual void | setScaleY (double sY) |
| virtual void | setScaleZ (double sZ) |
| virtual void | setX (double X) |
| virtual void | setY (double Y) |
| virtual void | setZ (double Z) |
| virtual void | updateAdditiveJacT () |
| Jacobians of T matrix, in the additive case. | |
| virtual void | updateCompositionalJacT () |
| Function to get the pose derivatives as homog. transformation matrices, mJacT. | |
| void | updateFromRootPose () |
| virtual | ~PoseArticulated () |
| Destructor. | |
Protected Member Functions | |
| virtual void | additiveUpdate () |
| Perform additive updates for all links. | |
| virtual void | compositionalUpdate () |
| Perform compositional updates for all links. | |
| virtual bool | forcePoseLimits () |
| Check the current pose against the limits, and force the overflowing parameters to the bounds. | |
| virtual void | initLieAlgGen () |
| Initialize Lie algebra generators for all INTER-LINK poses. | |
| virtual void | setPoseLimits (std::vector< math::Vector2 > &poseLimits) |
| Set the pose limits. | |
| virtual void | updateDataFromLocalT () |
| Set a single INTER-LINK transform, by the T matrix. | |
| void | updateIncDataFromT () |
| Set a single INTER-LINK incremental transform, by the T matrix. | |
| void | updateIncTFromData () |
| Function to get the incremental homog. transformation matrix T of link ID. | |
| virtual void | updateWorldTFromData () |
| Function to get the WORLD homog. transformation matrix T of link ID. | |
Protected Attributes | |
| std::vector< cvdata::Pose * > | mPoses |
| List of poses (=skeleton nodes). | |
| opentl::core::cvdata::Skeleton * | mSkel |
| Pointer to the ShapeAppearance skeleton. | |
| opentl::core::cvdata::PoseArticulated::PoseArticulated | ( | opentl::core::cvdata::Skeleton * | skel, | |
| opentl::core::cvdata::CvData::DataReprClass | poseClass, | |||
| opentl::core::cvdata::Pose::T_UPDATEMODE | updateMode, | |||
| std::vector< math::Vector2 > * | poseLimits = NULL | |||
| ) |
Default constructor.
| skel | Skeleton model (required) | |
| poseClass | It can be POSE_2D or POSE_3D. Reason: the skeleton can contain EITHER 2D OR 3D poses, but not both types! | |
| poseLimits | (optional) Upper and lower bounds for internal pose parameters (finite P values) |
| opentl::core::cvdata::PoseArticulated::PoseArticulated | ( | const PoseArticulated & | value | ) |
Constructor. Initialize object with existing value object.
| virtual opentl::core::cvdata::PoseArticulated::~PoseArticulated | ( | ) | [virtual] |
Destructor.
| virtual void opentl::core::cvdata::PoseArticulated::additiveUpdate | ( | ) | [protected, virtual] |
| virtual PoseArticulated* opentl::core::cvdata::PoseArticulated::clone | ( | ) | const [virtual] |
Implements opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::compositionalUpdate | ( | ) | [protected, virtual] |
| virtual void opentl::core::cvdata::PoseArticulated::copyPoseData | ( | const Pose & | value | ) | [virtual] |
| virtual bool opentl::core::cvdata::PoseArticulated::forcePoseLimits | ( | ) | [protected, virtual] |
Check the current pose against the limits, and force the overflowing parameters to the bounds.
Reimplemented from opentl::core::cvdata::Pose.
| virtual double opentl::core::cvdata::PoseArticulated::getAngleX | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual double opentl::core::cvdata::PoseArticulated::getAngleY | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual double opentl::core::cvdata::PoseArticulated::getAngleZ | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::getIncT | ( | math::Transform & | incT, | |
| int | linkId = 0 | |||
| ) | [inline, virtual] |
Function to get the stored value information.
| T | Input and output incremental world T matrix | |
| linkId | Input which link we refer to. |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::getLocalT | ( | math::Transform & | T, | |
| int | linkId = 0 | |||
| ) | [inline, virtual] |
Function to get the local, finite T matrix (= inter-link).
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::getRefT | ( | math::Transform & | refT, | |
| int | linkId = 0 | |||
| ) | [inline, virtual] |
Return the reference T matrix.
| refT | input T matrix: this is pre-multiplied by the local T, to obtain the world T | |
| linkId | Input which link we refer to. |
| virtual double opentl::core::cvdata::PoseArticulated::getScaleX | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual double opentl::core::cvdata::PoseArticulated::getScaleY | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual double opentl::core::cvdata::PoseArticulated::getScaleZ | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| cvdata::Pose* opentl::core::cvdata::PoseArticulated::getSinglePose | ( | int | linkId | ) | const [inline] |
Return the single INTER-LINK Pose class, for a given link.
| virtual double opentl::core::cvdata::PoseArticulated::getX | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual double opentl::core::cvdata::PoseArticulated::getY | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual double opentl::core::cvdata::PoseArticulated::getZ | ( | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual int opentl::core::cvdata::PoseArticulated::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").
| 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) |
Implements opentl::core::cvdata::Pose.
| virtual int opentl::core::cvdata::PoseArticulated::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.
| 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) |
Implements opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::initLieAlgGen | ( | ) | [protected, virtual] |
| virtual PoseArticulated& opentl::core::cvdata::PoseArticulated::operator= | ( | const PoseArticulated & | value | ) | [inline, virtual] |
| virtual void opentl::core::cvdata::PoseArticulated::resetData | ( | ) | [virtual] |
Reset to 0 the incremental pose parameters, and the update flag as well.
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::resetIncData | ( | ) | [virtual] |
Reset to 0 the incremental pose parameters, and the update flag as well.
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::resetRefT | ( | int | linkId = -1 |
) | [inline, virtual] |
Reset the reference T matrices (to identity).
| linkId | Input which link we refer to (-1 = reset all links) NOTE: This also resets the internal flag (to speed-up computations, we do not multiply by I!) |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setAngleX | ( | double | sX | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setAngleY | ( | double | sY | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setAngleZ | ( | double | sZ | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setDataFromVec | ( | const math::Vector & | value | ) | [virtual] |
Set INTER-LINK T matrices, by using a global vector.
| value | Global or single-link pose vector (inc. representation) | |
| linkId | Update a single link, or all the body (-1) |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setIncDataFromVec | ( | const math::Vector & | value | ) | [virtual] |
Set INTER-LINK incremental T matrices, by using a global vector.
| value | Global or single-link pose vector (inc. representation) | |
| linkId | Update a single link, or all the body (-1) |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setLocalIncT | ( | const std::vector< math::Transform > & | matT | ) | [inline, virtual] |
Set pose parameters by homog. transformation matrix data.
| matT | Homog. transformation matrix. | |
| linkId | Update only one link (by default, link 0). |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setLocalT | ( | const std::vector< math::Transform > & | matT | ) | [inline, virtual] |
Set pose parameters by homog. transformation matrix data.
| matT | Homog. transformation matrix. | |
| linkId | Update only one link (by default, link 0). |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setPoseLimits | ( | std::vector< math::Vector2 > & | poseLimits | ) | [protected, virtual] |
| virtual void opentl::core::cvdata::PoseArticulated::setRefT | ( | const math::Transform & | refT, | |
| int | linkId = 0 | |||
| ) | [inline, virtual] |
Set the reference T matrix.
| refT | input T matrix: this is pre-multiplied by the local T, to obtain the world T | |
| linkId | Input which link we refer to. |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setScaleX | ( | double | sX | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setScaleY | ( | double | sY | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setScaleZ | ( | double | sZ | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setX | ( | double | X | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setY | ( | double | Y | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::setZ | ( | double | Z | ) | [inline, virtual] |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::updateAdditiveJacT | ( | ) | [inline, virtual] |
| virtual void opentl::core::cvdata::PoseArticulated::updateCompositionalJacT | ( | ) | [virtual] |
Function to get the pose derivatives as homog. transformation matrices, mJacT.
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::updateDataFromLocalT | ( | ) | [protected, virtual] |
Set a single INTER-LINK transform, by the T matrix.
| linkId | link we refer to. |
Implements opentl::core::cvdata::Pose.
| void opentl::core::cvdata::PoseArticulated::updateFromRootPose | ( | ) | [inline] |
| void opentl::core::cvdata::PoseArticulated::updateIncDataFromT | ( | ) | [protected, virtual] |
Set a single INTER-LINK incremental transform, by the T matrix.
| linkId | link we refer to. |
Reimplemented from opentl::core::cvdata::Pose.
| void opentl::core::cvdata::PoseArticulated::updateIncTFromData | ( | ) | [protected, virtual] |
Function to get the incremental homog. transformation matrix T of link ID.
| linkId | link we refer to. |
Reimplemented from opentl::core::cvdata::Pose.
| virtual void opentl::core::cvdata::PoseArticulated::updateWorldTFromData | ( | ) | [protected, virtual] |
Function to get the WORLD homog. transformation matrix T of link ID.
| linkId | link we refer to. NOTE: In this function implementation, the global data vector is not used. But the name must stay the same of the abstract class! |
Implements opentl::core::cvdata::Pose.
std::vector<cvdata::Pose *> opentl::core::cvdata::PoseArticulated::mPoses [protected] |
List of poses (=skeleton nodes).
Pointer to the ShapeAppearance skeleton.
1.5.8