void ME_Replace_Vertex(MEdge_ptr e, MVertex_ptr oldv, MVertex_ptr nuv) { if (e->vertex[0] == oldv) { e->vertex[0] = nuv; MV_Add_Edge(nuv,e); MV_Rem_Edge(oldv,e); } else if (e->vertex[1] == oldv) { e->vertex[1] = nuv; MV_Add_Edge(nuv,e); MV_Rem_Edge(oldv,e); } else MSTK_Report("ME_Replace_Vertex","Cannot find vertex in edge",MSTK_ERROR); }
void ME_Delete_F1(MEdge_ptr e, int keep) { MEdge_Adj_F1 *adj; if (MEnt_Dim((MEntity_ptr) e) != MDELETED) { /* if edge hasnt been temporarily deleted */ if (e->vertex[0]) MV_Rem_Edge(e->vertex[0],e); if (e->vertex[1]) MV_Rem_Edge(e->vertex[1],e); } if (!keep) { adj = (MEdge_Adj_F1 *) e->adj; if (adj) { if (adj->efaces) List_Delete(adj->efaces); free(adj); } } }