因此,我将 OpenMesh 库用于项目,并将 EdgeHandle e 传递给方法。是否有可能看到这条边连接了哪两个面?我尝试在网上查找,但 openMesh 的文档非常稀少,而 EdgeHandle 的内容甚至更稀少。
问问题
555 次
2 回答
2
是的,OpenMesh 的“文档”非常令人恼火。但是,通过搜索face_handle
tintin提到的,我发现这个页面隐藏在其中,它提供了大量有用的功能:
http: //openmesh.org/Documentation/OpenMesh-2.4-Documentation/classOpenMesh_1_1Concepts_1_1KernelT.html
使用那里找到的东西,以下对我有用:
FaceHandle a = mesh.face_handle(mesh.halfedge_handle(e,0));
FaceHandle b = mesh.face_handle(mesh.halfedge_handle(e,1));
(从技术上讲,我将右侧包含在一个函数调用中,所以我没有完全按照编写的方式尝试过。至少右侧应该返回某种形式的 FaceHandle。)
于 2014-03-04T23:18:54.867 回答
0
处理这件事并不难,
HalfedgeHandle halfedge_handle(VertexHandle _vh) const {
return vertex(_vh).halfedge_handle_;
}
使用此函数,您将能够使用 edge_handle 生成半边句柄。你可以
mymesh.face_handle(_hh);
mesh.face_handle(mesh.opposite_halfedge_handle(_hh));
得到你需要的两个 face_handle。
于 2014-01-06T07:38:29.477 回答