Salome HOME
0022763: [EDF] Shape processing
[samples/datafiles.git] / Superv / Python / GraphLoopMacroNodes.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 GraphLoopMacroNodes
24 #
25 from SuperV import *
26
27 # Graph creation of GraphLoopMacroNodes
28 def DefGraphLoopMacroNodes() :
29     GraphLoopMacroNodes = Graph( 'GraphLoopMacroNodes' )
30     GraphLoopMacroNodes.SetName( 'GraphLoopMacroNodes' )
31     GraphLoopMacroNodes.SetAuthor( 'JR' )
32     GraphLoopMacroNodes.SetComment( '' )
33     GraphLoopMacroNodes.Coords( 0 , 0 )
34     
35     # Creation of Factory Nodes
36     
37     Add = GraphLoopMacroNodes.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 = GraphLoopMacroNodes.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 = GraphLoopMacroNodes.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 = GraphLoopMacroNodes.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 = GraphLoopMacroNodes.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 = GraphLoopMacroNodes.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     GraphAdd_1 = DefGraphAdd_1()
197     Macro_GraphAdd = GraphLoopMacroNodes.GraphMNode( GraphAdd_1 )
198     Macro_GraphAdd.SetCoupled( 'GraphAdd_1' )
199     Macro_GraphAdd.SetName( 'Macro_GraphAdd' )
200     Macro_GraphAdd.SetAuthor( '' )
201     Macro_GraphAdd.SetComment( 'Macro Node' )
202     Macro_GraphAdd.Coords( 625 , 133 )
203     IMacro_GraphAddAdd__x = Macro_GraphAdd.GetInPort( 'Add__x' )
204     IMacro_GraphAddAdd__y = Macro_GraphAdd.GetInPort( 'Add__y' )
205     IMacro_GraphAddGate = Macro_GraphAdd.GetInPort( 'Gate' )
206     OMacro_GraphAddAdd__FuncValue = Macro_GraphAdd.GetOutPort( 'Add__FuncValue' )
207     OMacro_GraphAddAdd__z = Macro_GraphAdd.GetOutPort( 'Add__z' )
208     OMacro_GraphAddGate = Macro_GraphAdd.GetOutPort( 'Gate' )
209     
210     GraphSub_1 = DefGraphSub_1()
211     Macro_GraphSub = GraphLoopMacroNodes.GraphMNode( GraphSub_1 )
212     Macro_GraphSub.SetCoupled( 'GraphSub_1' )
213     Macro_GraphSub.SetName( 'Macro_GraphSub' )
214     Macro_GraphSub.SetAuthor( '' )
215     Macro_GraphSub.SetComment( 'Macro Node' )
216     Macro_GraphSub.Coords( 512 , 319 )
217     IMacro_GraphSubSub__x = Macro_GraphSub.GetInPort( 'Sub__x' )
218     IMacro_GraphSubSub__y = Macro_GraphSub.GetInPort( 'Sub__y' )
219     IMacro_GraphSubGate = Macro_GraphSub.GetInPort( 'Gate' )
220     OMacro_GraphSubSub__z = Macro_GraphSub.GetOutPort( 'Sub__z' )
221     OMacro_GraphSubGate = Macro_GraphSub.GetOutPort( 'Gate' )
222     
223     # Creation of Links
224     LAddFuncValueMacro_GraphSubSub__x = GraphLoopMacroNodes.Link( OAddFuncValue , IMacro_GraphSubSub__x )
225     
226     LAddFuncValueMacro_GraphAddAdd__y = GraphLoopMacroNodes.Link( OAddFuncValue , IMacro_GraphAddAdd__y )
227     LAddFuncValueMacro_GraphAddAdd__y.AddCoord( 1 , 512 , 309 )
228     
229     LAddzSuby = GraphLoopMacroNodes.Link( OAddz , ISuby )
230     
231     LAddzMacro_GraphSubSub__y = GraphLoopMacroNodes.Link( OAddz , IMacro_GraphSubSub__y )
232     
233     LSubzMacro_GraphAddAdd__x = GraphLoopMacroNodes.Link( OSubz , IMacro_GraphAddAdd__x )
234     
235     LSubzMulx = GraphLoopMacroNodes.Link( OSubz , IMulx )
236     LSubzMulx.AddCoord( 1 , 767 , 389 )
237     LSubzMulx.AddCoord( 2 , 767 , 297 )
238     LSubzMulx.AddCoord( 3 , 592 , 297 )
239     LSubzMulx.AddCoord( 4 , 592 , 217 )
240     
241     LMulzResultsControlzMul = GraphLoopMacroNodes.Link( OMulz , IResultsControlzMul )
242     
243     LDivzResultsControlzDiv = GraphLoopMacroNodes.Link( ODivz , IResultsControlzDiv )
244     
245     LMacro_GraphAddAdd__FuncValueDivx = GraphLoopMacroNodes.Link( OMacro_GraphAddAdd__FuncValue , IDivx )
246     
247     LMacro_GraphAddAdd__zDivy = GraphLoopMacroNodes.Link( OMacro_GraphAddAdd__z , IDivy )
248     
249     LMacro_GraphSubSub__zMuly = GraphLoopMacroNodes.Link( OMacro_GraphSubSub__z , IMuly )
250     
251     LMacro_GraphSubGateMulGate = GraphLoopMacroNodes.Link( OMacro_GraphSubGate , IMulGate )
252     
253     LLoopIndexEndLoopIndex = GraphLoopMacroNodes.Link( OLoopIndex , IEndLoopIndex )
254     
255     LLoopIndexAddx = GraphLoopMacroNodes.Link( OLoopIndex , IAddx )
256     
257     LLoopIndexResultsControlx = GraphLoopMacroNodes.Link( OLoopIndex , IResultsControlx )
258     
259     LLoopMinEndLoopMin = GraphLoopMacroNodes.Link( OLoopMin , IEndLoopMin )
260     
261     LLoopMaxEndLoopMax = GraphLoopMacroNodes.Link( OLoopMax , IEndLoopMax )
262     
263     LLoopMaxAddy = GraphLoopMacroNodes.Link( OLoopMax , IAddy )
264     
265     LLoopMaxResultsControly = GraphLoopMacroNodes.Link( OLoopMax , IResultsControly )
266     
267     LLoopIncrEndLoopIncr = GraphLoopMacroNodes.Link( OLoopIncr , IEndLoopIncr )
268     
269     LResultsControlzDivEndLoopzDiv = GraphLoopMacroNodes.Link( OResultsControlzDiv , IEndLoopzDiv )
270     
271     LResultsControlzMulEndLoopzMul = GraphLoopMacroNodes.Link( OResultsControlzMul , IEndLoopzMul )
272     
273     LResultsControlOKEndLoopOK = GraphLoopMacroNodes.Link( OResultsControlOK , IEndLoopOK )
274     
275     # Input datas
276     ISubx.Input( 1.5 )
277     ILoopIndex.Input( 0 )
278     ILoopMin.Input( 7 )
279     ILoopMax.Input( 17 )
280     ILoopIncr.Input( 1 )
281     ILoopzDiv.Input( 0 )
282     ILoopzMul.Input( 0 )
283     ILoopOK.Input( 'Okay' )
284     
285     # Output Ports of the graph
286     #OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
287     #OEndLoopMin = EndLoop.GetOutPort( 'Min' )
288     #OEndLoopMax = EndLoop.GetOutPort( 'Max' )
289     #OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
290     #OEndLoopzDiv = EndLoop.GetOutPort( 'zDiv' )
291     #OEndLoopzMul = EndLoop.GetOutPort( 'zMul' )
292     #OEndLoopOK = EndLoop.GetOutPort( 'OK' )
293     #OResultsControlDiv_z = ResultsControl.GetOutPort( 'Div_z' )
294     #OResultsControlMul_z = ResultsControl.GetOutPort( 'Mul_z' )
295     return GraphLoopMacroNodes
296
297 # Graph creation of GraphAdd_1
298 def DefGraphAdd_1() :
299     GraphAdd_1 = Graph( 'GraphAdd_1' )
300     GraphAdd_1.SetCoupled( 'Macro_GraphAdd' )
301     GraphAdd_1.SetName( 'GraphAdd_1' )
302     GraphAdd_1.SetAuthor( '' )
303     GraphAdd_1.SetComment( '' )
304     GraphAdd_1.Coords( 0 , 0 )
305     
306     # Creation of Factory Nodes
307     
308     Add = GraphAdd_1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
309     Add.SetName( 'Add' )
310     Add.SetAuthor( '' )
311     Add.SetContainer( 'localhost/FactoryServer' )
312     Add.SetComment( 'Add from AddComponent' )
313     Add.Coords( 55 , 61 )
314     IAddx = Add.GetInPort( 'x' )
315     IAddy = Add.GetInPort( 'y' )
316     IAddGate = Add.GetInPort( 'Gate' )
317     OAddFuncValue = Add.GetOutPort( 'FuncValue' )
318     OAddz = Add.GetOutPort( 'z' )
319     OAddGate = Add.GetOutPort( 'Gate' )
320     
321     # Input Ports of the graph
322     #IAddx = Add.GetInPort( 'x' )
323     #IAddy = Add.GetInPort( 'y' )
324     
325     # Output Ports of the graph
326     #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
327     #OAddz = Add.GetOutPort( 'z' )
328     return GraphAdd_1
329
330 # Graph creation of GraphSub_1
331 def DefGraphSub_1() :
332     GraphSub_1 = Graph( 'GraphSub_1' )
333     GraphSub_1.SetCoupled( 'Macro_GraphSub' )
334     GraphSub_1.SetName( 'GraphSub_1' )
335     GraphSub_1.SetAuthor( '' )
336     GraphSub_1.SetComment( '' )
337     GraphSub_1.Coords( 0 , 0 )
338     
339     # Creation of Factory Nodes
340     
341     Sub = GraphSub_1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
342     Sub.SetName( 'Sub' )
343     Sub.SetAuthor( '' )
344     Sub.SetContainer( 'localhost/FactoryServer' )
345     Sub.SetComment( 'Sub from SubComponent' )
346     Sub.Coords( 55 , 71 )
347     ISubx = Sub.GetInPort( 'x' )
348     ISuby = Sub.GetInPort( 'y' )
349     ISubGate = Sub.GetInPort( 'Gate' )
350     OSubz = Sub.GetOutPort( 'z' )
351     OSubGate = Sub.GetOutPort( 'Gate' )
352     
353     # Input Ports of the graph
354     #ISubx = Sub.GetInPort( 'x' )
355     #ISuby = Sub.GetInPort( 'y' )
356     
357     # Output Ports of the graph
358     #OSubz = Sub.GetOutPort( 'z' )
359     return GraphSub_1
360
361
362 GraphLoopMacroNodes = DefGraphLoopMacroNodes()