Simulate a simulation step.
(self, time_elapsed, paused)
| 152 | self._state = State.STOPPED |
| 153 | |
| 154 | def _step_simulation(self, time_elapsed, paused): |
| 155 | """Simulate a simulation step.""" |
| 156 | finished = False |
| 157 | if paused: |
| 158 | self._step_paused() |
| 159 | else: |
| 160 | step_duration = min(time_elapsed, self.simulation_time_budget) |
| 161 | actual_simulation_time = self.get_time() |
| 162 | if self._tracked_simulation_time >= actual_simulation_time: |
| 163 | end_time = actual_simulation_time + step_duration |
| 164 | while not finished and self.get_time() < end_time: |
| 165 | finished = self._step() |
| 166 | self._tracked_simulation_time += step_duration |
| 167 | return finished |
| 168 | |
| 169 | def single_step(self): |
| 170 | """Performs a single step of simulation.""" |