X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2FZCracksPlug%2FutilityFunctions.py;h=e7aab2a282ed156a574a073e4e4ea7846096a55e;hp=36db725808755552d288701ac6b4ab9a165c1322;hb=8d297d6698f361d4f2dde723050bcfbaea050920;hpb=1746a461949c030eb46ccb860e586ade2e5de5e3 diff --git a/src/Tools/ZCracksPlug/utilityFunctions.py b/src/Tools/ZCracksPlug/utilityFunctions.py index 36db72580..e7aab2a28 100644 --- a/src/Tools/ZCracksPlug/utilityFunctions.py +++ b/src/Tools/ZCracksPlug/utilityFunctions.py @@ -3,7 +3,7 @@ import numpy, subprocess, sys from os import remove, getpid, path, environ -from output import message +from .output import message def calcCoordVectors(normalIN, directionIN): V3TEMP=numpy.cross(normalIN,directionIN) @@ -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 @@ -260,8 +264,8 @@ def extendElsets(meshFile, outFile=None): while ifChanged : ifChanged=False for elemId in elemList[0]: - minColor=sys.maxint - maxColor=-sys.maxint + minColor=sys.maxsize + maxColor=-sys.maxsize 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]