X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FTools%2FZCracksPlug%2FutilityFunctions.py;h=e7aab2a282ed156a574a073e4e4ea7846096a55e;hb=694f17004aeb6db929bd01f0188afabce3af5b6d;hp=3de3a7e2db51d72e2732e6a4577a2c3804597b03;hpb=5260bd00bd51567f6137d5ea7ae0564464c4290a;p=modules%2Fsmesh.git diff --git a/src/Tools/ZCracksPlug/utilityFunctions.py b/src/Tools/ZCracksPlug/utilityFunctions.py index 3de3a7e2d..e7aab2a28 100644 --- a/src/Tools/ZCracksPlug/utilityFunctions.py +++ b/src/Tools/ZCracksPlug/utilityFunctions.py @@ -17,11 +17,11 @@ def calcCoordVectors(normalIN, directionIN): def testStrictRange(x, inf=0.0, sup=False): test=False - c1=(type(x)==list) + c1=(isinstance(x, list)) if c1: c2=(len(x)==1) if c2: - c3=(type(x[0])==type(inf)) + c3=(isinstance(x[0], type(inf))) if c3: c4=(x[0]>inf) c5=True @@ -33,24 +33,24 @@ def testStrictRange(x, inf=0.0, sup=False): def test3dVector(x): test=False - c1=(type(x)==list) + c1=(isinstance(x, list)) if c1: c2=(len(x)==3) if c2: - c3=(type(x[0])==float) - c4=(type(x[1])==float) - c5=(type(x[2])==float) + c3=(isinstance(x[0], float)) + c4=(isinstance(x[1], float)) + c5=(isinstance(x[2], float)) if c3 and c4 and c5: test=True return(test) def testRange(x, inf=0.0, sup=False): test=False - c1=(type(x)==list) + c1=(isinstance(x, list)) if c1: c2=(len(x)==1) if c2: - c3=(type(x[0])==type(inf)) + c3=(isinstance(x[0], type(inf))) if c3: c4=(x[0]>=inf) c5=True @@ -131,11 +131,10 @@ def meshCrack(geomObject, minSize, maxSize, chordal, dim): import salome salome.salome_init() - theStudy = salome.myStudy import SMESH, SALOMEDS from salome.smesh import smeshBuilder - smesh = smeshBuilder.New(theStudy) + smesh = smeshBuilder.New() Maillage = smesh.Mesh(geomObject) if dim==3: @@ -173,12 +172,17 @@ def extendElsets(meshFile, outFile=None): import SMESH, salome #salome.salome_init() - theStudy = salome.myStudy from salome.smesh import smeshBuilder - smesh = smeshBuilder.New(theStudy) + smesh = smeshBuilder.New() ([mesh], status) = smesh.CreateMeshesFromMED(meshFile) - + + if mesh.NbVolumes()>0: + case2D=False + mesh.Reorient2DBy3D( [ mesh ], mesh, 1 ) + else: + case2D=True + mesh=cleanGroups(mesh) # Node color status @@ -227,7 +231,7 @@ def extendElsets(meshFile, outFile=None): if len(front)==0: crackOnly=False if crackOnly: - mesh.ExportMED(outFile, 0, SMESH.MED_V2_2, 1, None ,1) + mesh.ExportMED(outFile) return('crack') # Propagates color using elem connectivity @@ -298,7 +302,7 @@ def extendElsets(meshFile, outFile=None): mesh.MakeGroupByIds('Extended_side%d' %n ,SMESH.EDGE,grElemList[2][n]) if outFile==None: outFile=meshFile - mesh.ExportMED(outFile, 0, SMESH.MED_V2_2, 1, None ,1) + mesh.ExportMED(outFile) return(True) @@ -339,96 +343,11 @@ def getMaxAspectRatio(tmpdir): return(float(maxAR)) -#def extendElsets(meshFile): - #if not path.isfile(meshFile): - #message('E','Mesh med file is not valid') - #return(-1) - - #import SMESH, salome - ##salome.salome_init() - #theStudy = salome.myStudy - #from salome.smesh import smeshBuilder - #smesh = smeshBuilder.New(theStudy) - - #([mesh], status) = smesh.CreateMeshesFromMED(meshFile) - - ## Node color status - #nodeList=mesh.GetNodesId() - #colorList=[0]*len(nodeList) - - ## Init using SIDE0 SIDE1 - #for group in mesh.GetGroups(): - #if group.GetType()==SMESH.FACE : - #color=0 - #if group.GetName()[0:4]=='SIDE0' : - #color=1 - #elif group.GetName()[0:4]=='SIDE1' : - #color=2 - #else : continue - ## Get faces - #faces=group.GetIDs() - ## Set faces nodes to given color - #for face_id in faces : - #for face_node_id in mesh.GetElemNodes(face_id) : - #colorList[face_node_id-1]=color - - ## Propagates color using elem connectivity - ## Always propagates max color - #volElemList=mesh.GetElementsByType(SMESH.VOLUME) - #ifChanged=True - #while ifChanged : - #ifChanged=False - #minColor=100 - #maxColor=0 - #for elemId in volElemList: - #for elemNodeId in mesh.GetElemNodes(elemId) : - #nodeColor=colorList[elemNodeId-1] - #if nodeColormaxColor : maxColor=nodeColor - #if minColor!=maxColor : - #ifChanged = True - #for elemNodeId in mesh.GetElemNodes(elemId) : - #colorList[elemNodeId-1]=maxColor - - #velem0 = [] - #velem1 = [] - #for elemId in volElemList: - #elemNodesId=mesh.GetElemNodes(elemId) - #elemColor=colorList[elemNodesId[0]-1] - #if(elemColor==1) : velem0.append(elemId) - #if(elemColor==2) : velem1.append(elemId) - - #mesh.MakeGroupByIds('SIDE_co',SMESH.VOLUME,velem0) - #mesh.MakeGroupByIds('SIDE_ext',SMESH.VOLUME,velem1) - - #surfElemList=mesh.GetElementsByType(SMESH.FACE) - #selem0 = [] - #selem1 = [] - #nbelem0=0 - #nbelem1=0 - - #for elemId in surfElemList: - #elemNodesId=mesh.GetElemNodes(elemId) - #elemColor=colorList[elemNodesId[0]-1] - #if(elemColor==1) : selem0.append(elemId) - #if(elemColor==2) : selem1.append(elemId) - - #mesh.MakeGroupByIds('SIDE_co',SMESH.FACE,selem0) - #mesh.MakeGroupByIds('SIDE_ext',SMESH.FACE,selem1) - - #maxAR=0. - #for elem in volElemList: - #maxAR=max(mesh.GetAspectRatio(elem),maxAR) - #for elem in surfElemList: - #maxAR=max(mesh.GetAspectRatio(elem),maxAR) - - #mesh.ExportMED(meshFile, 0, SMESH.MED_V2_2, 1, None ,1) - #return(maxAR) def removeFromSessionPath(envVar, patern): - if type(patern) is not list: patern=[patern] - if type(envVar) is not list: envVar=[envVar] + if not isinstance(patern, list): patern=[patern] + if not isinstance(envVar, list): envVar=[envVar] for env in envVar: path=environ[env]