Salome HOME
Merge from V6_main_20120808 08Aug12
[samples/datafiles.git] / Superv / Python / GraphLoopMacroNodes.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 GraphLoopMacroNodes
23 #
24 from SuperV import *
25
26 # Graph creation of GraphLoopMacroNodes
27 def DefGraphLoopMacroNodes() :
28     GraphLoopMacroNodes = Graph( 'GraphLoopMacroNodes' )
29     GraphLoopMacroNodes.SetName( 'GraphLoopMacroNodes' )
30     GraphLoopMacroNodes.SetAuthor( 'JR' )
31     GraphLoopMacroNodes.SetComment( '' )
32     GraphLoopMacroNodes.Coords( 0 , 0 )
33     
34     # Creation of Factory Nodes
35     
36     Add = GraphLoopMacroNodes.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
37     Add.SetName( 'Add' )
38     Add.SetAuthor( '' )
39     Add.SetContainer( 'FactoryServer' )
40     Add.SetComment( 'Add from AddComponent' )
41     Add.Coords( 205 , 238 )
42     IAddx = Add.GetInPort( 'x' )
43     IAddy = Add.GetInPort( 'y' )
44     IAddGate = Add.GetInPort( 'Gate' )
45     OAddFuncValue = Add.GetOutPort( 'FuncValue' )
46     OAddz = Add.GetOutPort( 'z' )
47     OAddGate = Add.GetOutPort( 'Gate' )
48     
49     Sub = GraphLoopMacroNodes.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
50     Sub.SetName( 'Sub' )
51     Sub.SetAuthor( '' )
52     Sub.SetContainer( 'FactoryServer' )
53     Sub.SetComment( 'Sub from SubComponent' )
54     Sub.Coords( 394 , 146 )
55     ISubx = Sub.GetInPort( 'x' )
56     ISuby = Sub.GetInPort( 'y' )
57     ISubGate = Sub.GetInPort( 'Gate' )
58     OSubz = Sub.GetOutPort( 'z' )
59     OSubGate = Sub.GetOutPort( 'Gate' )
60     
61     Mul = GraphLoopMacroNodes.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
62     Mul.SetName( 'Mul' )
63     Mul.SetAuthor( '' )
64     Mul.SetContainer( 'FactoryServer' )
65     Mul.SetComment( 'Mul from MulComponent' )
66     Mul.Coords( 821 , 319 )
67     IMulx = Mul.GetInPort( 'x' )
68     IMuly = Mul.GetInPort( 'y' )
69     IMulGate = Mul.GetInPort( 'Gate' )
70     OMulz = Mul.GetOutPort( 'z' )
71     OMulGate = Mul.GetOutPort( 'Gate' )
72     
73     Div = GraphLoopMacroNodes.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
74     Div.SetName( 'Div' )
75     Div.SetAuthor( '' )
76     Div.SetContainer( 'FactoryServer' )
77     Div.SetComment( 'Div from DivComponent' )
78     Div.Coords( 825 , 133 )
79     IDivx = Div.GetInPort( 'x' )
80     IDivy = Div.GetInPort( 'y' )
81     IDivGate = Div.GetInPort( 'Gate' )
82     ODivz = Div.GetOutPort( 'z' )
83     ODivGate = Div.GetOutPort( 'Gate' )
84     
85     # Creation of InLine Nodes
86     PyResultsControl = []
87     PyResultsControl.append( 'def ResultsControl(x,y,zDiv,zMul) :' )
88     PyResultsControl.append( '    Add_FuncValue = x - y' )
89     PyResultsControl.append( '    Add_z = x + y' )
90     PyResultsControl.append( '    Sub_z = 1.5 - Add_z' )
91     PyResultsControl.append( '    Macro_GraphAdd_Add_FuncValue = Sub_z - Add_FuncValue' )
92     PyResultsControl.append( '    Macro_GraphAdd_Add_z = Sub_z + Add_FuncValue' )
93     PyResultsControl.append( '    Macro_GraphSub_z = Add_FuncValue - Add_z' )
94     PyResultsControl.append( '    Div_z = Macro_GraphAdd_Add_FuncValue/Macro_GraphAdd_Add_z' )
95     PyResultsControl.append( '    Mul_z = Sub_z * Macro_GraphSub_z' )
96     PyResultsControl.append( '    OK = \'Okay\'' )
97     PyResultsControl.append( '    if Div_z != zDiv or Mul_z != zMul :' )
98     PyResultsControl.append( '        OK = \'KO\'' )
99     PyResultsControl.append( '    return zDiv,zMul,Div_z,Mul_z,OK' )
100     PyResultsControl.append( '' )
101     ResultsControl = GraphLoopMacroNodes.INode( 'ResultsControl' , PyResultsControl )
102     ResultsControl.SetName( 'ResultsControl' )
103     ResultsControl.SetAuthor( '' )
104     ResultsControl.SetComment( 'Compute Node' )
105     ResultsControl.Coords( 1102 , 196 )
106     IResultsControlx = ResultsControl.InPort( 'x' , 'double' )
107     IResultsControly = ResultsControl.InPort( 'y' , 'double' )
108     IResultsControlzDiv = ResultsControl.InPort( 'zDiv' , 'double' )
109     IResultsControlzMul = ResultsControl.InPort( 'zMul' , 'double' )
110     IResultsControlGate = ResultsControl.GetInPort( 'Gate' )
111     OResultsControlzDiv = ResultsControl.OutPort( 'zDiv' , 'double' )
112     OResultsControlzMul = ResultsControl.OutPort( 'zMul' , 'double' )
113     OResultsControlDiv_z = ResultsControl.OutPort( 'Div_z' , 'double' )
114     OResultsControlMul_z = ResultsControl.OutPort( 'Mul_z' , 'double' )
115     OResultsControlOK = ResultsControl.OutPort( 'OK' , 'string' )
116     OResultsControlGate = ResultsControl.GetOutPort( 'Gate' )
117     
118     # Creation of Loop Nodes
119     PyLoop = []
120     PyLoop.append( 'def Init(Index,Min,Max,Incr,zDiv,zMul,OK) :' )
121     PyLoop.append( '        if Min <= Max :' )
122     PyLoop.append( '            Index = Min' )
123     PyLoop.append( '        else :' )
124     PyLoop.append( '            Index = Max' )
125     PyLoop.append( '        return Index,Min,Max,Incr,zDiv,zMul,OK' )
126     PyLoop.append( '' )
127     PyMoreLoop = []
128     PyMoreLoop.append( 'def More(Index,Min,Max,Incr,zDiv,zMul,OK) :' )
129     PyMoreLoop.append( '        if Index < Max :' )
130     PyMoreLoop.append( '            DoLoop = 1' )
131     PyMoreLoop.append( '        else :' )
132     PyMoreLoop.append( '            DoLoop = 0' )
133     PyMoreLoop.append( '        return DoLoop,Index,Min,Max,Incr,zDiv,zMul,OK' )
134     PyMoreLoop.append( '' )
135     PyNextLoop = []
136     PyNextLoop.append( 'def Next(Index,Min,Max,Incr,zDiv,zMul,OK) :' )
137     PyNextLoop.append( '        Index = Index + Incr' )
138     PyNextLoop.append( '        return Index,Min,Max,Incr,zDiv,zMul,OK' )
139     PyNextLoop.append( '' )
140     Loop,EndLoop = GraphLoopMacroNodes.LNode( 'Init' , PyLoop , 'More' , PyMoreLoop , 'Next' , PyNextLoop )
141     EndLoop.SetName( 'EndLoop' )
142     EndLoop.SetAuthor( '' )
143     EndLoop.SetComment( 'Compute Node' )
144     EndLoop.Coords( 1354 , 156 )
145     PyEndLoop = []
146     PyEndLoop.append( 'def EndLoop(DoLoop,Index,Min,Max,Incr,zDiv,zMul,OK) :' )
147     PyEndLoop.append( ' print \'EndLoop\',DoLoop,Index,Min,Max,Incr,zDiv,zMul,OK' )
148     PyEndLoop.append( ' if OK != \'Okay\' :' )
149     PyEndLoop.append( '     DoLoop = 0' )
150     PyEndLoop.append( ' return DoLoop,Index,Min,Max,Incr ,zDiv,zMul,OK' )
151     PyEndLoop.append( '' )
152     EndLoop.SetPyFunction( 'EndLoop' , PyEndLoop )
153     ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
154     ILoopIndex = Loop.InPort( 'Index' , 'long' )
155     ILoopMin = Loop.InPort( 'Min' , 'long' )
156     ILoopMax = Loop.InPort( 'Max' , 'long' )
157     ILoopIncr = Loop.InPort( 'Incr' , 'long' )
158     ILoopzDiv = Loop.InPort( 'zDiv' , 'double' )
159     ILoopzMul = Loop.InPort( 'zMul' , 'double' )
160     ILoopOK = Loop.InPort( 'OK' , 'string' )
161     ILoopGate = Loop.GetInPort( 'Gate' )
162     OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
163     OLoopIndex = Loop.GetOutPort( 'Index' )
164     OLoopMin = Loop.GetOutPort( 'Min' )
165     OLoopMax = Loop.GetOutPort( 'Max' )
166     OLoopIncr = Loop.GetOutPort( 'Incr' )
167     OLoopzDiv = Loop.GetOutPort( 'zDiv' )
168     OLoopzMul = Loop.GetOutPort( 'zMul' )
169     OLoopOK = Loop.GetOutPort( 'OK' )
170     OLoopGate = Loop.GetOutPort( 'Gate' )
171     IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
172     IEndLoopIndex = EndLoop.GetInPort( 'Index' )
173     IEndLoopMin = EndLoop.GetInPort( 'Min' )
174     IEndLoopMax = EndLoop.GetInPort( 'Max' )
175     IEndLoopIncr = EndLoop.GetInPort( 'Incr' )
176     IEndLoopzDiv = EndLoop.GetInPort( 'zDiv' )
177     IEndLoopzMul = EndLoop.GetInPort( 'zMul' )
178     IEndLoopOK = EndLoop.GetInPort( 'OK' )
179     IEndLoopGate = EndLoop.GetInPort( 'Gate' )
180     OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
181     OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
182     OEndLoopMin = EndLoop.GetOutPort( 'Min' )
183     OEndLoopMax = EndLoop.GetOutPort( 'Max' )
184     OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
185     OEndLoopzDiv = EndLoop.GetOutPort( 'zDiv' )
186     OEndLoopzMul = EndLoop.GetOutPort( 'zMul' )
187     OEndLoopOK = EndLoop.GetOutPort( 'OK' )
188     OEndLoopGate = EndLoop.GetOutPort( 'Gate' )
189     Loop.SetName( 'Loop' )
190     Loop.SetAuthor( '' )
191     Loop.SetComment( 'Compute Node' )
192     Loop.Coords( 5 , 265 )
193     
194     # Creation of Macro Nodes
195     GraphAdd_1 = DefGraphAdd_1()
196     Macro_GraphAdd = GraphLoopMacroNodes.GraphMNode( GraphAdd_1 )
197     Macro_GraphAdd.SetCoupled( 'GraphAdd_1' )
198     Macro_GraphAdd.SetName( 'Macro_GraphAdd' )
199     Macro_GraphAdd.SetAuthor( '' )
200     Macro_GraphAdd.SetComment( 'Macro Node' )
201     Macro_GraphAdd.Coords( 625 , 133 )
202     IMacro_GraphAddAdd__x = Macro_GraphAdd.GetInPort( 'Add__x' )
203     IMacro_GraphAddAdd__y = Macro_GraphAdd.GetInPort( 'Add__y' )
204     IMacro_GraphAddGate = Macro_GraphAdd.GetInPort( 'Gate' )
205     OMacro_GraphAddAdd__FuncValue = Macro_GraphAdd.GetOutPort( 'Add__FuncValue' )
206     OMacro_GraphAddAdd__z = Macro_GraphAdd.GetOutPort( 'Add__z' )
207     OMacro_GraphAddGate = Macro_GraphAdd.GetOutPort( 'Gate' )
208     
209     GraphSub_1 = DefGraphSub_1()
210     Macro_GraphSub = GraphLoopMacroNodes.GraphMNode( GraphSub_1 )
211     Macro_GraphSub.SetCoupled( 'GraphSub_1' )
212     Macro_GraphSub.SetName( 'Macro_GraphSub' )
213     Macro_GraphSub.SetAuthor( '' )
214     Macro_GraphSub.SetComment( 'Macro Node' )
215     Macro_GraphSub.Coords( 512 , 319 )
216     IMacro_GraphSubSub__x = Macro_GraphSub.GetInPort( 'Sub__x' )
217     IMacro_GraphSubSub__y = Macro_GraphSub.GetInPort( 'Sub__y' )
218     IMacro_GraphSubGate = Macro_GraphSub.GetInPort( 'Gate' )
219     OMacro_GraphSubSub__z = Macro_GraphSub.GetOutPort( 'Sub__z' )
220     OMacro_GraphSubGate = Macro_GraphSub.GetOutPort( 'Gate' )
221     
222     # Creation of Links
223     LAddFuncValueMacro_GraphSubSub__x = GraphLoopMacroNodes.Link( OAddFuncValue , IMacro_GraphSubSub__x )
224     
225     LAddFuncValueMacro_GraphAddAdd__y = GraphLoopMacroNodes.Link( OAddFuncValue , IMacro_GraphAddAdd__y )
226     LAddFuncValueMacro_GraphAddAdd__y.AddCoord( 1 , 512 , 309 )
227     
228     LAddzSuby = GraphLoopMacroNodes.Link( OAddz , ISuby )
229     
230     LAddzMacro_GraphSubSub__y = GraphLoopMacroNodes.Link( OAddz , IMacro_GraphSubSub__y )
231     
232     LSubzMacro_GraphAddAdd__x = GraphLoopMacroNodes.Link( OSubz , IMacro_GraphAddAdd__x )
233     
234     LSubzMulx = GraphLoopMacroNodes.Link( OSubz , IMulx )
235     LSubzMulx.AddCoord( 1 , 767 , 389 )
236     LSubzMulx.AddCoord( 2 , 767 , 297 )
237     LSubzMulx.AddCoord( 3 , 592 , 297 )
238     LSubzMulx.AddCoord( 4 , 592 , 217 )
239     
240     LMulzResultsControlzMul = GraphLoopMacroNodes.Link( OMulz , IResultsControlzMul )
241     
242     LDivzResultsControlzDiv = GraphLoopMacroNodes.Link( ODivz , IResultsControlzDiv )
243     
244     LMacro_GraphAddAdd__FuncValueDivx = GraphLoopMacroNodes.Link( OMacro_GraphAddAdd__FuncValue , IDivx )
245     
246     LMacro_GraphAddAdd__zDivy = GraphLoopMacroNodes.Link( OMacro_GraphAddAdd__z , IDivy )
247     
248     LMacro_GraphSubSub__zMuly = GraphLoopMacroNodes.Link( OMacro_GraphSubSub__z , IMuly )
249     
250     LMacro_GraphSubGateMulGate = GraphLoopMacroNodes.Link( OMacro_GraphSubGate , IMulGate )
251     
252     LLoopIndexEndLoopIndex = GraphLoopMacroNodes.Link( OLoopIndex , IEndLoopIndex )
253     
254     LLoopIndexAddx = GraphLoopMacroNodes.Link( OLoopIndex , IAddx )
255     
256     LLoopIndexResultsControlx = GraphLoopMacroNodes.Link( OLoopIndex , IResultsControlx )
257     
258     LLoopMinEndLoopMin = GraphLoopMacroNodes.Link( OLoopMin , IEndLoopMin )
259     
260     LLoopMaxEndLoopMax = GraphLoopMacroNodes.Link( OLoopMax , IEndLoopMax )
261     
262     LLoopMaxAddy = GraphLoopMacroNodes.Link( OLoopMax , IAddy )
263     
264     LLoopMaxResultsControly = GraphLoopMacroNodes.Link( OLoopMax , IResultsControly )
265     
266     LLoopIncrEndLoopIncr = GraphLoopMacroNodes.Link( OLoopIncr , IEndLoopIncr )
267     
268     LResultsControlzDivEndLoopzDiv = GraphLoopMacroNodes.Link( OResultsControlzDiv , IEndLoopzDiv )
269     
270     LResultsControlzMulEndLoopzMul = GraphLoopMacroNodes.Link( OResultsControlzMul , IEndLoopzMul )
271     
272     LResultsControlOKEndLoopOK = GraphLoopMacroNodes.Link( OResultsControlOK , IEndLoopOK )
273     
274     # Input datas
275     ISubx.Input( 1.5 )
276     ILoopIndex.Input( 0 )
277     ILoopMin.Input( 7 )
278     ILoopMax.Input( 17 )
279     ILoopIncr.Input( 1 )
280     ILoopzDiv.Input( 0 )
281     ILoopzMul.Input( 0 )
282     ILoopOK.Input( 'Okay' )
283     
284     # Output Ports of the graph
285     #OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
286     #OEndLoopMin = EndLoop.GetOutPort( 'Min' )
287     #OEndLoopMax = EndLoop.GetOutPort( 'Max' )
288     #OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
289     #OEndLoopzDiv = EndLoop.GetOutPort( 'zDiv' )
290     #OEndLoopzMul = EndLoop.GetOutPort( 'zMul' )
291     #OEndLoopOK = EndLoop.GetOutPort( 'OK' )
292     #OResultsControlDiv_z = ResultsControl.GetOutPort( 'Div_z' )
293     #OResultsControlMul_z = ResultsControl.GetOutPort( 'Mul_z' )
294     return GraphLoopMacroNodes
295
296 # Graph creation of GraphAdd_1
297 def DefGraphAdd_1() :
298     GraphAdd_1 = Graph( 'GraphAdd_1' )
299     GraphAdd_1.SetCoupled( 'Macro_GraphAdd' )
300     GraphAdd_1.SetName( 'GraphAdd_1' )
301     GraphAdd_1.SetAuthor( '' )
302     GraphAdd_1.SetComment( '' )
303     GraphAdd_1.Coords( 0 , 0 )
304     
305     # Creation of Factory Nodes
306     
307     Add = GraphAdd_1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
308     Add.SetName( 'Add' )
309     Add.SetAuthor( '' )
310     Add.SetContainer( 'localhost/FactoryServer' )
311     Add.SetComment( 'Add from AddComponent' )
312     Add.Coords( 55 , 61 )
313     IAddx = Add.GetInPort( 'x' )
314     IAddy = Add.GetInPort( 'y' )
315     IAddGate = Add.GetInPort( 'Gate' )
316     OAddFuncValue = Add.GetOutPort( 'FuncValue' )
317     OAddz = Add.GetOutPort( 'z' )
318     OAddGate = Add.GetOutPort( 'Gate' )
319     
320     # Input Ports of the graph
321     #IAddx = Add.GetInPort( 'x' )
322     #IAddy = Add.GetInPort( 'y' )
323     
324     # Output Ports of the graph
325     #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
326     #OAddz = Add.GetOutPort( 'z' )
327     return GraphAdd_1
328
329 # Graph creation of GraphSub_1
330 def DefGraphSub_1() :
331     GraphSub_1 = Graph( 'GraphSub_1' )
332     GraphSub_1.SetCoupled( 'Macro_GraphSub' )
333     GraphSub_1.SetName( 'GraphSub_1' )
334     GraphSub_1.SetAuthor( '' )
335     GraphSub_1.SetComment( '' )
336     GraphSub_1.Coords( 0 , 0 )
337     
338     # Creation of Factory Nodes
339     
340     Sub = GraphSub_1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
341     Sub.SetName( 'Sub' )
342     Sub.SetAuthor( '' )
343     Sub.SetContainer( 'localhost/FactoryServer' )
344     Sub.SetComment( 'Sub from SubComponent' )
345     Sub.Coords( 55 , 71 )
346     ISubx = Sub.GetInPort( 'x' )
347     ISuby = Sub.GetInPort( 'y' )
348     ISubGate = Sub.GetInPort( 'Gate' )
349     OSubz = Sub.GetOutPort( 'z' )
350     OSubGate = Sub.GetOutPort( 'Gate' )
351     
352     # Input Ports of the graph
353     #ISubx = Sub.GetInPort( 'x' )
354     #ISuby = Sub.GetInPort( 'y' )
355     
356     # Output Ports of the graph
357     #OSubz = Sub.GetOutPort( 'z' )
358     return GraphSub_1
359
360
361 GraphLoopMacroNodes = DefGraphLoopMacroNodes()