半边数据结构网格 - OpenMesh C++ - 边中的边界半边
Half Edge data structure mesh - OpenMesh C++ - Boundary halfedges in edge
在网格 - 半边数据结构中,有边和半边。
在 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);
}
如果一对中只有一个半边存在,这个函数会返回前半边吗?
伪代码的最后一行是否对边界边有效太?
有多少条半边边界边?
半边数据结构中的边是否在边界?
我可以部分回答你的问题:
就我在 OpenMesh 数据结构中探索的主题而言,所有边都被分成 2 条半边,包括网格边界上的边。事实上,从字面上讲,边并不存在,只有成对的半边存在。
因此,我只使用 OpenMesh 库,我不知道使用半边的其他库和数据结构的行为。
希望这有帮助。
相关文章:
- std::当在256字节边界上写入整数时,流的奇怪行为
- 使用不变量来确定二分搜索中的边界条件
- 跨 DLL 边界访问虚拟方法是否安全/可能?
- 在 64 位边界上对齐C++结构数组?
- std::数组边界检查如何工作?
- CGAL:如何创建填充边界曲线的曲面网格?
- 在 c++ 中是否允许创建具有运行时边界的数组?
- 是否可以跨 dll 边界返回常量引用/指向 std::vectors?
- C++11:16 字节原子<>变量是否在 16 字节边界上自动对齐,从而允许CMPXCHG16B指令?
- 转换引用对象的边界框?
- 将迭代器作为 3 个元素的滑动窗口,可以超调边界(可能使用 Boost)
- 算法设计:用边界数字表示 2D 网格的最佳方式,以C++?
- 查找矩形的边界集
- 在sfml中获取可转换的边界框
- SystemC sc_signal数组内存边界
- 如何处理libstdc++跨执行边界抛出的异常
- BoostSpirit.Qi-针对原始数据类型进行边界检查
- 在运行时为随机分布类成员设置最小和最大边界?
- Java 中的边界椭圆实现
- map int<-->int, 1:N, 已知边界