Although I understand the general idea of traversing edges like this (and similar for the previous slide), I'm not sure how you would do the bookkeeping to make sure each edge is visited exactly once. In DFS for example we would keep a visited data structure. Is something similar being used in mesh traversal algorithms?
I think that "next" of the edge always refers to the edge next to it in counterclockwise direction. So if we use twin of the current edge, it means that we go to the next triangle. Then we can call next of the twin and goes to a new "real" edge. It's like we traverse all the edges around the vertex in clockwise direction. Do you mean we need a record variable to see if we go back to the original edge? Please correct me if I'm wrong.
Does the Half-edge structure assume all consistent directions, or we are assigning a direction by the vertex and next feature? In my understanding, halfedge is a directed edge from a vertex A o another B in a surface F1 with a twin from vertex B to vertex A in surface F2 neighbor to F1, sharing edge E. And does all edges around a vertex only consider halfedge point out from the vertex?