| 147 | return self.states_buf |
| 148 | |
| 149 | def render(self, sync_frame_time=False): |
| 150 | if self.viewer: |
| 151 | # check for window closed |
| 152 | if self.gym.query_viewer_has_closed(self.viewer): |
| 153 | sys.exit() |
| 154 | |
| 155 | # check for keyboard events |
| 156 | for evt in self.gym.query_viewer_action_events(self.viewer): |
| 157 | if evt.action == "QUIT" and evt.value > 0: |
| 158 | sys.exit() |
| 159 | elif evt.action == "toggle_viewer_sync" and evt.value > 0: |
| 160 | self.enable_viewer_sync = not self.enable_viewer_sync |
| 161 | |
| 162 | # fetch results |
| 163 | if self.device != 'cpu': |
| 164 | self.gym.fetch_results(self.sim, True) |
| 165 | |
| 166 | # step graphics |
| 167 | if self.enable_viewer_sync: |
| 168 | self.gym.step_graphics(self.sim) |
| 169 | self.gym.draw_viewer(self.viewer, self.sim, True) |
| 170 | else: |
| 171 | self.gym.poll_viewer_events(self.viewer) |
| 172 | |
| 173 | def get_actor_params_info(self, dr_params, env): |
| 174 | """Returns a flat array of actor params, their names and ranges.""" |