Add additional data fields that can be reported by rangefinder sensors.
PiperOrigin-RevId: 848316991 Change-Id: Idbf7ba81b4da711a22c23302c8782ab2b0b98d82
This commit is contained in:
committed by
Copybara-Service
parent
f2e9097ed6
commit
70bc7be4bc
@@ -2028,11 +2028,22 @@ void mjXWriter::Sensor(XMLElement* root) {
|
||||
WriteAttrTxt(elem, "site", sensor->get_objname());
|
||||
break;
|
||||
case mjSENS_RANGEFINDER:
|
||||
elem = InsertEnd(section, "rangefinder");
|
||||
if (sensor->objtype == mjOBJ_SITE) {
|
||||
WriteAttrTxt(elem, "site", sensor->get_objname());
|
||||
} else {
|
||||
WriteAttrTxt(elem, "camera", sensor->get_objname());
|
||||
{
|
||||
elem = InsertEnd(section, "rangefinder");
|
||||
if (sensor->objtype == mjOBJ_SITE) {
|
||||
WriteAttrTxt(elem, "site", sensor->get_objname());
|
||||
} else {
|
||||
WriteAttrTxt(elem, "camera", sensor->get_objname());
|
||||
}
|
||||
int dataspec = sensor->intprm[0];
|
||||
int data[mjNRAYDATA];
|
||||
int ndata = 0;
|
||||
for (int i=0; i < mjNRAYDATA; i++) {
|
||||
if (dataspec & (1 << i)) {
|
||||
data[ndata++] = i;
|
||||
}
|
||||
}
|
||||
WriteAttrKeys(elem, "data", raydata_map, mjNRAYDATA, data, ndata, 0);
|
||||
}
|
||||
break;
|
||||
case mjSENS_CAMPROJECTION:
|
||||
|
||||
Reference in New Issue
Block a user