Salome HOME
merge from branch DEV tag mergeto_trunk_04apr08
[modules/yacs.git] / src / yacsloader / samples / gobj1.xml
1 <proc>
2   <!-- graph of component instances that add and multiply MED fields (GenericObj)
3        All the MED Fields must be destroyed on each turn in the loop and on exit
4        A med field must exists in the study 1 (read fra.med file)
5   -->
6     <!--types -->
7     <objref name="GEOM/GEOM_Object"/>
8     <sequence name="dblevec" content="double"/>
9     <struct name="s1" >
10       <member name="s" type="double"/>
11     </struct>
12   <objref name="MED" id="IDL:SALOME_MED/MED:1.0"/>
13   <objref name="MESH" id="IDL:SALOME_MED/MESH:1.0"/>
14   <objref name="FIELD" id="IDL:SALOME_MED/FIELD:1.0"/>
15   <objref name="FIELDDOUBLE" id="IDL:SALOME_MED/FIELDDOUBLE:1.0">
16     <base>FIELD</base>
17   </objref>
18
19   <container name="A"> </container>
20   <container name="B"> </container>
21   <container name="C"> </container>
22
23
24
25     <!--nodes -->
26     <datanode name="s" kind="study" >
27       <property name="StudyID" value="1" />
28       <parameter name="b" type="FIELDDOUBLE" ref="0:1:1:3:2:1"/>
29     </datanode>
30     <datanode name="d" >
31       <parameter name="b" type="double" ><value><double>5.</double></value></parameter>
32       <parameter name="c" type="double" ><value><double>-1.</double></value></parameter>
33     </datanode>
34
35     <inline name="node0" >
36       <script>
37         <code>import SALOME_MED</code>
38         <code>p1=p1._narrow(SALOME_MED.FIELD)</code>
39         <code>print p1</code>
40       </script>
41       <inport name="p1" type="FIELDDOUBLE"/>
42       <outport name="p1" type="FIELDDOUBLE"/>
43     </inline>
44
45   <forloop name="l" nsteps="5">
46    <bloc name="b" >
47     <service name="node" >
48         <component>Calculator</component>
49         <method>Constant</method>
50         <load container="A"/>
51         <inport name="field" type="FIELDDOUBLE"/>
52         <inport name="x" type="double"/>
53         <outport name="result" type="FIELDDOUBLE"/>
54     </service>
55     <service name="node2" >
56         <component>Calculator</component>
57         <method>Mul</method>
58         <load container="A"/>
59         <inport name="field" type="FIELDDOUBLE"/>
60         <inport name="x" type="double"/>
61         <outport name="result" type="FIELDDOUBLE"/>
62     </service>
63     <service name="node3" >
64         <component>Calculator</component>
65         <method>Add</method>
66         <load container="A"/>
67         <inport name="field1" type="FIELDDOUBLE"/>
68         <inport name="field2" type="FIELDDOUBLE"/>
69         <outport name="result" type="FIELDDOUBLE"/>
70     </service>
71
72     <inline name="pyth0" >
73       <script>
74         <code>print "MEDFIELD:",p1</code>
75         <code>p1.Register()</code>
76       </script>
77       <inport name="p1" type="FIELDDOUBLE"/>
78       <outport name="p1" type="FIELDDOUBLE"/>
79     </inline>
80
81     <inline name="pyth1" >
82       <script>
83         <code>print "MEDFIELD:",p1</code>
84       </script>
85       <inport name="p1" type="FIELDDOUBLE"/>
86     </inline>
87
88     <datalink>
89         <fromnode>node</fromnode><fromport>result</fromport>
90         <tonode>node3</tonode> <toport>field1</toport>
91     </datalink>
92     <datalink>
93         <fromnode>node</fromnode><fromport>result</fromport>
94         <tonode>node2</tonode> <toport>field</toport>
95     </datalink>
96     <datalink>
97         <fromnode>node2</fromnode><fromport>result</fromport>
98         <tonode>node3</tonode> <toport>field2</toport>
99     </datalink>
100     <datalink>
101         <fromnode>node</fromnode><fromport>result</fromport>
102         <tonode>pyth0</tonode> <toport>p1</toport>
103     </datalink>
104     <datalink>
105         <fromnode>pyth0</fromnode><fromport>p1</fromport>
106         <tonode>pyth1</tonode> <toport>p1</toport>
107     </datalink>
108
109    </bloc>
110   </forloop>
111
112     <!-- datalink -->
113     <datalink>
114         <fromnode>d</fromnode><fromport>c</fromport>
115         <tonode>l.b.node2</tonode> <toport>x</toport>
116     </datalink>
117     <datalink>
118         <fromnode>s</fromnode><fromport>b</fromport>
119         <tonode>node0</tonode> <toport>p1</toport>
120     </datalink>
121     <datalink>
122         <fromnode>d</fromnode><fromport>b</fromport>
123         <tonode>l.b.node</tonode> <toport>x</toport>
124     </datalink>
125     <datalink>
126         <fromnode>node0</fromnode><fromport>p1</fromport>
127         <tonode>l.b.node</tonode> <toport>field</toport>
128     </datalink>
129
130 </proc>