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

collapse: add fixup callback restore halfedge data #135

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lfyMeta
Copy link

@lfyMeta lfyMeta commented Nov 28, 2022

Fixes #134

In collapseEdgeTriangular, only whole degenerate edges are removed, so we can maintain the implicit sibling property. However, this results in losing at least one halfedge that should remain in the neighborhood after collapse. The lost halfedge is papered over with one of the halfedges from another edge, but this is incorrect if we want to maintain invariants on per-halfedge or per-corner data, such as UV coordinates.

This commit provides a callback, fixup, to collapseEdgeTriangular so that the user can restore the lost data

In collapseEdgeTriangular, only whole degenerate edges are removed, so
we can maintain the implicit sibling property. However, this results in
losing at least one halfedge that should remain in the neighborhood
after collapse. The lost halfedge is papered over with one of the
halfedges from another edge, but this is incorrect if we want to
maintain invariants on per-halfedge or per-corner data, such as UV
coordinates.

This commit provides a callback, fixup, to collapseEdgeTriangular so
that the user can restore the lost data
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

Successfully merging this pull request may close these issues.

collapseEdgeTriangular loses halfedge data
1 participant