半边结构由三个对象组成:顶点、半边、面,每一个对象都有指针指向其他对象,大致指向情况如下:
1、顶点对象:包含一个指针指向离开它的半边vertex->leaving.
2、半边对象:包含一个指向它离开的顶点的指针halfedge->orgin。
一个它所对应的面(左手定则)halfedge->face.
一个指向它的twins的指针,halfedge->twins
一个指向它的下一条半边的指针,halfedge->next.
3、面对象:包含一个指向与它对应的半边的指针,face->halfedge.
伪代码如下:
struct HE_vert
{
float x;
float y;
float z;
HE_edge* edge; // one of the half-edges emantating from the vertex
};