X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2FgenereMeshCalculZoneDefaut.py;fp=src%2FTools%2FblocFissure%2Fgmu%2FgenereMeshCalculZoneDefaut.py;h=a08664bad6f35931590f1e7c56c53968bbbd76cc;hb=072a73120b6db7bba2389aa7ada0cde20e22ee57;hp=0000000000000000000000000000000000000000;hpb=2cd148d0668de3bfbeeceeb7df1995bb5b39475b;p=modules%2Fsmesh.git diff --git a/src/Tools/blocFissure/gmu/genereMeshCalculZoneDefaut.py b/src/Tools/blocFissure/gmu/genereMeshCalculZoneDefaut.py new file mode 100644 index 000000000..a08664bad --- /dev/null +++ b/src/Tools/blocFissure/gmu/genereMeshCalculZoneDefaut.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +import logging +from geomsmesh import smesh +from salome.smesh import smeshBuilder + +# ----------------------------------------------------------------------------- +# --- maillage face de fissure pour identification zone de defaut + +def genereMeshCalculZoneDefaut(facefiss, minSize, maxSize): + """ + TODO: a completer + """ + logging.info('start') + + meshFissure = smesh.Mesh(facefiss) + algo2d = meshFissure.Triangle(algo=smeshBuilder.NETGEN_1D2D) + hypo2d = algo2d.Parameters() + hypo2d.SetMaxSize( maxSize ) + hypo2d.SetSecondOrder( 0 ) + hypo2d.SetOptimize( 1 ) + hypo2d.SetFineness( 2 ) + hypo2d.SetMinSize( minSize ) + hypo2d.SetQuadAllowed( 0 ) + isDone = meshFissure.Compute() + smesh.SetName(algo2d, "algo2d_zoneFiss") + smesh.SetName(hypo2d, "hypo1d_zoneFiss") + + coordsNoeudsFissure = [] + nodeIds = meshFissure.GetNodesId() + for id in nodeIds: + coords = meshFissure.GetNodeXYZ(id) + coordsNoeudsFissure.append(coords[0]) + coordsNoeudsFissure.append(coords[1]) + coordsNoeudsFissure.append(coords[2]) + return coordsNoeudsFissure