#include <hpp/core/relative-motion.hh>
◆ matrix_type
◆ RelativeMotionType
Enumerator |
---|
Constrained | The relative motion is fully constrained and the constraint cannot be parameterized (has constant right-hand side)
|
Parameterized | The relative motion is fully constrained but the constraint can be parameterized (has non-constant right-hand side)
|
Unconstrained | The relative motion is not constrained.
|
◆ fromConstraint()
Fill the relative motion matrix with information extracted from the provided ConstraintSet.
- Note
- Only LockedJoint and RelativeTransformation of dimension 6 are currently taken into account.
- Todo:
- LockedJoint always has a non-constant RHS which means it will always be treated a parameterized constraint. Even when the value is not going to change...
◆ idx()
Get the index for a given joint.
- Returns
- 0 if joint is NULL, joint->index() otherwise.
◆ matrix()
◆ recurseSetRelMotion()
Set the relative motion between two joints.
This does nothing if type is Unconstrained. The full matrix is updated as follow. For any indices i0 and i3 different from both i1 and i2:
- set matrix(i0,i2) if i0 and i1 was constrained,
- set matrix(i1,i3) if i2 and i3 was constrained,
- set matrix(i0,i3) if the two previous condition are fulfilled.
The RelativeMotionType is deduced as follow: