在网格 - 半边数据结构中,有边和半边。
在OpenMesh库中没有必要,edge通常有一个给出前半边的方法:
Halfedge h = mesh.halfedge(e, 0); // e - is an edge in mesh; 0 - id of halfedge in edge
对于相反的边缘,我使用:
Halfedge h = mesh.halfedge(e, 1);
此边缘函数在库中如下所示:
/// returns the \c i'th halfedge of edge \c e. \c i has to be 0 or 1.
Halfedge halfedge(Edge e, unsigned int i) const
{
assert(i<=1);
return Halfedge((e.idx() << 1) + i);
}
如果一对中只有一条半边存在,此函数会返回前半边吗?
伪代码的最后一行是否对边界边缘有效 太
有多少个半边边界边缘?
半边数据结构中的边是否有1或2个半边 边界?
答案 0 :(得分:0)
我可以回答你的问题:
就我在OpenMesh数据结构中探索主题而言,所有边都被分成2个半边,包括网格边界上的边。事实上,边缘不存在从字面上讲,只有一对半边缘。
如上所述,我只使用OpenMesh库,并且我不了解使用半边的其他库和数据结构的行为。
希望这有帮助。