Salome HOME
Copyrights update 2015.
[samples/datafiles.git] / Superv / Python / GraphLoopTwoBranches.py
1 # Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
2 #
3 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 #
6 # This library is free software; you can redistribute it and/or
7 # modify it under the terms of the GNU Lesser General Public
8 # License as published by the Free Software Foundation; either
9 # version 2.1 of the License, or (at your option) any later version.
10 #
11 # This library is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 # Lesser General Public License for more details.
15 #
16 # You should have received a copy of the GNU Lesser General Public
17 # License along with this library; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 #
20 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #
22
23 # Generated python file of Graph GraphLoopTwoBranches_1
24 #
25 from SuperV import *
26
27 # Graph creation of GraphLoopTwoBranches_1
28 def DefGraphLoopTwoBranches_1() :
29     GraphLoopTwoBranches_1 = Graph( 'GraphLoopTwoBranches_1' )
30     GraphLoopTwoBranches_1.SetName( 'GraphLoopTwoBranches_1' )
31     GraphLoopTwoBranches_1.SetAuthor( '' )
32     GraphLoopTwoBranches_1.SetComment( '' )
33     GraphLoopTwoBranches_1.Coords( 0 , 0 )
34     
35     # Creation of Factory Nodes
36     
37     # Creation of InLine Nodes
38     PyIsOdd = []
39     PyIsOdd.append( 'from time import *     ' )
40     PyIsOdd.append( 'def IsOdd(a) :         ' )
41     PyIsOdd.append( '    print a,"IsOdd"        ' )
42     PyIsOdd.append( '    sleep( 1 )     ' )
43     PyIsOdd.append( '    return a,1 ' )
44     IsOdd = GraphLoopTwoBranches_1.INode( 'IsOdd' , PyIsOdd )
45     IsOdd.SetName( 'IsOdd' )
46     IsOdd.SetAuthor( '' )
47     IsOdd.SetComment( 'Python function' )
48     IsOdd.Coords( 476 , 2 )
49     IIsOdda = IsOdd.InPort( 'a' , 'long' )
50     IIsOddGate = IsOdd.GetInPort( 'Gate' )
51     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
52     OIsOddOdd = IsOdd.OutPort( 'Odd' , 'long' )
53     OIsOddGate = IsOdd.GetOutPort( 'Gate' )
54     
55     PyIsEven = []
56     PyIsEven.append( 'from time import *     ' )
57     PyIsEven.append( 'def IsEven(a) :         ' )
58     PyIsEven.append( '    print a,"IsEven"        ' )
59     PyIsEven.append( '    sleep( 1 )     ' )
60     PyIsEven.append( '    return a,1 ' )
61     IsEven = GraphLoopTwoBranches_1.INode( 'IsEven' , PyIsEven )
62     IsEven.SetName( 'IsEven' )
63     IsEven.SetAuthor( '' )
64     IsEven.SetComment( 'Python function' )
65     IsEven.Coords( 472 , 724 )
66     IIsEvena = IsEven.InPort( 'a' , 'long' )
67     IIsEvenGate = IsEven.GetInPort( 'Gate' )
68     OIsEvena = IsEven.OutPort( 'a' , 'long' )
69     OIsEvenEven = IsEven.OutPort( 'Even' , 'long' )
70     OIsEvenGate = IsEven.GetOutPort( 'Gate' )
71     
72     PyIsNotOdd = []
73     PyIsNotOdd.append( 'from time import * ' )
74     PyIsNotOdd.append( 'def IsNotOdd(Even) : ' )
75     PyIsNotOdd.append( '    sleep(1) ' )
76     PyIsNotOdd.append( '    return Even ' )
77     IsNotOdd = GraphLoopTwoBranches_1.INode( 'IsNotOdd' , PyIsNotOdd )
78     IsNotOdd.SetName( 'IsNotOdd' )
79     IsNotOdd.SetAuthor( '' )
80     IsNotOdd.SetComment( 'Compute Node' )
81     IsNotOdd.Coords( 477 , 137 )
82     IIsNotOddEven = IsNotOdd.InPort( 'Even' , 'long' )
83     IIsNotOddGate = IsNotOdd.GetInPort( 'Gate' )
84     OIsNotOddEven = IsNotOdd.OutPort( 'Even' , 'long' )
85     OIsNotOddGate = IsNotOdd.GetOutPort( 'Gate' )
86     
87     PyIsNotEven = []
88     PyIsNotEven.append( 'from time import *  ' )
89     PyIsNotEven.append( 'def IsNotEven(Odd) :  ' )
90     PyIsNotEven.append( '    sleep(1)  ' )
91     PyIsNotEven.append( '    return Odd ' )
92     IsNotEven = GraphLoopTwoBranches_1.INode( 'IsNotEven' , PyIsNotEven )
93     IsNotEven.SetName( 'IsNotEven' )
94     IsNotEven.SetAuthor( '' )
95     IsNotEven.SetComment( 'Compute Node' )
96     IsNotEven.Coords( 475 , 601 )
97     IIsNotEvenOdd = IsNotEven.InPort( 'Odd' , 'long' )
98     IIsNotEvenGate = IsNotEven.GetInPort( 'Gate' )
99     OIsNotEvenOdd = IsNotEven.OutPort( 'Odd' , 'long' )
100     OIsNotEvenGate = IsNotEven.GetOutPort( 'Gate' )
101     
102     PyIsOdddefault = []
103     PyIsOdddefault.append( 'from time import * ' )
104     PyIsOdddefault.append( 'def IsOdddefault(a) : ' )
105     PyIsOdddefault.append( '    sleep(1) ' )
106     PyIsOdddefault.append( '    return a,0 ' )
107     PyIsOdddefault.append( '' )
108     IsOdddefault = GraphLoopTwoBranches_1.INode( 'IsOdddefault' , PyIsOdddefault )
109     IsOdddefault.SetName( 'IsOdddefault' )
110     IsOdddefault.SetAuthor( '' )
111     IsOdddefault.SetComment( 'Compute Node' )
112     IsOdddefault.Coords( 477 , 285 )
113     IIsOdddefaulta = IsOdddefault.InPort( 'a' , 'long' )
114     IIsOdddefaultGate = IsOdddefault.GetInPort( 'Gate' )
115     OIsOdddefaulta = IsOdddefault.OutPort( 'a' , 'long' )
116     OIsOdddefaultOdd = IsOdddefault.OutPort( 'Odd' , 'long' )
117     OIsOdddefaultGate = IsOdddefault.GetOutPort( 'Gate' )
118     
119     PyIsEvendefault = []
120     PyIsEvendefault.append( 'from time import *  ' )
121     PyIsEvendefault.append( 'def IsEvendefault(a) :  ' )
122     PyIsEvendefault.append( '    sleep(1)  ' )
123     PyIsEvendefault.append( '    return a,0  ' )
124     PyIsEvendefault.append( '' )
125     IsEvendefault = GraphLoopTwoBranches_1.INode( 'IsEvendefault' , PyIsEvendefault )
126     IsEvendefault.SetName( 'IsEvendefault' )
127     IsEvendefault.SetAuthor( '' )
128     IsEvendefault.SetComment( 'Compute Node' )
129     IsEvendefault.Coords( 478 , 434 )
130     IIsEvendefaulta = IsEvendefault.InPort( 'a' , 'long' )
131     IIsEvendefaultGate = IsEvendefault.GetInPort( 'Gate' )
132     OIsEvendefaulta = IsEvendefault.OutPort( 'a' , 'long' )
133     OIsEvendefaultEven = IsEvendefault.OutPort( 'Even' , 'long' )
134     OIsEvendefaultGate = IsEvendefault.GetOutPort( 'Gate' )
135     
136     # Creation of Loop Nodes
137     PyLoop = []
138     PyLoop.append( 'def InitLoop(Index,Min,Max) : ' )
139     PyLoop.append( '    Index = Max ' )
140     PyLoop.append( '    return Index,Min,Max      ' )
141     PyMoreLoop = []
142     PyMoreLoop.append( 'def MoreLoop(Index,Min,Max) :      ' )
143     PyMoreLoop.append( '        if Index >= Min :    ' )
144     PyMoreLoop.append( '                DoLoop = 1      ' )
145     PyMoreLoop.append( '        else :      ' )
146     PyMoreLoop.append( '                DoLoop = 0      ' )
147     PyMoreLoop.append( '        return DoLoop,Index,Min,Max      ' )
148     PyNextLoop = []
149     PyNextLoop.append( 'def NextLoop(Index,Min,Max) :      ' )
150     PyNextLoop.append( '        Index = Index - 1      ' )
151     PyNextLoop.append( '        return Index,Min,Max      ' )
152     Loop,EndOfLoop = GraphLoopTwoBranches_1.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
153     EndOfLoop.SetName( 'EndOfLoop' )
154     EndOfLoop.SetAuthor( '' )
155     EndOfLoop.SetComment( 'Compute Node' )
156     EndOfLoop.Coords( 1097 , 309 )
157     PyEndOfLoop = []
158     EndOfLoop.SetPyFunction( '' , PyEndOfLoop )
159     ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
160     ILoopIndex = Loop.InPort( 'Index' , 'long' )
161     ILoopMin = Loop.InPort( 'Min' , 'long' )
162     ILoopMax = Loop.InPort( 'Max' , 'long' )
163     ILoopGate = Loop.GetInPort( 'Gate' )
164     OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
165     OLoopIndex = Loop.GetOutPort( 'Index' )
166     OLoopMin = Loop.GetOutPort( 'Min' )
167     OLoopMax = Loop.GetOutPort( 'Max' )
168     IEndOfLoopDoLoop = EndOfLoop.GetInPort( 'DoLoop' )
169     IEndOfLoopIndex = EndOfLoop.GetInPort( 'Index' )
170     IEndOfLoopMin = EndOfLoop.GetInPort( 'Min' )
171     IEndOfLoopMax = EndOfLoop.GetInPort( 'Max' )
172     IEndOfLoopGate = EndOfLoop.GetInPort( 'Gate' )
173     OEndOfLoopDoLoop = EndOfLoop.GetOutPort( 'DoLoop' )
174     OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
175     OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
176     OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
177     OEndOfLoopGate = EndOfLoop.GetOutPort( 'Gate' )
178     Loop.SetName( 'Loop' )
179     Loop.SetAuthor( '' )
180     Loop.SetComment( 'Compute Node' )
181     Loop.Coords( 18 , 389 )
182     
183     # Creation of Switch Nodes
184     PySwitchOdd = []
185     PySwitchOdd.append( 'from time import *      ' )
186     PySwitchOdd.append( 'def SwitchOdd(a) :        ' )
187     PySwitchOdd.append( '    sleep(1) ' )
188     PySwitchOdd.append( '    if a <= 0 : ' )
189     PySwitchOdd.append( '        OddEven = '<=0' ' )
190     PySwitchOdd.append( '        return 0,0,0,a,OddEven ' )
191     PySwitchOdd.append( '    OddEven = 'Odd'    ' )
192     PySwitchOdd.append( '    if (a&1) == 0 :    ' )
193     PySwitchOdd.append( '        OddEven = 'Even'    ' )
194     PySwitchOdd.append( '    return a & 1,1-(a&1),1-(a&1),a,OddEven    ' )
195     SwitchOdd,EndOfSwitchOdd = GraphLoopTwoBranches_1.SNode( 'SwitchOdd' , PySwitchOdd )
196     EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
197     EndOfSwitchOdd.SetAuthor( '' )
198     EndOfSwitchOdd.SetComment( 'Compute Node' )
199     EndOfSwitchOdd.Coords( 718 , 162 )
200     PyEndOfSwitchOdd = []
201     PyEndOfSwitchOdd.append( 'from time import *  ' )
202     PyEndOfSwitchOdd.append( 'def EndOfSwitchOdd(a,Odd,Even,OddEven) :  ' )
203     PyEndOfSwitchOdd.append( '    sleep(1)  ' )
204     PyEndOfSwitchOdd.append( '    return a,Odd  ' )
205     EndOfSwitchOdd.SetPyFunction( 'EndOfSwitchOdd' , PyEndOfSwitchOdd )
206     IEndOfSwitchOdda = EndOfSwitchOdd.InPort( 'a' , 'long' )
207     IEndOfSwitchOddOdd = EndOfSwitchOdd.InPort( 'Odd' , 'boolean' )
208     IEndOfSwitchOddEven = EndOfSwitchOdd.InPort( 'Even' , 'long' )
209     IEndOfSwitchOddOddEven = EndOfSwitchOdd.InPort( 'OddEven' , 'boolean' )
210     IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
211     OEndOfSwitchOdda = EndOfSwitchOdd.OutPort( 'a' , 'long' )
212     OEndOfSwitchOddOdd = EndOfSwitchOdd.OutPort( 'Odd' , 'boolean' )
213     OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
214     SwitchOdd.SetName( 'SwitchOdd' )
215     SwitchOdd.SetAuthor( '' )
216     SwitchOdd.SetComment( 'Compute Node' )
217     SwitchOdd.Coords( 240 , 142 )
218     ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
219     ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
220     OSwitchOddOdd = SwitchOdd.OutPort( 'Odd' , 'long' )
221     OSwitchOddEven = SwitchOdd.OutPort( 'Even' , 'int' )
222     OSwitchOdddefault = SwitchOdd.OutPort( 'default' , 'long' )
223     OSwitchOdda = SwitchOdd.OutPort( 'a' , 'long' )
224     OSwitchOddOddEven = SwitchOdd.OutPort( 'OddEven' , 'string' )
225     OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
226     
227     PySwitchEven = []
228     PySwitchEven.append( 'from time import *            ' )
229     PySwitchEven.append( 'def SwitchEven(a) :          ' )
230     PySwitchEven.append( '    sleep(1)  ' )
231     PySwitchEven.append( '    if a <= 0 :  ' )
232     PySwitchEven.append( '        OddEven = '<=0'  ' )
233     PySwitchEven.append( '        return 0,0,0,a,OddEven  ' )
234     PySwitchEven.append( '    OddEven = 'Even'         ' )
235     PySwitchEven.append( '    if (a&1) != 0 :         ' )
236     PySwitchEven.append( '        OddEven = 'Odd'      ' )
237     PySwitchEven.append( '    print (a&1),1-(a&1),(a&1),a,OddEven    ' )
238     PySwitchEven.append( '    return (a&1),1-(a&1),(a&1),a,OddEven         ' )
239     SwitchEven,EndOfSwitchEven = GraphLoopTwoBranches_1.SNode( 'SwitchEven' , PySwitchEven )
240     EndOfSwitchEven.SetName( 'EndOfSwitchEven' )
241     EndOfSwitchEven.SetAuthor( '' )
242     EndOfSwitchEven.SetComment( 'Compute Node' )
243     EndOfSwitchEven.Coords( 721 , 477 )
244     PyEndOfSwitchEven = []
245     PyEndOfSwitchEven.append( 'from time import *  ' )
246     PyEndOfSwitchEven.append( 'def EndOfSwitchEven(a,Even,Odd,OddEven) :  ' )
247     PyEndOfSwitchEven.append( '    sleep(1)  ' )
248     PyEndOfSwitchEven.append( '    return a,Even  ' )
249     EndOfSwitchEven.SetPyFunction( 'EndOfSwitchEven' , PyEndOfSwitchEven )
250     IEndOfSwitchEvena = EndOfSwitchEven.InPort( 'a' , 'long' )
251     IEndOfSwitchEvenEven = EndOfSwitchEven.InPort( 'Even' , 'boolean' )
252     IEndOfSwitchEvenOdd = EndOfSwitchEven.InPort( 'Odd' , 'long' )
253     IEndOfSwitchEvenOddEven = EndOfSwitchEven.InPort( 'OddEven' , 'string' )
254     IEndOfSwitchEvenDefault = EndOfSwitchEven.GetInPort( 'Default' )
255     OEndOfSwitchEvena = EndOfSwitchEven.OutPort( 'a' , 'long' )
256     OEndOfSwitchEvenEven = EndOfSwitchEven.OutPort( 'Even' , 'boolean' )
257     OEndOfSwitchEvenGate = EndOfSwitchEven.GetOutPort( 'Gate' )
258     SwitchEven.SetName( 'SwitchEven' )
259     SwitchEven.SetAuthor( '' )
260     SwitchEven.SetComment( 'Compute Node' )
261     SwitchEven.Coords( 230 , 457 )
262     ISwitchEvena = SwitchEven.InPort( 'a' , 'long' )
263     ISwitchEvenGate = SwitchEven.GetInPort( 'Gate' )
264     OSwitchEvenOdd = SwitchEven.OutPort( 'Odd' , 'long' )
265     OSwitchEvenEven = SwitchEven.OutPort( 'Even' , 'int' )
266     OSwitchEvendefault = SwitchEven.OutPort( 'default' , 'long' )
267     OSwitchEvena = SwitchEven.OutPort( 'a' , 'int' )
268     OSwitchEvenOddEven = SwitchEven.OutPort( 'OddEven' , 'string' )
269     OSwitchEvenDefault = SwitchEven.GetOutPort( 'Default' )
270     
271     # Creation of Links
272     LIsOddaEndOfSwitchOdda = GraphLoopTwoBranches_1.Link( OIsOdda , IEndOfSwitchOdda )
273     
274     LIsOddOddEndOfSwitchOddOdd = GraphLoopTwoBranches_1.Link( OIsOddOdd , IEndOfSwitchOddOdd )
275     
276     LSwitchOddOddIsOddGate = GraphLoopTwoBranches_1.Link( OSwitchOddOdd , IIsOddGate )
277     
278     LSwitchOddEvenIsNotOddEven = GraphLoopTwoBranches_1.Link( OSwitchOddEven , IIsNotOddEven )
279     
280     LSwitchOdddefaultIsOdddefaultGate = GraphLoopTwoBranches_1.Link( OSwitchOdddefault , IIsOdddefaultGate )
281     
282     LSwitchOddaIsOdddefaulta = GraphLoopTwoBranches_1.Link( OSwitchOdda , IIsOdddefaulta )
283     
284     LSwitchOddaIsOdda = GraphLoopTwoBranches_1.Link( OSwitchOdda , IIsOdda )
285     
286     LSwitchOddOddEvenEndOfSwitchOddOddEven = GraphLoopTwoBranches_1.Link( OSwitchOddOddEven , IEndOfSwitchOddOddEven )
287     
288     LSwitchOddDefaultEndOfSwitchOddDefault = GraphLoopTwoBranches_1.Link( OSwitchOddDefault , IEndOfSwitchOddDefault )
289     
290     LEndOfSwitchOddaEndOfLoopIndex = GraphLoopTwoBranches_1.Link( OEndOfSwitchOdda , IEndOfLoopIndex )
291     
292     LIsEvenaEndOfSwitchEvena = GraphLoopTwoBranches_1.Link( OIsEvena , IEndOfSwitchEvena )
293     
294     LIsEvenEvenEndOfSwitchEvenEven = GraphLoopTwoBranches_1.Link( OIsEvenEven , IEndOfSwitchEvenEven )
295     
296     LLoopIndexSwitchOdda = GraphLoopTwoBranches_1.Link( OLoopIndex , ISwitchOdda )
297     
298     LLoopIndexSwitchEvena = GraphLoopTwoBranches_1.Link( OLoopIndex , ISwitchEvena )
299     
300     LLoopMinEndOfLoopMin = GraphLoopTwoBranches_1.Link( OLoopMin , IEndOfLoopMin )
301     
302     LLoopMaxEndOfLoopMax = GraphLoopTwoBranches_1.Link( OLoopMax , IEndOfLoopMax )
303     
304     LSwitchEvenOddIsNotEvenOdd = GraphLoopTwoBranches_1.Link( OSwitchEvenOdd , IIsNotEvenOdd )
305     
306     LSwitchEvenEvenIsEvenGate = GraphLoopTwoBranches_1.Link( OSwitchEvenEven , IIsEvenGate )
307     
308     LSwitchEvendefaultIsEvendefaultGate = GraphLoopTwoBranches_1.Link( OSwitchEvendefault , IIsEvendefaultGate )
309     
310     LSwitchEvenaIsEvena = GraphLoopTwoBranches_1.Link( OSwitchEvena , IIsEvena )
311     
312     LSwitchEvenaIsEvendefaulta = GraphLoopTwoBranches_1.Link( OSwitchEvena , IIsEvendefaulta )
313     
314     LSwitchEvenOddEvenEndOfSwitchEvenOddEven = GraphLoopTwoBranches_1.Link( OSwitchEvenOddEven , IEndOfSwitchEvenOddEven )
315     
316     LSwitchEvenDefaultEndOfSwitchEvenDefault = GraphLoopTwoBranches_1.Link( OSwitchEvenDefault , IEndOfSwitchEvenDefault )
317     
318     LEndOfSwitchEvenGateEndOfLoopGate = GraphLoopTwoBranches_1.Link( OEndOfSwitchEvenGate , IEndOfLoopGate )
319     
320     LIsNotOddEvenEndOfSwitchOddEven = GraphLoopTwoBranches_1.Link( OIsNotOddEven , IEndOfSwitchOddEven )
321     
322     LIsNotEvenOddEndOfSwitchEvenOdd = GraphLoopTwoBranches_1.Link( OIsNotEvenOdd , IEndOfSwitchEvenOdd )
323     
324     LIsOdddefaultaEndOfSwitchOdda = GraphLoopTwoBranches_1.Link( OIsOdddefaulta , IEndOfSwitchOdda )
325     
326     LIsOdddefaultOddEndOfSwitchOddOdd = GraphLoopTwoBranches_1.Link( OIsOdddefaultOdd , IEndOfSwitchOddOdd )
327     
328     LIsEvendefaultaEndOfSwitchEvena = GraphLoopTwoBranches_1.Link( OIsEvendefaulta , IEndOfSwitchEvena )
329     
330     LIsEvendefaultEvenEndOfSwitchEvenEven = GraphLoopTwoBranches_1.Link( OIsEvendefaultEven , IEndOfSwitchEvenEven )
331     
332     # Input datas
333     ILoopIndex.Input( 0 )
334     ILoopMin.Input( -5 )
335     ILoopMax.Input( 11 )
336     
337     # Output Ports of the graph
338     #OEndOfSwitchOddOdd = EndOfSwitchOdd.GetOutPort( 'Odd' )
339     #OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
340     #OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
341     #OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
342     #OEndOfSwitchEvena = EndOfSwitchEven.GetOutPort( 'a' )
343     #OEndOfSwitchEvenEven = EndOfSwitchEven.GetOutPort( 'Even' )
344     return GraphLoopTwoBranches_1
345
346
347 GraphLoopTwoBranches_1 = DefGraphLoopTwoBranches_1()