Add contact labels showing which geom pairs are in contact.

PiperOrigin-RevId: 510422404
Change-Id: Ia73570098752e7c7175e4b5a5f2a0f8b08a6c006
This commit is contained in:
Yuval Tassa
2023-02-17 07:02:37 -08:00
committed by Copybara-Service
parent a6730aa740
commit 2607e67f8d
10 changed files with 31 additions and 6 deletions
+11
View File
@@ -129,6 +129,17 @@ static void addContactGeom(const mjModel* m, mjData* d, const mjtByte* flags,
f2f(thisgeom->rgba, m->vis.rgba.contactgap, 4);
}
// label contacting geom names or ids
if (vopt->label==mjLABEL_CONTACTPOINT) {
const char* name1 = mj_id2name(m, mjOBJ_GEOM, con->geom1);
char id1[10];
mjSNPRINTF(id1, "%d", con->geom1);
const char* name2 = mj_id2name(m, mjOBJ_GEOM, con->geom2);
char id2[10];
mjSNPRINTF(id2, "%d", con->geom2);
mjSNPRINTF(thisgeom->label, "%s | %s", name1 ? name1 : id1 , name2 ? name2 : id2);
}
FINISH
}