1 # Copyright (C) 2007-2008 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 GraphLoopGates
26 # Graph creation of GraphLoopGates
27 def DefGraphLoopGates() :
28 GraphLoopGates = Graph( 'GraphLoopGates' )
29 GraphLoopGates.SetName( 'GraphLoopGates' )
30 GraphLoopGates.SetAuthor( 'JR' )
31 GraphLoopGates.SetComment( '' )
32 GraphLoopGates.Coords( 0 , 0 )
34 # Creation of Factory Nodes
36 Add = GraphLoopGates.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
39 Add.SetContainer( 'localhost/FactoryServer' )
40 Add.SetComment( 'Add from AddComponent' )
41 Add.Coords( 248 , 70 )
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 Add_1 = GraphLoopGates.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
50 Add_1.SetName( 'Add_1' )
52 Add_1.SetContainer( 'localhost/FactoryServer' )
53 Add_1.SetComment( 'Add from AddComponent' )
54 Add_1.Coords( 249 , 305 )
55 IAdd_1x = Add_1.GetInPort( 'x' )
56 IAdd_1y = Add_1.GetInPort( 'y' )
57 IAdd_1Gate = Add_1.GetInPort( 'Gate' )
58 OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
59 OAdd_1z = Add_1.GetOutPort( 'z' )
60 OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
62 Sub = GraphLoopGates.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
65 Sub.SetContainer( 'localhost/FactoryServer' )
66 Sub.SetComment( 'Sub from SubComponent' )
67 Sub.Coords( 453 , 72 )
68 ISubx = Sub.GetInPort( 'x' )
69 ISuby = Sub.GetInPort( 'y' )
70 ISubGate = Sub.GetInPort( 'Gate' )
71 OSubz = Sub.GetOutPort( 'z' )
72 OSubGate = Sub.GetOutPort( 'Gate' )
74 Sub_1 = GraphLoopGates.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
75 Sub_1.SetName( 'Sub_1' )
77 Sub_1.SetContainer( 'localhost/FactoryServer' )
78 Sub_1.SetComment( 'Sub from SubComponent' )
79 Sub_1.Coords( 455 , 304 )
80 ISub_1x = Sub_1.GetInPort( 'x' )
81 ISub_1y = Sub_1.GetInPort( 'y' )
82 ISub_1Gate = Sub_1.GetInPort( 'Gate' )
83 OSub_1z = Sub_1.GetOutPort( 'z' )
84 OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
86 # Creation of InLine Nodes
88 PyGate.append( 'from time import * ' )
89 PyGate.append( 'def Gate(G1,G2) : ' )
90 PyGate.append( ' sleep(1) ' )
91 PyGate.append( ' return G1&G2 ' )
92 Gate = GraphLoopGates.INode( 'Gate' , PyGate )
93 Gate.SetName( 'Gate' )
95 Gate.SetComment( 'Compute Node' )
96 Gate.Coords( 650 , 227 )
97 IGateG1 = Gate.InPort( 'G1' , 'long' )
98 IGateG2 = Gate.InPort( 'G2' , 'long' )
99 IGateGate = Gate.GetInPort( 'Gate' )
100 OGateG = Gate.OutPort( 'G' , 'long' )
101 OGateGate = Gate.GetOutPort( 'Gate' )
103 # Creation of Loop Nodes
105 PyInit.append( 'from time import * ' )
106 PyInit.append( 'def Init(Index,Min,Max) : ' )
107 PyInit.append( ' Index = Min ' )
108 PyInit.append( ' sleep(1) ' )
109 PyInit.append( ' return Index,Min,Max ' )
111 PyMoreInit.append( 'def More(Index,Min,Max) : ' )
112 PyMoreInit.append( ' if Index < Max : ' )
113 PyMoreInit.append( ' DoLoop = 1 ' )
114 PyMoreInit.append( ' else : ' )
115 PyMoreInit.append( ' DoLoop = 0 ' )
116 PyMoreInit.append( ' return DoLoop,Index,Min,Max ' )
118 PyNextInit.append( 'def Next(Index,Min,Max) : ' )
119 PyNextInit.append( ' Index = Index + 1 ' )
120 PyNextInit.append( ' return Index,Min,Max ' )
121 Init,EndInit = GraphLoopGates.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
122 EndInit.SetName( 'EndInit' )
123 EndInit.SetAuthor( '' )
124 EndInit.SetComment( 'Compute Node' )
125 EndInit.Coords( 847 , 247 )
127 EndInit.SetPyFunction( 'EndInit' , PyEndInit )
128 IInitDoLoop = Init.GetInPort( 'DoLoop' )
129 IInitIndex = Init.InPort( 'Index' , 'long' )
130 IInitMin = Init.InPort( 'Min' , 'long' )
131 IInitMax = Init.InPort( 'Max' , 'long' )
132 IInitGate = Init.GetInPort( 'Gate' )
133 OInitDoLoop = Init.GetOutPort( 'DoLoop' )
134 OInitIndex = Init.GetOutPort( 'Index' )
135 OInitMin = Init.GetOutPort( 'Min' )
136 OInitMax = Init.GetOutPort( 'Max' )
137 IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
138 IEndInitIndex = EndInit.GetInPort( 'Index' )
139 IEndInitMin = EndInit.GetInPort( 'Min' )
140 IEndInitMax = EndInit.GetInPort( 'Max' )
141 IEndInitGate = EndInit.GetInPort( 'Gate' )
142 OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
143 OEndInitIndex = EndInit.GetOutPort( 'Index' )
144 OEndInitMin = EndInit.GetOutPort( 'Min' )
145 OEndInitMax = EndInit.GetOutPort( 'Max' )
146 OEndInitGate = EndInit.GetOutPort( 'Gate' )
147 Init.SetName( 'Init' )
149 Init.SetComment( 'Compute Node' )
150 Init.Coords( 10 , 181 )
153 LInitIndexEndInitIndex = GraphLoopGates.Link( OInitIndex , IEndInitIndex )
155 LInitMinEndInitMin = GraphLoopGates.Link( OInitMin , IEndInitMin )
157 LInitMaxEndInitMax = GraphLoopGates.Link( OInitMax , IEndInitMax )
159 LInitGateAdd_1Gate = GraphLoopGates.Link( OInitGate , IAdd_1Gate )
161 LInitGateAddGate = GraphLoopGates.Link( OInitGate , IAddGate )
163 LAddGateSubGate = GraphLoopGates.Link( OAddGate , ISubGate )
165 LAdd_1GateSub_1Gate = GraphLoopGates.Link( OAdd_1Gate , ISub_1Gate )
167 LSubGateGateG1 = GraphLoopGates.Link( OSubGate , IGateG1 )
169 LSub_1zGateG2 = GraphLoopGates.Link( OSub_1z , IGateG2 )
171 LSub_1GateGateGate = GraphLoopGates.Link( OSub_1Gate , IGateGate )
173 LGateGateEndInitGate = GraphLoopGates.Link( OGateGate , IEndInitGate )
176 IInitIndex.Input( 0 )
188 # Output Ports of the graph
189 #OEndInitIndex = EndInit.GetOutPort( 'Index' )
190 #OEndInitMin = EndInit.GetOutPort( 'Min' )
191 #OEndInitMax = EndInit.GetOutPort( 'Max' )
192 #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
193 #OAddz = Add.GetOutPort( 'z' )
194 #OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
195 #OAdd_1z = Add_1.GetOutPort( 'z' )
196 #OSubz = Sub.GetOutPort( 'z' )
197 #OGateG = Gate.GetOutPort( 'G' )
198 return GraphLoopGates
201 GraphLoopGates = DefGraphLoopGates()