Skip to content

Commit 580a6d8

Browse files
Added Inertias (I) and Center Of Mass (M)
Toggle functionality with I and M
1 parent 99dbb84 commit 580a6d8

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

mujoco_viewer/mujoco_viewer.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ def __init__(self, model, data):
2424
self._contacts = False
2525
self._joints = False
2626
self._wire_frame = False
27+
self._inertias = False
28+
self._com = False
2729
self._render_every_frame = True
2830
self._image_idx = 0
2931
self._image_path = "/tmp/frame_%07d.png"
@@ -126,6 +128,14 @@ def _key_callback(self, window, key, scancode, action, mods):
126128
self.model.geom_rgba[:, 3] /= 5.0
127129
else:
128130
self.model.geom_rgba[:, 3] *= 5.0
131+
# Display inertia
132+
elif key == glfw.KEY_I:
133+
self._inertias = not self._inertias
134+
self.vopt.flags[mujoco.mjtVisFlag.mjVIS_INERTIA] = self._inertias
135+
# Display center of mass
136+
elif key == glfw.KEY_M:
137+
self._com = not self._com
138+
self.vopt.flags[mujoco.mjtVisFlag.mjVIS_COM] = self._com
129139
# Wireframe Rendering
130140
elif key == glfw.KEY_W:
131141
self._wire_frame = not self._wire_frame
@@ -381,6 +391,14 @@ def add_overlay(gridpos, text1, text2):
381391
topleft,
382392
"[J]oints",
383393
"On" if self._joints else "Off")
394+
add_overlay(
395+
topleft,
396+
"[I]nertia",
397+
"On" if self._inertias else "Off")
398+
add_overlay(
399+
topleft,
400+
"Center of [M]ass",
401+
"On" if self._com else "Off")
384402
add_overlay(
385403
topleft,
386404
"T[r]ansparent",

0 commit comments

Comments
 (0)