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

Remove dependency on trimesh #7

Open
clbarnes opened this issue Jun 2, 2020 · 1 comment
Open

Remove dependency on trimesh #7

clbarnes opened this issue Jun 2, 2020 · 1 comment

Comments

@clbarnes
Copy link
Owner

clbarnes commented Jun 2, 2020

Trimesh is currently used for optional mesh validation/ fixing. Ideally would eventually show up in ncollide dimforge/ncollide#318

Currently handled by trimesh:

  • Winding
  • Holes

Other possible validations:

  • Self-intersections
  • Zero-area triangles
  • Degenerate or unused vertices, triangles
@clbarnes
Copy link
Owner Author

clbarnes commented Nov 30, 2020

  1. Degenerate vertices (duplicates in vertices)
  2. Unused vertices (any vertices not referred to in triangles)
  3. Inconsistent winding (parallel edges); could also be edge-to-edge self-intersection
  4. Holes (edge with 0 antiparallel partners)
  5. Zero-area triangles (given no degenerate vertices, triangle has >=2 vertices at the same index)
  6. Degenerate triangles (given consistent winding, two triangles have the same vertices)
  7. Incorrect winding (given consistent winding, ray cast from outside the AABB at an arbitrary triangle hits a backface)

Self-intersections exist when an edge intersects with a triangle other than those it ought to?

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

No branches or pull requests

1 participant