Salome HOME
7f33f4d6347e155452dc531b3007700b3e2cb67d
[samples/datafiles.git] / Superv / Python / SyrStruct.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 SyrStruct
23 #
24 from SuperV import *
25
26 # Graph creation of SyrStruct
27 def DefSyrStruct() :
28     SyrStruct = Graph( 'SyrStruct' )
29     SyrStruct.SetName( 'SyrStruct' )
30     SyrStruct.SetAuthor( 'JR' )
31     SyrStruct.SetComment( 'Syracuse algorithm' )
32     SyrStruct.Coords( 0 , 0 )
33     
34     # Creation of Factory Nodes
35     
36     m3 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3' )
37     m3.SetName( 'm3' )
38     m3.SetAuthor( '' )
39     m3.SetContainer( 'localhost/FactoryServer' )
40     m3.SetComment( 'C_M3 from SyrComponent' )
41     m3.Coords( 672 , 28 )
42     Im3anOddInteger = m3.GetInPort( 'anOddInteger' )
43     Im3Gate = m3.GetInPort( 'Gate' )
44     Om3anInteger = m3.GetOutPort( 'anInteger' )
45     Om3Gate = m3.GetOutPort( 'Gate' )
46     
47     m3incr = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
48     m3incr.SetName( 'm3incr' )
49     m3incr.SetAuthor( '' )
50     m3incr.SetContainer( 'localhost/FactoryServer' )
51     m3incr.SetComment( 'C_INCR from SyrComponent' )
52     m3incr.Coords( 899 , 28 )
53     Im3incraCount = m3incr.GetInPort( 'aCount' )
54     Im3incrGate = m3incr.GetInPort( 'Gate' )
55     Om3incraNewCount = m3incr.GetOutPort( 'aNewCount' )
56     Om3incrGate = m3incr.GetOutPort( 'Gate' )
57     
58     incra = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
59     incra.SetName( 'incra' )
60     incra.SetAuthor( '' )
61     incra.SetContainer( 'localhost/FactoryServer' )
62     incra.SetComment( 'C_INCR from SyrComponent' )
63     incra.Coords( 824 , 218 )
64     IincraaCount = incra.GetInPort( 'aCount' )
65     IincraGate = incra.GetInPort( 'Gate' )
66     OincraaNewCount = incra.GetOutPort( 'aNewCount' )
67     OincraGate = incra.GetOutPort( 'Gate' )
68     
69     div2 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
70     div2.SetName( 'div2' )
71     div2.SetAuthor( '' )
72     div2.SetContainer( 'localhost/FactoryServer' )
73     div2.SetComment( 'C_DIV2 from SyrComponent' )
74     div2.Coords( 817 , 431 )
75     Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
76     Idiv2Gate = div2.GetInPort( 'Gate' )
77     Odiv2anInteger = div2.GetOutPort( 'anInteger' )
78     Odiv2Gate = div2.GetOutPort( 'Gate' )
79     
80     incrb = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
81     incrb.SetName( 'incrb' )
82     incrb.SetAuthor( '' )
83     incrb.SetContainer( 'localhost/FactoryServer' )
84     incrb.SetComment( 'C_INCR from SyrComponent' )
85     incrb.Coords( 821 , 574 )
86     IincrbaCount = incrb.GetInPort( 'aCount' )
87     IincrbGate = incrb.GetInPort( 'Gate' )
88     OincrbaNewCount = incrb.GetOutPort( 'aNewCount' )
89     OincrbGate = incrb.GetOutPort( 'Gate' )
90     
91     # Creation of InLine Nodes
92     PySyrComponent = []
93     PySyrComponent.append( 'from LifeCycleCORBA import * ' )
94     PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' )
95     PySyrComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
96     PySyrComponent.append( '    lcc = LifeCycleCORBA(orb) ' )
97     PySyrComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' )
98     PySyrComponent.append( '    return ComponentRef ' )
99     SyrComponent = SyrStruct.INode( 'SyrComponent' , PySyrComponent )
100     SyrComponent.SetName( 'SyrComponent' )
101     SyrComponent.SetAuthor( '' )
102     SyrComponent.SetComment( 'SyrComponent( aContainer , aComponent )' )
103     SyrComponent.Coords( 0 , 0 )
104     ISyrComponentaContainer = SyrComponent.InPort( 'aContainer' , 'string' )
105     ISyrComponentaComponent = SyrComponent.InPort( 'aComponent' , 'string' )
106     ISyrComponentGate = SyrComponent.GetInPort( 'Gate' )
107     OSyrComponentSyrComponentobjref = SyrComponent.OutPort( 'SyrComponentobjref' , 'objref' )
108     OSyrComponentGate = SyrComponent.GetOutPort( 'Gate' )
109     
110     # Creation of Loop Nodes
111     PyforN = []
112     PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) : ' )
113     PyforN.append( '    N = max ' )
114     PyforN.append( '    if min > 0 : ' )
115     PyforN.append( '        if max >= min : ' )
116     PyforN.append( '            N = min ' )
117     PyforN.append( '    return N,K,SyrComponent,min,max ' )
118     PyMoreforN = []
119     PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) : ' )
120     PyMoreforN.append( '    N = NN ' )
121     PyMoreforN.append( '    OutLoop = 0 ' )
122     PyMoreforN.append( '    if max > NN : ' )
123     PyMoreforN.append( '        OutLoop = 1 ' )
124     PyMoreforN.append( '    return OutLoop,N,0,SyrComponent,min,max ' )
125     PyNextforN = []
126     PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) : ' )
127     PyNextforN.append( '    N = NN + 1 ' )
128     PyNextforN.append( '    K = KK ' )
129     PyNextforN.append( '    return N,K,SyrComponent,min,max ' )
130     forN,EndOfforN = SyrStruct.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN )
131     EndOfforN.SetName( 'EndOfforN' )
132     EndOfforN.SetAuthor( '' )
133     EndOfforN.SetComment( 'Compute Node' )
134     EndOfforN.Coords( 1590 , 331 )
135     PyEndOfforN = []
136     EndOfforN.SetPyFunction( '' , PyEndOfforN )
137     IforNDoLoop = forN.GetInPort( 'DoLoop' )
138     IforNN = forN.InPort( 'N' , 'long' )
139     IforNK = forN.InPort( 'K' , 'long' )
140     IforNSyrComponent = forN.InPort( 'SyrComponent' , 'objref' )
141     IforNmin = forN.InPort( 'min' , 'long' )
142     IforNmax = forN.InPort( 'max' , 'long' )
143     IforNGate = forN.GetInPort( 'Gate' )
144     OforNDoLoop = forN.GetOutPort( 'DoLoop' )
145     OforNN = forN.GetOutPort( 'N' )
146     OforNK = forN.GetOutPort( 'K' )
147     OforNSyrComponent = forN.GetOutPort( 'SyrComponent' )
148     OforNmin = forN.GetOutPort( 'min' )
149     OforNmax = forN.GetOutPort( 'max' )
150     IEndOfforNDoLoop = EndOfforN.GetInPort( 'DoLoop' )
151     IEndOfforNN = EndOfforN.GetInPort( 'N' )
152     IEndOfforNK = EndOfforN.GetInPort( 'K' )
153     IEndOfforNSyrComponent = EndOfforN.GetInPort( 'SyrComponent' )
154     IEndOfforNmin = EndOfforN.GetInPort( 'min' )
155     IEndOfforNmax = EndOfforN.GetInPort( 'max' )
156     IEndOfforNGate = EndOfforN.GetInPort( 'Gate' )
157     OEndOfforNDoLoop = EndOfforN.GetOutPort( 'DoLoop' )
158     OEndOfforNN = EndOfforN.GetOutPort( 'N' )
159     OEndOfforNK = EndOfforN.GetOutPort( 'K' )
160     OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
161     OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
162     OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
163     OEndOfforNGate = EndOfforN.GetOutPort( 'Gate' )
164     forN.SetName( 'forN' )
165     forN.SetAuthor( '' )
166     forN.SetComment( 'InitN , MoreN , NextN' )
167     forN.Coords( 20 , 302 )
168     
169     PywhileNotOne = []
170     PywhileNotOne.append( 'import threading' )
171     PywhileNotOne.append( 'import SyrComponent_idl' )
172     PywhileNotOne.append( 'def InitNotOne( SyrComponent , N , K ) :' )
173     PywhileNotOne.append( '    return SyrComponent,N,K' )
174     PyMorewhileNotOne = []
175     PyMorewhileNotOne.append( 'import SyrComponent_idl' )
176     PyMorewhileNotOne.append( 'def MoreNotOne( SyrComponent , N , K ) :' )
177     PyMorewhileNotOne.append( '    OutLoop = 1 - SyrComponent.C_ISONE( N )' )
178     PyMorewhileNotOne.append( '    return OutLoop,SyrComponent,N,K ' )
179     PyNextwhileNotOne = []
180     PyNextwhileNotOne.append( 'import SyrComponent_idl' )
181     PyNextwhileNotOne.append( 'def NextNotOne( SyrComponent , N , K ) :' )
182     PyNextwhileNotOne.append( '    return SyrComponent,N,K' )
183     whileNotOne,EndOfwhileNotOne = SyrStruct.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne )
184     EndOfwhileNotOne.SetName( 'EndOfwhileNotOne' )
185     EndOfwhileNotOne.SetAuthor( '' )
186     EndOfwhileNotOne.SetComment( 'Compute Node' )
187     EndOfwhileNotOne.Coords( 1405 , 311 )
188     PyEndOfwhileNotOne = []
189     EndOfwhileNotOne.SetPyFunction( '' , PyEndOfwhileNotOne )
190     IwhileNotOneDoLoop = whileNotOne.GetInPort( 'DoLoop' )
191     IwhileNotOneSyrComponent = whileNotOne.InPort( 'SyrComponent' , 'objref' )
192     IwhileNotOneN = whileNotOne.InPort( 'N' , 'long' )
193     IwhileNotOneK = whileNotOne.InPort( 'K' , 'long' )
194     IwhileNotOneGate = whileNotOne.GetInPort( 'Gate' )
195     OwhileNotOneDoLoop = whileNotOne.GetOutPort( 'DoLoop' )
196     OwhileNotOneSyrComponent = whileNotOne.GetOutPort( 'SyrComponent' )
197     OwhileNotOneN = whileNotOne.GetOutPort( 'N' )
198     OwhileNotOneK = whileNotOne.GetOutPort( 'K' )
199     IEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetInPort( 'DoLoop' )
200     IEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetInPort( 'SyrComponent' )
201     IEndOfwhileNotOneN = EndOfwhileNotOne.GetInPort( 'N' )
202     IEndOfwhileNotOneK = EndOfwhileNotOne.GetInPort( 'K' )
203     IEndOfwhileNotOneGate = EndOfwhileNotOne.GetInPort( 'Gate' )
204     OEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetOutPort( 'DoLoop' )
205     OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
206     OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
207     OEndOfwhileNotOneK = EndOfwhileNotOne.GetOutPort( 'K' )
208     OEndOfwhileNotOneGate = EndOfwhileNotOne.GetOutPort( 'Gate' )
209     whileNotOne.SetName( 'whileNotOne' )
210     whileNotOne.SetAuthor( '' )
211     whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' )
212     whileNotOne.Coords( 215 , 282 )
213     
214     Pyfori = []
215     Pyfori.append( 'def Initfori( ii , K ) :  ' )
216     Pyfori.append( '    ii = 0    ' )
217     Pyfori.append( '    return ii,K    ' )
218     PyMorefori = []
219     PyMorefori.append( 'from time import *    ' )
220     PyMorefori.append( 'def Morefori( ii , K ) :    ' )
221     PyMorefori.append( '    OutLoop = 0    ' )
222     PyMorefori.append( '    if ii < 2 :    ' )
223     PyMorefori.append( '        OutLoop = 1 ' )
224     PyMorefori.append( '    return OutLoop,ii,K    ' )
225     PyNextfori = []
226     PyNextfori.append( 'def Nextfori( ii , K ) :    ' )
227     PyNextfori.append( '    ii = ii + 1 ' )
228     PyNextfori.append( '    return ii,K    ' )
229     fori,EndOffori = SyrStruct.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori )
230     EndOffori.SetName( 'EndOffori' )
231     EndOffori.SetAuthor( '' )
232     EndOffori.SetComment( 'Compute Node' )
233     EndOffori.Coords( 1009 , 238 )
234     PyEndOffori = []
235     EndOffori.SetPyFunction( '' , PyEndOffori )
236     IforiDoLoop = fori.GetInPort( 'DoLoop' )
237     Iforii = fori.InPort( 'i' , 'long' )
238     IforiK = fori.InPort( 'K' , 'long' )
239     IforiGate = fori.GetInPort( 'Gate' )
240     OforiDoLoop = fori.GetOutPort( 'DoLoop' )
241     Oforii = fori.GetOutPort( 'i' )
242     OforiK = fori.GetOutPort( 'K' )
243     IEndOfforiDoLoop = EndOffori.GetInPort( 'DoLoop' )
244     IEndOfforii = EndOffori.GetInPort( 'i' )
245     IEndOfforiK = EndOffori.GetInPort( 'K' )
246     IEndOfforiGate = EndOffori.GetInPort( 'Gate' )
247     OEndOfforiDoLoop = EndOffori.GetOutPort( 'DoLoop' )
248     OEndOfforii = EndOffori.GetOutPort( 'i' )
249     OEndOfforiK = EndOffori.GetOutPort( 'K' )
250     OEndOfforiGate = EndOffori.GetOutPort( 'Gate' )
251     fori.SetName( 'fori' )
252     fori.SetAuthor( '' )
253     fori.SetComment( 'Initfori, Morefori, Nextfori' )
254     fori.Coords( 641 , 238 )
255     
256     PywhileEven = []
257     PywhileEven.append( 'import SyrComponent_idl' )
258     PywhileEven.append( 'def InitEven( SyrComponent , N , K ) :' )
259     PywhileEven.append( '    return SyrComponent,N,K' )
260     PyMorewhileEven = []
261     PyMorewhileEven.append( 'import SyrComponent_idl' )
262     PyMorewhileEven.append( 'def MoreEven( SyrComponent , N , K ) :' )
263     PyMorewhileEven.append( '    OutLoop = SyrComponent.C_ISEVEN( N )' )
264     PyMorewhileEven.append( '    return OutLoop,SyrComponent,N,K ' )
265     PyNextwhileEven = []
266     PyNextwhileEven.append( 'import SyrComponent_idl' )
267     PyNextwhileEven.append( 'def NextEven( SyrComponent , N , K ) :' )
268     PyNextwhileEven.append( '    return SyrComponent,N,K' )
269     whileEven,EndOfwhileEven = SyrStruct.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven )
270     EndOfwhileEven.SetName( 'EndOfwhileEven' )
271     EndOfwhileEven.SetAuthor( '' )
272     EndOfwhileEven.SetComment( 'Compute Node' )
273     EndOfwhileEven.Coords( 1006 , 451 )
274     PyEndOfwhileEven = []
275     EndOfwhileEven.SetPyFunction( '' , PyEndOfwhileEven )
276     IwhileEvenDoLoop = whileEven.GetInPort( 'DoLoop' )
277     IwhileEvenSyrComponent = whileEven.InPort( 'SyrComponent' , 'objref' )
278     IwhileEvenN = whileEven.InPort( 'N' , 'long' )
279     IwhileEvenK = whileEven.InPort( 'K' , 'long' )
280     IwhileEvenGate = whileEven.GetInPort( 'Gate' )
281     OwhileEvenDoLoop = whileEven.GetOutPort( 'DoLoop' )
282     OwhileEvenSyrComponent = whileEven.GetOutPort( 'SyrComponent' )
283     OwhileEvenN = whileEven.GetOutPort( 'N' )
284     OwhileEvenK = whileEven.GetOutPort( 'K' )
285     IEndOfwhileEvenDoLoop = EndOfwhileEven.GetInPort( 'DoLoop' )
286     IEndOfwhileEvenSyrComponent = EndOfwhileEven.GetInPort( 'SyrComponent' )
287     IEndOfwhileEvenN = EndOfwhileEven.GetInPort( 'N' )
288     IEndOfwhileEvenK = EndOfwhileEven.GetInPort( 'K' )
289     IEndOfwhileEvenGate = EndOfwhileEven.GetInPort( 'Gate' )
290     OEndOfwhileEvenDoLoop = EndOfwhileEven.GetOutPort( 'DoLoop' )
291     OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
292     OEndOfwhileEvenN = EndOfwhileEven.GetOutPort( 'N' )
293     OEndOfwhileEvenK = EndOfwhileEven.GetOutPort( 'K' )
294     OEndOfwhileEvenGate = EndOfwhileEven.GetOutPort( 'Gate' )
295     whileEven.SetName( 'whileEven' )
296     whileEven.SetAuthor( '' )
297     whileEven.SetComment( 'InitEven, MoreEven, NextEven' )
298     whileEven.Coords( 632 , 451 )
299     
300     # Creation of Switch Nodes
301     PyifNotEven = []
302     PyifNotEven.append( 'import SyrComponent_idl' )
303     PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )
304     PyifNotEven.append( '    Even = SyrComponent.C_ISEVEN( N )' )
305     PyifNotEven.append( '    Odd = 1 - Even' )
306     PyifNotEven.append( '    return Odd,Even,SyrComponent,N,K' )
307     ifNotEven,EndOfifNotEven = SyrStruct.SNode( 'ifNotEven' , PyifNotEven )
308     EndOfifNotEven.SetName( 'EndOfifNotEven' )
309     EndOfifNotEven.SetAuthor( '' )
310     EndOfifNotEven.SetComment( 'Compute Node' )
311     EndOfifNotEven.Coords( 1220 , 331 )
312     PyEndOfifNotEven = []
313     EndOfifNotEven.SetPyFunction( '' , PyEndOfifNotEven )
314     IEndOfifNotEvenN = EndOfifNotEven.InPort( 'N' , 'long' )
315     IEndOfifNotEvenK = EndOfifNotEven.InPort( 'K' , 'long' )
316     IEndOfifNotEvenDefault = EndOfifNotEven.GetInPort( 'Default' )
317     OEndOfifNotEvenN = EndOfifNotEven.OutPort( 'N' , 'long' )
318     OEndOfifNotEvenK = EndOfifNotEven.OutPort( 'K' , 'long' )
319     OEndOfifNotEvenGate = EndOfifNotEven.GetOutPort( 'Gate' )
320     ifNotEven.SetName( 'ifNotEven' )
321     ifNotEven.SetAuthor( '' )
322     ifNotEven.SetComment( 'ifNotEven' )
323     ifNotEven.Coords( 407 , 282 )
324     IifNotEvenSyrComponent = ifNotEven.InPort( 'SyrComponent' , 'objref' )
325     IifNotEvenN = ifNotEven.InPort( 'N' , 'long' )
326     IifNotEvenK = ifNotEven.InPort( 'K' , 'long' )
327     IifNotEvenGate = ifNotEven.GetInPort( 'Gate' )
328     OifNotEvenOdd = ifNotEven.OutPort( 'Odd' , 'long' )
329     OifNotEvenEven = ifNotEven.OutPort( 'Even' , 'long' )
330     OifNotEvenSyrComponent = ifNotEven.OutPort( 'SyrComponent' , 'objref' )
331     OifNotEvenN = ifNotEven.OutPort( 'N' , 'long' )
332     OifNotEvenK = ifNotEven.OutPort( 'K' , 'long' )
333     OifNotEvenDefault = ifNotEven.GetOutPort( 'Default' )
334     
335     # Creation of Links
336     Lm3anIntegerm3incraCount = SyrStruct.Link( Om3anInteger , Im3incraCount )
337     
338     Lm3incraNewCountEndOfifNotEvenN = SyrStruct.Link( Om3incraNewCount , IEndOfifNotEvenN )
339     Lm3incraNewCountEndOfifNotEvenN.AddCoord( 1 , 1193 , 362 )
340     Lm3incraNewCountEndOfifNotEvenN.AddCoord( 2 , 1191 , 100 )
341     
342     LincraaNewCountEndOfforiK = SyrStruct.Link( OincraaNewCount , IEndOfforiK )
343     
344     Ldiv2anIntegerEndOfwhileEvenN = SyrStruct.Link( Odiv2anInteger , IEndOfwhileEvenN )
345     
346     LincrbaNewCountEndOfwhileEvenK = SyrStruct.Link( OincrbaNewCount , IEndOfwhileEvenK )
347     LincrbaNewCountEndOfwhileEvenK.AddCoord( 1 , 992 , 521 )
348     LincrbaNewCountEndOfwhileEvenK.AddCoord( 2 , 992 , 645 )
349     
350     LSyrComponentSyrComponentobjrefforNSyrComponent = SyrStruct.Link( OSyrComponentSyrComponentobjref , IforNSyrComponent )
351     LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 1 , 8 , 373 )
352     LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 2 , 8 , 181 )
353     LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 3 , 196 , 181 )
354     LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 4 , 196 , 71 )
355     
356     LforNNwhileNotOneN = SyrStruct.Link( OforNN , IwhileNotOneN )
357     
358     LforNNEndOfforNN = SyrStruct.Link( OforNN , IEndOfforNN )
359     
360     LforNKwhileNotOneK = SyrStruct.Link( OforNK , IwhileNotOneK )
361     
362     LforNSyrComponentEndOfforNSyrComponent = SyrStruct.Link( OforNSyrComponent , IEndOfforNSyrComponent )
363     
364     LforNSyrComponentwhileNotOneSyrComponent = SyrStruct.Link( OforNSyrComponent , IwhileNotOneSyrComponent )
365     LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 1 , 197 , 313 )
366     LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 2 , 197 , 373 )
367     
368     LforNminEndOfforNmin = SyrStruct.Link( OforNmin , IEndOfforNmin )
369     
370     LforNmaxEndOfforNmax = SyrStruct.Link( OforNmax , IEndOfforNmax )
371     
372     LwhileNotOneSyrComponentEndOfwhileNotOneSyrComponent = SyrStruct.Link( OwhileNotOneSyrComponent , IEndOfwhileNotOneSyrComponent )
373     
374     LwhileNotOneSyrComponentifNotEvenSyrComponent = SyrStruct.Link( OwhileNotOneSyrComponent , IifNotEvenSyrComponent )
375     
376     LwhileNotOneNifNotEvenN = SyrStruct.Link( OwhileNotOneN , IifNotEvenN )
377     
378     LwhileNotOneKifNotEvenK = SyrStruct.Link( OwhileNotOneK , IifNotEvenK )
379     
380     LEndOfwhileNotOneKEndOfforNK = SyrStruct.Link( OEndOfwhileNotOneK , IEndOfforNK )
381     
382     LforiiEndOfforii = SyrStruct.Link( Oforii , IEndOfforii )
383     
384     LforiKincraaCount = SyrStruct.Link( OforiK , IincraaCount )
385     
386     LEndOfforiKEndOfifNotEvenK = SyrStruct.Link( OEndOfforiK , IEndOfifNotEvenK )
387     LEndOfforiKEndOfifNotEvenK.AddCoord( 1 , 1180 , 382 )
388     LEndOfforiKEndOfifNotEvenK.AddCoord( 2 , 1180 , 289 )
389     
390     LwhileEvenSyrComponentEndOfwhileEvenSyrComponent = SyrStruct.Link( OwhileEvenSyrComponent , IEndOfwhileEvenSyrComponent )
391     
392     LwhileEvenNdiv2anEvenInteger = SyrStruct.Link( OwhileEvenN , Idiv2anEvenInteger )
393     
394     LwhileEvenKincrbaCount = SyrStruct.Link( OwhileEvenK , IincrbaCount )
395     LwhileEvenKincrbaCount.AddCoord( 1 , 805 , 645 )
396     LwhileEvenKincrbaCount.AddCoord( 2 , 805 , 522 )
397     
398     LEndOfwhileEvenNEndOfifNotEvenN = SyrStruct.Link( OEndOfwhileEvenN , IEndOfifNotEvenN )
399     LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 1 , 1192 , 362 )
400     LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 2 , 1192 , 502 )
401     
402     LEndOfwhileEvenKEndOfifNotEvenK = SyrStruct.Link( OEndOfwhileEvenK , IEndOfifNotEvenK )
403     LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 1 , 1180 , 382 )
404     LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 2 , 1180 , 522 )
405     
406     LifNotEvenOddm3Gate = SyrStruct.Link( OifNotEvenOdd , Im3Gate )
407     LifNotEvenOddm3Gate.AddCoord( 1 , 594 , 123 )
408     LifNotEvenOddm3Gate.AddCoord( 2 , 594 , 313 )
409     
410     LifNotEvenOddforiGate = SyrStruct.Link( OifNotEvenOdd , IforiGate )
411     
412     LifNotEvenEvenwhileEvenGate = SyrStruct.Link( OifNotEvenEven , IwhileEvenGate )
413     LifNotEvenEvenwhileEvenGate.AddCoord( 1 , 594 , 546 )
414     LifNotEvenEvenwhileEvenGate.AddCoord( 2 , 594 , 334 )
415     
416     LifNotEvenSyrComponentwhileEvenSyrComponent = SyrStruct.Link( OifNotEvenSyrComponent , IwhileEvenSyrComponent )
417     LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 1 , 588 , 482 )
418     LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 2 , 588 , 354 )
419     
420     LifNotEvenNwhileEvenN = SyrStruct.Link( OifNotEvenN , IwhileEvenN )
421     LifNotEvenNwhileEvenN.AddCoord( 1 , 603 , 502 )
422     LifNotEvenNwhileEvenN.AddCoord( 2 , 603 , 373 )
423     
424     LifNotEvenNm3anOddInteger = SyrStruct.Link( OifNotEvenN , Im3anOddInteger )
425     LifNotEvenNm3anOddInteger.AddCoord( 1 , 605 , 99 )
426     LifNotEvenNm3anOddInteger.AddCoord( 2 , 604 , 372 )
427     
428     LifNotEvenKwhileEvenK = SyrStruct.Link( OifNotEvenK , IwhileEvenK )
429     LifNotEvenKwhileEvenK.AddCoord( 1 , 620 , 523 )
430     LifNotEvenKwhileEvenK.AddCoord( 2 , 620 , 396 )
431     
432     LifNotEvenKforiK = SyrStruct.Link( OifNotEvenK , IforiK )
433     LifNotEvenKforiK.AddCoord( 1 , 620 , 289 )
434     LifNotEvenKforiK.AddCoord( 2 , 620 , 395 )
435     
436     LifNotEvenDefaultEndOfifNotEvenDefault = SyrStruct.Link( OifNotEvenDefault , IEndOfifNotEvenDefault )
437     LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 1 , 1204 , 407 )
438     LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 2 , 1203 , 12 )
439     LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 3 , 581 , 13 )
440     LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 4 , 581 , 418 )
441     
442     LEndOfifNotEvenNEndOfwhileNotOneN = SyrStruct.Link( OEndOfifNotEvenN , IEndOfwhileNotOneN )
443     
444     LEndOfifNotEvenKEndOfwhileNotOneK = SyrStruct.Link( OEndOfifNotEvenK , IEndOfwhileNotOneK )
445     
446     # Input datas
447     ISyrComponentaContainer.Input( 'FactoryServer' )
448     ISyrComponentaComponent.Input( 'SyrComponent' )
449     IforNN.Input( 0 )
450     IforNK.Input( 0 )
451     IforNmin.Input( 5 )
452     IforNmax.Input( 9 )
453     Iforii.Input( 0 )
454     
455     # Output Ports of the graph
456     #OEndOfforNN = EndOfforN.GetOutPort( 'N' )
457     #OEndOfforNK = EndOfforN.GetOutPort( 'K' )
458     #OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
459     #OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
460     #OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
461     #OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
462     #OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
463     #OEndOfforii = EndOffori.GetOutPort( 'i' )
464     #OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
465     return SyrStruct
466
467
468 SyrStruct = DefSyrStruct()