Salome HOME
NRI : Add documentation.
[modules/superv.git] / examples / GraphSyracuseControl.py
1
2
3 from SuperV import *
4
5 GraphSyracuseControl = Graph( 'GraphSyracuseControl' )
6 print GraphSyracuseControl.SetName( 'GraphSyracuseControl' )
7 print GraphSyracuseControl.SetAuthor( 'JR' )
8 print GraphSyracuseControl.SetContainer( 'localhost/FactoryServer' )
9 print GraphSyracuseControl.SetComment( 'Syracuse algorithm' )
10 GraphSyracuseControl.Coords( 0 , 0 )
11
12
13 test_ISEVEN = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
14 print test_ISEVEN.SetName( 'test_ISEVEN' )
15 print test_ISEVEN.SetAuthor( '' )
16 print test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
17 print test_ISEVEN.SetComment( '' )
18 test_ISEVEN.Coords( 190 , 338 )
19 test_ISONE = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
20 print test_ISONE.SetName( 'test_ISONE' )
21 print test_ISONE.SetAuthor( '' )
22 print test_ISONE.SetContainer( 'localhost/FactoryServer' )
23 print test_ISONE.SetComment( '' )
24 test_ISONE.Coords( 196 , 131 )
25 m3p1 = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
26 print m3p1.SetName( 'm3p1' )
27 print m3p1.SetAuthor( '' )
28 print m3p1.SetContainer( 'localhost/FactoryServer' )
29 print m3p1.SetComment( '' )
30 m3p1.Coords( 621 , 14 )
31 div2 = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
32 print div2.SetName( 'div2' )
33 print div2.SetAuthor( '' )
34 print div2.SetContainer( 'localhost/FactoryServer' )
35 print div2.SetComment( '' )
36 div2.Coords( 624 , 391 )
37 incr = GraphSyracuseControl.Node( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
38 print incr.SetName( 'incr' )
39 print incr.SetAuthor( '' )
40 print incr.SetContainer( 'localhost/FactoryServer' )
41 print incr.SetComment( '' )
42 incr.Coords( 622 , 199 )
43 label_begin = GraphSyracuseControl.LNode( 'label_begin' )
44 print label_begin.SetName( 'label_begin' )
45 print label_begin.SetAuthor( '' )
46 print label_begin.SetContainer( 'localhost/FactoryServerPy' )
47 print label_begin.SetComment( '' )
48 label_begin.Coords( 7 , 216 )
49 label_test = GraphSyracuseControl.LService( 'SyrControlComponent' , 'SyrControlComponent' , 'L_OneEven' )
50 print label_test.SetName( 'label_test' )
51 print label_test.SetAuthor( '' )
52 print label_test.SetContainer( 'localhost/FactoryServerPy' )
53 print label_test.SetComment( '' )
54 label_test.Coords( 399 , 176 )
55 control_m3p1 = GraphSyracuseControl.CService( 'SyrControlComponent' , 'SyrControlComponent' , 'C_NotOneIsEven' )
56 print control_m3p1.SetName( 'control_m3p1' )
57 print control_m3p1.SetAuthor( '' )
58 print control_m3p1.SetContainer( 'localhost/FactoryServerPy' )
59 print control_m3p1.SetComment( '' )
60 control_m3p1.Coords( 814 , 13 )
61 control_div2 = GraphSyracuseControl.CNode( 'control_div2' )
62 print control_div2.SetName( 'control_div2' )
63 print control_div2.SetAuthor( '' )
64 print control_div2.SetContainer( 'localhost/FactoryServerPy' )
65 print control_div2.SetComment( '' )
66 control_div2.Coords( 812 , 414 )
67
68
69 label_begin.BusPorts( 'NB' , 'long' , 'NT' , 'long' )
70 label_begin.BusPorts( 'KB' , 'long' , 'KT' , 'long' )
71 label_test.BusPorts( 'NT' , 'long' , 'N' , 'long' )
72 label_test.BusPorts( 'KT' , 'long' , 'K' , 'long' )
73 control_m3p1.BusPorts( 'N' , 'long' , 'NT' , 'long' )
74 control_m3p1.BusPorts( 'K' , 'long' , 'KT' , 'long' )
75 control_div2.BusPorts( 'N' , 'long' , 'NB' , 'long' )
76 control_div2.BusPorts( 'K' , 'long' , 'KB' , 'long' )
77
78
79 GraphSyracuseControl.Link( label_begin.Port( 'NT' ) , label_test.Port( 'NT' ) )
80 GraphSyracuseControl.Link( label_begin.Port( 'KT' ) , label_test.Port( 'KT' ) )
81 GraphSyracuseControl.Link( label_begin.Port( 'NT' ) , test_ISEVEN.Port( 'anInteger' ) )
82 GraphSyracuseControl.Link( label_begin.Port( 'NT' ) , test_ISONE.Port( 'anInteger' ) )
83
84 GraphSyracuseControl.Link( test_ISEVEN.Port( 'BoolEven' ) , label_test.Port( 'ValEven' ) )
85 GraphSyracuseControl.Link( test_ISONE.Port( 'BoolOne' ) , label_test.Port( 'ValOne' ) )
86 GraphSyracuseControl.Link( label_test.Port( 'N' ) , m3p1.Port( 'anOddInteger' ) )
87 GraphSyracuseControl.Link( label_test.Port( 'N' ) , div2.Port( 'anEvenInteger' ) )
88 GraphSyracuseControl.Link( label_test.Port( 'K' ) , incr.Port( 'aCount' ) )
89 GraphSyracuseControl.Link( label_test.Port( 'Incr' ) , incr.Port( 'InGate' ) )
90 GraphSyracuseControl.Link( label_test.Port( 'Even' ) , div2.Port( 'InGate' ) )
91 GraphSyracuseControl.Link( label_test.Port( 'Odd' ) , m3p1.Port( 'InGate' ) )
92
93 GraphSyracuseControl.Link( m3p1.Port( 'anEvenInteger' ) , control_m3p1.Port( 'N' ) )
94 GraphSyracuseControl.Link( div2.Port( 'anInteger' ) , control_div2.Port( 'N' ) )
95 GraphSyracuseControl.Link( incr.Port( 'aNewCount' ) , control_m3p1.Port( 'K' ) )
96 GraphSyracuseControl.Link( incr.Port( 'aNewCount' ) , control_div2.Port( 'K' ) )
97
98 GraphSyracuseControl.Link( control_m3p1.Port( 'OutGate' ) , label_test.Port( 'InGate' ) )
99 GraphSyracuseControl.Link( control_div2.Port( 'OutGate' ) , label_begin.Port( 'InGate' ) )
100
101 GraphSyracuseControl.IsValid()
102
103 GraphSyracuseControl.ThreadsMax()
104
105 GraphSyracuseControl.LevelMax()
106
107 GraphSyracuseControl.GraphsNumber()
108
109 label_begin.Input( 'NB' , 31 )
110 label_begin.Input( 'KB' , 0 )
111
112 GraphSyracuseControl.IsExecutable()
113
114 GraphSyracuseControl.Export('../GraphSyrControl')
115
116
117 GraphSyracuseControl.Run()
118
119 GraphSyracuseControl.DoneW()
120
121 GraphSyracuseControl.State()
122
123 GraphSyracuseControl.PrintPorts()
124
125 label_test.PrintPorts()