void ME_Delete(MEdge_ptr e, int keep) { RepType RTYPE = MEnt_RepType((MEntity_ptr) e); Mesh_ptr mesh; (*ME_Delete_jmp[RTYPE])(e,keep); if (MEnt_Dim((MEntity_ptr) e) != MDELETED) { mesh = MEnt_Mesh((MEntity_ptr) e); if (mesh) { #ifdef MSTK_HAVE_MPI if (ME_PType(e) == PGHOST) MESH_Rem_GhostEdge(mesh,e); else #endif MESH_Rem_Edge(mesh,e); } MEnt_Set_DelFlag((MEntity_ptr) e); } if (!keep) { MEnt_Free_CmnData((MEntity_ptr) e); free((MEntity_ptr) e); } }
void MR_Delete(MRegion_ptr r, int keep) { RepType RTYPE = MEnt_RepType((MEntity_ptr) r); Mesh_ptr mesh; (*MR_Delete_jmp[RTYPE])(r,keep); if (MEnt_Dim((MEntity_ptr) r) != MDELETED) { mesh = MEnt_Mesh((MEntity_ptr) r); if (mesh) { #ifdef MSTK_HAVE_MPI if (MR_PType(r) == PGHOST) MESH_Rem_GhostRegion(mesh,r); else #endif MESH_Rem_Region(mesh,r); } MEnt_Set_DelFlag((MEntity_ptr) r); } if (!keep) { MEnt_Free_CmnData((MEntity_ptr) r); free(r); } }
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); } } }
void ME_Restore(MEdge_ptr e) { RepType RTYPE = MEnt_RepType((MEntity_ptr) e); Mesh_ptr mesh = MEnt_Mesh((MEntity_ptr) e); #ifdef DEBUG if (MEnt_Dim((MEntity_ptr) e) != MDELETED) { MSTK_Report("ME_Restore", "Trying to restore edge that is not deleted",MSTK_WARN); return; } #endif MEnt_Rem_DelFlag((MEntity_ptr) e); #ifdef MSTK_HAVE_MPI if (ME_PType(e) == PGHOST) MESH_Add_GhostEdge(mesh,e); else #endif MESH_Add_Edge(mesh,e); (*ME_Restore_jmp[RTYPE])(e); }
void MR_Restore(MRegion_ptr r) { RepType RTYPE = MEnt_RepType((MEntity_ptr) r); Mesh_ptr mesh = MEnt_Mesh((MEntity_ptr) r); #ifdef DEBUG if (MEnt_Dim((MEntity_ptr) r) != MDELETED) { MSTK_Report("MR_Restore", "Trying to restore region that is not deleted",MSTK_WARN); return; } #endif MEnt_Rem_DelFlag((MEntity_ptr) r); #ifdef MSTK_HAVE_MPI if (MR_PType(r) == PGHOST) MESH_Add_GhostRegion(mesh,r); else #endif MESH_Add_Region(mesh,r); (*MR_Restore_jmp[RTYPE])(r); }