X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2FajustePointsEdgePipeFissure.py;h=a26c470e17b685b571524914c84acd1e3eee263c;hp=fe2df5839239429c3fa6d165f290b6d4091171fc;hb=140b89fcdf34becd8a3be2f1e276ad0960383eca;hpb=a274ade365bd0f0e19d56c577acc4a13aa1972a7 diff --git a/src/Tools/blocFissure/gmu/ajustePointsEdgePipeFissure.py b/src/Tools/blocFissure/gmu/ajustePointsEdgePipeFissure.py index fe2df5839..a26c470e1 100644 --- a/src/Tools/blocFissure/gmu/ajustePointsEdgePipeFissure.py +++ b/src/Tools/blocFissure/gmu/ajustePointsEdgePipeFissure.py @@ -17,6 +17,7 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +"""Ajustement précis des points sur edgesPipeFissureExterneC""" import logging @@ -25,37 +26,37 @@ from .findWireIntermediateVertices import findWireIntermediateVertices from .projettePointSurCourbe import projettePointSurCourbe def ajustePointsEdgePipeFissure(edgesPipeFissureExterneC, wirePipeFissureExterne, gptsdisks, idisklim): - """ - ajustement precis des points sur edgesPipeFissureExterneC - """ + """Ajustement précis des points sur edgesPipeFissureExterneC""" logging.info('start') - + edgesPFE = geompy.ExtractShapes(edgesPipeFissureExterneC, geompy.ShapeType["EDGE"], False) - verticesPFE = findWireIntermediateVertices(wirePipeFissureExterne) # vertices intermédiaires (des points en trop dans ptsInWireFissExtPipe) + verticesPFE, _ = findWireIntermediateVertices(wirePipeFissureExterne) # vertices intermédiaires (des points en trop dans ptsInWireFissExtPipe) idiskmin = idisklim[0] + 1 # on ne prend pas le disque sur la peau, déjà ajusté - idiskmax = idisklim[1] # on ne prend pas le disque sur la peau, déjà ajusté - idiskint = [] + idiskmax = idisklim[1] + idiskint = list() + for vtx in verticesPFE: - distPtVt = [] + distPtVt = list() for idisk in range(idiskmin, idiskmax): gptdsk = gptsdisks[idisk] - pt = gptdsk[0][-1] # le point sur l'edge de la fissure externe au pipe - distPtVt.append((geompy.MinDistance(pt, vtx), idisk)) + point = gptdsk[0][-1] # le point sur l'edge de la fissure externe au pipe + distPtVt.append((geompy.MinDistance(point, vtx), idisk)) distPtVt.sort() idiskint.append(distPtVt[0][1]) gptsdisks[idiskint[-1]][0][-1] = vtx logging.debug("ajustement point sur edgePipeFissureExterne, vertex: %s %s", idiskint[-1], distPtVt[0][0]) + for idisk in range(idiskmin, idiskmax): if idisk in idiskint: break logging.debug("ajustement point sur edgePipeFissureExterne: %s", idisk) gptdsk = gptsdisks[idisk] - pt = gptdsk[0][-1] # le point sur l'edge de la fissure externe au pipe - distPtEd = [(geompy.MinDistance(pt, edgePFE), k, edgePFE) for k, edgePFE in enumerate(edgesPFE)] + point = gptdsk[0][-1] # le point sur l'edge de la fissure externe au pipe + distPtEd = [(geompy.MinDistance(point, edgePFE), k, edgePFE) for k, edgePFE in enumerate(edgesPFE)] distPtEd.sort() edgePFE = distPtEd[0][2] - u = projettePointSurCourbe(pt, edgePFE) - ptproj = geompy.MakeVertexOnCurve(edgePFE, u) + point_bis = projettePointSurCourbe(point, edgePFE) + ptproj = geompy.MakeVertexOnCurve(edgePFE, point_bis) gptsdisks[idisk][0][-1] = ptproj - return gptsdisks \ No newline at end of file + return gptsdisks