]> SALOME platform Git repositories - modules/superv.git/blob - doc/salome/tui/SUPERV/sources/static/examples_SUPERV.html
Salome HOME
DCQ : Merge with Ecole_Ete_a6.
[modules/superv.git] / doc / salome / tui / SUPERV / sources / static / examples_SUPERV.html
1 <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">\r
2 <html>\r
3 <head>\r
4     \r
5   <meta http-equiv="Content-Type"\r
6  content="text/html; charset=iso-8859-1">\r
7     \r
8   <meta name="GENERATOR"\r
9  content="Mozilla/4.73 [en] (WinNT; I) [Netscape]">\r
10   <title>Main Page</title>\r
11      \r
12   <link href="doxygen.css" rel="stylesheet" type="text/css">\r
13 </head>\r
14   <body>\r
15  &nbsp; \r
16 <center>\r
17 <table width="96%">\r
18  <tbody>\r
19     <tr>\r
20  <td><a href="http://www.opencascade.com"><img\r
21  src="sources/logocorp.gif" border="0" height="46" width="122">\r
22       </a></td>\r
23    <td> \r
24       <div align="right"><a href="http://www.opencascade.org/SALOME/"><img\r
25  src="sources/application.gif" border="0" height="46" width="108">\r
26       </a></div>\r
27  </td>\r
28  </tr>\r
29  \r
30   </tbody>\r
31 </table>\r
32 </center>\r
33    \r
34 <h1><a name="page2">Examples</a> </h1>\r
35    \r
36 <h3><big><i><b>Interfaces:</b></i></big></h3>\r
37 <br>\r
38 <a href="#Graph"><big>SUPERV::Graph</big></a><br>\r
39 <a href="#CNode"><big>SUPERV::CNode</big></a><br>\r
40 <a href="#FNode"><big>SUPERV::FNode</big></a><big><br>\r
41 <a href="#INode">SUPERV::INode</a></big><br>\r
42 <a href="#LNode"><big>SUPERV::LNode</big></a><br>\r
43 <a href="#Port"><big>SUPERV::Port</big></a><br>\r
44 <a href="#Link"><big>SUPERV::Link</big></a><br>\r
45 <b><br>\r
46 <br>\r
47 <br>\r
48 </b><br>\r
49 <div align="center"><big><big><b><u><br>\r
50 </u></b></big></big></div>\r
51 <div align="center"><big><u><b><big><a name="Graph"></a>SUPERV::Graph<br>\r
52 </big></b></u></big><br>\r
53 <div align="left"><big><b><a href="#CNode">CNode</a> CNode( in SALOME_ModuleCatalog::Service\r
54 <i>aService</i> ) </b></big><br>\r
55 <br>\r
56 <u><i><big>Create a Computing Node in a Graph</big></i></u><br>\r
57 <br>\r
58 <a name="CreateCNode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
59 <br>\r
60 AddAndCompare_ServiceinParameter = []<br>\r
61 AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
62 'Adder' , 'Adder' ) )<br>\r
63 AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
64 'double' , 'x' ) )<br>\r
65 AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
66 'double' , 'y' ) )<br>\r
67 AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
68 'Adder' , 'anOtherAdder' ) )<br>\r
69 <br>\r
70 AddAndCompare_ServiceoutParameter = []<br>\r
71 AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
72 'double' , 'FuncValue' ) )<br>\r
73 AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter(\r
74 'double' , 'z' ) )<br>\r
75 AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter\r
76 , AddAndCompare_ServiceoutParameter , 0 )<br>\r
77 <br>\r
78 AddAndCompare = GraphEssai.CNode( AddAndCompare_Service )<br>\r
79 <br>\r
80 <br>\r
81 <br>\r
82 </div>\r
83 <div align="left"><big><b><a href="#FNode">FNode</a> FNode( in string <i>aComponentName</i>,&nbsp;\r
84 in string <i>anInterfaceName</i>,&nbsp; in SALOME_ModuleCatalog::Service\r
85 <i>aService</i> ) </b></big><br>\r
86 <br>\r
87 <u><i><big>Create a Factory Node in a Graph</big></i></u><br>\r
88 <br>\r
89 <a name="CreateFNode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
90 Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )<br>\r
91 <br>\r
92 <br>\r
93 <br>\r
94 <b><big>INode INode( in string <i>FuncName</i>, in ListOfStrings <i>aPythonFunction</i>\r
95 )</big></b><br>\r
96 <br>\r
97 <u><i><big>Create an InLine Node in a Graph</big></i></u><br>\r
98 <br>\r
99 <a name="CreateINode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
100 PyAdd = []<br>\r
101 PyAdd.append( 'from time import *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
102 PyAdd.append( 'def Add(a,b) :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
103 ' )<br>\r
104 PyAdd.append( '&nbsp;&nbsp;&nbsp; print "Add will wait 5 seconds"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
105 ' )<br>\r
106 PyAdd.append( '&nbsp;&nbsp;&nbsp; d = dir()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
107 ' )<br>\r
108 PyAdd.append( '&nbsp;&nbsp;&nbsp; print "Add",d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
109 ' )<br>\r
110 PyAdd.append( '&nbsp;&nbsp;&nbsp; d = dir(sleep)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
111 ' )<br>\r
112 PyAdd.append( '&nbsp;&nbsp;&nbsp; print "Add",d&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
113 ' )<br>\r
114 PyAdd.append( '&nbsp;&nbsp;&nbsp; sleep(5)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
115 ' )<br>\r
116 PyAdd.append( '&nbsp;&nbsp;&nbsp; print "Add waited"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
117 ' )<br>\r
118 PyAdd.append( '&nbsp;&nbsp;&nbsp; n = 0&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
119 PyAdd.append( '&nbsp;&nbsp;&nbsp; while n &lt; 10000 :&nbsp;&nbsp;&nbsp;&nbsp;\r
120 ' )<br>\r
121 PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i = 0&nbsp;&nbsp;&nbsp;&nbsp;\r
122 ' )<br>\r
123 PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; s = 0&nbsp;&nbsp;&nbsp;&nbsp;\r
124 ' )<br>\r
125 PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while i &lt;= b\r
126 :&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
127 PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
128 s = s + i&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
129 PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
130 i = i + 1&nbsp;&nbsp;&nbsp;&nbsp; ' )<br>\r
131 PyAdd.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n = n + 1&nbsp;&nbsp;&nbsp;&nbsp;\r
132 ' )<br>\r
133 PyAdd.append( '&nbsp;&nbsp;&nbsp; return s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
134 ' )<br>\r
135 PyAdd.append( '' )<br>\r
136 Add = GraphEssai.INode( 'Add' , PyAdd )<br>\r
137 <br>\r
138 <br>\r
139 <br>\r
140 <b><big>GNode GNode( in string <i>FuncName</i> , in ListOfStrings <i>aPythonFunction</i>,\r
141 in string <i>anINode</i> )</big></b><br>\r
142 <br>\r
143 <u><i><big>Create a GOTO node and link to the corresponding InLine node</big></i></u><br>\r
144 <br>\r
145 GraphEssai = Graph( 'GraphEssai' )<br>\r
146 Pylabel_test = []<br>\r
147 Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )<br>\r
148 Pylabel_test.append( '&nbsp;&nbsp;&nbsp; print "label_begin",ValEven,ValOne,NB,KB'\r
149 )<br>\r
150 Pylabel_test.append( '&nbsp;&nbsp;&nbsp; return ValEven,ValOne,NB,KB' )<br>\r
151 label_test = GraphEssai.INode( 'label_test' , Pylabel_test )<br>\r
152 Pycontrol = []<br>\r
153 Pycontrol.append( 'def control_m3p1( N , K ):' )<br>\r
154 Pycontrol.append( '&nbsp;&nbsp;&nbsp; return 0,1,N,K' )<br>\r
155 control = GraphEssai.GNode( 'control_m3p1' , Pycontrol , 'label_test' )<br>\r
156 <br>\r
157 <br>\r
158 <br>\r
159 <big><b>LNode LNode( in string <i>InitName</i> , in ListOfStrings <i>InitFunction</i>\r
160 , in string <i>MoreName</i> , in ListOfStrings <i>MoreFunction</i> , in string\r
161 <i>NextName</i> , in ListOfStrings <i>NextFunction</i> , out INode <i>anEndOfLoop</i>\r
162 )</b></big><br>\r
163 <br>\r
164 <u><i><big>Create a "for" or "while" node and the corresponding end of loop\r
165 node</big></i></u><br>\r
166 <br>\r
167 <a name="CreateLNode"></a>GraphEssai = Graph( 'GraphEssai' )<br>\r
168 <br>\r
169 PyforN = []<br>\r
170 PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) :' )<br>\r
171 PyforN.append( '&nbsp;&nbsp;&nbsp; N = max' )<br>\r
172 PyforN.append( '&nbsp;&nbsp;&nbsp; if min &gt; 0 :' )<br>\r
173 PyforN.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if max &gt;= min\r
174 :' )<br>\r
175 PyforN.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\r
176 N = min' )<br>\r
177 PyforN.append( '&nbsp;&nbsp;&nbsp; return N,K,SyrComponent,min,max' )<br>\r
178 <br>\r
179 PyMoreforN = []<br>\r
180 PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) :' )<br>\r
181 PyMoreforN.append( '&nbsp;&nbsp;&nbsp; N = 0' )<br>\r
182 PyMoreforN.append( '&nbsp;&nbsp;&nbsp; OutLoop = 0' )<br>\r
183 PyMoreforN.append( '&nbsp;&nbsp;&nbsp; if max &gt; NN :' )<br>\r
184 PyMoreforN.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; N = NN' )<br>\r
185 PyMoreforN.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutLoop =\r
186 1' )<br>\r
187 PyMoreforN.append( '&nbsp;&nbsp;&nbsp; return OutLoop,N,0,SyrComponent,min,max'\r
188 )<br>\r
189 <br>\r
190 PyNextforN = []<br>\r
191 PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) :' )<br>\r
192 PyNextforN.append( '&nbsp;&nbsp;&nbsp; N = NN + 1' )<br>\r
193 PyNextforN.append( '&nbsp;&nbsp;&nbsp; K = KK' )<br>\r
194 PyNextforN.append( '&nbsp;&nbsp;&nbsp; return N,K,SyrComponent,min,max' )<br>\r
195 <br>\r
196 forN,endforN = GraphEssai.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN\r
197 , 'NextN' , PyNextforN )<br>\r
198 <br>\r
199 <br>\r
200 <b><big>SNode SNode( in string <i>FuncName,</i> in ListOfStrings <i>aPythonFunction,</i>\r
201 out INode <i>anEndOfSwitch</i> )</big></b><br>\r
202 <br>\r
203 <u><i><big>Create a "if / elseif / else" or "switch" node and the corresponding\r
204 end node</big></i></u><br>\r
205 <br>\r
206 GraphEssai = Graph( 'GraphEssai' )<br>\r
207  <br>\r
208 PyifNotEven = []<br>\r
209 PyifNotEven.append( 'import SyrComponent_idl' )<br>\r
210 PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )<br>\r
211 PyifNotEven.append( '&nbsp;&nbsp;&nbsp; Even = SyrComponent.C_ISEVEN( N )'\r
212 )<br>\r
213 PyifNotEven.append( '&nbsp;&nbsp;&nbsp; Odd = 1 - Even' )<br>\r
214 PyifNotEven.append( '&nbsp;&nbsp;&nbsp; return Odd,Even,SyrComponent,N,K'\r
215 )<br>\r
216 <br>\r
217 ifNotEven,endifNotEven = GraphEssai.SNode( 'ifNotEven' , PyifNotEven )<br>\r
218 <br>\r
219 <br>\r
220 <big><b>Link Link( in Port <i>OutputPort</i> ,&nbsp; in Port <i>InputPort</i>\r
221 )</b></big><br>\r
222 <br>\r
223 <u><i><big>Creates a link&nbsp; connecting two ports of the nodes in a Graph</big></i></u><br>\r
224 <br>\r
225 GraphEssai = Graph( 'GraphEssai' )<br>\r
226 Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )<br>\r
227 Mul = GraphEssai.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )<br>\r
228 Link = GraphEssai.Link(&nbsp; Add.Port( 'FuncValue' ), Mul.Port( 'x' ) )<br>\r
229 <br>\r
230 <br>\r
231 <b><big>boolean Run()</big></b><br>\r
232 <br>\r
233 <u><i><big>Starts asynchronous execution of the graph</big></i></u><br>\r
234 <br>\r
235 ...<br>\r
236 GraphEssai.Run()<br>\r
237 <br>\r
238 <br>\r
239 <b><big>boolean Event( out CNode <i>aNode</i> , out GraphEvent <i>anEvent</i>\r
240 , out GraphState <i>aState</i> )</big></b><br>\r
241 <br>\r
242 <u><i><big>Runs Graph and prints information about Graph performance</big></i></u><br>\r
243 <br>\r
244 ...<br>\r
245 <a name="RunandWait"></a>GraphEssai.Run()<br>\r
246 aStatus,aNode,anEvent,aState = GraphEssai.Event()<br>\r
247 while aStatus :<br>\r
248 &nbsp;&nbsp;&nbsp; print aNode.Thread(),aNode.SubGraph(),aNode.Name(),anEvent,aState<br>\r
249 &nbsp;&nbsp;&nbsp; aStatus,aNode,anEvent,aState = GraphEssai.Event()<br>\r
250 <br>\r
251 <br>\r
252 <br>\r
253 <br>\r
254 <div align="center"><big><b><big><a name="CNode"></a>SUPERV::CNode</big></b></big><br>\r
255 </div>\r
256 <br>\r
257 <big><b>string Name() <br>\r
258 string Author()<br>\r
259 string Comment()<br>\r
260 boolean SetName(in string <i>aNewName</i> ) <br>\r
261 boolean SetAuthor(in string <i>anAuthor</i> ) <br>\r
262 boolean SetComment(in string <i>aComment</i> ) <br>\r
263 <br>\r
264 </b><u><i>Get / Set methods for Name, Author and Comment strings of the node.</i></u><br>\r
265 <b><br>\r
266 </b><a href="#CreateCNode"><small>#Create CNode</small></a><b><br>\r
267 </b></big>AddAndCompare.SetName( 'AddAndCompare' )<br>\r
268 AddAndCompare.SetAuthor( 'NoBody' )<br>\r
269 AddAndCompare.SetComment( 'Python function' )<br>\r
270 print "Name:", AddAndCompare.Name(), " &nbsp;Author:", AddAndCompare.Author(),\r
271 " &nbsp; Comment:", AddAndCompare.Comment()<br>\r
272 <br>\r
273 <br>\r
274 <br>\r
275 <big><b>Port Port( in string <i>aParameterName</i> )</b></big><br>\r
276 <br>\r
277 <big><u><i>Returns Port instance from created node</i></u></big><br>\r
278 <br>\r
279 <a href="#CreateFNode">#Create FNode</a><br>\r
280 Addz = Add.Port('z')<br>\r
281 <br>\r
282 <br>\r
283 <big><b>Port Input( in string <i>InputParameterName</i> ,&nbsp; in Value\r
284 <i>aValue</i> ) </b></big><br>\r
285 <br>\r
286 <i><u><big>Sets value into Port by its name and returs correspondent port\r
287 instance</big></u></i><br>\r
288 <br>\r
289 <a href="#CreateFNode">#Create FNode</a><br>\r
290 Addx = Add.Input("x",3.)<br>\r
291 <br>\r
292 <br>\r
293 <br>\r
294 <b><big>void Coords( in long <i>X</i> , in long <i>Y</i> )<br>\r
295 </big><big>long X()</big></b><br>\r
296 <b><big>long Y()</big></b><br>\r
297 <br>\r
298 <big><u><i>Methods to sets position of the node and getting current coordinates</i></u></big><br>\r
299 <br>\r
300 <a\r
301  href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateFNode">#Create\r
302 FNode</a><br>\r
303 Add.Coords( 1 , 152 )<br>\r
304 print "X=", Add.X(), " &nbsp; Y=", Add.Y()<br>\r
305 <br>\r
306 <br>\r
307 <b><big>long CpuUsed()</big></b><br>\r
308 <br>\r
309 <u><i><big>Returns the Cpu used by a node in seconds</big></i></u><br>\r
310 <br>\r
311 <a href="#RunandWait">#Run Graph and wait for its finish</a><br>\r
312 print "CPU used: ", Add.CpuUsed(), " sec"<br>\r
313 <br>\r
314 <br>\r
315 <br>\r
316 <br>\r
317 <br>\r
318 <div align="center"><big><b><big><a name="FNode"></a>SUPERV::FNode</big><br>\r
319 </b></big></div>\r
320 <br>\r
321 <b><big>string GetContainer() <br>\r
322 boolean SetContainer(in string <i>aContainer</i> ) <br>\r
323 </big></b><br>\r
324 <big><u><i>Get / Set method for container name</i></u></big><br>\r
325 <br>\r
326 <a\r
327  href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateFNode">#Create\r
328 FNode</a><br>\r
329 Add.SetContainer( 'localhost/FactoryServer' )<br>\r
330 print "Container: ", Add.GetContainer()<br>\r
331 <br>\r
332 <br>\r
333 <br>\r
334 <div align="center"><big><b><big><a name="INode"></a>SUPERV::INode</big></b></big><br>\r
335 </div>\r
336 <br>\r
337 <br>\r
338 <big><b>void SetPyFunction( in string <i>FuncName</i> ,&nbsp; in ListOfStrings\r
339 <i>aPyInitFunction</i> )</b></big><br>\r
340 <br>\r
341 <u><i><big>Replaces Python function of inline node by new one</big></i></u><br>\r
342 <br>\r
343 <a href="#CreateINode">#Create INode</a><br>\r
344 PyIsOdd = []<br>\r
345 PyIsOdd.append( 'def IsOdd(a) :&nbsp;&nbsp; ' )<br>\r
346 PyIsOdd.append( '&nbsp;&nbsp;&nbsp; print a,"IsOdd"&nbsp; ' )<br>\r
347 PyIsOdd.append( '&nbsp;&nbsp;&nbsp; return a ' )<br>\r
348 Add.SetPyFunction("IsOdd", PyIsOdd)<br>\r
349 <br>\r
350 <br>\r
351 <b><big>string PyFuncName()</big></b><br>\r
352 <br>\r
353 <div align="left"><u><i><big>Returns Name of the Python function</big></i></u><br>\r
354 <br>\r
355 <a\r
356  href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateINode">#Create\r
357 INode</a><br>\r
358 print "Name:", &nbsp;Add.PyFuncName()<br>\r
359 <br>\r
360 <br>\r
361  </div>\r
362  <b><big>ListOfStrings PyFunction()<br>\r
363 <br>\r
364 </big></b><u><i><big>Returns Python function as a list of strings</big></i></u><br>\r
365 <br>\r
366 <a\r
367  href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateINode">#Create\r
368 INode</a><br>\r
369 PyFunc = Add.PyFunction()<br>\r
370 <br>\r
371 <br>\r
372 <b><big>SUPERV::Port InPort( in string <i>aParameterName</i> , in string\r
373 <i>aParameterType</i> ) <br>\r
374 SUPERV::Port OutPort( in string <i>aParameterName</i> , in string <i>aParameterType</i>\r
375 ) <br>\r
376 </big></b><br>\r
377 <u><i><big>Creation of In and Out ports of Inline Node</big></i></u><br>\r
378 <br>\r
379 <a name="CreatePorts"></a><a\r
380  href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateINode">#Create\r
381 INode</a><br>\r
382 Add.InPort('a', 'long')<br>\r
383 <div align="left">Add.InPort('b', 'long')<br>\r
384  \r
385 <div align="left">Add.OutPort('s', 'long')<br>\r
386  <br>\r
387  </div>\r
388  <br>\r
389  </div>\r
390  <br>\r
391 <div align="center"><big><b><big><a name="LNode"></a>SUPERV::LNode</big></b></big><br>\r
392 </div>\r
393 <br>\r
394 <br>\r
395 <b><big>void SetPyInit( in string <i>InitName</i> ,&nbsp; in ListOfStrings\r
396 <i>aPyInitFunction</i> )</big></b><br>\r
397 <b><big>void SetPyMore( in string <i>MoreName</i> ,&nbsp; in ListOfStrings\r
398 <i>aPyMoreFunction</i> )<br>\r
399 void SetPyNext( in string <i>NextName</i> ,&nbsp; in ListOfStrings <i>aPyNextFunction</i>\r
400 )<br>\r
401 </big></b><br>\r
402 <i><u><big>Sets (replaces) Python fonction of according clause (Init, More,\r
403 Next) in Loop Node</big></u></i><br>\r
404 <br>\r
405 <a href="#CreateLNode">#Create Loop Node</a><br>\r
406 Pyfori = []<br>\r
407 Pyfori.append( 'def Initfori( ii , K ) :' )<br>\r
408 Pyfori.append( '&nbsp;&nbsp;&nbsp; return 1,0,K' )<br>\r
409 PyMorefori = []<br>\r
410 PyMorefori.append( 'def Morefori( ii , K ) :' )<br>\r
411 PyMorefori.append( '&nbsp;&nbsp;&nbsp; OutLoop = 0' )<br>\r
412 PyMorefori.append( '&nbsp;&nbsp;&nbsp; if 2 &gt; ii :' )<br>\r
413 PyMorefori.append( '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OutLoop =\r
414 1' )<br>\r
415 PyMorefori.append( '&nbsp;&nbsp;&nbsp; return OutLoop,ii,K' )<br>\r
416 PyNextfori = []<br>\r
417 PyNextfori.append( 'def Nextfori( ii , K ) :' )<br>\r
418 PyNextfori.append( '&nbsp;&nbsp;&nbsp; ii = ii + 1' )<br>\r
419 PyNextfori.append( '&nbsp;&nbsp;&nbsp; return ii,K' )<br>\r
420 forN.SetPyInit('Initfori', Pyfori)<br>\r
421 <div align="left">forN.SetPyMore('Morefori', PyMorefori)<br>\r
422  \r
423 <div align="left">forN.SetPyNext('Nextfori', PyNextfori)<br>\r
424  <br>\r
425 <br>\r
426 <br>\r
427 <b><big>string PyInitName() <br>\r
428 </big></b></div>\r
429 <b><big>string PyMoreName()<br>\r
430 string PyNextName()<br>\r
431 </big></b> </div>\r
432  <b><big><br>\r
433 </big></b><u><i><big>Returns Python function name of according clause</big></i></u><br>\r
434 <br>\r
435 <a\r
436  href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateLNode">#Create\r
437 Loop Node</a><br>\r
438 print "Init Name:", forN.PyInitName()<br>\r
439 print "More Name:", forN.PyMoreName()<br>\r
440 print "Next Name:", forN.PyNextName()<br>\r
441 <br>\r
442 <br>\r
443 <b><big>ListOfStrings PyInit()<br>\r
444 ListOfStrings PyMore()<br>\r
445 ListOfStrings PyNext()<br>\r
446 </big></b><br>\r
447 <u><i><big>Returns Python function as a list of strings</big></i><i><big>\r
448 from according clause</big></i></u><br>\r
449 <br>\r
450 <a\r
451  href="file:///vsv/salome/build/doc/html/html/examples_SUPERV.html#CreateLNode">#Create\r
452 Loop Node</a><br>\r
453 InitFunc = forN.PyInit()<br>\r
454 <div align="left">MoreFunc = forN.PyMoret()<br>\r
455  \r
456 <div align="left">NextFunc = forN.PyNext()<br>\r
457  <br>\r
458  <br>\r
459  </div>\r
460  <br>\r
461  \r
462 <div align="center"><big><b><big><a name="Port"></a>SUPERV::Port</big></b></big><br>\r
463 </div>\r
464 <br>\r
465 <b><big>boolean Input( in Value <i>aValue</i> )</big></b><br>\r
466 <br>\r
467 <u><i><big>Sets value to the input port instance</big></i></u><br>\r
468 <br>\r
469 <a href="#CreatePorts">#CreatePorts</a><br>\r
470 aPort = Add.Port('a')<br>\r
471 aPort.Input(10)<br>\r
472 <br>\r
473 <br>\r
474 <b><big>CNode Node()</big></b><br>\r
475 <br>\r
476 <u><i><big>Returns Node - owner of the port</big></i></u><br>\r
477 <br>\r
478 Add = aPort.Node()<br>\r
479 <br>\r
480 <br>\r
481 <b><big>string Name()</big></b><br>\r
482 <br>\r
483 <u><i><big>Returns Name of the Port</big></i></u><br>\r
484 <br>\r
485 print "Port Name:", aPort.Name()<br>\r
486 <br>\r
487 <br>\r
488 <br>\r
489  \r
490  </div>\r
491 </div>\r
492  </div>\r
493 </div>\r
494 </body>\r
495 </html>\r