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