14 #ifndef OPENHRP_CONSTRAINT_FORCE_SOLVER_H_INCLUDED
15 #define OPENHRP_CONSTRAINT_FORCE_SOLVER_H_INCLUDED
20 class CollisionSequence;
37 bool addCollisionCheckLinkPair
38 (
int bodyIndex1,
Link* link1,
int bodyIndex2,
Link* link2,
double muStatic,
double muDynamic,
double culling_thresh,
double restitution,
double epsilon);
39 bool addExtraJoint(
int bodyIndex1,
Link* link1,
int bodyIndex2,
Link* link2,
const double* link1LocalPos,
const double* link2LocalPos,
const short jointType,
const double* jointAxis );
40 void clearCollisionCheckLinkPairs();
42 void setGaussSeidelParameters(
int maxNumIteration,
int numInitialIteration,
double maxRelError);
43 void enableConstraintForceOutput(
bool on);
44 void useBuiltinCollisionDetector(
bool on);
45 void setNegativeVelocityRatioForPenetration(
double ratio);
47 void initialize(
void);
48 void solve(OpenHRP::CollisionSequence& corbaCollisionSequence);
49 void clearExternalForces();
50 void setAllowedPenetrationDepth(
double dVal);
51 double getAllowedPenetrationDepth()
const;