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

Validate that coordinate systems of curve definitions match #1973

Closed
hannobraun opened this issue Aug 1, 2023 · 1 comment · Fixed by #1982
Closed

Validate that coordinate systems of curve definitions match #1973

hannobraun opened this issue Aug 1, 2023 · 1 comment · Fixed by #1982
Assignees
Labels
topic: core Issues relating to core geometry, operations, algorithms type: feature New features and improvements to existing features

Comments

@hannobraun
Copy link
Owner

The curve that a HalfEdge is on is defined in local surface coordinates, through its path field. There are usually multiple such local definitions that refer to the same curve. HalfEdge refers to a Curve object (and as of this writing, still to a redundant GlobalEdge object, but that's on its way out; see #1937), to keep track which edges lie on the same curve.

There are validation checks to make sure that this all works properly, i.e. that coincident HalfEdges refer to the same Curve, and that HalfEdges that refer to the same curve are coincident. However, there is currently no validation check to make sure that the local path coordinate systems match. The path coordinate 0 of one edge might refer to a different point of the curve than the coordinate 0 on another edge.

This is turning out to be problematic (see #1968, for example; but this also affects my work on #1937). I think it's reasonable to expect all of those local coordinate systems to match each other, so each curve has a defined coordinate system. I'm not sure how difficult it would be to make this change, but a reasonable first step might be to enforce this through a validation check and see how much breaks.

Since this directly affects my work on #1937, I'm looking into this now.

@hannobraun hannobraun added type: feature New features and improvements to existing features topic: core Issues relating to core geometry, operations, algorithms labels Aug 1, 2023
@hannobraun hannobraun self-assigned this Aug 1, 2023
@hannobraun
Copy link
Owner Author

I have a validation test for this in my local branch. I can confirm that pretty much all shells in existence are broken 😂

No idea yet how hard this is to fix, and I've run out of time for today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: core Issues relating to core geometry, operations, algorithms type: feature New features and improvements to existing features
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant