That's what's motivating this question. How do I handle the next and
prior edge indices - the prior and next clockwise indices - on the
boundary of the mesh. I start with a a single face, with counter
clockwise vertex ordering. In the interior, it's fairly obvious to set
the prior and next counter-clockwise edge indices. Do I need to
initialize the next clockwise and prior clockwise indices as well? It
wasn't making much sense since there is no face outside the mesh.
Anyway the book gives no details but refers to Baumgart's paper. I
have seen a digital copy of that paper but it was quite impossible to
read.
Anyway, it seems like this must be necessary. Otherwise, depending on
the order I create the mesh, I could encounter a case where I have two
faces that share a single vertex, but not enough connectivity to find
all the edges.
Or, do I need to store all edges connected to each vertex at the
vertex? This complicates the vertex data structure in an undesirable
way - with a non-constant storage requirement.
Thanks,
Dave
Do I need to
initialize the next clockwise and prior clockwise indices as well?
Or, do I need to store all edges connected to each vertex at the
vertex? This complicates the vertex data structure in an undesirable
way - with a non-constant storage requirement.
http://en.wikipedia.org/wiki/Polygon_mesh
has a winged-edge example half-way done the page showing
all that's stored. Notice there may be many incoming edges to
a vertex. So a given edge may be adjacent to many other
edges. In the edge structure though we only store four adjacent
edges, the CCW and CW next and prev; however, for each vertex object we store the complete
edge list. Start at e0 in the figure on that web. From the edge structure
I know I am connected to vertex v1. In clockwise order (clockwise predecessor) after e0 entering
v1, we have edge 10. Here we are going CW around face 1. In counter-clockwise order (CCW successor)
we have edge 20. Here we are going CCW around face 12. From edge 20 I could find the other
edge connected to v1 by looking at edge 20's clockwise edge connected to v1 (clockwise successor).
For a figure with more edges connected to v1 I could keep doing this to get the other edges. In
this was I would have to look at the vertex list.
Chris