meshlib data structure


struct halfedge{


    Edge     *hedge;
    Loop     *hloop;
    Vertex   *hvert;

    HalfEdge *next;
    HalfEdge *prev;

    int     aliveh;

};

 

struct edge{

    HalfEdge  *he1;
    HalfEdge  *he2;
    Solid     *esolid;

    Edge      *next;
    Edge      *prev;

    int      alive;

};

 

根据实体网格结构,

struct solid{

   Face    *sfaces;
   Edge    *sedges;
   Vertex  *sverts;
   double   center[3];
};
struct face{
  
   Id          faceno;

   Loop      * floop;
   Solid     * fsolid;
   double      normal[3];

   Face      * next;
   Face      * prev;

   int       alivef;
};

 

 

struct vertex{

    Id        vertexno;
    HalfEdge  *vedge;
        double    gauss_cur;
    double    vcoord[3];
        double    ncoord[3];

    Vertex    *next;
    Vertex    *prev;

    int      alivev;
};

 

struct loop{
  
       HalfEdge *ledges;
       Face     *lface;

       int      alivel;
};

 

 

posted @ 2012-08-30 15:08  geometry_  阅读(405)  评论(0编辑  收藏  举报