5 #ifndef CNOID_BODY_CONSTRAINT_FORCE_SOLVER_H 6 #define CNOID_BODY_CONSTRAINT_FORCE_SOLVER_H 8 #include <cnoid/CollisionDetector> 9 #include <cnoid/CollisionSeq> 15 class ConstraintForceSolverImpl;
17 class ContactAttribute;
21 ConstraintForceSolverImpl* impl;
30 void setFriction(
double staticFriction,
double slipFliction);
31 double staticFriction()
const;
32 double slipFriction()
const;
34 void setContactCullingDistance(
double thresh);
35 double contactCullingDistance()
const;
37 void setContactCullingDepth(
double depth);
38 double contactCullingDepth();
40 void setCoefficientOfRestitution(
double epsilon);
41 double coefficientOfRestitution()
const;
43 void setGaussSeidelErrorCriterion(
double e);
44 double gaussSeidelErrorCriterion();
46 void setGaussSeidelMaxNumIterations(
int n);
47 int gaussSeidelMaxNumIterations();
49 void setContactDepthCorrection(
double depth,
double velocityRatio);
50 double contactCorrectionDepth();
51 double contactCorrectionVelocityRatio();
53 void set2Dmode(
bool on);
54 void enableConstraintForceOutput(
bool on);
56 void initialize(
void);
58 void clearExternalForces();
62 #ifdef ENABLE_SIMULATION_PROFILING 63 double getCollisionTime();
67 void setFriction(
Link* link1,
Link* link2,
double staticFriction,
double slipFriction);
68 typedef boost::function<bool(Link* link1, Link* link2, const CollisionArray& collisions, const ContactAttribute& attribute)>
70 int registerCollisionHandler(
const std::string& name,
CollisionHandler handler);
71 void unregisterCollisionHandler(
int handlerId);
72 int collisionHandlerId(
const std::string& name)
const;
73 void setCollisionHandler(
Link* link1,
Link* link2,
int handlerId);
boost::shared_ptr< CollisionDetector > CollisionDetectorPtr
Definition: CollisionDetector.h:23
boost::function< bool(Link *link1, Link *link2, const CollisionArray &collisions, const ContactAttribute &attribute)> CollisionHandler
Definition: ConstraintForceSolver.h:69
Definition: ConstraintForceSolver.h:19
Defines the minimum processing for performing pasing file for STL.
Definition: AbstractSceneLoader.h:9
boost::shared_ptr< CollisionLinkPairList > CollisionLinkPairListPtr
Definition: CollisionSeq.h:22
#define CNOID_EXPORT
Definition: Util/exportdecl.h:37