Open3D crashes when using boolean_intersection with non-overlapping meshes
- Dominant language
- C++
- Stars
- 14k
- Forks
- 2.6k
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 6
Description
### Checklist
- [X] I have searched for [similar issues](https://github.com/isl-org/Open3D/issues).
- [X] For Python issues, I have tested with the [latest development wheel](http://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](http://www.open3d.org/docs/release/) and the [latest documentation](http://www.open3d.org/docs/latest/) (for `master` branch).
### Describe the issue
I want to compute the intersection between two TriangleMesh with [boolean_intersection](http://www.open3d.org/docs/release/python_api/open3d.t.geometry.TriangleMesh.html#open3d.t.geometry.TriangleMesh.boolean_intersection). I assume that the result would be a TriangleMesh with zero or more vertices.
However, when there is no overlap between the two meshes, Open3D crashes with the error message below.
### Steps to reproduce the bug
```python
import open3d as o3d
mesh1 = o3d.t.geometry.TriangleMesh.create_sphere(radius=1.0,resolution=20)
mesh1.translate([0,0,2])
mesh2 = o3d.t.geometry.TriangleMesh.create_sphere(radius=1.0,resolution=20)
mesh2.translate([0,0,-2])
intersection = mesh1.boolean_intersection(mesh2)
```
### Error message
```
ERROR: In /home/runner/work/Open3D/Open3D/build/vtk/src/ext_vtk/Common/DataModel/vtkPointLocator.cxx, line 845
vtkPointLocator (0x21d1800): No points to subdivide
Generic Warning: In /home/runner/work/Open3D/Open3D/build/vtk/src/ext_vtk/Filters/General/vtkIntersectionPolyDataFilter.cxx, line 2410
No Intersection between objects
ERROR: In /home/runner/work/Open3D/Open3D/build/vtk/src/ext_vtk/Filters/General/vtkDistancePolyDataFilter.cxx, line 81
vtkDistancePolyDataFilter (0x2a2ee50): No points/cells to operate on
ERROR: In /home/runner/work/Open3D/Open3D/build/vtk/src/ext_vtk/Filters/General/vtkDistancePolyDataFilter.cxx, line 81
vtkDistancePolyDataFilter (0x2a2ee50): No points/cells to operate on
```
### Expected behavior
The result of an intersection between two distant meshes should return a an empty set of points but should not crash.
### Open3D, Python and System information
```markdown
- Operating system: Ubuntu 20.04
- Python version: Python 3.8.10
- Open3D version: 0.16.0
- System architecture: x86_64
- Is this a remote workstation?: no
- How did you install Open3D?: pip
```
### Additional information
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.