所以我在一个项目中使用了OpenMesh库,并将一个EdgeHandle e传递给了一个方法。可以看到这条边连接了哪两个面吗?我试着在网上查找,但是关于openMesh的文档非常稀少,关于EdgeHandle的文档甚至更少。
发布于 2014-03-05 07:18:55
是的,OpenMesh的“文档”非常令人恼火。然而,在搜索丁丁提到的face_handle时,我发现这个页面隐藏在其中,它提供了大量有用的函数: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-01-06 15:38:29
解决这个问题并不难,
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。
https://stackoverflow.com/questions/15333030
复制相似问题