Salome HOME
dernieres modifs
[tools/eficas.git] / Tests / testelem / cata2.py
1 from Accas import SIMP,FACT,OPER,ASSD,AsException,AsType,CO,MACRO
2 import Noyau
3
4
5 class CATA:
6    def __init__(self):
7       CONTEXT.unset_current_cata()
8       CONTEXT.set_current_cata(self)
9    def enregistre(self,cmd):
10       pass
11
12 cata=CATA()
13
14 class concept(ASSD,Noyau.AsBase):pass
15
16 OP1 = OPER(nom='OP1',op=1,sd_prod=concept,
17            a=SIMP(typ='I'),
18            c=SIMP(typ='I',position='global'),
19           )
20
21 class concept2(ASSD,Noyau.AsBase):pass
22 class concept3(ASSD,Noyau.AsBase):pass
23
24 def op2_prod(self,MATR,**args):
25    self.type_sdprod(MATR,concept2)
26    return concept
27
28 OP2=MACRO(nom='OP2',op=-2,sd_prod=op2_prod,
29           MATR=SIMP(statut='o',typ=(CO,concept2)),
30         )
31
32 def op3_prod(self,MATR,**args):
33    for m in MATR:
34       t=m['CHAM']
35       if t == 'R':self.type_sdprod(m['MM'],concept)
36    return concept
37
38 OP3=MACRO(nom='OP3',op=-3,sd_prod=op3_prod,
39           MATR=FACT(statut='f',min=1,max='**',
40                     CHAM=SIMP(statut='o',typ='TXM',into=("R","I"),),
41                     MM=SIMP(statut='o',typ=(CO,concept)),
42                    ),
43           )
44
45
46 def op4_prod(self,MATR,**args):
47    if MATR == None :raise AsException("impossible recuperer mot cle facteur par defaut")
48    return concept
49
50 OP4=MACRO(nom='OP4',op=-4,sd_prod=op4_prod,
51           MATR=FACT(statut='d',min=1,max='**',
52                     CHAM=SIMP(statut='f',typ='TXM',defaut="R"),
53                    ),
54           )
55 OP5=MACRO(nom='OP5',op=-2,sd_prod=op2_prod, MATR=SIMP(statut='o',typ=CO),)
56
57 def OP6_ops(self,MATR,**args):
58   """
59   """
60   ier=0
61   self.set_icmd(1)
62   self.DeclareOut('cc',self.sd)
63   cc=OP2(MATR=MATR)
64   return ier
65
66 OP6=MACRO(nom='OP6',op=OP6_ops,sd_prod=op2_prod, MATR=SIMP(statut='o',typ=CO),)
67