1 # Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
3 # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
20 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 # Generated python file of Graph GraphLoopMacroNodes
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 )
34 # Creation of Factory Nodes
36 Add = GraphLoopMacroNodes.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
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' )
49 Sub = GraphLoopMacroNodes.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
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' )
61 Mul = GraphLoopMacroNodes.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
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' )
73 Div = GraphLoopMacroNodes.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
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' )
85 # Creation of InLine Nodes
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' )
118 # Creation of Loop Nodes
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' )
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( '' )
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 )
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' )
191 Loop.SetComment( 'Compute Node' )
192 Loop.Coords( 5 , 265 )
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' )
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' )
223 LAddFuncValueMacro_GraphSubSub__x = GraphLoopMacroNodes.Link( OAddFuncValue , IMacro_GraphSubSub__x )
225 LAddFuncValueMacro_GraphAddAdd__y = GraphLoopMacroNodes.Link( OAddFuncValue , IMacro_GraphAddAdd__y )
226 LAddFuncValueMacro_GraphAddAdd__y.AddCoord( 1 , 512 , 309 )
228 LAddzSuby = GraphLoopMacroNodes.Link( OAddz , ISuby )
230 LAddzMacro_GraphSubSub__y = GraphLoopMacroNodes.Link( OAddz , IMacro_GraphSubSub__y )
232 LSubzMacro_GraphAddAdd__x = GraphLoopMacroNodes.Link( OSubz , IMacro_GraphAddAdd__x )
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 )
240 LMulzResultsControlzMul = GraphLoopMacroNodes.Link( OMulz , IResultsControlzMul )
242 LDivzResultsControlzDiv = GraphLoopMacroNodes.Link( ODivz , IResultsControlzDiv )
244 LMacro_GraphAddAdd__FuncValueDivx = GraphLoopMacroNodes.Link( OMacro_GraphAddAdd__FuncValue , IDivx )
246 LMacro_GraphAddAdd__zDivy = GraphLoopMacroNodes.Link( OMacro_GraphAddAdd__z , IDivy )
248 LMacro_GraphSubSub__zMuly = GraphLoopMacroNodes.Link( OMacro_GraphSubSub__z , IMuly )
250 LMacro_GraphSubGateMulGate = GraphLoopMacroNodes.Link( OMacro_GraphSubGate , IMulGate )
252 LLoopIndexEndLoopIndex = GraphLoopMacroNodes.Link( OLoopIndex , IEndLoopIndex )
254 LLoopIndexAddx = GraphLoopMacroNodes.Link( OLoopIndex , IAddx )
256 LLoopIndexResultsControlx = GraphLoopMacroNodes.Link( OLoopIndex , IResultsControlx )
258 LLoopMinEndLoopMin = GraphLoopMacroNodes.Link( OLoopMin , IEndLoopMin )
260 LLoopMaxEndLoopMax = GraphLoopMacroNodes.Link( OLoopMax , IEndLoopMax )
262 LLoopMaxAddy = GraphLoopMacroNodes.Link( OLoopMax , IAddy )
264 LLoopMaxResultsControly = GraphLoopMacroNodes.Link( OLoopMax , IResultsControly )
266 LLoopIncrEndLoopIncr = GraphLoopMacroNodes.Link( OLoopIncr , IEndLoopIncr )
268 LResultsControlzDivEndLoopzDiv = GraphLoopMacroNodes.Link( OResultsControlzDiv , IEndLoopzDiv )
270 LResultsControlzMulEndLoopzMul = GraphLoopMacroNodes.Link( OResultsControlzMul , IEndLoopzMul )
272 LResultsControlOKEndLoopOK = GraphLoopMacroNodes.Link( OResultsControlOK , IEndLoopOK )
276 ILoopIndex.Input( 0 )
282 ILoopOK.Input( 'Okay' )
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
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 )
305 # Creation of Factory Nodes
307 Add = GraphAdd_1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
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' )
320 # Input Ports of the graph
321 #IAddx = Add.GetInPort( 'x' )
322 #IAddy = Add.GetInPort( 'y' )
324 # Output Ports of the graph
325 #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
326 #OAddz = Add.GetOutPort( 'z' )
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 )
338 # Creation of Factory Nodes
340 Sub = GraphSub_1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
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' )
352 # Input Ports of the graph
353 #ISubx = Sub.GetInPort( 'x' )
354 #ISuby = Sub.GetInPort( 'y' )
356 # Output Ports of the graph
357 #OSubz = Sub.GetOutPort( 'z' )
361 GraphLoopMacroNodes = DefGraphLoopMacroNodes()