@@ -1001,9 +1001,9 @@ cdef class PyMjModel(object):
1001
1001
cdef np.ndarray _name_keyadr
1002
1002
cdef np.ndarray _names
1003
1003
1004
- cdef readonly tuple body_names, joint_names, geom_names, site_names, light_names, camera_names, actuator_names, sensor_names, tendon_names
1005
- cdef readonly dict _body_id2name, _joint_id2name, _geom_id2name, _site_id2name, _light_id2name, _camera_id2name, _actuator_id2name, _sensor_id2name, _tendon_id2name
1006
- cdef readonly dict _body_name2id, _joint_name2id, _geom_name2id, _site_name2id, _light_name2id, _camera_name2id, _actuator_name2id, _sensor_name2id, _tendon_name2id
1004
+ cdef readonly tuple body_names, joint_names, geom_names, site_names, light_names, camera_names, actuator_names, sensor_names, tendon_names, mesh_names
1005
+ cdef readonly dict _body_id2name, _joint_id2name, _geom_id2name, _site_id2name, _light_id2name, _camera_id2name, _actuator_id2name, _sensor_id2name, _tendon_id2name, _mesh_id2name
1006
+ cdef readonly dict _body_name2id, _joint_name2id, _geom_name2id, _site_name2id, _light_name2id, _camera_name2id, _actuator_name2id, _sensor_name2id, _tendon_name2id, _mesh_name2id
1007
1007
1008
1008
def body_id2name (self , id ):
1009
1009
if id not in self ._body_id2name:
@@ -1094,6 +1094,16 @@ cdef class PyMjModel(object):
1094
1094
if name not in self ._tendon_name2id:
1095
1095
raise ValueError (" No \" tendon\" with name %s exists. Available \" tendon\" names = %s ." % (name, self .tendon_names))
1096
1096
return self ._tendon_name2id[name]
1097
+
1098
+ def mesh_id2name (self , id ):
1099
+ if id not in self ._mesh_id2name:
1100
+ raise ValueError (" No mesh with id %d exists." % id )
1101
+ return self ._mesh_id2name[id ]
1102
+
1103
+ def mesh_name2id (self , name ):
1104
+ if name not in self ._mesh_name2id:
1105
+ raise ValueError (" No \" mesh\" with name %s exists. Available \" mesh\" names = %s ." % (name, self .mesh_names))
1106
+ return self ._mesh_name2id[name]
1097
1107
cdef public tuple userdata_names
1098
1108
cdef public dict _userdata_id2name
1099
1109
cdef public dict _userdata_name2id
@@ -1222,6 +1232,7 @@ cdef class PyMjModel(object):
1222
1232
self .actuator_names, self ._actuator_name2id, self ._actuator_id2name = self ._extract_mj_names(p, p.name_actuatoradr, p.nu, mjtObj.mjOBJ_ACTUATOR)
1223
1233
self .sensor_names, self ._sensor_name2id, self ._sensor_id2name = self ._extract_mj_names(p, p.name_sensoradr, p.nsensor, mjtObj.mjOBJ_SENSOR)
1224
1234
self .tendon_names, self ._tendon_name2id, self ._tendon_id2name = self ._extract_mj_names(p, p.name_tendonadr, p.ntendon, mjtObj.mjOBJ_TENDON)
1235
+ self .mesh_names, self ._mesh_name2id, self ._mesh_id2name = self ._extract_mj_names(p, p.name_meshadr, p.nmesh, mjtObj.mjOBJ_MESH)
1225
1236
self .userdata_names = tuple ()
1226
1237
self ._userdata_name2id = dict ()
1227
1238
self ._userdata_id2name = dict ()
0 commit comments