我正在制作切片功能,可以在y长度上移除部分网格。当我尝试删除网格的移除面边缘时问题开始,它会进入无限循环。
问题出现的地方!
Publish
当我迭代时,半音,它按照应有的方式迭代,但当我尝试删除半音时,转换为
remove_edge(Edge_index ed)
它进入无限循环。
任何人都可以解释为什么会这样做,我该如何解决?
完整代码!
//removes edge - puts in infinite loop
BOOST_FOREACH(halfEdge_descriptor hed, halfedges_around_face(mesh.halfedge(fd), mesh)){
edge_descriptor ed = mesh.edge(hed);
mesh.remove_edge(ed);
}
答案 0 :(得分:1)
这是一个经典错误:删除您正在迭代的元素。在这种特殊情况下,您在迭代面的边缘时删除边。您不太可能找到停止迭代的初始边缘,因此无限循环。