void trisect_border_halfedge( Polyhedron& P, Halfedge_handle e) { CGAL_precondition( e->is_border()); // Create two new vertices on e. e = e->prev(); P.split_vertex( e, e->next()->opposite()); P.split_vertex( e, e->next()->opposite()); e = e->next(); // We use later for the smoothing step that e->next()->next() // is our original halfedge we started with, i.e., its vertex is // from the unrefined mesh. Split the face twice. Halfedge_handle h = e->opposite()->next(); P.split_facet( e->next()->next()->opposite(), h); P.split_facet( e->next()->opposite(), h); }
void flip_edge( Polyhedron& P, Halfedge_handle e) { if ( e->is_border_edge()) return; Halfedge_handle h = e->next(); P.join_facet( e); P.split_facet( h, h->next()->next()); }
void geometryUtils::subdivide_flip_edge(Polyhedron& P, Halfedge_handle e) { Halfedge_handle h = e->next(); P.join_facet(e); P.split_facet(h, h->next()->next()); }