Salome HOME
8bc696243a100d9337d1e8af869a5bf6fa098ff4
[samples/datafiles.git] / Superv / Python / GraphLoopsCoupled.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 GraphLoopsCoupled_3
24 #
25 from SuperV import *
26
27 # Graph creation of GraphLoopsCoupled_3
28 def DefGraphLoopsCoupled_3() :
29     GraphLoopsCoupled_3 = Graph( 'GraphLoopsCoupled_3' )
30     GraphLoopsCoupled_3.SetName( 'GraphLoopsCoupled_3' )
31     GraphLoopsCoupled_3.SetAuthor( 'JR' )
32     GraphLoopsCoupled_3.SetComment( '' )
33     GraphLoopsCoupled_3.Coords( 0 , 0 )
34     
35     # Creation of Factory Nodes
36     
37     # Creation of InLine Nodes
38     PyAdd = []
39     PyAdd.append( 'def Add(x,y) : ' )
40     PyAdd.append( '     return x+y ' )
41     PyAdd.append( '' )
42     Add = GraphLoopsCoupled_3.INode( 'Add' , PyAdd )
43     Add.SetName( 'Add' )
44     Add.SetAuthor( '' )
45     Add.SetComment( 'Compute Node' )
46     Add.Coords( 245 , 38 )
47     IAddx = Add.InPort( 'x' , 'long' )
48     IAddy = Add.InPort( 'y' , 'long' )
49     IAddGate = Add.GetInPort( 'Gate' )
50     OAddz = Add.OutPort( 'z' , 'long' )
51     OAddGate = Add.GetOutPort( 'Gate' )
52     
53     PyAdd_1 = []
54     PyAdd_1.append( 'def Add(x,y) :  ' )
55     PyAdd_1.append( '   return x+y  ' )
56     PyAdd_1.append( '' )
57     Add_1 = GraphLoopsCoupled_3.INode( 'Add' , PyAdd_1 )
58     Add_1.SetName( 'Add_1' )
59     Add_1.SetAuthor( '' )
60     Add_1.SetComment( 'Compute Node' )
61     Add_1.Coords( 243 , 288 )
62     IAdd_1x = Add_1.InPort( 'x' , 'long' )
63     IAdd_1y = Add_1.InPort( 'y' , 'long' )
64     IAdd_1Gate = Add_1.GetInPort( 'Gate' )
65     OAdd_1z = Add_1.OutPort( 'z' , 'long' )
66     OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
67     
68     PySub = []
69     PySub.append( 'def Sub(x,y) :  ' )
70     PySub.append( '     return x-y  ' )
71     PySub.append( '' )
72     Sub = GraphLoopsCoupled_3.INode( 'Sub' , PySub )
73     Sub.SetName( 'Sub' )
74     Sub.SetAuthor( '' )
75     Sub.SetComment( 'Compute Node' )
76     Sub.Coords( 458 , 18 )
77     ISubx = Sub.InPort( 'x' , 'long' )
78     ISuby = Sub.InPort( 'y' , 'long' )
79     ISubGate = Sub.GetInPort( 'Gate' )
80     OSubz = Sub.OutPort( 'z' , 'long' )
81     OSubGate = Sub.GetOutPort( 'Gate' )
82     
83     PySub_1 = []
84     PySub_1.append( 'def Sub(x,y) :   ' )
85     PySub_1.append( '   return x-y   ' )
86     PySub_1.append( '' )
87     Sub_1 = GraphLoopsCoupled_3.INode( 'Sub' , PySub_1 )
88     Sub_1.SetName( 'Sub_1' )
89     Sub_1.SetAuthor( '' )
90     Sub_1.SetComment( 'Compute Node' )
91     Sub_1.Coords( 461 , 268 )
92     ISub_1x = Sub_1.InPort( 'x' , 'long' )
93     ISub_1y = Sub_1.InPort( 'y' , 'long' )
94     ISub_1Gate = Sub_1.GetInPort( 'Gate' )
95     OSub_1z = Sub_1.OutPort( 'z' , 'long' )
96     OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
97     
98     # Creation of Loop Nodes
99     PyLoop = []
100     PyLoop.append( '  ' )
101     PyMoreLoop = []
102     PyMoreLoop.append( 'def More(Index,Max,z) :    ' )
103     PyMoreLoop.append( '        DoLoop = 0    ' )
104     PyMoreLoop.append( '        if Index < Max :   ' )
105     PyMoreLoop.append( '                DoLoop = 1    ' )
106     PyMoreLoop.append( '        return DoLoop,Index,Max,z ' )
107     PyMoreLoop.append( '  ' )
108     PyNextLoop = []
109     PyNextLoop.append( 'def Next(Index,Max,z) :    ' )
110     PyNextLoop.append( '        Index = Index + 1    ' )
111     PyNextLoop.append( '        return Index,Max,z  ' )
112     PyNextLoop.append( '  ' )
113     Loop,EndLoop = GraphLoopsCoupled_3.LNode( '' , PyLoop , 'More' , PyMoreLoop , 'Next' , PyNextLoop )
114     EndLoop.SetName( 'EndLoop' )
115     EndLoop.SetAuthor( '' )
116     EndLoop.SetComment( 'Compute Node' )
117     EndLoop.Coords( 662 , 38 )
118     PyEndLoop = []
119     EndLoop.SetPyFunction( 'EndLoop' , PyEndLoop )
120     ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
121     ILoopIndex = Loop.InPort( 'Index' , 'long' )
122     ILoopMax = Loop.InPort( 'Max' , 'long' )
123     ILoopz = Loop.InPort( 'z' , 'long' )
124     ILoopGate = Loop.GetInPort( 'Gate' )
125     OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
126     OLoopIndex = Loop.GetOutPort( 'Index' )
127     OLoopMax = Loop.GetOutPort( 'Max' )
128     OLoopz = Loop.GetOutPort( 'z' )
129     IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
130     IEndLoopIndex = EndLoop.GetInPort( 'Index' )
131     IEndLoopMax = EndLoop.GetInPort( 'Max' )
132     IEndLoopz = EndLoop.GetInPort( 'z' )
133     IEndLoopGate = EndLoop.GetInPort( 'Gate' )
134     OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
135     OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
136     OEndLoopMax = EndLoop.GetOutPort( 'Max' )
137     OEndLoopz = EndLoop.GetOutPort( 'z' )
138     OEndLoopGate = EndLoop.GetOutPort( 'Gate' )
139     Loop.SetName( 'Loop' )
140     Loop.SetAuthor( '' )
141     Loop.SetComment( 'Compute Node' )
142     Loop.Coords( 15 , 58 )
143     
144     PyInit = []
145     PyInit.append( '  ' )
146     PyMoreInit = []
147     PyMoreInit.append( 'def More(Index,Max,z) :      ' )
148     PyMoreInit.append( '        DoLoop = 0      ' )
149     PyMoreInit.append( '        if Index < Max :     ' )
150     PyMoreInit.append( '                DoLoop = 1      ' )
151     PyMoreInit.append( '        return DoLoop,Index,Max,z      ' )
152     PyMoreInit.append( '  ' )
153     PyNextInit = []
154     PyNextInit.append( 'def Next(Index,Max,z) :     ' )
155     PyNextInit.append( '        Index = Index + 1     ' )
156     PyNextInit.append( '        return Index,Max,z     ' )
157     PyNextInit.append( '  ' )
158     Init,EndInit = GraphLoopsCoupled_3.LNode( '' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
159     EndInit.SetName( 'EndInit' )
160     EndInit.SetAuthor( '' )
161     EndInit.SetComment( 'Compute Node' )
162     EndInit.Coords( 670 , 288 )
163     PyEndInit = []
164     EndInit.SetPyFunction( 'EndInit' , PyEndInit )
165     IInitDoLoop = Init.GetInPort( 'DoLoop' )
166     IInitIndex = Init.InPort( 'Index' , 'long' )
167     IInitMax = Init.InPort( 'Max' , 'long' )
168     IInitz = Init.InPort( 'z' , 'long' )
169     IInitGate = Init.GetInPort( 'Gate' )
170     OInitDoLoop = Init.GetOutPort( 'DoLoop' )
171     OInitIndex = Init.GetOutPort( 'Index' )
172     OInitMax = Init.GetOutPort( 'Max' )
173     OInitz = Init.GetOutPort( 'z' )
174     IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
175     IEndInitIndex = EndInit.GetInPort( 'Index' )
176     IEndInitMax = EndInit.GetInPort( 'Max' )
177     IEndInitz = EndInit.GetInPort( 'z' )
178     IEndInitGate = EndInit.GetInPort( 'Gate' )
179     OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
180     OEndInitIndex = EndInit.GetOutPort( 'Index' )
181     OEndInitMax = EndInit.GetOutPort( 'Max' )
182     OEndInitz = EndInit.GetOutPort( 'z' )
183     OEndInitGate = EndInit.GetOutPort( 'Gate' )
184     Init.SetName( 'Init' )
185     Init.SetAuthor( '' )
186     Init.SetComment( 'Compute Node' )
187     Init.Coords( 10 , 308 )
188     
189     # Creation of Links
190     LAddzSuby = GraphLoopsCoupled_3.Link( OAddz , ISuby )
191     
192     LAddzSub_1x = GraphLoopsCoupled_3.Link( OAddz , ISub_1x )
193     
194     LAdd_1zSub_1y = GraphLoopsCoupled_3.Link( OAdd_1z , ISub_1y )
195     
196     LAdd_1zSubx = GraphLoopsCoupled_3.Link( OAdd_1z , ISubx )
197     
198     LSubzEndInitz = GraphLoopsCoupled_3.Link( OSubz , IEndInitz )
199     
200     LSub_1zEndLoopz = GraphLoopsCoupled_3.Link( OSub_1z , IEndLoopz )
201     
202     LLoopIndexEndLoopIndex = GraphLoopsCoupled_3.Link( OLoopIndex , IEndLoopIndex )
203     
204     LLoopMaxEndLoopMax = GraphLoopsCoupled_3.Link( OLoopMax , IEndLoopMax )
205     
206     LLoopMaxAddx = GraphLoopsCoupled_3.Link( OLoopMax , IAddx )
207     
208     LLoopzAddy = GraphLoopsCoupled_3.Link( OLoopz , IAddy )
209     
210     LInitIndexEndInitIndex = GraphLoopsCoupled_3.Link( OInitIndex , IEndInitIndex )
211     
212     LInitMaxEndInitMax = GraphLoopsCoupled_3.Link( OInitMax , IEndInitMax )
213     
214     LInitMaxAdd_1x = GraphLoopsCoupled_3.Link( OInitMax , IAdd_1x )
215     
216     LInitzAdd_1y = GraphLoopsCoupled_3.Link( OInitz , IAdd_1y )
217     
218     # Input datas
219     ILoopIndex.Input( 5 )
220     ILoopMax.Input( 15 )
221     ILoopz.Input( -1 )
222     IInitIndex.Input( 3 )
223     IInitMax.Input( 13 )
224     IInitz.Input( -2 )
225     
226     # Output Ports of the graph
227     #OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
228     #OEndLoopMax = EndLoop.GetOutPort( 'Max' )
229     #OEndLoopz = EndLoop.GetOutPort( 'z' )
230     #OEndInitIndex = EndInit.GetOutPort( 'Index' )
231     #OEndInitMax = EndInit.GetOutPort( 'Max' )
232     #OEndInitz = EndInit.GetOutPort( 'z' )
233     return GraphLoopsCoupled_3
234
235
236 GraphLoopsCoupled_3 = DefGraphLoopsCoupled_3()