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 objects which have distinct positions in a lower dimension, don't map to the same positions in higher dimensions #2374

Open
hannobraun opened this issue Jun 6, 2024 · 0 comments
Labels
topic: validation Infrastructure for checking various properties of objects, making sure they are valid. type: feature New features and improvements to existing features

Comments

@hannobraun
Copy link
Owner

It is possible to construct objects that exhibit the attribute mentioned in the title. Here are two examples of this:

  • A half-edge that is a full circle. Its vertices will have distinct positions in the curve's 1-dimensional space (at 0 and 1 turns), but map to the same position in 2D and 3D space.
  • A single face that makes up the side wall of a cylinder. All of its bounding half-edges are distinct in the surface's 2-dimensional space, but two of them map to the same position in 3D space (at the "seam" of the side wall).

As of this writing, this actually works, but that's more an artifact of how weird the current geometry system is, and not really an advantage. It's starting to cause trouble. See #2290 (comment) for details.

We should have distinct validation checks for vertices and half-edges, which need to be implemented on higher-dimensional objects like half-edges and faces. I haven't thought this completely through, so I don't know if this specifically would be enough, or if there's more subtlety to it.

@hannobraun hannobraun added type: feature New features and improvements to existing features topic: validation Infrastructure for checking various properties of objects, making sure they are valid. labels Jun 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: validation Infrastructure for checking various properties of objects, making sure they are valid. type: feature New features and improvements to existing features
Projects
None yet
Development

No branches or pull requests

1 participant