Salome HOME
Increment version: 9.7.0
[tools/yacsgen.git] / Examples / pyth1 / components.py
1 # Copyright (C) 2009-2021  EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 import os
21
22 #import context from ..
23 exec(compile(open("../context.py").read(), "../context.py", 'exec'))
24 from module_generator import Generator,Module,Service,PYComponent
25
26 cwd=os.getcwd()
27
28 defs="""
29 import bidul
30 """
31
32 body="""
33       #b1
34       dep=calcium.CP_ITERATION
35       val=numpy.zeros(10,'d')
36       val[5]=a*b
37       nval=10
38       print ("--------> Appel calcium.cp_edb")
39       info=calcium.cp_edb(component, dep, 0., 1, "ba", nval,val)
40       val=numpy.zeros(10,'d')
41       info,tt,ii,mval=calcium.cp_ldb(component, dep, 0.,1., 1, "aa", nval,val)
42       print (mval,val)
43       bidul.f()
44       c=a+b
45       d=a-b
46       err=calcium.cp_fin(component,calcium.CP_ARRET)
47 """
48 c1=PYComponent("compo2",services=[
49           Service("s1",inport=[("a","double"),("b","double")],
50                        outport=[("c","double"),("d","double")],
51                        instream=[("aa","CALCIUM_double","I"),],
52                        outstream=[("ba","CALCIUM_double","I"),],
53                        defs=defs,body=body,
54                  ),
55          ],
56          sources=["bidul.py"],
57          )
58
59
60 g=Generator(Module("pycompos",components=[c1],prefix="./install"),context)
61 g.generate()
62 g.configure()
63 g.make()
64 g.install()
65 g.make_appli("appli", restrict=["KERNEL"], altmodules={"GUI":GUI_ROOT_DIR, "YACS":YACS_ROOT_DIR})
66
67