|
12 | 12 | from genesis.engine.force_fields import ForceField |
13 | 13 | from genesis.engine.materials.base import Material |
14 | 14 | from genesis.engine.entities import Emitter |
| 15 | +from genesis.engine.states.solvers import SimState |
15 | 16 | from genesis.engine.simulator import Simulator |
16 | 17 | from genesis.options import ( |
17 | 18 | AvatarOptions, |
@@ -695,23 +696,26 @@ def _parallelize( |
695 | 696 | self._para_level = gs.PARA_LEVEL.ALL |
696 | 697 |
|
697 | 698 | @gs.assert_built |
698 | | - def reset(self, state: dict | None = None, envs_idx=None): |
| 699 | + def reset(self, state: SimState | None = None, envs_idx=None): |
699 | 700 | """ |
700 | 701 | Resets the scene to its initial state. |
701 | 702 |
|
702 | 703 | Parameters |
703 | 704 | ---------- |
704 | | - state : dict | None |
705 | | - The state to reset the scene to. If None, the scene will be reset to its initial state. If this is given, the scene's registerered initial state will be updated to this state. |
| 705 | + state : SimState | None |
| 706 | + The state to reset the scene to. If None, the scene will be reset to its initial state. |
| 707 | + If this is given, the scene's registerered initial state will be updated to this state. |
| 708 | + envs_idx : None | array_like, optional |
| 709 | + The indices of the environments. If None, all environments will be considered. Defaults to None. |
706 | 710 | """ |
707 | | - gs.logger.info(f"Resetting Scene ~~~<{self._uid}>~~~.") |
708 | | - self._reset(state, envs_idx) |
| 711 | + self._reset(state, envs_idx=envs_idx) |
709 | 712 |
|
710 | | - def _reset(self, state=None, envs_idx=None): |
| 713 | + def _reset(self, state: SimState | None = None, *, envs_idx=None): |
711 | 714 | if self._is_built: |
712 | 715 | if state is None: |
713 | 716 | state = self._init_state |
714 | 717 | else: |
| 718 | + assert isinstance(state, SimState), "state must be a SimState object" |
715 | 719 | self._init_state = state |
716 | 720 | self._sim.reset(state, envs_idx) |
717 | 721 | else: |
|
0 commit comments