三角形网格中边缘的翻转以及通过连接两个相邻顶点来折叠边缘。
翻转边
考虑到三角形网格的两个相邻面,内边缘恰好存在两种不同的配置。 调用OpenMesh :: TriConnectivity :: flip(EdgeHandle _eh)函数会将指定的边缘翻转到相反的方向,如下图所示。
具体的应用示例:
// Add some vertices
TriMesh::VertexHandle vhandle[4];
vhandle[0] = mesh.add_vertex(MyMesh::Point(0, 0, 0));
vhandle[1] = mesh.add_vertex(MyMesh::Point(0, 1, 0));
vhandle[2] = mesh.add_vertex(MyMesh::Point(1, 1, 0));
vhandle[3] = mesh.add_vertex(MyMesh::Point(1, 0, 0));
// Add two faces
std::vector<TriMesh::VertexHandle> face_vhandles;
face_vhandles.push_back(vhandle[2]);
face_vhandles.push_back(vhandle[1]);
face_vhandles.push_back(vhandle[0]);
mesh.add_face(face_vhandles);
face_vhandles.clear();
face_vhandles.push_back(vhandle[2]);
face_vhandles.pu