Skip to content

Commit 211dfd2

Browse files
committed
interface for vis geom
1 parent d201735 commit 211dfd2

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

genesis/engine/entities/rigid_entity/rigid_geom.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -888,6 +888,42 @@ def get_trimesh(self):
888888
"""
889889
return self._vmesh.trimesh
890890

891+
# ------------------------------------------------------------------------------------
892+
# -------------------------------- real-time state -----------------------------------
893+
# ------------------------------------------------------------------------------------
894+
895+
@gs.assert_built
896+
def get_pos(self):
897+
"""
898+
Get the position of the geom in world frame.
899+
"""
900+
tensor = torch.empty(self._solver._batch_shape(3, True), dtype=gs.tc_float, device=gs.device)
901+
self._kernel_get_pos(tensor)
902+
if self._solver.n_envs == 0:
903+
tensor = tensor.squeeze(0)
904+
return tensor
905+
906+
@ti.kernel
907+
def _kernel_get_pos(self, tensor: ti.types.ndarray()):
908+
for i, i_b in ti.ndrange(3, self._solver._B):
909+
tensor[i_b, i] = self._solver.vgeoms_state[self._idx, i_b].pos[i]
910+
911+
@gs.assert_built
912+
def get_quat(self):
913+
"""
914+
Get the quaternion of the geom in world frame.
915+
"""
916+
tensor = torch.empty(self._solver._batch_shape(4, True), dtype=gs.tc_float, device=gs.device)
917+
self._kernel_get_quat(tensor)
918+
if self._solver.n_envs == 0:
919+
tensor = tensor.squeeze(0)
920+
return tensor
921+
922+
@ti.kernel
923+
def _kernel_get_quat(self, tensor: ti.types.ndarray()):
924+
for i, i_b in ti.ndrange(4, self._solver._B):
925+
tensor[i_b, i] = self._solver.vgeoms_state[self._idx, i_b].quat[i]
926+
891927
# ------------------------------------------------------------------------------------
892928
# ----------------------------------- properties -------------------------------------
893929
# ------------------------------------------------------------------------------------

0 commit comments

Comments
 (0)