-
-
Notifications
You must be signed in to change notification settings - Fork 122
Open
Labels
status: blockedIssue or pull request is blocked by another issue or pull request, or some outside circumstanceIssue or pull request is blocked by another issue or pull request, or some outside circumstancetopic: validationInfrastructure for checking various properties of objects, making sure they are valid.Infrastructure for checking various properties of objects, making sure they are valid.type: enhancementNew features and improvements to existing featuresNew features and improvements to existing features
Description
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.
Metadata
Metadata
Assignees
Labels
status: blockedIssue or pull request is blocked by another issue or pull request, or some outside circumstanceIssue or pull request is blocked by another issue or pull request, or some outside circumstancetopic: validationInfrastructure for checking various properties of objects, making sure they are valid.Infrastructure for checking various properties of objects, making sure they are valid.type: enhancementNew features and improvements to existing featuresNew features and improvements to existing features