Salome HOME
e22d78d9bce51ffcd9b6ef1e6165aa9b5908d539
[samples/datafiles.git] / Yacs / Schemas / gobj1.xml
1 <!--
2   Copyright (C) 2006-2015  CEA/DEN, EDF R&D
3
4   This library is free software; you can redistribute it and/or
5   modify it under the terms of the GNU Lesser General Public
6   License as published by the Free Software Foundation; either
7   version 2.1 of the License, or (at your option) any later version.
8
9   This library is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public
15   License along with this library; if not, write to the Free Software
16   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17
18   See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19
20 -->
21 <proc>
22   <!-- graph of component instances that add and multiply MED fields (GenericObj)
23        All the MED Fields must be destroyed on each turn in the loop and on exit
24        A med field must exists in the study 1 (read fra.med file)
25   -->
26     <!--types -->
27     <objref name="GEOM/GEOM_Object"/>
28     <sequence name="dblevec" content="double"/>
29     <struct name="s1" >
30       <member name="s" type="double"/>
31     </struct>
32   <objref name="MED" id="IDL:SALOME_MED/MED:1.0"/>
33   <objref name="MESH" id="IDL:SALOME_MED/MESH:1.0"/>
34   <objref name="FIELD" id="IDL:SALOME_MED/FIELD:1.0"/>
35   <objref name="FIELDDOUBLE" id="IDL:SALOME_MED/FIELDDOUBLE:1.0">
36     <base>FIELD</base>
37   </objref>
38
39   <container name="A"> </container>
40   <container name="B"> </container>
41   <container name="C"> </container>
42
43
44
45     <!--nodes -->
46     <datanode name="s" kind="study" >
47       <property name="StudyID" value="1" />
48       <parameter name="b" type="FIELDDOUBLE" ref="0:1:1:3:2:1"/>
49     </datanode>
50     <datanode name="d" >
51       <parameter name="b" type="double" ><value><double>5.</double></value></parameter>
52       <parameter name="c" type="double" ><value><double>-1.</double></value></parameter>
53     </datanode>
54
55     <inline name="node0" >
56       <script>
57         <code>import SALOME_MED</code>
58         <code>p1=p1._narrow(SALOME_MED.FIELD)</code>
59         <code>print p1</code>
60       </script>
61       <inport name="p1" type="FIELDDOUBLE"/>
62       <outport name="p1" type="FIELDDOUBLE"/>
63     </inline>
64
65   <forloop name="l" nsteps="5">
66    <bloc name="b" >
67     <service name="node" >
68         <component>Calculator</component>
69         <method>Constant</method>
70         <load container="A"/>
71         <inport name="field" type="FIELDDOUBLE"/>
72         <inport name="x" type="double"/>
73         <outport name="result" type="FIELDDOUBLE"/>
74     </service>
75     <service name="node2" >
76         <component>Calculator</component>
77         <method>Mul</method>
78         <load container="A"/>
79         <inport name="field" type="FIELDDOUBLE"/>
80         <inport name="x" type="double"/>
81         <outport name="result" type="FIELDDOUBLE"/>
82     </service>
83     <service name="node3" >
84         <component>Calculator</component>
85         <method>Add</method>
86         <load container="A"/>
87         <inport name="field1" type="FIELDDOUBLE"/>
88         <inport name="field2" type="FIELDDOUBLE"/>
89         <outport name="result" type="FIELDDOUBLE"/>
90     </service>
91
92     <inline name="pyth0" >
93       <script>
94         <code>print "MEDFIELD:",p1</code>
95         <code>p1.Register()</code>
96       </script>
97       <inport name="p1" type="FIELDDOUBLE"/>
98       <outport name="p1" type="FIELDDOUBLE"/>
99     </inline>
100
101     <inline name="pyth1" >
102       <script>
103         <code>print "MEDFIELD:",p1</code>
104       </script>
105       <inport name="p1" type="FIELDDOUBLE"/>
106     </inline>
107
108     <datalink>
109         <fromnode>node</fromnode><fromport>result</fromport>
110         <tonode>node3</tonode> <toport>field1</toport>
111     </datalink>
112     <datalink>
113         <fromnode>node</fromnode><fromport>result</fromport>
114         <tonode>node2</tonode> <toport>field</toport>
115     </datalink>
116     <datalink>
117         <fromnode>node2</fromnode><fromport>result</fromport>
118         <tonode>node3</tonode> <toport>field2</toport>
119     </datalink>
120     <datalink>
121         <fromnode>node</fromnode><fromport>result</fromport>
122         <tonode>pyth0</tonode> <toport>p1</toport>
123     </datalink>
124     <datalink>
125         <fromnode>pyth0</fromnode><fromport>p1</fromport>
126         <tonode>pyth1</tonode> <toport>p1</toport>
127     </datalink>
128
129    </bloc>
130   </forloop>
131
132     <!-- datalink -->
133     <datalink>
134         <fromnode>d</fromnode><fromport>c</fromport>
135         <tonode>l.b.node2</tonode> <toport>x</toport>
136     </datalink>
137     <datalink>
138         <fromnode>s</fromnode><fromport>b</fromport>
139         <tonode>node0</tonode> <toport>p1</toport>
140     </datalink>
141     <datalink>
142         <fromnode>d</fromnode><fromport>b</fromport>
143         <tonode>l.b.node</tonode> <toport>x</toport>
144     </datalink>
145     <datalink>
146         <fromnode>node0</fromnode><fromport>p1</fromport>
147         <tonode>l.b.node</tonode> <toport>field</toport>
148     </datalink>
149
150 </proc>