From bc877a086ec5a72116013c4f678f776dba2ee895 Mon Sep 17 00:00:00 2001 From: ik1g19 <ik1g19@soton.ac.uk> Date: Mon, 9 Jan 2023 19:17:27 +0000 Subject: [PATCH] update_point_clouds accepts optional parameter for slam data --- src/pcp_gui.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pcp_gui.py b/src/pcp_gui.py index 2325252..47edb57 100644 --- a/src/pcp_gui.py +++ b/src/pcp_gui.py @@ -12,6 +12,7 @@ import open3d.visualization.gui as gui class Viewer3D(object): frame_counter = 0 + pcd = None def __init__(self, title): app = gui.Application.instance @@ -32,6 +33,7 @@ class Viewer3D(object): self.skeletons = o3d.geometry.LineSet() # the name is necessary to remove from the scene self.skeletons_name = "skeletons" + self.slam_name = "slam" self.mesh_box = o3d.geometry.TriangleMesh.create_box(width=20.0, height=0.1, @@ -44,7 +46,7 @@ class Viewer3D(object): self.skeleton_data = np.load("../input/dataset.npy") - def update_point_clouds(self): + def update_point_clouds(self, slam = None): self.frame_counter = self.frame_counter + 1 if self.frame_counter == 10 or self.frame_counter % 500 == 0: @@ -54,6 +56,8 @@ class Viewer3D(object): self.skeletons = Skeleton3D.skeleton_poses(poses) self.skeletons.colors = Skeleton3D.skeleton_paint(3) + + self.pcd = o3d.io.read_point_cloud(slam) if slam is not None else None def setup_o3d_scene(self): self.main_vis.add_geometry(self.skeletons_name, self.skeletons) @@ -71,7 +75,9 @@ class Viewer3D(object): def update_o3d_scene(self): self.main_vis.remove_geometry(self.skeletons_name) + if self.pcd is not None: self.main_vis.remove_geometry(self.slam_name) self.main_vis.add_geometry(self.skeletons_name, self.skeletons) + if self.pcd is not None: self.main_vis.add_geometry(self.slam_name, self.pcd) def run_one_tick(self): app = o3d.visualization.gui.Application.instance -- GitLab