diff --git a/vcg/complex/algorithms/cut_tree.h b/vcg/complex/algorithms/cut_tree.h index abc1b5b2..05c66e38 100644 --- a/vcg/complex/algorithms/cut_tree.h +++ b/vcg/complex/algorithms/cut_tree.h @@ -147,14 +147,11 @@ void Retract(KdTree &kdtree, MeshType &t) std::stack vertStack; // Put on the stack all the vertex with just a single incident edge. - for(VertexIterator vi=t.vert.begin();vi!=t.vert.end();++vi) - { - std::vector starVec; - edge::VEStarVE(&*vi,starVec); - if(starVec.size()==1)// && !IsBoundaryVertexOnBase(kdtree, vi->cP())) - vertStack.push(&*vi); - } - + ForEachVertex(t, [&](VertexType &v){ + if(edge::VEDegree(&v) ==1) + vertStack.push(&v); + }); + tri::UpdateFlags::EdgeClearV(t); tri::UpdateFlags::VertexClearV(t);