Although a Face can point to any Halfedge it incidents on, I wonder if graphics software in practice have some kind of rule to decide which Halfedge to use for a certain Face. I'd imagine, for example, making Faces share the same Halfedge when possible benefits cache performance?
I think this data structure is veery cool. It's like a Linked List And when we have an edge, we can get the triangle it's adjacent to by using the twin variable and get the other edges in this triangle by using the next variable
For the Edge and Face structure, does it contains all halfedges that it incidents on, (2 halfedges for a edge, 3 for a face), or it picks a somehow special one to use?
Wouldn't this data structure take more memory compared to the triangle-neighbor data structure? however, does this data structure get rid of edge cases like filling in pixel colors when the pixel is between two triangles?
Can multiple half-edges point to the same vertex? And if so, in that case which half-edge does that vertex point to?