Salome HOME
PAL8521
[modules/superv.git] / examples / GraphLoopsGates.py
1
2 # Generated python file of Graph GraphLoopsGates_1
3
4 from SuperV import *
5
6 # Graph creation of GraphLoopsGates_1
7 def DefGraphLoopsGates_1() :
8     GraphLoopsGates_1 = Graph( 'GraphLoopsGates_1' )
9     GraphLoopsGates_1.SetName( 'GraphLoopsGates_1' )
10     GraphLoopsGates_1.SetAuthor( 'JR' )
11     GraphLoopsGates_1.SetComment( '' )
12     GraphLoopsGates_1.Coords( 0 , 0 )
13     
14     # Creation of Factory Nodes
15     
16     Add = GraphLoopsGates_1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
17     Add.SetName( 'Add' )
18     Add.SetAuthor( '' )
19     Add.SetContainer( 'localhost/FactoryServer' )
20     Add.SetComment( 'Add from AddComponent' )
21     Add.Coords( 230 , 76 )
22     IAddx = Add.GetInPort( 'x' )
23     IAddy = Add.GetInPort( 'y' )
24     IAddGate = Add.GetInPort( 'Gate' )
25     OAddFuncValue = Add.GetOutPort( 'FuncValue' )
26     OAddz = Add.GetOutPort( 'z' )
27     OAddGate = Add.GetOutPort( 'Gate' )
28     
29     Add_1 = GraphLoopsGates_1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
30     Add_1.SetName( 'Add_1' )
31     Add_1.SetAuthor( '' )
32     Add_1.SetContainer( 'localhost/FactoryServer' )
33     Add_1.SetComment( 'Add from AddComponent' )
34     Add_1.Coords( 225 , 304 )
35     IAdd_1x = Add_1.GetInPort( 'x' )
36     IAdd_1y = Add_1.GetInPort( 'y' )
37     IAdd_1Gate = Add_1.GetInPort( 'Gate' )
38     OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
39     OAdd_1z = Add_1.GetOutPort( 'z' )
40     OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
41     
42     Sub = GraphLoopsGates_1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
43     Sub.SetName( 'Sub' )
44     Sub.SetAuthor( '' )
45     Sub.SetContainer( 'localhost/FactoryServer' )
46     Sub.SetComment( 'Sub from SubComponent' )
47     Sub.Coords( 447 , 77 )
48     ISubx = Sub.GetInPort( 'x' )
49     ISuby = Sub.GetInPort( 'y' )
50     ISubGate = Sub.GetInPort( 'Gate' )
51     OSubz = Sub.GetOutPort( 'z' )
52     OSubGate = Sub.GetOutPort( 'Gate' )
53     
54     Sub_1 = GraphLoopsGates_1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
55     Sub_1.SetName( 'Sub_1' )
56     Sub_1.SetAuthor( '' )
57     Sub_1.SetContainer( 'localhost/FactoryServer' )
58     Sub_1.SetComment( 'Sub from SubComponent' )
59     Sub_1.Coords( 448 , 304 )
60     ISub_1x = Sub_1.GetInPort( 'x' )
61     ISub_1y = Sub_1.GetInPort( 'y' )
62     ISub_1Gate = Sub_1.GetInPort( 'Gate' )
63     OSub_1z = Sub_1.GetOutPort( 'z' )
64     OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
65     
66     # Creation of InLine Nodes
67     PyGate = []
68     PyGate.append( 'from time import *  ' )
69     PyGate.append( 'def Gate(G1,G2) :  ' )
70     PyGate.append( '    sleep(1)  ' )
71     PyGate.append( '    return G1&G2  ' )
72     Gate = GraphLoopsGates_1.INode( 'Gate' , PyGate )
73     Gate.SetName( 'Gate' )
74     Gate.SetAuthor( '' )
75     Gate.SetComment( 'Compute Node' )
76     Gate.Coords( 640 , 224 )
77     IGateG1 = Gate.InPort( 'G1' , 'long' )
78     IGateG2 = Gate.InPort( 'G2' , 'long' )
79     IGateGate = Gate.GetInPort( 'Gate' )
80     OGateG = Gate.OutPort( 'G' , 'long' )
81     OGateGate = Gate.GetOutPort( 'Gate' )
82     
83     # Creation of Loop Nodes
84     PyInit = []
85     PyInit.append( 'from time import *    ' )
86     PyInit.append( 'def Init(Index,Min,Max) :    ' )
87     PyInit.append( '    Index = Min    ' )
88     PyInit.append( '    sleep(1)    ' )
89     PyInit.append( '    return Index,Min,Max    ' )
90     PyMoreInit = []
91     PyMoreInit.append( 'def More(Index,Min,Max) :   ' )
92     PyMoreInit.append( '    if Index < Max :   ' )
93     PyMoreInit.append( '        DoLoop = 1   ' )
94     PyMoreInit.append( '    else :   ' )
95     PyMoreInit.append( '        DoLoop = 0  ' )
96     PyMoreInit.append( '    return DoLoop,Index,Min,Max   ' )
97     PyNextInit = []
98     PyNextInit.append( 'from time import * ' )
99     PyNextInit.append( 'def Next(Index,Min,Max) :   ' )
100     PyNextInit.append( '    Index = Index + 1 ' )
101     PyNextInit.append( '    sleep(1) ' )
102     PyNextInit.append( '    return Index,Min,Max    ' )
103     Init,EndInit = GraphLoopsGates_1.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
104     EndInit.SetName( 'EndInit' )
105     EndInit.SetAuthor( '' )
106     EndInit.SetComment( 'Compute Node' )
107     EndInit.Coords( 851 , 200 )
108     PyEndInit = []
109     EndInit.SetPyFunction( 'EndInit' , PyEndInit )
110     IInitDoLoop = Init.GetInPort( 'DoLoop' )
111     IInitIndex = Init.InPort( 'Index' , 'long' )
112     IInitMin = Init.InPort( 'Min' , 'long' )
113     IInitMax = Init.InPort( 'Max' , 'long' )
114     IInitGate = Init.GetInPort( 'Gate' )
115     OInitDoLoop = Init.GetOutPort( 'DoLoop' )
116     OInitIndex = Init.GetOutPort( 'Index' )
117     OInitMin = Init.GetOutPort( 'Min' )
118     OInitMax = Init.GetOutPort( 'Max' )
119     IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
120     IEndInitIndex = EndInit.GetInPort( 'Index' )
121     IEndInitMin = EndInit.GetInPort( 'Min' )
122     IEndInitMax = EndInit.GetInPort( 'Max' )
123     IEndInitGate = EndInit.GetInPort( 'Gate' )
124     OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
125     OEndInitIndex = EndInit.GetOutPort( 'Index' )
126     OEndInitMin = EndInit.GetOutPort( 'Min' )
127     OEndInitMax = EndInit.GetOutPort( 'Max' )
128     OEndInitGate = EndInit.GetOutPort( 'Gate' )
129     Init.SetName( 'Init' )
130     Init.SetAuthor( '' )
131     Init.SetComment( 'Compute Node' )
132     Init.Coords( 29 , 251 )
133     
134     PyInit_1 = []
135     PyInit_1.append( 'from time import *    ' )
136     PyInit_1.append( 'def Init_1(Index,Min,Max) :    ' )
137     PyInit_1.append( '    Index = Min    ' )
138     PyInit_1.append( '    sleep(1)    ' )
139     PyInit_1.append( '    return Index,Min,Max    ' )
140     PyMoreInit_1 = []
141     PyMoreInit_1.append( 'def More_1(Index,Min,Max) :   ' )
142     PyMoreInit_1.append( '    if Index < Max :   ' )
143     PyMoreInit_1.append( '        DoLoop = 1   ' )
144     PyMoreInit_1.append( '    else :   ' )
145     PyMoreInit_1.append( '        DoLoop = 0  ' )
146     PyMoreInit_1.append( '    return DoLoop,Index,Min,Max   ' )
147     PyNextInit_1 = []
148     PyNextInit_1.append( 'from time import * ' )
149     PyNextInit_1.append( 'def Next_1(Index,Min,Max) :   ' )
150     PyNextInit_1.append( '    Index = Index + 1 ' )
151     PyNextInit_1.append( '    sleep(1) ' )
152     PyNextInit_1.append( '    return Index,Min,Max    ' )
153     Init_1,EndInit_1 = GraphLoopsGates_1.LNode( 'Init_1' , PyInit_1 , 'More_1' , PyMoreInit_1 , 'Next_1' , PyNextInit_1 )
154     EndInit_1.SetName( 'EndInit_1' )
155     EndInit_1.SetAuthor( '' )
156     EndInit_1.SetComment( 'Compute Node' )
157     EndInit_1.Coords( 1049 , 201 )
158     PyEndInit_1 = []
159     EndInit_1.SetPyFunction( 'EndInit_1' , PyEndInit_1 )
160     IInit_1DoLoop = Init_1.GetInPort( 'DoLoop' )
161     IInit_1Index = Init_1.InPort( 'Index' , 'long' )
162     IInit_1Min = Init_1.InPort( 'Min' , 'long' )
163     IInit_1Max = Init_1.InPort( 'Max' , 'long' )
164     IInit_1Gate = Init_1.GetInPort( 'Gate' )
165     OInit_1DoLoop = Init_1.GetOutPort( 'DoLoop' )
166     OInit_1Index = Init_1.GetOutPort( 'Index' )
167     OInit_1Min = Init_1.GetOutPort( 'Min' )
168     OInit_1Max = Init_1.GetOutPort( 'Max' )
169     IEndInit_1DoLoop = EndInit_1.GetInPort( 'DoLoop' )
170     IEndInit_1Index = EndInit_1.GetInPort( 'Index' )
171     IEndInit_1Min = EndInit_1.GetInPort( 'Min' )
172     IEndInit_1Max = EndInit_1.GetInPort( 'Max' )
173     IEndInit_1Gate = EndInit_1.GetInPort( 'Gate' )
174     OEndInit_1DoLoop = EndInit_1.GetOutPort( 'DoLoop' )
175     OEndInit_1Index = EndInit_1.GetOutPort( 'Index' )
176     OEndInit_1Min = EndInit_1.GetOutPort( 'Min' )
177     OEndInit_1Max = EndInit_1.GetOutPort( 'Max' )
178     OEndInit_1Gate = EndInit_1.GetOutPort( 'Gate' )
179     Init_1.SetName( 'Init_1' )
180     Init_1.SetAuthor( '' )
181     Init_1.SetComment( 'Compute Node' )
182     Init_1.Coords( 9 , 24 )
183     
184     # Creation of Links
185     LInitIndexEndInitIndex = GraphLoopsGates_1.Link( OInitIndex , IEndInitIndex )
186     
187     LInitIndexSubx = GraphLoopsGates_1.Link( OInitIndex , ISubx )
188     
189     LInitMinEndInitMin = GraphLoopsGates_1.Link( OInitMin , IEndInitMin )
190     
191     LInitMinSuby = GraphLoopsGates_1.Link( OInitMin , ISuby )
192     
193     LInitMinSub_1x = GraphLoopsGates_1.Link( OInitMin , ISub_1x )
194     
195     LInitMaxEndInitMax = GraphLoopsGates_1.Link( OInitMax , IEndInitMax )
196     
197     LInitMaxSub_1y = GraphLoopsGates_1.Link( OInitMax , ISub_1y )
198     
199     LInitGateAdd_1Gate = GraphLoopsGates_1.Link( OInitGate , IAdd_1Gate )
200     
201     LInitGateAddGate = GraphLoopsGates_1.Link( OInitGate , IAddGate )
202     
203     LEndInitGateEndInit_1Gate = GraphLoopsGates_1.Link( OEndInitGate , IEndInit_1Gate )
204     
205     LAddGateSubGate = GraphLoopsGates_1.Link( OAddGate , ISubGate )
206     
207     LAdd_1GateSub_1Gate = GraphLoopsGates_1.Link( OAdd_1Gate , ISub_1Gate )
208     
209     LSubGateGateG1 = GraphLoopsGates_1.Link( OSubGate , IGateG1 )
210     
211     LSub_1GateGateG2 = GraphLoopsGates_1.Link( OSub_1Gate , IGateG2 )
212     
213     LGateGEndInitGate = GraphLoopsGates_1.Link( OGateG , IEndInitGate )
214     
215     LInit_1IndexEndInit_1Index = GraphLoopsGates_1.Link( OInit_1Index , IEndInit_1Index )
216     
217     LInit_1MinEndInit_1Min = GraphLoopsGates_1.Link( OInit_1Min , IEndInit_1Min )
218     
219     LInit_1MaxEndInit_1Max = GraphLoopsGates_1.Link( OInit_1Max , IEndInit_1Max )
220     
221     LInit_1GateInitGate = GraphLoopsGates_1.Link( OInit_1Gate , IInitGate )
222     LInit_1GateInitGate.AddCoord( 1 , 9 , 346 )
223     LInit_1GateInitGate.AddCoord( 2 , 9 , 199 )
224     LInit_1GateInitGate.AddCoord( 3 , 194 , 199 )
225     LInit_1GateInitGate.AddCoord( 4 , 194 , 119 )
226     
227     # Input datas
228     IInitIndex.Input( 0 )
229     IInitMin.Input( 5 )
230     IInitMax.Input( 8 )
231     IAddx.Input( 1 )
232     IAddy.Input( 2 )
233     IAdd_1x.Input( 3 )
234     IAdd_1y.Input( 4 )
235     IInit_1Index.Input( 0 )
236     IInit_1Min.Input( 1 )
237     IInit_1Max.Input( 3 )
238     
239     # Output Ports of the graph
240     #OEndInitIndex = EndInit.GetOutPort( 'Index' )
241     #OEndInitMin = EndInit.GetOutPort( 'Min' )
242     #OEndInitMax = EndInit.GetOutPort( 'Max' )
243     #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
244     #OAddz = Add.GetOutPort( 'z' )
245     #OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
246     #OAdd_1z = Add_1.GetOutPort( 'z' )
247     #OSubz = Sub.GetOutPort( 'z' )
248     #OSub_1z = Sub_1.GetOutPort( 'z' )
249     #OEndInit_1Index = EndInit_1.GetOutPort( 'Index' )
250     #OEndInit_1Min = EndInit_1.GetOutPort( 'Min' )
251     #OEndInit_1Max = EndInit_1.GetOutPort( 'Max' )
252     return GraphLoopsGates_1
253
254
255 GraphLoopsGates_1 = DefGraphLoopsGates_1()