Salome HOME
Copyrights update 2015.
[samples/datafiles.git] / Superv / Python / GraphLoopMacroNodesOutput.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 GraphLoopMacroNodesOutput
24 #
25 from SuperV import *
26
27 # Graph creation of GraphLoopMacroNodesOutput
28 def DefGraphLoopMacroNodesOutput() :
29     GraphLoopMacroNodesOutput = Graph( 'GraphLoopMacroNodesOutput' )
30     GraphLoopMacroNodesOutput.SetName( 'GraphLoopMacroNodesOutput' )
31     GraphLoopMacroNodesOutput.SetAuthor( 'JR' )
32     GraphLoopMacroNodesOutput.SetComment( '' )
33     GraphLoopMacroNodesOutput.Coords( 0 , 0 )
34     
35     # Creation of Factory Nodes
36     
37     Add = GraphLoopMacroNodesOutput.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
38     Add.SetName( 'Add' )
39     Add.SetAuthor( '' )
40     Add.SetContainer( 'FactoryServer' )
41     Add.SetComment( 'Add from AddComponent' )
42     Add.Coords( 205 , 238 )
43     IAddx = Add.GetInPort( 'x' )
44     IAddy = Add.GetInPort( 'y' )
45     IAddGate = Add.GetInPort( 'Gate' )
46     OAddFuncValue = Add.GetOutPort( 'FuncValue' )
47     OAddz = Add.GetOutPort( 'z' )
48     OAddGate = Add.GetOutPort( 'Gate' )
49     
50     Sub = GraphLoopMacroNodesOutput.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
51     Sub.SetName( 'Sub' )
52     Sub.SetAuthor( '' )
53     Sub.SetContainer( 'FactoryServer' )
54     Sub.SetComment( 'Sub from SubComponent' )
55     Sub.Coords( 394 , 146 )
56     ISubx = Sub.GetInPort( 'x' )
57     ISuby = Sub.GetInPort( 'y' )
58     ISubGate = Sub.GetInPort( 'Gate' )
59     OSubz = Sub.GetOutPort( 'z' )
60     OSubGate = Sub.GetOutPort( 'Gate' )
61     
62     Mul = GraphLoopMacroNodesOutput.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
63     Mul.SetName( 'Mul' )
64     Mul.SetAuthor( '' )
65     Mul.SetContainer( 'FactoryServer' )
66     Mul.SetComment( 'Mul from MulComponent' )
67     Mul.Coords( 821 , 319 )
68     IMulx = Mul.GetInPort( 'x' )
69     IMuly = Mul.GetInPort( 'y' )
70     IMulGate = Mul.GetInPort( 'Gate' )
71     OMulz = Mul.GetOutPort( 'z' )
72     OMulGate = Mul.GetOutPort( 'Gate' )
73     
74     Div = GraphLoopMacroNodesOutput.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
75     Div.SetName( 'Div' )
76     Div.SetAuthor( '' )
77     Div.SetContainer( 'FactoryServer' )
78     Div.SetComment( 'Div from DivComponent' )
79     Div.Coords( 825 , 133 )
80     IDivx = Div.GetInPort( 'x' )
81     IDivy = Div.GetInPort( 'y' )
82     IDivGate = Div.GetInPort( 'Gate' )
83     ODivz = Div.GetOutPort( 'z' )
84     ODivGate = Div.GetOutPort( 'Gate' )
85     
86     # Creation of InLine Nodes
87     PyResultsControl = []
88     PyResultsControl.append( 'def ResultsControl(x,y,zDiv,zMul) :' )
89     PyResultsControl.append( '    Add_FuncValue = x - y' )
90     PyResultsControl.append( '    Add_z = x + y' )
91     PyResultsControl.append( '    Sub_z = 1.5 - Add_z' )
92     PyResultsControl.append( '    Macro_GraphAdd_Add_FuncValue = Sub_z - Add_FuncValue' )
93     PyResultsControl.append( '    Macro_GraphAdd_Add_z = Sub_z + Add_FuncValue' )
94     PyResultsControl.append( '    Macro_GraphSub_z = Add_FuncValue - Add_z' )
95     PyResultsControl.append( '    Div_z = Macro_GraphAdd_Add_FuncValue/Macro_GraphAdd_Add_z' )
96     PyResultsControl.append( '    Mul_z = Sub_z * Macro_GraphSub_z' )
97     PyResultsControl.append( '    OK = \'Okay\'' )
98     PyResultsControl.append( '    if Div_z != zDiv or Mul_z != zMul :' )
99     PyResultsControl.append( '        OK = \'KO\'' )
100     PyResultsControl.append( '    return zDiv,zMul,Div_z,Mul_z,OK' )
101     PyResultsControl.append( '' )
102     ResultsControl = GraphLoopMacroNodesOutput.INode( 'ResultsControl' , PyResultsControl )
103     ResultsControl.SetName( 'ResultsControl' )
104     ResultsControl.SetAuthor( '' )
105     ResultsControl.SetComment( 'Compute Node' )
106     ResultsControl.Coords( 1102 , 196 )
107     IResultsControlx = ResultsControl.InPort( 'x' , 'double' )
108     IResultsControly = ResultsControl.InPort( 'y' , 'double' )
109     IResultsControlzDiv = ResultsControl.InPort( 'zDiv' , 'double' )
110     IResultsControlzMul = ResultsControl.InPort( 'zMul' , 'double' )
111     IResultsControlGate = ResultsControl.GetInPort( 'Gate' )
112     OResultsControlzDiv = ResultsControl.OutPort( 'zDiv' , 'double' )
113     OResultsControlzMul = ResultsControl.OutPort( 'zMul' , 'double' )
114     OResultsControlDiv_z = ResultsControl.OutPort( 'Div_z' , 'double' )
115     OResultsControlMul_z = ResultsControl.OutPort( 'Mul_z' , 'double' )
116     OResultsControlOK = ResultsControl.OutPort( 'OK' , 'string' )
117     OResultsControlGate = ResultsControl.GetOutPort( 'Gate' )
118     
119     # Creation of Loop Nodes
120     PyLoop = []
121     PyLoop.append( 'def Init(Index,Min,Max,Incr,zDiv,zMul,OK) :' )
122     PyLoop.append( '        if Min <= Max :' )
123     PyLoop.append( '            Index = Min' )
124     PyLoop.append( '        else :' )
125     PyLoop.append( '            Index = Max' )
126     PyLoop.append( '        return Index,Min,Max,Incr,zDiv,zMul,OK' )
127     PyLoop.append( '' )
128     PyMoreLoop = []
129     PyMoreLoop.append( 'def More(Index,Min,Max,Incr,zDiv,zMul,OK) :' )
130     PyMoreLoop.append( '        if Index < Max :' )
131     PyMoreLoop.append( '            DoLoop = 1' )
132     PyMoreLoop.append( '        else :' )
133     PyMoreLoop.append( '            DoLoop = 0' )
134     PyMoreLoop.append( '        return DoLoop,Index,Min,Max,Incr,zDiv,zMul,OK' )
135     PyMoreLoop.append( '' )
136     PyNextLoop = []
137     PyNextLoop.append( 'def Next(Index,Min,Max,Incr,zDiv,zMul,OK) :' )
138     PyNextLoop.append( '        Index = Index + Incr' )
139     PyNextLoop.append( '        return Index,Min,Max,Incr,zDiv,zMul,OK' )
140     PyNextLoop.append( '' )
141     Loop,EndLoop = GraphLoopMacroNodesOutput.LNode( 'Init' , PyLoop , 'More' , PyMoreLoop , 'Next' , PyNextLoop )
142     EndLoop.SetName( 'EndLoop' )
143     EndLoop.SetAuthor( '' )
144     EndLoop.SetComment( 'Compute Node' )
145     EndLoop.Coords( 1354 , 156 )
146     PyEndLoop = []
147     PyEndLoop.append( 'def EndLoop(DoLoop,Index,Min,Max,Incr,zDiv,zMul,OK) :' )
148     PyEndLoop.append( ' print \'EndLoop\',DoLoop,Index,Min,Max,Incr,zDiv,zMul,OK' )
149     PyEndLoop.append( ' if OK != \'Okay\' :' )
150     PyEndLoop.append( '     DoLoop = 0' )
151     PyEndLoop.append( ' return DoLoop,Index,Min,Max,Incr ,zDiv,zMul,OK' )
152     PyEndLoop.append( '' )
153     EndLoop.SetPyFunction( 'EndLoop' , PyEndLoop )
154     ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
155     ILoopIndex = Loop.InPort( 'Index' , 'long' )
156     ILoopMin = Loop.InPort( 'Min' , 'long' )
157     ILoopMax = Loop.InPort( 'Max' , 'long' )
158     ILoopIncr = Loop.InPort( 'Incr' , 'long' )
159     ILoopzDiv = Loop.InPort( 'zDiv' , 'double' )
160     ILoopzMul = Loop.InPort( 'zMul' , 'double' )
161     ILoopOK = Loop.InPort( 'OK' , 'string' )
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     OLoopIncr = Loop.GetOutPort( 'Incr' )
168     OLoopzDiv = Loop.GetOutPort( 'zDiv' )
169     OLoopzMul = Loop.GetOutPort( 'zMul' )
170     OLoopOK = Loop.GetOutPort( 'OK' )
171     OLoopGate = Loop.GetOutPort( 'Gate' )
172     IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
173     IEndLoopIndex = EndLoop.GetInPort( 'Index' )
174     IEndLoopMin = EndLoop.GetInPort( 'Min' )
175     IEndLoopMax = EndLoop.GetInPort( 'Max' )
176     IEndLoopIncr = EndLoop.GetInPort( 'Incr' )
177     IEndLoopzDiv = EndLoop.GetInPort( 'zDiv' )
178     IEndLoopzMul = EndLoop.GetInPort( 'zMul' )
179     IEndLoopOK = EndLoop.GetInPort( 'OK' )
180     IEndLoopGate = EndLoop.GetInPort( 'Gate' )
181     OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
182     OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
183     OEndLoopMin = EndLoop.GetOutPort( 'Min' )
184     OEndLoopMax = EndLoop.GetOutPort( 'Max' )
185     OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
186     OEndLoopzDiv = EndLoop.GetOutPort( 'zDiv' )
187     OEndLoopzMul = EndLoop.GetOutPort( 'zMul' )
188     OEndLoopOK = EndLoop.GetOutPort( 'OK' )
189     OEndLoopGate = EndLoop.GetOutPort( 'Gate' )
190     Loop.SetName( 'Loop' )
191     Loop.SetAuthor( '' )
192     Loop.SetComment( 'Compute Node' )
193     Loop.Coords( 5 , 265 )
194     
195     # Creation of Macro Nodes
196     GraphSub_1 = DefGraphSub_1()
197     Macro_GraphSub = GraphLoopMacroNodesOutput.GraphMNode( GraphSub_1 )
198     Macro_GraphSub.SetCoupled( 'GraphSub_1' )
199     Macro_GraphSub.SetName( 'Macro_GraphSub' )
200     Macro_GraphSub.SetAuthor( '' )
201     Macro_GraphSub.SetComment( 'Macro Node' )
202     Macro_GraphSub.Coords( 512 , 319 )
203     IMacro_GraphSubSub__x = Macro_GraphSub.GetInPort( 'Sub__x' )
204     IMacro_GraphSubSub__y = Macro_GraphSub.GetInPort( 'Sub__y' )
205     IMacro_GraphSubGate = Macro_GraphSub.GetInPort( 'Gate' )
206     OMacro_GraphSubSub__z = Macro_GraphSub.GetOutPort( 'Sub__z' )
207     OMacro_GraphSubGate = Macro_GraphSub.GetOutPort( 'Gate' )
208     
209     GraphAddLoop = DefGraphAddLoop()
210     Macro_GraphAddLoop = GraphLoopMacroNodesOutput.GraphMNode( GraphAddLoop )
211     Macro_GraphAddLoop.SetCoupled( 'GraphAddLoop' )
212     Macro_GraphAddLoop.SetName( 'Macro_GraphAddLoop' )
213     Macro_GraphAddLoop.SetAuthor( '' )
214     Macro_GraphAddLoop.SetComment( 'Macro Node' )
215     Macro_GraphAddLoop.Coords( 628 , 14 )
216     IMacro_GraphAddLoopInit_1__Index = Macro_GraphAddLoop.GetInPort( 'Init_1__Index' )
217     IMacro_GraphAddLoopInit_1__Min = Macro_GraphAddLoop.GetInPort( 'Init_1__Min' )
218     IMacro_GraphAddLoopInit_1__Max = Macro_GraphAddLoop.GetInPort( 'Init_1__Max' )
219     IMacro_GraphAddLoopInit_1__Incr = Macro_GraphAddLoop.GetInPort( 'Init_1__Incr' )
220     IMacro_GraphAddLoopInit_1__zDiv = Macro_GraphAddLoop.GetInPort( 'Init_1__zDiv' )
221     IMacro_GraphAddLoopInit_1__zMul = Macro_GraphAddLoop.GetInPort( 'Init_1__zMul' )
222     IMacro_GraphAddLoopInit_1__OK = Macro_GraphAddLoop.GetInPort( 'Init_1__OK' )
223     IMacro_GraphAddLoopInit_1__x = Macro_GraphAddLoop.GetInPort( 'Init_1__x' )
224     IMacro_GraphAddLoopInit_1__y = Macro_GraphAddLoop.GetInPort( 'Init_1__y' )
225     IMacro_GraphAddLoopGate = Macro_GraphAddLoop.GetInPort( 'Gate' )
226     OMacro_GraphAddLoopAdd__FuncValue = Macro_GraphAddLoop.GetOutPort( 'Add__FuncValue' )
227     OMacro_GraphAddLoopAdd__z = Macro_GraphAddLoop.GetOutPort( 'Add__z' )
228     OMacro_GraphAddLoopEndInit_1__Index = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__Index' )
229     OMacro_GraphAddLoopEndInit_1__Min = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__Min' )
230     OMacro_GraphAddLoopEndInit_1__Max = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__Max' )
231     OMacro_GraphAddLoopEndInit_1__Incr = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__Incr' )
232     OMacro_GraphAddLoopEndInit_1__zDiv = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__zDiv' )
233     OMacro_GraphAddLoopEndInit_1__zMul = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__zMul' )
234     OMacro_GraphAddLoopEndInit_1__OK = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__OK' )
235     OMacro_GraphAddLoopEndInit_1__x = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__x' )
236     OMacro_GraphAddLoopEndInit_1__y = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__y' )
237     OMacro_GraphAddLoopGate = Macro_GraphAddLoop.GetOutPort( 'Gate' )
238     
239     # Creation of Links
240     LAddFuncValueMacro_GraphSubSub__x = GraphLoopMacroNodesOutput.Link( OAddFuncValue , IMacro_GraphSubSub__x )
241     
242     LAddFuncValueMacro_GraphAddLoopInit_1__y = GraphLoopMacroNodesOutput.Link( OAddFuncValue , IMacro_GraphAddLoopInit_1__y )
243     
244     LAddzSuby = GraphLoopMacroNodesOutput.Link( OAddz , ISuby )
245     
246     LAddzMacro_GraphSubSub__y = GraphLoopMacroNodesOutput.Link( OAddz , IMacro_GraphSubSub__y )
247     
248     LSubzMulx = GraphLoopMacroNodesOutput.Link( OSubz , IMulx )
249     LSubzMulx.AddCoord( 1 , 767 , 389 )
250     LSubzMulx.AddCoord( 2 , 767 , 297 )
251     LSubzMulx.AddCoord( 3 , 592 , 297 )
252     LSubzMulx.AddCoord( 4 , 592 , 217 )
253     
254     LSubzMacro_GraphAddLoopInit_1__x = GraphLoopMacroNodesOutput.Link( OSubz , IMacro_GraphAddLoopInit_1__x )
255     
256     LSubzMacro_GraphAddLoopInit_1__zDiv = GraphLoopMacroNodesOutput.Link( OSubz , IMacro_GraphAddLoopInit_1__zDiv )
257     
258     LSubzMacro_GraphAddLoopInit_1__zMul = GraphLoopMacroNodesOutput.Link( OSubz , IMacro_GraphAddLoopInit_1__zMul )
259     
260     LSubzMacro_GraphAddLoopInit_1__OK = GraphLoopMacroNodesOutput.Link( OSubz , IMacro_GraphAddLoopInit_1__OK )
261     
262     LMulzResultsControlzMul = GraphLoopMacroNodesOutput.Link( OMulz , IResultsControlzMul )
263     
264     LDivzResultsControlzDiv = GraphLoopMacroNodesOutput.Link( ODivz , IResultsControlzDiv )
265     
266     LMacro_GraphSubSub__zMuly = GraphLoopMacroNodesOutput.Link( OMacro_GraphSubSub__z , IMuly )
267     
268     LMacro_GraphSubGateMulGate = GraphLoopMacroNodesOutput.Link( OMacro_GraphSubGate , IMulGate )
269     
270     LLoopIndexEndLoopIndex = GraphLoopMacroNodesOutput.Link( OLoopIndex , IEndLoopIndex )
271     
272     LLoopIndexAddx = GraphLoopMacroNodesOutput.Link( OLoopIndex , IAddx )
273     
274     LLoopIndexResultsControlx = GraphLoopMacroNodesOutput.Link( OLoopIndex , IResultsControlx )
275     
276     LLoopMinEndLoopMin = GraphLoopMacroNodesOutput.Link( OLoopMin , IEndLoopMin )
277     
278     LLoopMaxEndLoopMax = GraphLoopMacroNodesOutput.Link( OLoopMax , IEndLoopMax )
279     
280     LLoopMaxAddy = GraphLoopMacroNodesOutput.Link( OLoopMax , IAddy )
281     
282     LLoopMaxResultsControly = GraphLoopMacroNodesOutput.Link( OLoopMax , IResultsControly )
283     
284     LLoopIncrEndLoopIncr = GraphLoopMacroNodesOutput.Link( OLoopIncr , IEndLoopIncr )
285     
286     LResultsControlzDivEndLoopzDiv = GraphLoopMacroNodesOutput.Link( OResultsControlzDiv , IEndLoopzDiv )
287     
288     LResultsControlzMulEndLoopzMul = GraphLoopMacroNodesOutput.Link( OResultsControlzMul , IEndLoopzMul )
289     
290     LResultsControlOKEndLoopOK = GraphLoopMacroNodesOutput.Link( OResultsControlOK , IEndLoopOK )
291     
292     LMacro_GraphAddLoopAdd__FuncValueDivx = GraphLoopMacroNodesOutput.Link( OMacro_GraphAddLoopAdd__FuncValue , IDivx )
293     
294     LMacro_GraphAddLoopAdd__zDivy = GraphLoopMacroNodesOutput.Link( OMacro_GraphAddLoopAdd__z , IDivy )
295     
296     # Input datas
297     ISubx.Input( 1.5 )
298     ILoopIndex.Input( 0 )
299     ILoopMin.Input( 7 )
300     ILoopMax.Input( 17 )
301     ILoopIncr.Input( 1 )
302     ILoopzDiv.Input( 0 )
303     ILoopzMul.Input( 0 )
304     ILoopOK.Input( 'Okay' )
305     IMacro_GraphAddLoopInit_1__Index.Input( 0 )
306     IMacro_GraphAddLoopInit_1__Min.Input( 5 )
307     IMacro_GraphAddLoopInit_1__Max.Input( 11 )
308     IMacro_GraphAddLoopInit_1__Incr.Input( 1 )
309     
310     # Output Ports of the graph
311     #OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
312     #OEndLoopMin = EndLoop.GetOutPort( 'Min' )
313     #OEndLoopMax = EndLoop.GetOutPort( 'Max' )
314     #OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
315     #OEndLoopzDiv = EndLoop.GetOutPort( 'zDiv' )
316     #OEndLoopzMul = EndLoop.GetOutPort( 'zMul' )
317     #OEndLoopOK = EndLoop.GetOutPort( 'OK' )
318     #OResultsControlDiv_z = ResultsControl.GetOutPort( 'Div_z' )
319     #OResultsControlMul_z = ResultsControl.GetOutPort( 'Mul_z' )
320     #OMacro_GraphAddLoopEndInit_1__Index = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__Index' )
321     #OMacro_GraphAddLoopEndInit_1__Min = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__Min' )
322     #OMacro_GraphAddLoopEndInit_1__Max = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__Max' )
323     #OMacro_GraphAddLoopEndInit_1__Incr = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__Incr' )
324     #OMacro_GraphAddLoopEndInit_1__zDiv = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__zDiv' )
325     #OMacro_GraphAddLoopEndInit_1__zMul = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__zMul' )
326     #OMacro_GraphAddLoopEndInit_1__OK = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__OK' )
327     #OMacro_GraphAddLoopEndInit_1__x = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__x' )
328     #OMacro_GraphAddLoopEndInit_1__y = Macro_GraphAddLoop.GetOutPort( 'EndInit_1__y' )
329     return GraphLoopMacroNodesOutput
330
331 # Graph creation of GraphSub_1
332 def DefGraphSub_1() :
333     GraphSub_1 = Graph( 'GraphSub_1' )
334     GraphSub_1.SetCoupled( 'Macro_GraphSub' )
335     GraphSub_1.SetName( 'GraphSub_1' )
336     GraphSub_1.SetAuthor( '' )
337     GraphSub_1.SetComment( '' )
338     GraphSub_1.Coords( 0 , 0 )
339     
340     # Creation of Factory Nodes
341     
342     Sub = GraphSub_1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
343     Sub.SetName( 'Sub' )
344     Sub.SetAuthor( '' )
345     Sub.SetContainer( 'localhost/FactoryServer' )
346     Sub.SetComment( 'Sub from SubComponent' )
347     Sub.Coords( 55 , 71 )
348     ISubx = Sub.GetInPort( 'x' )
349     ISuby = Sub.GetInPort( 'y' )
350     ISubGate = Sub.GetInPort( 'Gate' )
351     OSubz = Sub.GetOutPort( 'z' )
352     OSubGate = Sub.GetOutPort( 'Gate' )
353     
354     # Input Ports of the graph
355     #ISubx = Sub.GetInPort( 'x' )
356     #ISuby = Sub.GetInPort( 'y' )
357     
358     # Output Ports of the graph
359     #OSubz = Sub.GetOutPort( 'z' )
360     return GraphSub_1
361
362 # Graph creation of GraphAddLoop
363 def DefGraphAddLoop() :
364     GraphAddLoop = Graph( 'GraphAddLoop' )
365     GraphAddLoop.SetCoupled( 'Macro_GraphAddLoop' )
366     GraphAddLoop.SetName( 'GraphAddLoop' )
367     GraphAddLoop.SetAuthor( '' )
368     GraphAddLoop.SetComment( '' )
369     GraphAddLoop.Coords( 0 , 0 )
370     
371     # Creation of Factory Nodes
372     
373     Add = GraphAddLoop.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
374     Add.SetName( 'Add' )
375     Add.SetAuthor( '' )
376     Add.SetContainer( 'localhost/FactoryServer' )
377     Add.SetComment( 'Add from AddComponent' )
378     Add.Coords( 248 , 247 )
379     IAddx = Add.GetInPort( 'x' )
380     IAddy = Add.GetInPort( 'y' )
381     IAddGate = Add.GetInPort( 'Gate' )
382     OAddFuncValue = Add.GetOutPort( 'FuncValue' )
383     OAddz = Add.GetOutPort( 'z' )
384     OAddGate = Add.GetOutPort( 'Gate' )
385     
386     # Creation of Loop Nodes
387     PyInit_1 = []
388     PyInit_1.append( 'def Init_1(Index,Min,Max,Incr,zDiv,zMul,OK,x,y) :' )
389     PyInit_1.append( '        if Min <= Max :' )
390     PyInit_1.append( '            Index = Min' )
391     PyInit_1.append( '        else :' )
392     PyInit_1.append( '            Index = Max' )
393     PyInit_1.append( '        return Index,Min,Max,Incr,zDiv,zMul,OK,x,y' )
394     PyInit_1.append( '' )
395     PyMoreInit_1 = []
396     PyMoreInit_1.append( 'def More_1(Index,Min,Max,Incr,zDiv,zMul,OK,x,y) :' )
397     PyMoreInit_1.append( '        if Index < Max :' )
398     PyMoreInit_1.append( '            DoLoop = 1' )
399     PyMoreInit_1.append( '        else :' )
400     PyMoreInit_1.append( '            DoLoop = 0' )
401     PyMoreInit_1.append( '        return DoLoop,Index,Min,Max,Incr,zDiv,zMul,OK,x,y' )
402     PyMoreInit_1.append( '' )
403     PyNextInit_1 = []
404     PyNextInit_1.append( 'def Next_1(Index,Min,Max,Incr,zDiv,zMul,OK,x,y) :' )
405     PyNextInit_1.append( '        Index = Index + Incr' )
406     PyNextInit_1.append( '        return Index,Min,Max,Incr,zDiv,zMul,OK,x,y' )
407     PyNextInit_1.append( '' )
408     Init_1,EndInit_1 = GraphAddLoop.LNode( 'Init_1' , PyInit_1 , 'More_1' , PyMoreInit_1 , 'Next_1' , PyNextInit_1 )
409     EndInit_1.SetName( 'EndInit_1' )
410     EndInit_1.SetAuthor( '' )
411     EndInit_1.SetComment( 'Compute Node' )
412     EndInit_1.Coords( 460 , 146 )
413     PyEndInit_1 = []
414     EndInit_1.SetPyFunction( 'EndInit_1' , PyEndInit_1 )
415     IInit_1DoLoop = Init_1.GetInPort( 'DoLoop' )
416     IInit_1Index = Init_1.InPort( 'Index' , 'long' )
417     IInit_1Min = Init_1.InPort( 'Min' , 'long' )
418     IInit_1Max = Init_1.InPort( 'Max' , 'long' )
419     IInit_1Incr = Init_1.InPort( 'Incr' , 'long' )
420     IInit_1zDiv = Init_1.InPort( 'zDiv' , 'double' )
421     IInit_1zMul = Init_1.InPort( 'zMul' , 'double' )
422     IInit_1OK = Init_1.InPort( 'OK' , 'string' )
423     IInit_1x = Init_1.InPort( 'x' , 'double' )
424     IInit_1y = Init_1.InPort( 'y' , 'double' )
425     IInit_1Gate = Init_1.GetInPort( 'Gate' )
426     OInit_1DoLoop = Init_1.GetOutPort( 'DoLoop' )
427     OInit_1Index = Init_1.GetOutPort( 'Index' )
428     OInit_1Min = Init_1.GetOutPort( 'Min' )
429     OInit_1Max = Init_1.GetOutPort( 'Max' )
430     OInit_1Incr = Init_1.GetOutPort( 'Incr' )
431     OInit_1zDiv = Init_1.GetOutPort( 'zDiv' )
432     OInit_1zMul = Init_1.GetOutPort( 'zMul' )
433     OInit_1OK = Init_1.GetOutPort( 'OK' )
434     OInit_1x = Init_1.GetOutPort( 'x' )
435     OInit_1y = Init_1.GetOutPort( 'y' )
436     OInit_1Gate = Init_1.GetOutPort( 'Gate' )
437     IEndInit_1DoLoop = EndInit_1.GetInPort( 'DoLoop' )
438     IEndInit_1Index = EndInit_1.GetInPort( 'Index' )
439     IEndInit_1Min = EndInit_1.GetInPort( 'Min' )
440     IEndInit_1Max = EndInit_1.GetInPort( 'Max' )
441     IEndInit_1Incr = EndInit_1.GetInPort( 'Incr' )
442     IEndInit_1zDiv = EndInit_1.GetInPort( 'zDiv' )
443     IEndInit_1zMul = EndInit_1.GetInPort( 'zMul' )
444     IEndInit_1OK = EndInit_1.GetInPort( 'OK' )
445     IEndInit_1x = EndInit_1.GetInPort( 'x' )
446     IEndInit_1y = EndInit_1.GetInPort( 'y' )
447     IEndInit_1Gate = EndInit_1.GetInPort( 'Gate' )
448     OEndInit_1DoLoop = EndInit_1.GetOutPort( 'DoLoop' )
449     OEndInit_1Index = EndInit_1.GetOutPort( 'Index' )
450     OEndInit_1Min = EndInit_1.GetOutPort( 'Min' )
451     OEndInit_1Max = EndInit_1.GetOutPort( 'Max' )
452     OEndInit_1Incr = EndInit_1.GetOutPort( 'Incr' )
453     OEndInit_1zDiv = EndInit_1.GetOutPort( 'zDiv' )
454     OEndInit_1zMul = EndInit_1.GetOutPort( 'zMul' )
455     OEndInit_1OK = EndInit_1.GetOutPort( 'OK' )
456     OEndInit_1x = EndInit_1.GetOutPort( 'x' )
457     OEndInit_1y = EndInit_1.GetOutPort( 'y' )
458     OEndInit_1Gate = EndInit_1.GetOutPort( 'Gate' )
459     Init_1.SetName( 'Init_1' )
460     Init_1.SetAuthor( '' )
461     Init_1.SetComment( 'Compute Node' )
462     Init_1.Coords( 37 , 147 )
463     
464     # Creation of Links
465     LAddGateEndInit_1Gate = GraphAddLoop.Link( OAddGate , IEndInit_1Gate )
466     
467     LInit_1IndexEndInit_1Index = GraphAddLoop.Link( OInit_1Index , IEndInit_1Index )
468     
469     LInit_1MinEndInit_1Min = GraphAddLoop.Link( OInit_1Min , IEndInit_1Min )
470     
471     LInit_1MaxEndInit_1Max = GraphAddLoop.Link( OInit_1Max , IEndInit_1Max )
472     
473     LInit_1IncrEndInit_1Incr = GraphAddLoop.Link( OInit_1Incr , IEndInit_1Incr )
474     
475     LInit_1zDivEndInit_1zDiv = GraphAddLoop.Link( OInit_1zDiv , IEndInit_1zDiv )
476     
477     LInit_1zMulEndInit_1zMul = GraphAddLoop.Link( OInit_1zMul , IEndInit_1zMul )
478     
479     LInit_1OKEndInit_1OK = GraphAddLoop.Link( OInit_1OK , IEndInit_1OK )
480     
481     LInit_1xEndInit_1x = GraphAddLoop.Link( OInit_1x , IEndInit_1x )
482     
483     LInit_1xAddx = GraphAddLoop.Link( OInit_1x , IAddx )
484     
485     LInit_1yEndInit_1y = GraphAddLoop.Link( OInit_1y , IEndInit_1y )
486     
487     LInit_1yAddy = GraphAddLoop.Link( OInit_1y , IAddy )
488     
489     # Input Ports of the graph
490     #IInit_1Index = Init_1.GetInPort( 'Index' )
491     #IInit_1Min = Init_1.GetInPort( 'Min' )
492     #IInit_1Max = Init_1.GetInPort( 'Max' )
493     #IInit_1Incr = Init_1.GetInPort( 'Incr' )
494     #IInit_1zDiv = Init_1.GetInPort( 'zDiv' )
495     #IInit_1zMul = Init_1.GetInPort( 'zMul' )
496     #IInit_1OK = Init_1.GetInPort( 'OK' )
497     #IInit_1x = Init_1.GetInPort( 'x' )
498     #IInit_1y = Init_1.GetInPort( 'y' )
499     
500     # Output Ports of the graph
501     #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
502     #OAddz = Add.GetOutPort( 'z' )
503     #OEndInit_1Index = EndInit_1.GetOutPort( 'Index' )
504     #OEndInit_1Min = EndInit_1.GetOutPort( 'Min' )
505     #OEndInit_1Max = EndInit_1.GetOutPort( 'Max' )
506     #OEndInit_1Incr = EndInit_1.GetOutPort( 'Incr' )
507     #OEndInit_1zDiv = EndInit_1.GetOutPort( 'zDiv' )
508     #OEndInit_1zMul = EndInit_1.GetOutPort( 'zMul' )
509     #OEndInit_1OK = EndInit_1.GetOutPort( 'OK' )
510     #OEndInit_1x = EndInit_1.GetOutPort( 'x' )
511     #OEndInit_1y = EndInit_1.GetOutPort( 'y' )
512     return GraphAddLoop
513
514
515 GraphLoopMacroNodesOutput = DefGraphLoopMacroNodesOutput()