Salome HOME
fusion Telemac
[tools/eficas.git] / Noyau / N_MCFACT.py
index 6ea5200b579aa3eaa3b8931d11776cc7b74dfa0c..a1fc0c722b2c66c2384a0a25a9919e7253459b5e 100644 (file)
-#@ MODIF N_MCFACT Noyau  DATE 07/09/2009   AUTEUR COURTOIS M.COURTOIS 
-# -*- coding: iso-8859-1 -*-
-# RESPONSABLE COURTOIS M.COURTOIS
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
-# (AT YOUR OPTION) ANY LATER VERSION.                                 
+# coding=utf-8
+# Copyright (C) 2007-2021   EDF R&D
 #
-# THIS PROGRAM 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    
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+# 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.
 #
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
-#                                                                       
-#                                                                       
-# ======================================================================
+# 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
 
 
-""" 
-    Ce module contient la classe MCFACT qui sert à controler la valeur
-    d'un mot-clé facteur par rapport à sa définition portée par un objet
+"""
+    Ce module contient la classe MCFACT qui sert à controler la valeur
+    d'un mot-clé facteur par rapport à sa définition portée par un objet
     de type ENTITE
 """
 
-import N_MCCOMPO
+from __future__ import absolute_import
+from . import N_MCCOMPO
+
 
 class MCFACT(N_MCCOMPO.MCCOMPO):
-   """
-   """
-   nature = "MCFACT"
-   def __init__(self,val,definition,nom,parent):
-      """
-         Attributs :
-          - val : valeur du mot clé simple
-          - definition
-          - nom
-          - parent
-      """
-      self.definition=definition
-      self.nom=nom
-      self.val = val
-      self.parent = parent
-      self.valeur = self.GETVAL(self.val)
-      if parent :
-         self.jdc = self.parent.jdc
-         self.niveau = self.parent.niveau
-         self.etape = self.parent.etape
-      else:
-         # Le mot cle a été créé sans parent
-         self.jdc = None
-         self.niveau = None
-         self.etape = None
-      self.mc_liste=self.build_mc()
-         
-   def GETVAL(self,val):
-      """ 
-          Retourne la valeur effective du mot-clé en fonction
-          de la valeur donnée. Defaut si val == None
-      """
-      if (val is None and hasattr(self.definition,'defaut')) :
-        return self.definition.defaut
-      else:
-        return val
 
-   def get_valeur(self):
-      """
-          Retourne la "valeur" d'un mot-clé facteur qui est l'objet lui-meme.
-          Cette valeur est utilisée lors de la création d'un contexte 
-          d'évaluation d'expressions à l'aide d'un interpréteur Python
-      """
-      return self
+    """
+    """
+    nature = "MCFACT"
+
+    def __init__(self, val, definition, nom, parent,dicoPyxbDeConstruction):
+        """
+           Attributs :
+            - val : valeur du mot clé simple
+            - definition
+            - nom
+            - parent
+        """
+        #print ('MCFACT', self, val, definition, nom, parent, dicoPyxbDeConstruction)
+        #import traceback
+        #traceback.print_stack()
+        self.dicoPyxbDeConstruction=dicoPyxbDeConstruction
+        if self.dicoPyxbDeConstruction :
+            self.objPyxbDeConstruction=self.dicoPyxbDeConstruction['objEnPyxb']
+            del self.dicoPyxbDeConstruction['objEnPyxb']
+        else :
+            self.objPyxbDeConstruction=None
+        self.definition = definition
+        self.nom = nom
+        self.val = val
+        self.parent = parent
+        self.estIdentifiePar=None
+        self.valeur = self.getValeurEffective(self.val)
+        if parent:
+            self.jdc = self.parent.jdc
+            self.niveau = self.parent.niveau
+            self.etape = self.parent.etape
+        else:
+            # Le mot cle a été créé sans parent
+            self.jdc = None
+            self.niveau = None
+            self.etape = None
+        self.mcListe = self.buildMc()
+
+    def getValeurEffective(self, val):
+        """
+            Retourne la valeur effective du mot-clé en fonction
+            de la valeur donnée. Defaut si val == None
+        """
+        if (val is None and hasattr(self.definition, 'defaut')):
+            return self.definition.defaut
+        else:
+            return val
+
+    def getValeur(self):
+        """
+            Retourne la "valeur" d'un mot-clé facteur qui est l'objet lui-meme.
+            Cette valeur est utilisée lors de la création d'un contexte
+            d'évaluation d'expressions à l'aide d'un interpréteur Python
+        """
+        return self
 
-   def get_val(self):
-      """
-          Une autre méthode qui retourne une "autre" valeur du mot clé facteur.
-          Elle est utilisée par la méthode get_mocle
-      """
-      return [self]
+    def getVal(self):
+        """
+            Une autre méthode qui retourne une "autre" valeur du mot clé facteur.
+            Elle est utilisée par la méthode getMocle
+        """
+        return [self]
 
-   def __getitem__(self,key):
-      """ 
-          Dans le cas d un mot cle facteur unique on simule une liste de 
-          longueur 1
-      """
-      if key == 0:return self
-      return self.get_mocle(key)
+    def __getitem__(self, key):
+        """
+            Dans le cas d un mot cle facteur unique on simule une liste de
+            longueur 1
+        """
+        if key == 0:
+            return self
+        return self.getMocle(key)
 
-   def accept(self,visitor):
-      """
-         Cette methode permet de parcourir l'arborescence des objets
-         en utilisant le pattern VISITEUR
-      """
-      visitor.visitMCFACT(self)
+    def accept(self, visitor):
+        """
+           Cette methode permet de parcourir l'arborescence des objets
+           en utilisant le pattern VISITEUR
+        """
+        visitor.visitMCFACT(self)
 
-   def makeobjet(self):
-     return self.definition.class_instance(val=None,nom=self.nom,
-                                 definition=self.definition,parent=self.parent)
+    def makeobjet(self):
+        return self.definition.class_instance(val=None, nom=self.nom,
+                                              definition=self.definition, parent=self.parent)