Refactor: separate buffer indexing and swizzling.

This also fixes a sensor data reading bug: previously, _sensorIndex was multiplied by 3 by MjEngineTool.

PiperOrigin-RevId: 451699887
Change-Id: I864bcbf8159857764854b25311a26ec5672125d9
This commit is contained in:
Tom Erez
2022-05-29 00:23:57 -07:00
committed by Copybara-Service
parent 5cc73c30bf
commit 02f300c762
16 changed files with 213 additions and 86 deletions
@@ -115,8 +115,10 @@ public class MjSpatialTendon : MjBaseTendon {
if (data->wrap_obj[readHead] == -2 || data->wrap_obj[readHead + 1] == -2) {
readHead += 1;
} else {
Vector3 start = MjEngineTool.UnityVector3(data->wrap_xpos, readHead);
Vector3 end = MjEngineTool.UnityVector3(data->wrap_xpos, readHead + 1);
Vector3 start = MjEngineTool.UnityVector3(
MjEngineTool.MjVector3AtEntry(data->wrap_xpos, readHead));
Vector3 end = MjEngineTool.UnityVector3(
MjEngineTool.MjVector3AtEntry(data->wrap_xpos, readHead + 1));
Gizmos.DrawLine(start, end);
if (data->wrap_obj[readHead + 1] >= 0) { // a wrap geom
readHead += 2;