Base class for constraints. More...
#include <ik.h>

Public Member Functions | |
| void | Activate () |
| activate the constraint | |
| int | Active () |
| whether the constraint is activate | |
| void | Diactivate () |
| diactivate the constraint | |
| void | Disable () |
| disable the constraint | |
| int | Dropped () |
| void | Enable () |
| enable the constraint | |
| double | GetGain () |
| get the gain | |
| Joint * | GetJoint () |
| IK::Priority | GetPriority () |
| get the priproty | |
| virtual IK::ConstType | GetType ()=0 |
| Returns the constraint type. | |
| int | iConst () |
| int | ID () |
| IKConstraint (IK *_ik, const char *_jname, Joint *_jnt, IK::Priority _pri, double _gain) | |
| Default constructor. | |
| int | nConst () |
| virtual int | Reset () |
| virtual void | SetCharacterScale (double _scale, const char *charname=0) |
| void | SetGain (double _gain) |
| set the gain | |
| void | SetPriority (IK::Priority _pri) |
| set the priproty | |
| virtual | ~IKConstraint () |
| Destructor. | |
Protected Member Functions | |
| virtual int | calc_feedback ()=0 |
| compute the feedback velocity | |
| virtual int | calc_jacobian () |
| Computes the constraint Jacobian. | |
| int | calc_jacobian (Joint *cur) |
| the function recursively called for all joints (don't override) | |
| virtual int | calc_jacobian_free (Joint *cur) |
| virtual int | calc_jacobian_rotate (Joint *cur) |
| virtual int | calc_jacobian_slide (Joint *cur) |
| virtual int | calc_jacobian_sphere (Joint *cur) |
| int | copy_jacobian () |
| copy each constraint Jacobian to the whole Jacobian matrix | |
Protected Attributes | |
| int | active |
| int | enabled |
| number of constraints | |
| fVec | fb |
| Jacobian matrix (n_const x total DOF) | |
| double | gain |
| priority | |
| int | i_const |
| feedback velocity (n_const) | |
| int | id |
| ID (unique to each constraint) | |
| IK * | ik |
| int | is_dropped |
| index in the constraints with the same priority | |
| fMat | J |
| Joint * | joint |
| target joint | |
| char * | joint_name |
| int | n_const |
| weight | |
| IK::Priority | priority |
| fVec | weight |
| feedback gain | |
Private Member Functions | |
| int | count_constraints () |
Friends | |
| class | IK |
| IKConstraint::IKConstraint | ( | IK * | _ik, |
| const char * | _jname, | ||
| Joint * | _jnt, | ||
| IK::Priority | _pri, | ||
| double | _gain | ||
| ) | [inline] |
| virtual IKConstraint::~IKConstraint | ( | ) | [inline, virtual] |
| void IKConstraint::Activate | ( | ) | [inline] |
| int IKConstraint::Active | ( | ) | [inline] |
| virtual int IKConstraint::calc_feedback | ( | ) | [protected, pure virtual] |
compute the feedback velocity
Implemented in IKScalarJointLimit, IKCom, IKDesire, and IKHandle.
| int IKConstraint::calc_jacobian | ( | ) | [protected, virtual] |
Computes the constraint Jacobian.
Computes the constraint Jacobian. implementing the function:
calc_jacobian_slide() - calc_jacobian_free() calc_jacobian() calls each function depending on the joint typecalc_jacobian() Reimplemented in IKCom, and IKHandle.
Definition at line 76 of file update_ik.cpp.
| int IKConstraint::calc_jacobian | ( | Joint * | cur | ) | [protected] |
the function recursively called for all joints (don't override)
Definition at line 84 of file update_ik.cpp.
| virtual int IKConstraint::calc_jacobian_free | ( | Joint * | cur | ) | [inline, protected, virtual] |
| virtual int IKConstraint::calc_jacobian_rotate | ( | Joint * | cur | ) | [inline, protected, virtual] |
Reimplemented in IKScalarJointLimit, and IKDesire.
| virtual int IKConstraint::calc_jacobian_slide | ( | Joint * | cur | ) | [inline, protected, virtual] |
Reimplemented in IKScalarJointLimit, and IKDesire.
| virtual int IKConstraint::calc_jacobian_sphere | ( | Joint * | cur | ) | [inline, protected, virtual] |
| int IKConstraint::copy_jacobian | ( | ) | [protected] |
copy each constraint Jacobian to the whole Jacobian matrix
Definition at line 446 of file update_ik.cpp.
| int IKConstraint::count_constraints | ( | ) | [private] |
Definition at line 434 of file update_ik.cpp.
| void IKConstraint::Diactivate | ( | ) | [inline] |
| void IKConstraint::Disable | ( | ) | [inline] |
| int IKConstraint::Dropped | ( | ) | [inline] |
| void IKConstraint::Enable | ( | ) | [inline] |
| double IKConstraint::GetGain | ( | ) | [inline] |
| Joint* IKConstraint::GetJoint | ( | ) | [inline] |
| IK::Priority IKConstraint::GetPriority | ( | ) | [inline] |
| virtual IK::ConstType IKConstraint::GetType | ( | ) | [pure virtual] |
Returns the constraint type.
Implemented in IKScalarJointLimit, IKCom, IKDesire, and IKHandle.
| int IKConstraint::iConst | ( | ) | [inline] |
| int IKConstraint::ID | ( | ) | [inline] |
| int IKConstraint::nConst | ( | ) | [inline] |
| virtual int IKConstraint::Reset | ( | ) | [inline, virtual] |
| virtual void IKConstraint::SetCharacterScale | ( | double | _scale, |
| const char * | charname = 0 |
||
| ) | [inline, virtual] |
Reimplemented in IKScalarJointLimit, IKDesire, and IKHandle.
| void IKConstraint::SetGain | ( | double | _gain | ) | [inline] |
| void IKConstraint::SetPriority | ( | IK::Priority | _pri | ) | [inline] |
friend class IK [friend] |
Reimplemented in IKScalarJointLimit, IKDesire, and IKHandle.
int IKConstraint::active [protected] |
int IKConstraint::enabled [protected] |
fVec IKConstraint::fb [protected] |
double IKConstraint::gain [protected] |
int IKConstraint::i_const [protected] |
int IKConstraint::id [protected] |
IK* IKConstraint::ik [protected] |
int IKConstraint::is_dropped [protected] |
fMat IKConstraint::J [protected] |
Joint* IKConstraint::joint [protected] |
char* IKConstraint::joint_name [protected] |
int IKConstraint::n_const [protected] |
IK::Priority IKConstraint::priority [protected] |
fVec IKConstraint::weight [protected] |