fix stop simulation into editor
This commit is contained in:
parent
3f1fddd87d
commit
e62b584981
@ -114,7 +114,7 @@
|
|||||||
"target_azimuth_deg": 45.0
|
"target_azimuth_deg": 45.0
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"use_spline": true
|
"use_spline": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"target_id": 1,
|
"target_id": 1,
|
||||||
|
|||||||
@ -200,6 +200,8 @@ class Target:
|
|||||||
if total_duration <= 0 or self._sim_time_s >= total_duration:
|
if total_duration <= 0 or self._sim_time_s >= total_duration:
|
||||||
# Simulation finished, stay at the last point
|
# Simulation finished, stay at the last point
|
||||||
self._spline_index = len(self._spline_path) - 1
|
self._spline_index = len(self._spline_path) - 1
|
||||||
|
self.active = False
|
||||||
|
self.current_velocity_fps = 0.0
|
||||||
else:
|
else:
|
||||||
# Find the current index in the spline path based on time
|
# Find the current index in the spline path based on time
|
||||||
progress = self._sim_time_s / total_duration
|
progress = self._sim_time_s / total_duration
|
||||||
|
|||||||
@ -338,6 +338,10 @@ class MainView(tk.Tk):
|
|||||||
while not self.gui_update_queue.empty():
|
while not self.gui_update_queue.empty():
|
||||||
updated_targets: List[Target] = self.gui_update_queue.get_nowait()
|
updated_targets: List[Target] = self.gui_update_queue.get_nowait()
|
||||||
self._update_all_views(updated_targets)
|
self._update_all_views(updated_targets)
|
||||||
|
# Stop simulation and update buttons if all targets are inactive
|
||||||
|
if self.is_simulation_running.get():
|
||||||
|
if all(not t.active for t in self.scenario.get_all_targets()):
|
||||||
|
self._on_stop_simulation()
|
||||||
finally:
|
finally:
|
||||||
if self.is_simulation_running.get():
|
if self.is_simulation_running.get():
|
||||||
self.after(GUI_QUEUE_POLL_INTERVAL_MS, self._process_gui_queue)
|
self.after(GUI_QUEUE_POLL_INTERVAL_MS, self._process_gui_queue)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user