Salome HOME
copy tag mergefrom_BR_V0_1_CC_Salome_04oct07
[modules/yacs.git] / src / yacsloader / samples / foreach2.xml
1 <proc>
2     <!-- a for each loop with 3 branches in a bloc -->
3     <!--types -->
4     <sequence name="dblevec" content="double"/>
5
6     <!--nodes -->
7     <inline name="node0" >
8       <script>
9         <code>p1=[i*0.5 for i in range(10)]</code>
10       </script>
11       <outport name="p1" type="dblevec"/>
12     </inline>
13
14     <bloc name="b">
15     <foreach name="b1" nbranch="3" type="double" >
16       <inline name="node2" >
17         <function name="f">
18             <code>a=0</code>
19             <code>def f(p1):</code>
20             <code>  global a</code>
21             <code>  p1= p1+10.</code>
22             <code>  print a</code>
23             <code>  a=a+p1</code>
24             <code>  print a</code>
25             <code>  return p1</code>
26         </function>
27         <inport name="p1" type="double"/>
28         <outport name="p1" type="double"/>
29       </inline>
30     </foreach>
31     <datalink>
32       <fromnode>b1</fromnode><fromport>SmplPrt</fromport>
33       <tonode>b1.node2</tonode> <toport>p1</toport>
34     </datalink>
35   </bloc>
36     <inline name="node1" >
37       <script>
38         <code>print p1</code>
39       </script>
40       <inport name="p1" type="dblevec"/>
41     </inline>
42
43     <!--control -->
44     <control> <fromnode>node0</fromnode> <tonode>b</tonode> </control>
45     <control> <fromnode>b</fromnode> <tonode>node1</tonode> </control>
46
47     <!--datalink -->
48     <datalink>
49       <fromnode>node0</fromnode><fromport>p1</fromport>
50       <tonode>b.b1</tonode> <toport>SmplsCollection</toport>
51     </datalink>
52     <datalink>
53       <fromnode>b.b1.node2</fromnode><fromport>p1</fromport>
54       <tonode>node1</tonode> <toport>p1</toport>
55     </datalink>
56
57     <!--parameters -->
58
59 </proc>