If I'm not mistaken, the quadedge data structure seems to be superior when you don't really care about the vertices of your mesh. It seems that way for me, because traveling face-to-face is just traversing an edge (finding a neighbor) in this representation; however, going from one vertex to the next would be like traveling from a "face" of your representation over an edge to another "face".
Phlip9
Are non-halfedges ever used in practice? If so, what is a good example?
hesper
I still feel like you can use corner tables to represent non-manifolds. I guess it has something to do with how exactly we represent a corner. Don't we need at least 2 edges to define a corder?
@Phlip9 There are certainly situations in which one may not want to use a halfedge data structure. For example, the halfedge datastructure is unable to represent certain geometries, such as a Mobius strip or a Klein bottle, even though these are manifolds. The reason is due to problems that arise when dealing with non-orientable surfaces. There are other alternate data structures (e.g., quadedge) that can handle such geometry.
@hesper Here is the paper that proposed corner tables. It is designed for manifold (and orientable) meshes, but can be extended to support certain non-manifold meshes "through minor modifications".
If I'm not mistaken, the quadedge data structure seems to be superior when you don't really care about the vertices of your mesh. It seems that way for me, because traveling face-to-face is just traversing an edge (finding a neighbor) in this representation; however, going from one vertex to the next would be like traveling from a "face" of your representation over an edge to another "face".
Are non-halfedges ever used in practice? If so, what is a good example?
I still feel like you can use corner tables to represent non-manifolds. I guess it has something to do with how exactly we represent a corner. Don't we need at least 2 edges to define a corder?
https://en.wikipedia.org/wiki/Dual_graph
@Phlip9 There are certainly situations in which one may not want to use a halfedge data structure. For example, the halfedge datastructure is unable to represent certain geometries, such as a Mobius strip or a Klein bottle, even though these are manifolds. The reason is due to problems that arise when dealing with non-orientable surfaces. There are other alternate data structures (e.g., quadedge) that can handle such geometry.
@hesper Here is the paper that proposed corner tables. It is designed for manifold (and orientable) meshes, but can be extended to support certain non-manifold meshes "through minor modifications".