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] |