Salome HOME
NRI : Merge from BRANCH_Superv_DataStream.
[modules/superv.git] / examples / GraphStreams.py
1
2 # Generated python file of Graph GraphStreams
3
4 from SuperV import *
5 # Graph creation 
6 GraphStreams = StreamGraph( 'GraphStreams' )
7 GraphStreams.SetStreamParams( 1000 , SUPERV.SummaryTrace , 1.5 )
8 GraphStreams.SetName( 'GraphStreams' )
9 GraphStreams.SetAuthor( 'JR' )
10 GraphStreams.SetComment( 'Graph with DataStreamPorts CEA/EDF : Calcium' )
11 GraphStreams.Coords( 0 , 0 )
12
13 # Creation of Factory Nodes
14
15 Add = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
16 Add.SetName( 'Add' )
17 Add.SetAuthor( '' )
18 Add.SetContainer( 'FactoryServer' )
19 Add.SetComment( 'Add from DataStreamFactory' )
20 Add.Coords( 256 , 156 )
21 IAddx = Add.GetInPort( 'x' )
22 IAddy = Add.GetInPort( 'y' )
23 IAddGate = Add.GetInPort( 'Gate' )
24 OAddz = Add.GetOutPort( 'z' )
25 OAddGate = Add.GetOutPort( 'Gate' )
26 IAddistream = Add.GetInStreamPort( 'istream' )
27 IAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
28 OAddostream = Add.GetOutStreamPort( 'ostream' )
29 OAddostream.SetNumberOfValues( 0 )
30 OAddOStream = Add.GetOutStreamPort( 'OStream' )
31 OAddOStream.SetNumberOfValues( 10 )
32
33 Sub = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
34 Sub.SetName( 'Sub' )
35 Sub.SetAuthor( '' )
36 Sub.SetContainer( 'FactoryServer' )
37 Sub.SetComment( 'Sub from DataStreamFactory' )
38 Sub.Coords( 519 , 33 )
39 ISubx = Sub.GetInPort( 'x' )
40 ISuby = Sub.GetInPort( 'y' )
41 ISubGate = Sub.GetInPort( 'Gate' )
42 OSubz = Sub.GetOutPort( 'z' )
43 OSubGate = Sub.GetOutPort( 'Gate' )
44 ISubistream = Sub.GetInStreamPort( 'istream' )
45 ISubistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
46 ISubIstream = Sub.GetInStreamPort( 'Istream' )
47 ISubIstream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
48
49 Mul = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
50 Mul.SetName( 'Mul' )
51 Mul.SetAuthor( '' )
52 Mul.SetContainer( 'FactoryServer' )
53 Mul.SetComment( 'Mul from DataStreamFactory' )
54 Mul.Coords( 723 , 127 )
55 IMulx = Mul.GetInPort( 'x' )
56 IMuly = Mul.GetInPort( 'y' )
57 IMulGate = Mul.GetInPort( 'Gate' )
58 OMulz = Mul.GetOutPort( 'z' )
59 OMulGate = Mul.GetOutPort( 'Gate' )
60
61 Div = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
62 Div.SetName( 'Div' )
63 Div.SetAuthor( '' )
64 Div.SetContainer( 'FactoryServer' )
65 Div.SetComment( 'Div from DataStreamFactory' )
66 Div.Coords( 936 , 34 )
67 IDivx = Div.GetInPort( 'x' )
68 IDivy = Div.GetInPort( 'y' )
69 IDivGate = Div.GetInPort( 'Gate' )
70 ODivz = Div.GetOutPort( 'z' )
71 ODivGate = Div.GetOutPort( 'Gate' )
72 ODivostream = Div.GetOutStreamPort( 'ostream' )
73 ODivostream.SetNumberOfValues( 0 )
74
75 Add_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
76 Add_1.SetName( 'Add_1' )
77 Add_1.SetAuthor( '' )
78 Add_1.SetContainer( 'localhost/FactoryServer' )
79 Add_1.SetComment( 'Add from DataStreamFactory' )
80 Add_1.Coords( 252 , 499 )
81 IAdd_1x = Add_1.GetInPort( 'x' )
82 IAdd_1y = Add_1.GetInPort( 'y' )
83 IAdd_1Gate = Add_1.GetInPort( 'Gate' )
84 OAdd_1z = Add_1.GetOutPort( 'z' )
85 OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
86 IAdd_1istream = Add_1.GetInStreamPort( 'istream' )
87 IAdd_1istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
88 OAdd_1ostream = Add_1.GetOutStreamPort( 'ostream' )
89 OAdd_1ostream.SetNumberOfValues( 0 )
90 OAdd_1OStream = Add_1.GetOutStreamPort( 'OStream' )
91 OAdd_1OStream.SetNumberOfValues( 0 )
92
93 Sub_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
94 Sub_1.SetName( 'Sub_1' )
95 Sub_1.SetAuthor( '' )
96 Sub_1.SetContainer( 'localhost/FactoryServer' )
97 Sub_1.SetComment( 'Sub from DataStreamFactory' )
98 Sub_1.Coords( 518 , 369 )
99 ISub_1x = Sub_1.GetInPort( 'x' )
100 ISub_1y = Sub_1.GetInPort( 'y' )
101 ISub_1Gate = Sub_1.GetInPort( 'Gate' )
102 OSub_1z = Sub_1.GetOutPort( 'z' )
103 OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
104 ISub_1istream = Sub_1.GetInStreamPort( 'istream' )
105 ISub_1istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
106 ISub_1Istream = Sub_1.GetInStreamPort( 'Istream' )
107 ISub_1Istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
108
109 Mul_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
110 Mul_1.SetName( 'Mul_1' )
111 Mul_1.SetAuthor( '' )
112 Mul_1.SetContainer( 'localhost/FactoryServer' )
113 Mul_1.SetComment( 'Mul from DataStreamFactory' )
114 Mul_1.Coords( 730 , 471 )
115 IMul_1x = Mul_1.GetInPort( 'x' )
116 IMul_1y = Mul_1.GetInPort( 'y' )
117 IMul_1Gate = Mul_1.GetInPort( 'Gate' )
118 OMul_1z = Mul_1.GetOutPort( 'z' )
119 OMul_1Gate = Mul_1.GetOutPort( 'Gate' )
120
121 Div_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
122 Div_1.SetName( 'Div_1' )
123 Div_1.SetAuthor( '' )
124 Div_1.SetContainer( 'localhost/FactoryServer' )
125 Div_1.SetComment( 'Div from DataStreamFactory' )
126 Div_1.Coords( 931 , 369 )
127 IDiv_1x = Div_1.GetInPort( 'x' )
128 IDiv_1y = Div_1.GetInPort( 'y' )
129 IDiv_1Gate = Div_1.GetInPort( 'Gate' )
130 ODiv_1z = Div_1.GetOutPort( 'z' )
131 ODiv_1Gate = Div_1.GetOutPort( 'Gate' )
132 ODiv_1ostream = Div_1.GetOutStreamPort( 'ostream' )
133 ODiv_1ostream.SetNumberOfValues( 0 )
134
135 # Creation of Loop Nodes
136 PyLoop = []
137 PyLoop.append( 'import time ' )
138 PyLoop.append( 'def Init(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) :   ' )
139 PyLoop.append( '    if Min <= Max :   ' )
140 PyLoop.append( '        Index = Min   ' )
141 PyLoop.append( '    else :   ' )
142 PyLoop.append( '        Index = Max   ' )
143 PyLoop.append( '    time.sleep( 1 ) ' )
144 PyLoop.append( '    return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ' )
145 PyMoreLoop = []
146 PyMoreLoop.append( 'import time ' )
147 PyMoreLoop.append( 'def More(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) :   ' )
148 PyMoreLoop.append( '    if Index < Max :   ' )
149 PyMoreLoop.append( '        DoLoop = 1   ' )
150 PyMoreLoop.append( '    else :   ' )
151 PyMoreLoop.append( '        DoLoop = 0   ' )
152 PyMoreLoop.append( '    time.sleep( 1 ) ' )
153 PyMoreLoop.append( '    return DoLoop,Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ' )
154 PyNextLoop = []
155 PyNextLoop.append( 'import time ' )
156 PyNextLoop.append( 'def Next(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) :   ' )
157 PyNextLoop.append( '    Index = Index + Incr   ' )
158 PyNextLoop.append( '    time.sleep( 1 ) ' )
159 PyNextLoop.append( '    return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ' )
160 Loop,EndLoop = GraphStreams.LNode( 'Init' , PyLoop , 'More' , PyMoreLoop , 'Next' , PyNextLoop )
161 EndLoop.SetName( 'EndLoop' )
162 EndLoop.SetAuthor( '' )
163 EndLoop.SetComment( '' )
164 EndLoop.Coords( 1157 , 388 )
165 PyEndLoop = []
166 EndLoop.SetPyFunction( 'EndInit' , PyEndLoop )
167 ILoopInitLoop = Loop.GetInPort( 'InitLoop' )
168 ILoopIndex = Loop.InPort( 'Index' , 'long' )
169 ILoopMin = Loop.InPort( 'Min' , 'long' )
170 ILoopMax = Loop.InPort( 'Max' , 'long' )
171 ILoopIncr = Loop.InPort( 'Incr' , 'long' )
172 ILoopz_Div = Loop.InPort( 'z_Div' , 'double' )
173 ILoopz_Div_1 = Loop.InPort( 'z_Div_1' , 'double' )
174 ILoopy_Add = Loop.InPort( 'y_Add' , 'double' )
175 ILoopx_Sub = Loop.InPort( 'x_Sub' , 'double' )
176 ILoopGate = Loop.GetInPort( 'Gate' )
177 OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
178 OLoopIndex = Loop.GetOutPort( 'Index' )
179 OLoopMin = Loop.GetOutPort( 'Min' )
180 OLoopMax = Loop.GetOutPort( 'Max' )
181 OLoopIncr = Loop.GetOutPort( 'Incr' )
182 OLoopz_Div = Loop.GetOutPort( 'z_Div' )
183 OLoopz_Div_1 = Loop.GetOutPort( 'z_Div_1' )
184 OLoopy_Add = Loop.GetOutPort( 'y_Add' )
185 OLoopx_Sub = Loop.GetOutPort( 'x_Sub' )
186 IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
187 IEndLoopIndex = EndLoop.GetInPort( 'Index' )
188 IEndLoopMin = EndLoop.GetInPort( 'Min' )
189 IEndLoopMax = EndLoop.GetInPort( 'Max' )
190 IEndLoopIncr = EndLoop.GetInPort( 'Incr' )
191 IEndLoopz_Div = EndLoop.GetInPort( 'z_Div' )
192 IEndLoopz_Div_1 = EndLoop.GetInPort( 'z_Div_1' )
193 IEndLoopy_Add = EndLoop.GetInPort( 'y_Add' )
194 IEndLoopx_Sub = EndLoop.GetInPort( 'x_Sub' )
195 IEndLoopGate = EndLoop.GetInPort( 'Gate' )
196 OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
197 OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
198 OEndLoopMin = EndLoop.GetOutPort( 'Min' )
199 OEndLoopMax = EndLoop.GetOutPort( 'Max' )
200 OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
201 OEndLoopz_Div = EndLoop.GetOutPort( 'z_Div' )
202 OEndLoopz_Div_1 = EndLoop.GetOutPort( 'z_Div_1' )
203 OEndLoopy_Add = EndLoop.GetOutPort( 'y_Add' )
204 OEndLoopx_Sub = EndLoop.GetOutPort( 'x_Sub' )
205 Loop.SetName( 'Loop' )
206 Loop.SetAuthor( '' )
207 Loop.SetComment( '' )
208 Loop.Coords( 5 , 399 )
209
210 # Creation of Links
211 LAddzSuby = GraphStreams.Link( OAddz , ISuby )
212 LAddzSuby.AddCoord( 1 , 448 , 143 )
213 LAddzSuby.AddCoord( 2 , 449 , 237 )
214
215 LAddzMuly = GraphStreams.Link( OAddz , IMuly )
216
217 LAddostreamSubistream = GraphStreams.StreamLink( OAddostream , ISubistream )
218 LAddostreamSubistream.AddCoord( 1 , 474 , 172 )
219 LAddostreamSubistream.AddCoord( 2 , 474 , 294 )
220
221 LAddOStreamSubIstream = GraphStreams.StreamLink( OAddOStream , ISubIstream )
222 LAddOStreamSubIstream.AddCoord( 1 , 499 , 201 )
223 LAddOStreamSubIstream.AddCoord( 2 , 500 , 322 )
224
225 LSubzMulx = GraphStreams.Link( OSubz , IMulx )
226 LSubzMulx.AddCoord( 1 , 706 , 207 )
227 LSubzMulx.AddCoord( 2 , 706 , 114 )
228
229 LSubzDivx = GraphStreams.Link( OSubz , IDivx )
230
231 LMulzDivy = GraphStreams.Link( OMulz , IDivy )
232 LMulzDivy.AddCoord( 1 , 912 , 143 )
233 LMulzDivy.AddCoord( 2 , 911 , 208 )
234
235 LDivzEndLoopz_Div = GraphStreams.Link( ODivz , IEndLoopz_Div )
236 LDivzEndLoopz_Div.AddCoord( 1 , 1147 , 537 )
237 LDivzEndLoopz_Div.AddCoord( 2 , 1148 , 113 )
238
239 LDivostreamAdd_1istream = GraphStreams.StreamLink( ODivostream , IAdd_1istream )
240 LDivostreamAdd_1istream.AddCoord( 1 , 232 , 638 )
241 LDivostreamAdd_1istream.AddCoord( 2 , 232 , 763 )
242 LDivostreamAdd_1istream.AddCoord( 3 , 1126 , 763 )
243 LDivostreamAdd_1istream.AddCoord( 4 , 1125 , 144 )
244
245 LAdd_1zSub_1y = GraphStreams.Link( OAdd_1z , ISub_1y )
246 LAdd_1zSub_1y.AddCoord( 1 , 445 , 478 )
247 LAdd_1zSub_1y.AddCoord( 2 , 445 , 582 )
248
249 LAdd_1zMul_1y = GraphStreams.Link( OAdd_1z , IMul_1y )
250
251 LAdd_1ostreamSub_1istream = GraphStreams.StreamLink( OAdd_1ostream , ISub_1istream )
252 LAdd_1ostreamSub_1istream.AddCoord( 1 , 473 , 508 )
253 LAdd_1ostreamSub_1istream.AddCoord( 2 , 474 , 638 )
254
255 LAdd_1OStreamSub_1Istream = GraphStreams.StreamLink( OAdd_1OStream , ISub_1Istream )
256 LAdd_1OStreamSub_1Istream.AddCoord( 1 , 498 , 535 )
257 LAdd_1OStreamSub_1Istream.AddCoord( 2 , 498 , 667 )
258
259 LSub_1zMul_1x = GraphStreams.Link( OSub_1z , IMul_1x )
260 LSub_1zMul_1x.AddCoord( 1 , 708 , 552 )
261 LSub_1zMul_1x.AddCoord( 2 , 707 , 450 )
262
263 LSub_1zDiv_1x = GraphStreams.Link( OSub_1z , IDiv_1x )
264
265 LMul_1zDiv_1y = GraphStreams.Link( OMul_1z , IDiv_1y )
266 LMul_1zDiv_1y.AddCoord( 1 , 913 , 479 )
267 LMul_1zDiv_1y.AddCoord( 2 , 913 , 551 )
268
269 LDiv_1zEndLoopz_Div_1 = GraphStreams.Link( ODiv_1z , IEndLoopz_Div_1 )
270 LDiv_1zEndLoopz_Div_1.AddCoord( 1 , 1138 , 567 )
271 LDiv_1zEndLoopz_Div_1.AddCoord( 2 , 1138 , 449 )
272
273 LDiv_1ostreamAddistream = GraphStreams.StreamLink( ODiv_1ostream , IAddistream )
274 LDiv_1ostreamAddistream.AddCoord( 1 , 230 , 293 )
275 LDiv_1ostreamAddistream.AddCoord( 2 , 229 , 426 )
276 LDiv_1ostreamAddistream.AddCoord( 3 , 475 , 425 )
277 LDiv_1ostreamAddistream.AddCoord( 4 , 475 , 352 )
278 LDiv_1ostreamAddistream.AddCoord( 5 , 1110 , 352 )
279 LDiv_1ostreamAddistream.AddCoord( 6 , 1111 , 477 )
280
281 LLoopIndexEndLoopIndex = GraphStreams.Link( OLoopIndex , IEndLoopIndex )
282
283 LLoopIndexAddx = GraphStreams.Link( OLoopIndex , IAddx )
284 LLoopIndexAddx.AddCoord( 1 , 201 , 236 )
285 LLoopIndexAddx.AddCoord( 2 , 202 , 433 )
286
287 LLoopIndexAdd_1x = GraphStreams.Link( OLoopIndex , IAdd_1x )
288 LLoopIndexAdd_1x.AddCoord( 1 , 199 , 578 )
289 LLoopIndexAdd_1x.AddCoord( 2 , 200 , 435 )
290
291 LLoopMinEndLoopMin = GraphStreams.Link( OLoopMin , IEndLoopMin )
292
293 LLoopMaxEndLoopMax = GraphStreams.Link( OLoopMax , IEndLoopMax )
294
295 LLoopIncrEndLoopIncr = GraphStreams.Link( OLoopIncr , IEndLoopIncr )
296
297 LLoopy_AddEndLoopy_Add = GraphStreams.Link( OLoopy_Add , IEndLoopy_Add )
298
299 LLoopy_AddAddy = GraphStreams.Link( OLoopy_Add , IAddy )
300 LLoopy_AddAddy.AddCoord( 1 , 183 , 266 )
301 LLoopy_AddAddy.AddCoord( 2 , 183 , 608 )
302
303 LLoopy_AddAdd_1y = GraphStreams.Link( OLoopy_Add , IAdd_1y )
304
305 LLoopx_SubEndLoopx_Sub = GraphStreams.Link( OLoopx_Sub , IEndLoopx_Sub )
306
307 LLoopx_SubSubx = GraphStreams.Link( OLoopx_Sub , ISubx )
308 LLoopx_SubSubx.AddCoord( 1 , 167 , 113 )
309 LLoopx_SubSubx.AddCoord( 2 , 165 , 636 )
310
311 LLoopx_SubSub_1x = GraphStreams.Link( OLoopx_Sub , ISub_1x )
312 LLoopx_SubSub_1x.AddCoord( 1 , 167 , 450 )
313 LLoopx_SubSub_1x.AddCoord( 2 , 165 , 637 )
314
315 # Input datas
316 ILoopIndex.Input( 0 )
317 ILoopMin.Input( 1 )
318 ILoopMax.Input( 10 )
319 ILoopIncr.Input( 1 )
320 ILoopz_Div.Input( 0 )
321 ILoopz_Div_1.Input( 0 )
322 ILoopy_Add.Input( 4.5 )
323 ILoopx_Sub.Input( 1.5 )
324
325 # Output Ports of the graph
326 #OLoopz_Div = Loop.GetOutPort( 'z_Div' )
327 #OLoopz_Div_1 = Loop.GetOutPort( 'z_Div_1' )
328 #OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
329 #OEndLoopMin = EndLoop.GetOutPort( 'Min' )
330 #OEndLoopMax = EndLoop.GetOutPort( 'Max' )
331 #OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
332 #OEndLoopz_Div = EndLoop.GetOutPort( 'z_Div' )
333 #OEndLoopz_Div_1 = EndLoop.GetOutPort( 'z_Div_1' )
334 #OEndLoopy_Add = EndLoop.GetOutPort( 'y_Add' )
335 #OEndLoopx_Sub = EndLoop.GetOutPort( 'x_Sub' )
336 GraphStreams.Run()
337 GraphStreams.DoneW()
338 GraphStreams.State()
339
340 GraphStreams.PrintPorts()
341
342 subgraphs = GraphStreams.SubGraphsNumber()
343 i = 1
344 while i <= subgraphs :
345     nodes = GraphStreams.SubGraphsNodes( i )
346     j = 0
347     while j < len(nodes) :
348         print 'SubGraph',i,nodes[j].Name()
349         j = j + 1
350     i = i + 1
351
352
353 substreamgraphs = GraphStreams.SubStreamGraphsNumber()
354 i = 1
355 while i <= substreamgraphs :
356     nodes = GraphStreams.SubStreamGraphsNodes( i )
357     j = 0
358     while j < len(nodes) :
359         print 'SubStreamGraph',i,nodes[j].Name()
360         j = j + 1
361     i = i + 1
362
363
364 GraphStreams.Export('/tmp/GraphStreams.xml')
365
366 GraphStreams = StreamGraph( '/tmp/GraphStreams.xml' )
367 GraphStreams.Run()
368 GraphStreams.DoneW()
369 GraphStreams.PrintPorts()
370 GraphStreams.State()
371
372 GraphStreams.IsExecutable()
373
374 subgraphs = GraphStreams.SubGraphsNumber()
375 i = 1
376 while i <= subgraphs :
377     nodes = GraphStreams.SubGraphsNodes( i )
378     j = 0
379     while j < len(nodes) :
380         print 'SubGraph',i,nodes[j].Name()
381         j = j + 1
382     i = i + 1
383
384
385 substreamgraphs = GraphStreams.SubStreamGraphsNumber()
386 i = 1
387 while i <= substreamgraphs :
388     nodes = GraphStreams.SubStreamGraphsNodes( i )
389     j = 0
390     while j < len(nodes) :
391         print 'SubStreamGraph',i,nodes[j].Name()
392         j = j + 1
393     i = i + 1
394