Skip to content

Commit 255d7f0

Browse files
committed
Minor improvement to have visualization steps only run when there's been a change of timestamp
1 parent 8dd8ba4 commit 255d7f0

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

roboregress/engine/runtime.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,15 @@ def step_until(self, timestamp: float, visualizer: Optional[Visualizer] = None)
9292
progress_bar.n = round(self._timestamp)
9393
progress_bar.refresh(progress_bar.lock_args)
9494

95+
# Update visualization
96+
if visualizer and consecutive_steps_without_change == 0:
97+
geometries: List[o3d.geometry.Geometry] = sum(
98+
[o.draw() for o in self._sim_objects], []
99+
)
100+
geometries.append(o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.3))
101+
visualizer.draw(geometries, self.timestamp)
102+
103+
# Step the system
95104
previous_stamp = self.timestamp
96105
self.step()
97106

@@ -107,10 +116,3 @@ def step_until(self, timestamp: float, visualizer: Optional[Visualizer] = None)
107116
f"the simulation objects in the engine aren't requesting sleeps! "
108117
f"Is there a logic error somewhere?"
109118
)
110-
111-
if visualizer:
112-
geometries: List[o3d.geometry.Geometry] = sum(
113-
[o.draw() for o in self._sim_objects], []
114-
)
115-
geometries.append(o3d.geometry.TriangleMesh.create_coordinate_frame(size=0.3))
116-
visualizer.draw(geometries, self.timestamp)

0 commit comments

Comments
 (0)