Пример #1
0
// swaps an edge (a.org, b.org) with (a.dst, b.dst)
void swap(edge er) {
    Edge_Record a, b;
    a = er.oprev();
    b = er.sym().oprev();
    splice(er, a);
    splice(er.sym(), b);
    splice(er, a.lnext());
    splice(er.sym(), b.lnext());
    er.get_qr().v = a.sym().get_qr().v;
    er.sym().get_qr().v = b.sym().get_qr().v;
}
Пример #2
0
// removes an edge er, deletes its corresponding quadedge.
void delete_edge(edge er) {
    splice(er, er.oprev());
    splice(er.sym(), er.sym().oprev());
    delete er.q;
}