半边结构

 

半边结构由三个对象组成:顶点、半边、面,每一个对象都有指针指向其他对象,大致指向情况如下:

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
    
    };


    struct HE_edge
    {

        HE_vert* vert;   // vertex at the end of the half-edge
        HE_edge* pair;   // oppositely oriented adjacent half-edge 
        HE_face* face;   // face the half-edge borders
        HE_edge* next;   // next half-edge around the face
    
    };

 
    struct HE_face
    {

        HE_edge* edge;  // one of the half-edges bordering the face

    };


 

你可能感兴趣的:(struct,float,pair)