mirror of https://github.com/CGAL/cgal
improve delete_all()
use Compact_container::clear() that will deallocate by blocks and clear the freelist
This commit is contained in:
parent
4788732815
commit
69f91992ee
|
|
@ -1230,53 +1230,12 @@ public:
|
||||||
/*! Delete all DCEL features. */
|
/*! Delete all DCEL features. */
|
||||||
void delete_all()
|
void delete_all()
|
||||||
{
|
{
|
||||||
// Free all vertices.
|
vertices.clear();
|
||||||
Vertex_iterator vit = vertices.begin(), v_curr;
|
halfedges.clear();
|
||||||
while (vit != vertices.end()) {
|
faces.clear();
|
||||||
v_curr = vit;
|
out_ccbs.clear();
|
||||||
++vit;
|
in_ccbs.clear();
|
||||||
delete_vertex(&(*v_curr));
|
iso_verts.clear();
|
||||||
}
|
|
||||||
|
|
||||||
// Free all halfedges.
|
|
||||||
Halfedge_iterator hit = halfedges.begin(), h_curr;
|
|
||||||
while (hit != halfedges.end()) {
|
|
||||||
h_curr = hit;
|
|
||||||
++hit;
|
|
||||||
_delete_halfedge(&(*h_curr));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Free all faces.
|
|
||||||
Face_iterator fit = faces.begin(), f_curr;
|
|
||||||
while (fit != faces.end()) {
|
|
||||||
f_curr = fit;
|
|
||||||
++fit;
|
|
||||||
delete_face(&(*f_curr));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Free all outer CCBs.
|
|
||||||
typename Outer_ccb_list::iterator ocit = out_ccbs.begin(), oc_curr;
|
|
||||||
while (ocit != out_ccbs.end()) {
|
|
||||||
oc_curr = ocit;
|
|
||||||
++ocit;
|
|
||||||
delete_outer_ccb(&(*oc_curr));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Free all inner CCBs.
|
|
||||||
typename Inner_ccb_list::iterator icit = in_ccbs.begin(), ic_curr;
|
|
||||||
while (icit != in_ccbs.end()) {
|
|
||||||
ic_curr = icit;
|
|
||||||
++icit;
|
|
||||||
delete_inner_ccb(&(*ic_curr));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Free all isolated vertices.
|
|
||||||
typename Iso_vert_list::iterator ivit = iso_verts.begin(), iv_curr;
|
|
||||||
while (ivit != iso_verts.end()) {
|
|
||||||
iv_curr = ivit;
|
|
||||||
++ivit;
|
|
||||||
delete_isolated_vertex(&(*iv_curr));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue