• Nicolas CHEVAUGEON's avatar
    [xFEM] replace xMesh was_created_by_tag by a static DataManager in xMesh. · f2906dd0
    Nicolas CHEVAUGEON authored
    MAIN POINTS :
        - As usual in this process of removing raw AOMD tag usage, this
          release remove yet another tag :
        was_created_by_tag(), which is use in lots of place in the library
        to refer to the entity that created the current one when it was cut.
        This commit remove the famous was_created_by_tag and replace it with
        a static DATAMANAGER inside xMesh, accessible via get_was_created_by() and
        get_const_was_created_by()
        Not suprisingly, the produced at first  some error in the test case,
        again due to some data still In the manager while the entity is already
        destroyed.
        The following point solved this issue.
        -cleaning process of xMesh and an entity of the xmesh is improved.
        In particular we rewrite the override of mMesh::del(AOMD::mEntity *)
        in xMesh, to make sure it actually cleaned all the data related to the
        entity that are owned by xMesh.
        A clear() member function is also defined that empty the mesh
        and all the Data related to it.
       - In xMesh, the DATAMANAGER implementation used can now be easily
         changed.  This is in previsison of what will be needed withe the mesh
         interface ... We need to be able to use something else than
         xAttachedDataManagerAOMD. To try with a new DATAMANAGER implementation,
        just change the definition of template type alias datamanager_t in
        xMesh. It was tested in particular with xUnorderedMapDataManager,
        and it imposed some slight changes in other files updated in this commit.
        In particular some class and function are now template on the
        DATAMANAGER implementation used.
        Testing with other implementation also reveiled some mistake in the
        implementation of .at(key) which are now corrected both in
        xUnorderedMapDataManager and xGeneralUnorderedMapDataManager.
    
    MINOR POINTS :
    
        - changing the name of the preproc guards in xMesh.h that did not
          follow the
          usual format  in Xfiles
        - Racionaliz better the usage of xMesh.get_xxdatamanager() versus
          xMesh.get_xxconstdatamanager(). This make things more clear
          regarding to what function might or might not modify the xMEsh's data.
        - mMesh.createVertex(id, point, ...) is know used almost wherever
          possible in the library, improving
          readability (and may be cleaner compiled programm)
    
    MODIFIED FILES
    	modified:   xCrack/src/CrackPostpro.cc
    	modified:   xCrack/src/IntegratorSingularCrack3D.cc
    	modified:   xCrack/src/Jint3D.cc
    	modified:   xCrack/src/Jint3D.h
    	modified:   xCrack/src/lCrack.cc
    	modified:   xCrack/src/xcFront.cc
    	modified:   xCrack/src/xcFrontManager.cc
    	modified:   xCrack/src/xcInteractionIntegralsOnCrack.h
    	modified:   xCut/xDoubleCut/src/xPhysDomain.cc
    	modified:   xCut/xDoubleCut/src/xPhysSurfCut.cc
    	modified:   xCut/xLegacySimpleCut/src/xPhysSurf.cc
    	modified:   xCut/xLegacySimpleCut/src/xRefCutToAOMD.cc
    	modified:   xExt/src/DoubleCutting.cc
    	modified:   xExt/src/SpaceLagrangeDualBoundary.h
    	modified:   xExt/src/SpaceLagrangeDualMinBoundary.cc
    	modified:   xExt/src/SpaceLagrangeDualNewBoundary.cc
    	modified:   xExt/src/SpaceLagrangeDualSimple.cc
    	modified:   xFEM/src/xApproxFunction.cc
    	modified:   xFEM/src/xEntityToEntity.cc
    	modified:   xFEM/src/xEntityToEntity.h
    	modified:   xFEM/src/xGatherMesh.cc
    	modified:   xFEM/src/xGatherMesh.h
    	modified:   xFEM/src/xLevelSet.cc
    	modified:   xFEM/src/xMesh.cc
    	modified:   xFEM/src/xMesh.h
    	modified:   xFEM/src/xMeshCut.cc
    	modified:   xFEM/src/xNonLocalInfoForKeysAndFcts.h
    	modified:   xFEM/src/xNonLocalInfoForKeysAndFcts_imp.h
    	modified:   xFEM/src/xValueCreators.h
    	modified:   xInterface/xOctree/src/AdaptOctreeToAOMD.cc
    	modified:   xInterface/xOctree/src/AdaptOctreeToAOMD.h
    	renamed:    xInterface/xOctree/src/AdaptOctreeToAOMD.cc -> xInterface/xOctree/src/AdaptOctreeToAOMD_imp.h
    	modified:   xInterface/xOctree/src/InterfaceOctreeToAOMD.cc
    	modified:   xInterface/xOctree/src/InterfaceOctreeToAOMD.h
    	renamed:    xInterface/xOctree/src/InterfaceOctreeToAOMD.cc -> xInterface/xOctree/src/InterfaceOctreeToAOMD_imp.h
    	modified:   xInterface/xOctree/src/OctreeUtilities.h
    	modified:   xInterface/xTemplateRefineMesh/src/xSplitAOMD.cc
    	modified:   xTLS/src/TLSVelocity.cc
    	modified:   xTLS/src/reInitLevelSetFromFront.cc
    	modified:   xTLS/src/reInitLevelSetFromFront.h
    	new file:   xTLS/src/reInitLevelSetFromFront_imp.h
    	modified:   xTLS/src/xAcceptNotHanging.cc
    	modified:   xTLS/src/xAcceptNotHanging.h
    	modified:   xTLS/src/xEvalWeightedDirectionalAverage.cc
    	modified:   xTLS/src/xEvalWeightedDirectionalAverageMode.cc
    	modified:   xTool/src/xGeneralUnorderedMapDataManager.h
    	modified:   xTool/src/xUnorderedMapDataManager.h
    f2906dd0