Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bring o3d.t.geometry.TriangleMesh to parity with legacy TriangleMesh #7137

Open
3 tasks done
joseph-sch opened this issue Jan 13, 2025 · 1 comment
Open
3 tasks done

Comments

@joseph-sch
Copy link

Checklist

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. #6060 (comment), #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:

image

@timohl
Copy link
Contributor

timohl commented Jan 14, 2025

Moreover, the following C++ functions (at least) are not bound in Python, and would be useful:

* `GetVertexPositions`

* `GetVertexNormals`

* `GetVertexColors`

* `GetTriangleNormals`

* `GetTriangleColors`

I think those are covered by GetVertexAttr and GetTriangleAttr.
So, similar to o3d.t.geometry.PointCloud.point.positions there is o3d.t.geometry.vertex.positions.
Point cloud also does not provide explicit getters.
However, the documentation is lacking descriptions for .material, .triangle, and .vertex.

Otherwise, I agree, that the tensor stuff needs improvements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants