do no collapse constrained edges

At the same time I removed halfedge_and_opp_removed since we don't
know prior to the collapse which edges are removed.
The only thing done by the function is to reset the status. This
is not an issue to remove it because halfedge_added is called
each time a new edge is created, thus a previous status cannot
be recovered by error.
This commit is contained in:
Sébastien Loriot 2018-05-23 09:07:13 +02:00
parent be42fa9147
commit f03f2176dd
1 changed files with 1 additions and 13 deletions

View File

@ -764,12 +764,6 @@ namespace internal {
if (!mesh_border_case_opp)
merge_status(en_p, s_epo_p, s_ep_p);
halfedge_and_opp_removed(he);
if (!mesh_border_case)
halfedge_and_opp_removed(prev(he, mesh_));
if (!mesh_border_case_opp)
halfedge_and_opp_removed(prev(opposite(he, mesh_), mesh_));
//constrained case
bool constrained_case = is_constrained(va) || is_constrained(vb);
if (constrained_case)
@ -786,7 +780,7 @@ namespace internal {
//perform collapse
Point target_point = get(vpmap_, vb);
vertex_descriptor vkept = CGAL::Euler::collapse_edge(e, mesh_);
vertex_descriptor vkept = CGAL::Euler::collapse_edge(e, mesh_, ecmap_);
put(vpmap_, vkept, target_point);
++nb_collapses;
@ -1826,12 +1820,6 @@ private:
set_status(h, s);
}
void halfedge_and_opp_removed(const halfedge_descriptor& h)
{
set_status(h,MESH);
set_status(opposite(h, mesh_),MESH);
}
std::size_t nb_valid_halfedges() const
{
return static_cast<std::size_t>(