in mujoco_py/mjsimstate.pyx [0:0]
def from_flattened(array, sim):
idx_time = 0
idx_qpos = idx_time + 1
idx_qvel = idx_qpos + sim.model.nq
idx_act = idx_qvel + sim.model.nv
idx_udd = idx_act + sim.model.na
time = array[idx_time]
qpos = array[idx_qpos:idx_qpos + sim.model.nq]
qvel = array[idx_qvel:idx_qvel + sim.model.nv]
if sim.model.na == 0:
act = None
else:
act = array[idx_act:idx_act + sim.model.na]
flat_udd_state = array[idx_udd:]
udd_state = MjSimState._unflatten_dict(flat_udd_state, sim.udd_state)
return MjSimState(time, qpos, qvel, act, udd_state)