1 #ifndef CONTACT_UTILS_H 2 #define CONTACT_UTILS_H 4 #include <KrisLibrary/robotics/Contact.h> 5 #include <KrisLibrary/robotics/RobotWithGeometry.h> 21 void GetFlatContacts(RobotWithGeometry& robot,Real tol,ContactFormation& contacts);
29 void GetFlatContacts(RobotWithGeometry& robot,
int link,Real tol,vector<ContactPoint>& contacts);
37 void GetFlatStance(RobotWithGeometry& robot,Real tol,Stance& s,Real kFriction=0);
47 void GetNearbyContacts(RobotWithGeometry& robot,WorldModel& world,Real tol,ContactFormation& contacts);
56 void GetNearbyContacts(RobotWithGeometry& robot,
int link,WorldModel& world,Real tol,vector<ContactPoint>& contacts);
62 void LocalContactsToHold(
const vector<ContactPoint>& contacts,
int link,
const RobotKinematics3D& robot,Hold& hold);
67 void LocalContactsToStance(
const ContactFormation& contacts,
const RobotKinematics3D& robot,Stance& stance);
72 void ClusterContacts(vector<ContactPoint>& cps,
int numClusters,Real clusterNormalScale=0.1,Real clusterFrictionScale=0.1);
80 void CHContacts(vector<ContactPoint>& cp,Real ntol,Real xtol);
86 int ClosestContact(
const ContactPoint& p,
const Meshing::TriMesh& mesh,ContactPoint& closest,Real normalScale=0.1);
Definition: ContactDistance.h:6