Non-manifold half-edge mesh

I frequently use meshmachine from @DanielPiker (and I think @will?) For creating meshes with consistent edge lengths. Recently I have needed to create some building meshes for structural analysis software which are non-manifold (for a simple case think of a box with partition walls).

Since meshmachine won’t create a non manifold mesh, my workaround has been to mesh the box and internal partitions separately, with matching lists of coincident target vertices, then joining them later. This method is problematic where target vertices are closer together than the target edge length. In this case I have been post processing to split edges and insert new vertices.

Does it make any sense for Plankton (and for that matter meshmachine) to support non-manifold meshes?
For an edge with three connected faces, I imagine there would need to be three half edges, two of which would be the same (pointing from and to the same vertices)
I’d be interested in hearing if this is plausible, and if not, what would make it problematic.

I think Half-Edge structure is not well suited for non-manifold meshes. This article describes the drawbacks with Half-Edge:

It is suggested that a so called Partial Entity Structure handles non-manifold better (I have not used that myself, and I have not seen any implementation of it either):

// Rolf

1 Like

As Rolf says, the half edge structure isn’t well suited to non manifold meshes. For the things we wanted to use it for that was a good thing. Knowing edges can only ever have a maximum of 2 connected faces simplifies lots of things.
Rather than break the half edge system to force it to support non manifold meshes, I think it would be better to look at structures designed for volumes. The approach used by the Open Volume Mesh project always looked good to me:


Ah, there they have an implementation. Good to know!

// Rolf