2014-09-08 14:58:52 +02:00
|
|
|
# -*- coding: utf-8 -*-
|
2021-03-23 17:44:27 +03:00
|
|
|
# Copyright (C) 2014-2021 EDF R&D
|
2019-02-14 14:55:47 +03:00
|
|
|
#
|
|
|
|
# This library is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
|
|
# License as published by the Free Software Foundation; either
|
|
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This library is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
# Lesser General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
|
|
# License along with this library; if not, write to the Free Software
|
|
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
#
|
|
|
|
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
|
|
|
#
|
2021-04-02 13:17:18 +02:00
|
|
|
"""Eléments débouchants (intersection pipe et peau), indexés selon les edges du fond de fissure (edgesFondIn)"""
|
2014-09-08 14:58:52 +02:00
|
|
|
|
|
|
|
import logging
|
|
|
|
|
2021-04-02 13:17:18 +02:00
|
|
|
from .identifieElementsDebouchants_a import identifieElementsDebouchants_a
|
|
|
|
from .identifieElementsDebouchants_b import identifieElementsDebouchants_b
|
|
|
|
from .identifieElementsDebouchants_c import identifieElementsDebouchants_c
|
|
|
|
from .identifieElementsDebouchants_d import identifieElementsDebouchants_d
|
2021-01-26 16:37:29 +01:00
|
|
|
|
|
|
|
def identifieElementsDebouchants(ifil, facesDefaut, partitionPeauFissFond, \
|
|
|
|
edgesFondIn, edgesFondFiss, wireFondFiss, \
|
|
|
|
aretesVivesC, fillingFaceExterne, \
|
|
|
|
edgesPipeIn, verticesPipePeau, rayonPipe, \
|
2014-09-08 14:58:52 +02:00
|
|
|
facesInside, facesOnside):
|
2021-04-02 13:17:18 +02:00
|
|
|
"""Eléments débouchants (intersection pipe et peau), indexés selon les edges du fond de fissure (edgesFondIn)"""
|
2021-01-26 16:37:29 +01:00
|
|
|
|
2014-09-08 14:58:52 +02:00
|
|
|
logging.info('start')
|
2021-01-26 16:37:29 +01:00
|
|
|
|
|
|
|
verticesEdgesFondIn = list() # les points du fond de fissure au débouché du pipe sur la peau (indice de edgesFondIn)
|
|
|
|
pipexts = list() # les segments de pipe associés au points de fond de fissure débouchants (même indice)
|
|
|
|
cercles = list() # les cercles de generation des pipes débouchant (même indice)
|
|
|
|
facesFissExt = list() # les faces de la fissure externe associés au points de fond de fissure débouchants (même indice)
|
|
|
|
edgesFissExtPeau = list() # edges des faces de fissure externe sur la peau (même indice)
|
|
|
|
edgesFissExtPipe = list() # edges des faces de fissure externe sur le pipe (même indice)
|
2014-09-08 14:58:52 +02:00
|
|
|
|
|
|
|
#logging.debug("edgesFondIn %s", edgesFondIn)
|
|
|
|
for iedf, edge in enumerate(edgesFondIn):
|
2021-04-02 13:17:18 +02:00
|
|
|
|
|
|
|
ptPeau, centre, norm, localEdgeInFondFiss, localEdgeInFondFiss, cercle = \
|
|
|
|
identifieElementsDebouchants_a(iedf, \
|
|
|
|
partitionPeauFissFond, edgesFondFiss, wireFondFiss, \
|
|
|
|
verticesPipePeau, rayonPipe, edge,)
|
2014-09-08 14:58:52 +02:00
|
|
|
verticesEdgesFondIn.append(centre)
|
|
|
|
cercles.append(cercle)
|
|
|
|
|
|
|
|
# --- estimation de la longueur du pipe necessaire de part et d'autre du point de sortie
|
2021-04-02 13:17:18 +02:00
|
|
|
loc_pt0, lgp = identifieElementsDebouchants_b(ifil, \
|
|
|
|
facesDefaut,aretesVivesC, fillingFaceExterne, rayonPipe, \
|
|
|
|
ptPeau, centre, norm, localEdgeInFondFiss)
|
2021-01-26 16:37:29 +01:00
|
|
|
|
2014-09-08 14:58:52 +02:00
|
|
|
# --- position des points extremite du pipe sur l'edge debouchante
|
2021-04-02 13:17:18 +02:00
|
|
|
identifieElementsDebouchants_c(iedf,\
|
|
|
|
partitionPeauFissFond, wireFondFiss, \
|
|
|
|
centre, localEdgeInFondFiss, cercle, loc_pt0, lgp, pipexts)
|
2014-09-08 14:58:52 +02:00
|
|
|
|
2021-04-02 13:17:18 +02:00
|
|
|
# --- Recherche edges communes entre une face inside et (faces onside, edges pipe et fond débouchante)
|
|
|
|
identifieElementsDebouchants_d(iedf,\
|
|
|
|
partitionPeauFissFond, edgesFondIn, edgesPipeIn, \
|
|
|
|
facesInside, facesOnside, \
|
|
|
|
ptPeau, facesFissExt, edgesFissExtPeau, edgesFissExtPipe)
|
2014-09-08 14:58:52 +02:00
|
|
|
|
2021-01-26 16:37:29 +01:00
|
|
|
return (verticesEdgesFondIn, pipexts, cercles, facesFissExt, edgesFissExtPeau, edgesFissExtPipe)
|