图6.19 翼边结构
翼边结构程序实现由五种结点Solid、Face、Loop、Edge和Vertex组成。下面对各结点简略描述如下:
Solid 构成一个物体的根节点。具体包括:
Solid ID;
指向face的链表指针;
指向edge的链表指针;
指向vertex的链表指针;
Face 表示多面体的一个小平面,包括:
Face ID ;
指向face的链表首元素的指针;
指向face的下一元素的指针;
指向face的外环指针;
Loop 表示一个面的外环和所有内环的双向链表。包括:
LoopID;
指向Loop的后继指针;
指向Loop的前驱指针;
Edge 由Edge节点构成,是整个数据结构的核心,每个Edge结点代表一条边,包括:
Edge ID ;
Edge的起始顶点指针;
Edge的终止顶点指针;
Edge的右邻面的外环指针;
Edge的左邻面的外环指针;
Edge的右方向向前邻边指针;
Edge的右方向向后邻边指针;
Edge的左方向向前邻边指针;
Edge的左方向向后邻边指针;
Vertex 由vertex节点构成,包括:
Vertex ID ;
顶点坐标(x,y,z) ;
指向与该vertex相连的第一条边指针;
指向下一个Vertex结点指针;
|