• Benoît LÉ's avatar
    Bug correction following removing of xMesh::del + bug correction · 4ba05f8e
    Benoît LÉ authored
    In TLSGeomInterfaceSignedVectorDistanceFunction, the link-on-front-based modes
    merging uses an xAttachedDataManagerAOMD (called mode_cut_edge in the code) to store, for each iso-zero node of the
    Fast Marching mesh, the parent edge (or node) of the computing mesh. This xAttachedDataManagerAOMD
    is created at the begining of the FM mesh creation, when the iso-zero nodes are
    copied into the FM mesh. Then the FM mesh is created, and after that the modes
    are merged.
    
    The problem is that during the FM mesh creation, some nodes are merged, which
    may in some cases delete some mEntity*, which are keys in mode_cut_edge. Before
    the commit on xMesh::del, it was not a problem, probably because in the previous
    version, the pointer to mEntity was not deleted after calling xMesh::del.
    However after this commit the computation abort in mode_cut_edge destructor (probably because we try to call
    a delete on an mEntity which does not exists anymore).
    
    This has been fixed by properly deleting data from mode_cut_edge before deleting
    the associated key.
    
    Also, minor fix when dealing with warped nodes.
    4ba05f8e