Salome HOME
Merge from V6_main_20120808 08Aug12
[samples/datafiles.git] / Superv / Python / GraphLoopSwitchs.py
1 #  Copyright (C) 2007-2011  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 GraphLoopSwitchs_1
23 #
24 from SuperV import *
25
26 # Graph creation of GraphLoopSwitchs_1
27 def DefGraphLoopSwitchs_1() :
28     GraphLoopSwitchs_1 = Graph( 'GraphLoopSwitchs_1' )
29     GraphLoopSwitchs_1.SetName( 'GraphLoopSwitchs_1' )
30     GraphLoopSwitchs_1.SetAuthor( 'JR' )
31     GraphLoopSwitchs_1.SetComment( '' )
32     GraphLoopSwitchs_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 = GraphLoopSwitchs_1.INode( 'IsOdd' , PyIsOdd )
44     IsOdd.SetName( 'IsOdd' )
45     IsOdd.SetAuthor( '' )
46     IsOdd.SetComment( 'Python function' )
47     IsOdd.Coords( 476 , 50 )
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 = GraphLoopSwitchs_1.INode( 'IsEven' , PyIsEven )
61     IsEven.SetName( 'IsEven' )
62     IsEven.SetAuthor( '' )
63     IsEven.SetComment( 'Python function' )
64     IsEven.Coords( 482 , 292 )
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     PySwitchsCompare = []
72     PySwitchsCompare.append( 'from time import * ' )
73     PySwitchsCompare.append( 'def SwitchsCompare(aOdd,Odd,aEven,Even) : ' )
74     PySwitchsCompare.append( '    sleep(1) ' )
75     PySwitchsCompare.append( '    return aOdd  ' )
76     SwitchsCompare = GraphLoopSwitchs_1.INode( 'SwitchsCompare' , PySwitchsCompare )
77     SwitchsCompare.SetName( 'SwitchsCompare' )
78     SwitchsCompare.SetAuthor( '' )
79     SwitchsCompare.SetComment( 'Compute Node' )
80     SwitchsCompare.Coords( 919 , 242 )
81     ISwitchsCompareaOdd = SwitchsCompare.InPort( 'aOdd' , 'long' )
82     ISwitchsCompareOdd = SwitchsCompare.InPort( 'Odd' , 'boolean' )
83     ISwitchsCompareaEven = SwitchsCompare.InPort( 'aEven' , 'long' )
84     ISwitchsCompareEven = SwitchsCompare.InPort( 'Even' , 'boolean' )
85     ISwitchsCompareGate = SwitchsCompare.GetInPort( 'Gate' )
86     OSwitchsComparea = SwitchsCompare.OutPort( 'a' , 'long' )
87     OSwitchsCompareGate = SwitchsCompare.GetOutPort( 'Gate' )
88     
89     # Creation of Loop Nodes
90     PyLoop = []
91     PyLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
92     PyLoop.append( '    return Index,Min,Max     ' )
93     PyMoreLoop = []
94     PyMoreLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
95     PyMoreLoop.append( '        if Index <= Max :   ' )
96     PyMoreLoop.append( '                DoLoop = 1     ' )
97     PyMoreLoop.append( '        else :     ' )
98     PyMoreLoop.append( '                DoLoop = 0     ' )
99     PyMoreLoop.append( '        return DoLoop,Index,Min,Max     ' )
100     PyNextLoop = []
101     PyNextLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
102     PyNextLoop.append( '        Index = Index + 1     ' )
103     PyNextLoop.append( '        return Index,Min,Max     ' )
104     Loop,EndOfLoop = GraphLoopSwitchs_1.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
105     EndOfLoop.SetName( 'EndOfLoop' )
106     EndOfLoop.SetAuthor( '' )
107     EndOfLoop.SetComment( 'Compute Node' )
108     EndOfLoop.Coords( 1102 , 282 )
109     PyEndOfLoop = []
110     EndOfLoop.SetPyFunction( '' , PyEndOfLoop )
111     ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
112     ILoopIndex = Loop.InPort( 'Index' , 'long' )
113     ILoopMin = Loop.InPort( 'Min' , 'long' )
114     ILoopMax = Loop.InPort( 'Max' , 'long' )
115     ILoopGate = Loop.GetInPort( 'Gate' )
116     OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
117     OLoopIndex = Loop.GetOutPort( 'Index' )
118     OLoopMin = Loop.GetOutPort( 'Min' )
119     OLoopMax = Loop.GetOutPort( 'Max' )
120     IEndOfLoopDoLoop = EndOfLoop.GetInPort( 'DoLoop' )
121     IEndOfLoopIndex = EndOfLoop.GetInPort( 'Index' )
122     IEndOfLoopMin = EndOfLoop.GetInPort( 'Min' )
123     IEndOfLoopMax = EndOfLoop.GetInPort( 'Max' )
124     IEndOfLoopGate = EndOfLoop.GetInPort( 'Gate' )
125     OEndOfLoopDoLoop = EndOfLoop.GetOutPort( 'DoLoop' )
126     OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
127     OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
128     OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
129     OEndOfLoopGate = EndOfLoop.GetOutPort( 'Gate' )
130     Loop.SetName( 'Loop' )
131     Loop.SetAuthor( '' )
132     Loop.SetComment( 'Compute Node' )
133     Loop.Coords( 12 , 276 )
134     
135     # Creation of Switch Nodes
136     PySwitchOdd = []
137     PySwitchOdd.append( 'from time import *  ' )
138     PySwitchOdd.append( 'def Switch(a) :    ' )
139     PySwitchOdd.append( '    sleep(1)     ' )
140     PySwitchOdd.append( '    return a & 1,1-(a&1),a     ' )
141     SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchs_1.SNode( 'Switch' , PySwitchOdd )
142     EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
143     EndOfSwitchOdd.SetAuthor( '' )
144     EndOfSwitchOdd.SetComment( 'Compute Node' )
145     EndOfSwitchOdd.Coords( 711 , 161 )
146     PyEndOfSwitchOdd = []
147     PyEndOfSwitchOdd.append( 'from time import * ' )
148     PyEndOfSwitchOdd.append( 'def EndOfSwitchOdd(a,Odd) : ' )
149     PyEndOfSwitchOdd.append( '    sleep(1) ' )
150     PyEndOfSwitchOdd.append( '    return a,Odd ' )
151     EndOfSwitchOdd.SetPyFunction( 'EndOfSwitchOdd' , PyEndOfSwitchOdd )
152     IEndOfSwitchOdda = EndOfSwitchOdd.InPort( 'a' , 'long' )
153     IEndOfSwitchOddOdd = EndOfSwitchOdd.InPort( 'Odd' , 'boolean' )
154     IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
155     OEndOfSwitchOdda = EndOfSwitchOdd.OutPort( 'a' , 'long' )
156     OEndOfSwitchOddOdd = EndOfSwitchOdd.OutPort( 'Odd' , 'boolean' )
157     OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
158     SwitchOdd.SetName( 'SwitchOdd' )
159     SwitchOdd.SetAuthor( '' )
160     SwitchOdd.SetComment( 'Compute Node' )
161     SwitchOdd.Coords( 240 , 141 )
162     ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
163     ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
164     OSwitchOddOdd = SwitchOdd.OutPort( 'Odd' , 'long' )
165     OSwitchOddEven = SwitchOdd.OutPort( 'Even' , 'int' )
166     OSwitchOdda = SwitchOdd.OutPort( 'a' , 'int' )
167     OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
168     
169     PySwitchEven = []
170     PySwitchEven.append( 'from time import *   ' )
171     PySwitchEven.append( 'def Switch(a) : ' )
172     PySwitchEven.append( '    sleep(1)   ' )
173     PySwitchEven.append( '    return a & 1,1-(a&1),a     ' )
174     SwitchEven,EndOfSwitchEven = GraphLoopSwitchs_1.SNode( 'Switch' , PySwitchEven )
175     EndOfSwitchEven.SetName( 'EndOfSwitchEven' )
176     EndOfSwitchEven.SetAuthor( '' )
177     EndOfSwitchEven.SetComment( 'Compute Node' )
178     EndOfSwitchEven.Coords( 718 , 361 )
179     PyEndOfSwitchEven = []
180     PyEndOfSwitchEven.append( 'from time import * ' )
181     PyEndOfSwitchEven.append( 'def EndOfSwitchEven(a,Even) : ' )
182     PyEndOfSwitchEven.append( '    sleep(1) ' )
183     PyEndOfSwitchEven.append( '    return a,Even ' )
184     EndOfSwitchEven.SetPyFunction( 'EndOfSwitchEven' , PyEndOfSwitchEven )
185     IEndOfSwitchEvena = EndOfSwitchEven.InPort( 'a' , 'long' )
186     IEndOfSwitchEvenEven = EndOfSwitchEven.InPort( 'Even' , 'boolean' )
187     IEndOfSwitchEvenDefault = EndOfSwitchEven.GetInPort( 'Default' )
188     OEndOfSwitchEvena = EndOfSwitchEven.OutPort( 'a' , 'long' )
189     OEndOfSwitchEvenEven = EndOfSwitchEven.OutPort( 'Even' , 'boolean' )
190     OEndOfSwitchEvenGate = EndOfSwitchEven.GetOutPort( 'Gate' )
191     SwitchEven.SetName( 'SwitchEven' )
192     SwitchEven.SetAuthor( '' )
193     SwitchEven.SetComment( 'Compute Node' )
194     SwitchEven.Coords( 235 , 386 )
195     ISwitchEvena = SwitchEven.InPort( 'a' , 'long' )
196     ISwitchEvenGate = SwitchEven.GetInPort( 'Gate' )
197     OSwitchEvenOdd = SwitchEven.OutPort( 'Odd' , 'long' )
198     OSwitchEvenEven = SwitchEven.OutPort( 'Even' , 'int' )
199     OSwitchEvena = SwitchEven.OutPort( 'a' , 'int' )
200     OSwitchEvenDefault = SwitchEven.GetOutPort( 'Default' )
201     
202     # Creation of Links
203     LIsOddaEndOfSwitchOdda = GraphLoopSwitchs_1.Link( OIsOdda , IEndOfSwitchOdda )
204     
205     LIsOddOddEndOfSwitchOddOdd = GraphLoopSwitchs_1.Link( OIsOddOdd , IEndOfSwitchOddOdd )
206     
207     LSwitchOddOddIsOddGate = GraphLoopSwitchs_1.Link( OSwitchOddOdd , IIsOddGate )
208     
209     LSwitchOddaIsOdda = GraphLoopSwitchs_1.Link( OSwitchOdda , IIsOdda )
210     
211     LSwitchOddDefaultEndOfSwitchOddDefault = GraphLoopSwitchs_1.Link( OSwitchOddDefault , IEndOfSwitchOddDefault )
212     
213     LEndOfSwitchOddaSwitchsCompareaOdd = GraphLoopSwitchs_1.Link( OEndOfSwitchOdda , ISwitchsCompareaOdd )
214     
215     LEndOfSwitchOddOddSwitchsCompareOdd = GraphLoopSwitchs_1.Link( OEndOfSwitchOddOdd , ISwitchsCompareOdd )
216     
217     LIsEvenaEndOfSwitchEvena = GraphLoopSwitchs_1.Link( OIsEvena , IEndOfSwitchEvena )
218     
219     LIsEvenEvenEndOfSwitchEvenEven = GraphLoopSwitchs_1.Link( OIsEvenEven , IEndOfSwitchEvenEven )
220     
221     LLoopIndexSwitchEvena = GraphLoopSwitchs_1.Link( OLoopIndex , ISwitchEvena )
222     
223     LLoopIndexSwitchOdda = GraphLoopSwitchs_1.Link( OLoopIndex , ISwitchOdda )
224     
225     LLoopMinEndOfLoopMin = GraphLoopSwitchs_1.Link( OLoopMin , IEndOfLoopMin )
226     
227     LLoopMaxEndOfLoopMax = GraphLoopSwitchs_1.Link( OLoopMax , IEndOfLoopMax )
228     
229     LSwitchEvenEvenIsEvenGate = GraphLoopSwitchs_1.Link( OSwitchEvenEven , IIsEvenGate )
230     
231     LSwitchEvenaIsEvena = GraphLoopSwitchs_1.Link( OSwitchEvena , IIsEvena )
232     
233     LSwitchEvenDefaultEndOfSwitchEvenDefault = GraphLoopSwitchs_1.Link( OSwitchEvenDefault , IEndOfSwitchEvenDefault )
234     
235     LEndOfSwitchEvenaSwitchsCompareaEven = GraphLoopSwitchs_1.Link( OEndOfSwitchEvena , ISwitchsCompareaEven )
236     
237     LEndOfSwitchEvenEvenSwitchsCompareEven = GraphLoopSwitchs_1.Link( OEndOfSwitchEvenEven , ISwitchsCompareEven )
238     
239     LSwitchsCompareaEndOfLoopIndex = GraphLoopSwitchs_1.Link( OSwitchsComparea , IEndOfLoopIndex )
240     
241     # Input datas
242     ILoopIndex.Input( 0 )
243     ILoopMin.Input( 0 )
244     ILoopMax.Input( 23 )
245     
246     # Output Ports of the graph
247     #OSwitchOddEven = SwitchOdd.GetOutPort( 'Even' )
248     #OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
249     #OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
250     #OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
251     #OSwitchEvenOdd = SwitchEven.GetOutPort( 'Odd' )
252     return GraphLoopSwitchs_1
253
254
255 GraphLoopSwitchs_1 = DefGraphLoopSwitchs_1()