Skip to content

feat: Provide boundary loop support for SurfaceMesh #226

@kcrane-rbx

Description

@kcrane-rbx

Currently, SurfaceMesh does not encode boundary loops, as indicated by this warning:

Image

The reason is that, in general, boundary loops in a nonmanifold complex do not necessarily define a collection of disjoint loops. See the example below, for instance, where either (i) "outer" halfedges would have to be assigned to more than one boundary loop or (ii) a subset of possible loops would have to be chosen arbitrarily.

Image

Still, for boundary loops of a SurfaceMesh that are well-defined, this approach feels like a bit of a cop-out. A reasonable policy might be:

  • If a collection of boundary edges makes an unambiguous loop, add it to the set of boundary loops.
  • Otherwise, retain the current behavior: these edges are marked as boundary edges, but do not belong to any boundary loop.

This policy is indeed harder to understand than "there are no boundary loops on SurfaceMesh." But maybe still strikes a good balance between simplicity and utility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions