Bring o3d.t.geometry.TriangleMesh to parity with legacy TriangleMesh
- 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](https://www.open3d.org/docs/latest/getting_started.html#development-version-pip).
- [X] I have checked the [release documentation](https://www.open3d.org/docs/release/) and the [latest documentation](https://www.open3d.org/docs/latest/) (for `main` branch).
### Proposed new feature or change
The following methods that are present in the legacy API are missing in the tensor API `o3d.t.geometry.TriangleMesh`:
* `subdivide_midpoint()`
* `paint_uniform_color()`
* addition operator `+`, and addition assignment operator `+=`
Moreover, the following C++ functions (at least) are not bound in Python, and would be useful:
* `GetVertexPositions`
* `GetVertexNormals`
* `GetVertexColors`
* `GetTriangleNormals`
* `GetTriangleColors`
I believe that making sure the tensor API does not lack anything from the legacy API is key to enable widespread transition, isn't it?
### References
_No response_
### Additional information
There is confusion among many, e.g. https://github.com/isl-org/Open3D/issues/6060#issuecomment-1531976992, https://github.com/isl-org/Open3D/discussions/6130, about the tensor vs. legacy APIs.
Also, the documentation is often lacking, e.g. the tutorial covers explicitly only the `PointCloud` part of the tensor Geomery API, not `TriangleMesh` part:

Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.