This reference page is linked to from the following overview
topics: IIKChainControl.
Detailed Description
- See also:
- Class
LinkChain, Class
RootLink, Class Matrix3, Class Point3, Inverse
Kinematics
- Description:
- This class is available in release 4.0 and later only.
This class represents a single link in the link chain. A Link is a single degree
of freedom rotation followed by a rigidExtend. The DOF axis is
specified by dofAxis. It is always active.
- Data Members:
- DofAxis dofAxis;
The variable part of a Link is of one degree of freedom.
It can be translational or rotational. One of the following;
TransX, TransY, TransZ, RotX, RotY, or RotZ.
float dofValue;
The current value with regard to the degree of freedom.
float initValue;
The initial value.
Point2
limits;
The constrained lower and upper limits. [0] for the lower limit and
[1] for the upper limit.
private:
Matrix3
rigidExtend;
The rigid extents.
byte llimited : 1;
Lower limit flag.
byte ulimited : 1;
Upper limit flag.
#include <ikhierarchy.h>
List of all
members.
Member Enumeration Documentation
- Enumerator:
-
TransX |
|
TransY |
|
TransZ |
|
RotX |
|
RotY |
|
RotZ |
|
Constructor & Destructor Documentation
- Default Implementation:
- { }
- Default Implementation:
- { if (rigidExtend) delete rigidExtend; rigidExtend = 0;
}
Member Function Documentation
bool NullLink |
( |
|
) |
const [inline] |
- Default Implementation:
- { return rigidExtend?false:true; }
{return rigidExtend?false:true;}
bool ZeroLength |
( |
|
) |
const [inline] |
bool LLimited |
( |
|
) |
const [inline] |
- Default Implementation:
- { return llimited?true:false; }
{ return llimited?true:false; }
bool ULimited |
( |
|
) |
const [inline] |
- Default Implementation:
- { return ulimited?true:false; }
{ return ulimited?true:false; }
CoreExport Matrix3 DofMatrix |
( |
|
) |
const |
- Parameters:
- Matrix3&
mat
The matrix to multiply by the DOF matrix.
- Returns:
- A reference to the matrix argument.
CoreExport Matrix3 LinkMatrix |
( |
bool |
include_dof = true |
) |
const |
- Parameters:
- bool include_dof = true
TRUE to return the link matrix, FALSE to return
RigidExtend.
- Returns:
- The link matrix, otherwise it simply returns
RigidExtend.
CoreExport Matrix3& ApplyLinkMatrix |
( |
Matrix3 & |
mat, |
|
|
bool |
include_dof =
true |
|
) |
|
const |
- Parameters:
- Matrix3&
mat
The input matrix.
bool include_dof = true
When applying the DOF part, or rotation part, to a matrix, this
will take place one at a time by calling
RootLink::RotateByAxis(). If you want to apply the whole
link, while already having applied the rotation part, you would
need to set this flag to FALSE.
- Returns:
- The reference to the input matrix, mat.
void SetLLimited |
( |
bool |
s |
) |
[inline] |
- Parameters:
- bool s
TRUE to activate, FALSE to deactivate.
void SetULimited |
( |
bool |
s |
) |
[inline] |
- Parameters:
- bool s
TRUE to activate, FALSE to deactivate.
CoreExport void SetRigidExtend |
( |
const Matrix3 & |
mat |
) |
|
- Parameters:
- const Matrix3& mat
The rigid extend matrix you wish to set.
Member Data Documentation