Salome HOME
Some calls to UnValid() was missing in case of editing of StreamGraphs, StreamLinks...
[modules/superv.git] / examples / GraphStreamTopology.py
1
2 # Generated python file of Graph GraphStreamTopology
3
4 from SuperV import *
5 # Graph creation 
6 GraphStreamTopology = StreamGraph( 'GraphStreamTopology' )
7 GraphStreamTopology.SetStreamParams( 300 , SUPERV.WithoutTrace , 0 )
8 GraphStreamTopology.SetName( 'GraphStreamTopology' )
9 GraphStreamTopology.SetAuthor( 'JR' )
10 GraphStreamTopology.SetComment( 'Test of SubStreamGraphs of a StreamGraph' )
11 GraphStreamTopology.Coords( 0 , 0 )
12
13 # Creation of Factory Nodes
14
15 # Creation of InLine Nodes
16 PyNode_A_1 = []
17 PyNode_A_1.append( 'def Node_A_1() :        ' )
18 PyNode_A_1.append( '    return 1      ' )
19 Node_A_1 = GraphStreamTopology.INode( 'Node_A_1' , PyNode_A_1 )
20 Node_A_1.SetName( 'Node_A_1' )
21 Node_A_1.SetAuthor( '' )
22 Node_A_1.SetComment( 'Python function' )
23 Node_A_1.Coords( 0 , 61 )
24 INode_A_1Gate = Node_A_1.GetInPort( 'Gate' )
25 ONode_A_1a_1 = Node_A_1.OutPort( 'a_1' , 'long' )
26 ONode_A_1Gate = Node_A_1.GetOutPort( 'Gate' )
27 INode_A_1istream_A_1_1 = Node_A_1.InStreamPort( 'istream_A_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
28 INode_A_1istream_A_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
29 INode_A_1istream_A_1_2 = Node_A_1.InStreamPort( 'istream_A_1_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
30 INode_A_1istream_A_1_2.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
31 INode_A_1istream_A_1_3 = Node_A_1.InStreamPort( 'istream_A_1_3' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
32 INode_A_1istream_A_1_3.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
33
34 PyNode_A_2 = []
35 PyNode_A_2.append( 'def Node_A_2() :        ' )
36 PyNode_A_2.append( '    return 1      ' )
37 Node_A_2 = GraphStreamTopology.INode( 'Node_A_2' , PyNode_A_2 )
38 Node_A_2.SetName( 'Node_A_2' )
39 Node_A_2.SetAuthor( '' )
40 Node_A_2.SetComment( 'Python function' )
41 Node_A_2.Coords( 0 , 248 )
42 INode_A_2Gate = Node_A_2.GetInPort( 'Gate' )
43 ONode_A_2a_2 = Node_A_2.OutPort( 'a_2' , 'long' )
44 ONode_A_2Gate = Node_A_2.GetOutPort( 'Gate' )
45 INode_A_2istream_A_2_1 = Node_A_2.InStreamPort( 'istream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
46 INode_A_2istream_A_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
47 ONode_A_2ostream_A_2_1 = Node_A_2.OutStreamPort( 'ostream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
48 ONode_A_2ostream_A_2_1.SetNumberOfValues( 0 )
49
50 PyNode_B_1 = []
51 PyNode_B_1.append( 'def Node_B_1( n ) :        ' )
52 PyNode_B_1.append( '    return n      ' )
53 Node_B_1 = GraphStreamTopology.INode( 'Node_B_1' , PyNode_B_1 )
54 Node_B_1.SetName( 'Node_B_1' )
55 Node_B_1.SetAuthor( '' )
56 Node_B_1.SetComment( 'Python function' )
57 Node_B_1.Coords( 207 , 62 )
58 INode_B_1b_1 = Node_B_1.InPort( 'b_1' , 'long' )
59 INode_B_1Gate = Node_B_1.GetInPort( 'Gate' )
60 ONode_B_1b_1 = Node_B_1.OutPort( 'b_1' , 'long' )
61 ONode_B_1Gate = Node_B_1.GetOutPort( 'Gate' )
62 INode_B_1istream_B_1_1 = Node_B_1.InStreamPort( 'istream_B_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
63 INode_B_1istream_B_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
64
65 PyNode_B_2 = []
66 PyNode_B_2.append( 'def Node_B_2( n ) :        ' )
67 PyNode_B_2.append( '    return n      ' )
68 Node_B_2 = GraphStreamTopology.INode( 'Node_B_2' , PyNode_B_2 )
69 Node_B_2.SetName( 'Node_B_2' )
70 Node_B_2.SetAuthor( '' )
71 Node_B_2.SetComment( 'Python function' )
72 Node_B_2.Coords( 204 , 248 )
73 INode_B_2b_2 = Node_B_2.InPort( 'b_2' , 'long' )
74 INode_B_2Gate = Node_B_2.GetInPort( 'Gate' )
75 ONode_B_2b_2 = Node_B_2.OutPort( 'b_2' , 'long' )
76 ONode_B_2Gate = Node_B_2.GetOutPort( 'Gate' )
77 INode_B_2istream_B_2_1 = Node_B_2.InStreamPort( 'istream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
78 INode_B_2istream_B_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
79 ONode_B_2ostream_B_2_1 = Node_B_2.OutStreamPort( 'ostream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
80 ONode_B_2ostream_B_2_1.SetNumberOfValues( 0 )
81 ONode_B_2ostream_B_2_2 = Node_B_2.OutStreamPort( 'ostream_B_2_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
82 ONode_B_2ostream_B_2_2.SetNumberOfValues( 0 )
83
84 PyNode_C_1 = []
85 PyNode_C_1.append( 'def Node_C_1( n ) :        ' )
86 PyNode_C_1.append( '    return       ' )
87 Node_C_1 = GraphStreamTopology.INode( 'Node_C_1' , PyNode_C_1 )
88 Node_C_1.SetName( 'Node_C_1' )
89 Node_C_1.SetAuthor( '' )
90 Node_C_1.SetComment( 'Python function' )
91 Node_C_1.Coords( 411 , 62 )
92 INode_C_1c_1 = Node_C_1.InPort( 'c_1' , 'long' )
93 INode_C_1Gate = Node_C_1.GetInPort( 'Gate' )
94 ONode_C_1Gate = Node_C_1.GetOutPort( 'Gate' )
95 ONode_C_1ostream_C_1_1 = Node_C_1.OutStreamPort( 'ostream_C_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
96 ONode_C_1ostream_C_1_1.SetNumberOfValues( 0 )
97
98 PyNode_C_2 = []
99 PyNode_C_2.append( 'def Node_C_2( n ) :        ' )
100 PyNode_C_2.append( '    return n      ' )
101 Node_C_2 = GraphStreamTopology.INode( 'Node_C_2' , PyNode_C_2 )
102 Node_C_2.SetName( 'Node_C_2' )
103 Node_C_2.SetAuthor( '' )
104 Node_C_2.SetComment( 'Python function' )
105 Node_C_2.Coords( 408 , 249 )
106 INode_C_2c_2 = Node_C_2.InPort( 'c_2' , 'long' )
107 INode_C_2Gate = Node_C_2.GetInPort( 'Gate' )
108 ONode_C_2c_2 = Node_C_2.OutPort( 'c_2' , 'long' )
109 ONode_C_2Gate = Node_C_2.GetOutPort( 'Gate' )
110 INode_C_2istream_C_2_1 = Node_C_2.InStreamPort( 'istream_C_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
111 INode_C_2istream_C_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
112
113 PyNode_D_1 = []
114 PyNode_D_1.append( 'def Node_D_1( n ) :        ' )
115 PyNode_D_1.append( '    return       ' )
116 Node_D_1 = GraphStreamTopology.INode( 'Node_D_1' , PyNode_D_1 )
117 Node_D_1.SetName( 'Node_D_1' )
118 Node_D_1.SetAuthor( '' )
119 Node_D_1.SetComment( 'Python function' )
120 Node_D_1.Coords( 617 , 249 )
121 INode_D_1d_1 = Node_D_1.InPort( 'd_1' , 'long' )
122 INode_D_1Gate = Node_D_1.GetInPort( 'Gate' )
123 ONode_D_1Gate = Node_D_1.GetOutPort( 'Gate' )
124 ONode_D_1ostream_D_1_1 = Node_D_1.OutStreamPort( 'ostream_D_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
125 ONode_D_1ostream_D_1_1.SetNumberOfValues( 0 )
126
127 # Creation of Links
128 LNode_A_1a_1Node_B_1b_1 = GraphStreamTopology.Link( ONode_A_1a_1 , INode_B_1b_1 )
129
130 LNode_A_2a_2Node_B_2b_2 = GraphStreamTopology.Link( ONode_A_2a_2 , INode_B_2b_2 )
131
132 LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1 = GraphStreamTopology.StreamLink( ONode_A_2ostream_A_2_1 , INode_A_1istream_A_1_1 )
133
134 LNode_B_1b_1Node_C_1c_1 = GraphStreamTopology.Link( ONode_B_1b_1 , INode_C_1c_1 )
135
136 LNode_B_2b_2Node_C_2c_2 = GraphStreamTopology.Link( ONode_B_2b_2 , INode_C_2c_2 )
137
138 LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2 = GraphStreamTopology.StreamLink( ONode_B_2ostream_B_2_1 , INode_A_1istream_A_1_2 )
139
140 LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1 = GraphStreamTopology.StreamLink( ONode_B_2ostream_B_2_2 , INode_A_2istream_A_2_1 )
141
142 LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3 = GraphStreamTopology.StreamLink( ONode_C_1ostream_C_1_1 , INode_A_1istream_A_1_3 )
143
144 LNode_C_2c_2Node_D_1d_1 = GraphStreamTopology.Link( ONode_C_2c_2 , INode_D_1d_1 )
145
146 LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1 = GraphStreamTopology.StreamLink( ONode_D_1ostream_D_1_1 , INode_B_2istream_B_2_1 )
147
148 LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1 = GraphStreamTopology.StreamLink( ONode_D_1ostream_D_1_1 , INode_C_2istream_C_2_1 )
149
150 LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1 = GraphStreamTopology.StreamLink( ONode_D_1ostream_D_1_1 , INode_B_1istream_B_1_1 )
151
152 # Output Ports of the graph
153
154
155 GraphStreamTopology.Run()
156 GraphStreamTopology.DoneW()
157 print GraphStreamTopology.State()
158
159 GraphStreamTopology.PrintPorts()
160
161 subgraphs = GraphStreamTopology.SubGraphsNumber()
162 i = 1
163 while i <= subgraphs :
164     nodes = GraphStreamTopology.SubGraphsNodes( i )
165     j = 0
166     while j < len(nodes) :
167         print 'SubGraph',i,nodes[j].Name()
168         j = j + 1
169     i = i + 1
170
171
172 substreamgraphs = GraphStreamTopology.SubStreamGraphsNumber()
173 i = 1
174 while i <= substreamgraphs :
175     nodes = GraphStreamTopology.SubStreamGraphsNodes( i )
176     j = 0
177     while j < len(nodes) :
178         print 'SubStreamGraph',i,nodes[j].Name()
179         j = j + 1
180     i = i + 1
181
182
183
184 GraphStreamTopology.Export( '/tmp/GraphStreamTopology.xml' )
185
186 GraphStreamTopology = StreamGraph( '/tmp/GraphStreamTopology.xml' )
187
188 GraphStreamTopology.PrintPorts()
189
190 GraphStreamTopology.Run()
191 GraphStreamTopology.DoneW()
192 GraphStreamTopology.State()
193
194 subgraphs = GraphStreamTopology.SubGraphsNumber()
195 i = 1
196 while i <= subgraphs :
197     nodes = GraphStreamTopology.SubGraphsNodes( i )
198     j = 0
199     while j < len(nodes) :
200         print 'SubGraph',i,nodes[j].Name()
201         j = j + 1
202     i = i + 1
203
204
205 substreamgraphs = GraphStreamTopology.SubStreamGraphsNumber()
206 i = 1
207 while i <= substreamgraphs :
208     nodes = GraphStreamTopology.SubStreamGraphsNodes( i )
209     j = 0
210     while j < len(nodes) :
211         print 'SubStreamGraph',i,nodes[j].Name()
212         j = j + 1
213     i = i + 1
214