1 # Copyright (C) 2007-2015 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, or (at your option) any later version.
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
23 # Generated python file of Graph GraphLoopMacroNodes
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 )
35 # Creation of Factory Nodes
37 Add = GraphLoopMacroNodes.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
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' )
50 Sub = GraphLoopMacroNodes.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
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' )
62 Mul = GraphLoopMacroNodes.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
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' )
74 Div = GraphLoopMacroNodes.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
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' )
86 # Creation of InLine Nodes
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' )
119 # Creation of Loop Nodes
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' )
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( '' )
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 )
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' )
192 Loop.SetComment( 'Compute Node' )
193 Loop.Coords( 5 , 265 )
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' )
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' )
224 LAddFuncValueMacro_GraphSubSub__x = GraphLoopMacroNodes.Link( OAddFuncValue , IMacro_GraphSubSub__x )
226 LAddFuncValueMacro_GraphAddAdd__y = GraphLoopMacroNodes.Link( OAddFuncValue , IMacro_GraphAddAdd__y )
227 LAddFuncValueMacro_GraphAddAdd__y.AddCoord( 1 , 512 , 309 )
229 LAddzSuby = GraphLoopMacroNodes.Link( OAddz , ISuby )
231 LAddzMacro_GraphSubSub__y = GraphLoopMacroNodes.Link( OAddz , IMacro_GraphSubSub__y )
233 LSubzMacro_GraphAddAdd__x = GraphLoopMacroNodes.Link( OSubz , IMacro_GraphAddAdd__x )
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 )
241 LMulzResultsControlzMul = GraphLoopMacroNodes.Link( OMulz , IResultsControlzMul )
243 LDivzResultsControlzDiv = GraphLoopMacroNodes.Link( ODivz , IResultsControlzDiv )
245 LMacro_GraphAddAdd__FuncValueDivx = GraphLoopMacroNodes.Link( OMacro_GraphAddAdd__FuncValue , IDivx )
247 LMacro_GraphAddAdd__zDivy = GraphLoopMacroNodes.Link( OMacro_GraphAddAdd__z , IDivy )
249 LMacro_GraphSubSub__zMuly = GraphLoopMacroNodes.Link( OMacro_GraphSubSub__z , IMuly )
251 LMacro_GraphSubGateMulGate = GraphLoopMacroNodes.Link( OMacro_GraphSubGate , IMulGate )
253 LLoopIndexEndLoopIndex = GraphLoopMacroNodes.Link( OLoopIndex , IEndLoopIndex )
255 LLoopIndexAddx = GraphLoopMacroNodes.Link( OLoopIndex , IAddx )
257 LLoopIndexResultsControlx = GraphLoopMacroNodes.Link( OLoopIndex , IResultsControlx )
259 LLoopMinEndLoopMin = GraphLoopMacroNodes.Link( OLoopMin , IEndLoopMin )
261 LLoopMaxEndLoopMax = GraphLoopMacroNodes.Link( OLoopMax , IEndLoopMax )
263 LLoopMaxAddy = GraphLoopMacroNodes.Link( OLoopMax , IAddy )
265 LLoopMaxResultsControly = GraphLoopMacroNodes.Link( OLoopMax , IResultsControly )
267 LLoopIncrEndLoopIncr = GraphLoopMacroNodes.Link( OLoopIncr , IEndLoopIncr )
269 LResultsControlzDivEndLoopzDiv = GraphLoopMacroNodes.Link( OResultsControlzDiv , IEndLoopzDiv )
271 LResultsControlzMulEndLoopzMul = GraphLoopMacroNodes.Link( OResultsControlzMul , IEndLoopzMul )
273 LResultsControlOKEndLoopOK = GraphLoopMacroNodes.Link( OResultsControlOK , IEndLoopOK )
277 ILoopIndex.Input( 0 )
283 ILoopOK.Input( 'Okay' )
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
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 )
306 # Creation of Factory Nodes
308 Add = GraphAdd_1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
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' )
321 # Input Ports of the graph
322 #IAddx = Add.GetInPort( 'x' )
323 #IAddy = Add.GetInPort( 'y' )
325 # Output Ports of the graph
326 #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
327 #OAddz = Add.GetOutPort( 'z' )
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 )
339 # Creation of Factory Nodes
341 Sub = GraphSub_1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
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' )
353 # Input Ports of the graph
354 #ISubx = Sub.GetInPort( 'x' )
355 #ISuby = Sub.GetInPort( 'y' )
357 # Output Ports of the graph
358 #OSubz = Sub.GetOutPort( 'z' )
362 GraphLoopMacroNodes = DefGraphLoopMacroNodes()