半边数据结构网格 - OpenMesh C ++ - 边缘的边界半边

时间:2017-11-05 21:51:31

标签: c++

在网格 - 半边数据结构中,有半边

在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个半边 边界?

1 个答案:

答案 0 :(得分:0)

我可以回答你的问题:

就我在OpenMesh数据结构中探索主题而言,所有边都被分成2个半边,包括网格边界上的边。事实上,边缘不存在从字面上讲,只有一对半边缘。

如上所述,我只使用OpenMesh库,并且我不了解使用半边的其他库和数据结构的行为。

希望这有帮助。