isl-org / isl-org/Open3D

remove_triangles_by_mask doesn't adjust mesh triangle_material_ids values

Open
#5,217 0 comments 0 reactions 0 assignees View on GitHub
bug
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

The function `remove_triangles_by_mask` doesn't work for objects with multiple texture materials.
`remove_triangles_by_mask` does correctly adjusts the `triangle`, `triangle_uvs` and `triangle_normals` arrays.

### Steps to reproduce the bug

```python
#Open mesh with multiple textures, delete faces, and then save the mesh:

mesh = o3d.io.read_triangle_mesh(mesh_path)
mask = ...
mesh.remove_triangles_by_mask(mask)
o3d.io.write_triangle_mesh(out_path, mesh, write_triangle_uvs=True)
```

### Error message

_No response_

### Expected behavior

triangle_material_ids is also adjusted.

### Open3D, Python and System information

```markdown
- Operating system: Ubuntu 20.04 / macOS 10.15 / Windows 10 64-bit
- Python version: Python 3.8 / output from `import sys; print(sys.version)`
- Open3D version: output from python: `print(open3d.__version__)`
- System architecture: x86 / arm64 / apple-silicon / jetson / rpi
- Is this a remote workstation?: yes or no
- How did you install Open3D?: pip / conda / build from source
- Compiler version (if built from source): gcc 7.5 / clang 7.0
```

### Additional information

_No response_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.