from importlib import reload import sys import numpy as np if("wrapper" in sys.path[0]): sys.path.remove(sys.path[0]) import open3d reload(open3d) from open3d import visualization class proxy_class_Visualizer: def __init__(self): global orgVisualizer self.geometries = [] self.videoSize = (640, 360) self.counter = 100000000 self.lastPcd = None self.videoWriter = None self.delegate = orgVisualizer() self.update_renderer_callback = open3d.callback_thread self.callback_thread_params = open3d.callback_thread_params def get_render_option(self): return self.delegate.get_render_option() def create_window(self,*args,**kwargs): kwargs["visible"] = False self.delegate.create_window(*args,**kwargs) def destroy_window(self): self.delegate.destroy_window() def update_renderer(self): if self.update_renderer_callback is not None: self.update_renderer_callback(self) return self.delegate.update_renderer() def get_view_control(self): return self.delegate.get_view_control() def add_geometry(self,pcd): self.geometries.append(pcd) return self.delegate.add_geometry(pcd) def update_geometry(self,pcd): self.lastPcd = pcd return self.delegate.update_geometry(pcd) def poll_events(self): if self.counter < 0: return False return True orgVisualizer = visualization.Visualizer visualization.Visualizer = proxy_class_Visualizer open3d.callback_thread = None open3d.callback_thread_params = None