]> SALOME platform Git repositories - tools/eficas.git/blob - Aster/Cata/cataSTA6/Macro/macro_proj_base_ops.py
Salome HOME
Modif V6_4_°
[tools/eficas.git] / Aster / Cata / cataSTA6 / Macro / macro_proj_base_ops.py
1 # -*- coding: iso-8859-1 -*-
2 #@ MODIF macro_proj_base_ops Macro  DATE 11/06/2002   AUTEUR DURAND C.DURAND 
3 #            CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
9 # (AT YOUR OPTION) ANY LATER VERSION.                                                  
10 #                                                                       
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
15 #                                                                       
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
18 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
19 # ======================================================================
20
21 def macro_proj_base_ops(self,BASE,NB_VECT,MATR_ASSE_GENE,VECT_ASSE_GENE,**args):
22   """
23      Ecriture de la macro MACRO_PROJ_BASE
24   """
25   ier=0
26   # On importe les definitions des commandes a utiliser dans la macro
27   NUME_DDL_GENE  =self.get_cmd('NUME_DDL_GENE')
28   PROJ_MATR_BASE =self.get_cmd('PROJ_MATR_BASE')
29   PROJ_VECT_BASE =self.get_cmd('PROJ_VECT_BASE')
30   # La macro compte pour 1 dans la numerotation des commandes
31   self.icmd=1
32
33   nompro=None
34   iocc=0
35   if MATR_ASSE_GENE:
36     for m in MATR_ASSE_GENE:
37       iocc=iocc+1
38       if (iocc==1 or (m['PROFIL']!=nompro)):
39          _num=NUME_DDL_GENE(BASE=BASE,NB_VECT=NB_VECT,STOCKAGE=m['PROFIL'])
40       nompro=m['PROFIL']
41       motscles={}
42       if   m['MATR_ASSE']     :  motscles['MATR_ASSE']     =m['MATR_ASSE']
43       elif m['MATR_ASSE_GENE']:  motscles['MATR_ASSE_GENE']=m['MATR_ASSE_GENE']
44       else:
45           ier=ier+1
46           self.cr.fatal("MATR_ASSE et MATR_ASSE_GENE absents")
47           return ier
48       self.DeclareOut('mm',m['MATRICE'])
49       mm=PROJ_MATR_BASE(BASE=BASE,NUME_DDL_GENE=_num,**motscles)
50
51   iocc=0
52   if VECT_ASSE_GENE:
53     for v in VECT_ASSE_GENE:
54       iocc=iocc+1
55       if (iocc==1 and not MATR_ASSE_GENE):
56          _num=NUME_DDL_GENE(BASE=BASE,NB_VECT=NB_VECT,STOCKAGE='DIAG')
57       motscles={}
58       if   v['VECT_ASSE']     :  motscles['VECT_ASSE']     =v['VECT_ASSE']
59       elif v['VECT_ASSE_GENE']:  motscles['VECT_ASSE_GENE']=v['VECT_ASSE_GENE']
60       else:
61           ier=ier+1
62           self.cr.fatal("MATR_ASSE et MATR_ASSE_GENE absents")
63           return ier
64       motscles['TYPE_VECT']=v['TYPE_VECT']
65       self.DeclareOut('vv',v['VECTEUR'])
66       vv=PROJ_VECT_BASE(BASE=BASE,NUME_DDL_GENE=_num,**motscles)
67
68   return ier