Skip to content

non-blocking VisualizerWithEditing #1605

@markkorput

Description

@markkorput

Is your feature request related to a problem? Please describe.
It would be great to be able to pick points from a pointcloud (and perform other operations), without blocking your application. When I use VisualizerWithEditing and try to run it non-blocking mode (see code below), it crashes as soon as I pick a point using shift+click (see log below).

Describe the solution you'd like
It would be great to have a fully functional non-blocking VisualizerWithEditing.

Describe alternatives you've considered
I considered using the 'normal' blocking version of VisualizerWithEditing in a separate thread, but since it would still be blocking on the separate thread, there would be no way to update geometry when things in other parts of the application change, or close the Visualizer when needed.

Additional context
current code

def setup(self):
  self.vis = o3d.visualization.VisualizerWithEditing()      
  self.vis.create_window()
  self.vis.add_geometry(self.pcd)

def update(self):
  # without the line below visualization works, only crashes after picking a point
  # WITH the line below, application freezes with black visualization window
  # self.vis.update_geometry(source)  
  self.vis.poll_events()
  self.vis.update_renderer()

crash log

[Open3D INFO] Picked point #142192 (1, 0.18, 3.4) to add in queue.
Segmentation fault: 11

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions