Add insidesite sensor for detecting when an object is inside the volume of a site.
PiperOrigin-RevId: 780993257 Change-Id: I2dcfc840d222680adc3b934344a0819f4d78b6eb
This commit is contained in:
committed by
Copybara-Service
parent
a86461fc57
commit
e6c5715903
@@ -477,6 +477,7 @@ const char* MJCF[nMJCF][mjXATTRNUM] = {
|
||||
{"subtreecom", "*", "5", "name", "body", "cutoff", "noise", "user"},
|
||||
{"subtreelinvel", "*", "5", "name", "body", "cutoff", "noise", "user"},
|
||||
{"subtreeangmom", "*", "5", "name", "body", "cutoff", "noise", "user"},
|
||||
{"insidesite", "*", "7", "name", "site", "objtype", "objname", "cutoff", "noise", "user"},
|
||||
{"distance", "*", "8", "name", "geom1", "geom2", "body1", "body2", "cutoff", "noise", "user"},
|
||||
{"normal", "*", "8", "name", "geom1", "geom2", "body1", "body2", "cutoff", "noise", "user"},
|
||||
{"fromto", "*", "8", "name", "geom1", "geom2", "body1", "body2", "cutoff", "noise", "user"},
|
||||
@@ -4084,6 +4085,13 @@ void mjXReader::Sensor(XMLElement* section) {
|
||||
ReadAttrTxt(elem, "objtype", text, true);
|
||||
sensor->objtype = (mjtObj)mju_str2Type(text.c_str());
|
||||
ReadAttrTxt(elem, "objname", objname, true);
|
||||
} else if (type == "insidesite") {
|
||||
sensor->type = mjSENS_INSIDESITE;
|
||||
sensor->reftype = mjOBJ_SITE;
|
||||
ReadAttrTxt(elem, "site", refname, true);
|
||||
ReadAttrTxt(elem, "objtype", text, true);
|
||||
sensor->objtype = (mjtObj)mju_str2Type(text.c_str());
|
||||
ReadAttrTxt(elem, "objname", objname, true);
|
||||
}
|
||||
|
||||
// sensors related to kinematic subtrees; attached to a body (which is the subtree root)
|
||||
|
||||
Reference in New Issue
Block a user