What is the algorithm used to create split edges?
You can read it here and lower level functions here.
Roughly, it is something like:
- tag all the edges that need to be split, and the vertices at either end of those edges
- for each edge e in the mesh: if e is tagged: for each vertex v in e: if v is still tagged:
- untag v
- split edge e at vertex v (this involves a lot of things in the low level BMesh structure, too much to explain here, especially since I don’t know if that’s what you care about)