Salome HOME
Merge from BR_V5_DEV 17Feb09
[samples/datafiles.git] / Superv / Python / GraphStream.py
1 #  Copyright (C) 2007-2008  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.
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 # Generated python file of Graph GraphStream
23 #
24 from SuperV import *
25 # Graph creation 
26 GraphStream = StreamGraph( 'GraphStream' )
27 GraphStream.SetStreamParams( 0 , SUPERV.WithoutTrace , 0 )
28 GraphStream.SetName( 'GraphStream' )
29 GraphStream.SetAuthor( '' )
30 GraphStream.SetComment( 'Test of DataStreamPorts in FactoryNodes' )
31 GraphStream.Coords( 0 , 0 )
32
33 # Creation of Factory Nodes
34
35 NewDataStream = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'NewDataStream' )
36 NewDataStream.SetName( 'NewDataStream' )
37 NewDataStream.SetAuthor( '' )
38 NewDataStream.SetContainer( 'FactoryServer' )
39 NewDataStream.SetComment( 'NewDataStream from DataStreamFactory' )
40 NewDataStream.Coords( 4 , 10 )
41 INewDataStreamGate = NewDataStream.GetInPort( 'Gate' )
42 ONewDataStreamDataStream = NewDataStream.GetOutPort( 'DataStream' )
43 ONewDataStreamGate = NewDataStream.GetOutPort( 'Gate' )
44
45 Add = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
46 Add.SetName( 'Add' )
47 Add.SetAuthor( '' )
48 Add.SetContainer( 'FactoryServer' )
49 Add.SetComment( 'Add from DataStreamFactory from DataStreamComponent' )
50 Add.Coords( 6 , 370 )
51 IAddx = Add.GetInPort( 'x' )
52 IAddy = Add.GetInPort( 'y' )
53 IAddGate = Add.GetInPort( 'Gate' )
54 OAddz = Add.GetOutPort( 'z' )
55 OAddGate = Add.GetOutPort( 'Gate' )
56 IAddistream = Add.GetInStreamPort( 'istream' )
57 IAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
58 OAddostream = Add.GetOutStreamPort( 'ostream' )
59 OAddostream.SetNumberOfValues( 0 )
60 OAddOStream = Add.GetOutStreamPort( 'OStream' )
61 OAddOStream.SetNumberOfValues( 0 )
62
63 Sub = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
64 Sub.SetName( 'Sub' )
65 Sub.SetAuthor( '' )
66 Sub.SetContainer( 'FactoryServer' )
67 Sub.SetComment( 'Sub from DataStreamFactory from DataStreamComponent' )
68 Sub.Coords( 234 , 216 )
69 ISubx = Sub.GetInPort( 'x' )
70 ISuby = Sub.GetInPort( 'y' )
71 ISubGate = Sub.GetInPort( 'Gate' )
72 OSubz = Sub.GetOutPort( 'z' )
73 OSubGate = Sub.GetOutPort( 'Gate' )
74 ISubistream = Sub.GetInStreamPort( 'istream' )
75 ISubistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
76 ISubIstream = Sub.GetInStreamPort( 'Istream' )
77 ISubIstream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
78
79 Mul = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
80 Mul.SetName( 'Mul' )
81 Mul.SetAuthor( '' )
82 Mul.SetContainer( 'FactoryServer' )
83 Mul.SetComment( 'Mul from DataStreamFactory from DataStreamComponent' )
84 Mul.Coords( 448 , 342 )
85 IMulx = Mul.GetInPort( 'x' )
86 IMuly = Mul.GetInPort( 'y' )
87 IMulGate = Mul.GetInPort( 'Gate' )
88 OMulz = Mul.GetOutPort( 'z' )
89 OMulGate = Mul.GetOutPort( 'Gate' )
90
91 Div = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
92 Div.SetName( 'Div' )
93 Div.SetAuthor( '' )
94 Div.SetContainer( 'FactoryServer' )
95 Div.SetComment( 'Div from DataStreamFactory from DataStreamComponent' )
96 Div.Coords( 678 , 214 )
97 IDivx = Div.GetInPort( 'x' )
98 IDivy = Div.GetInPort( 'y' )
99 IDivGate = Div.GetInPort( 'Gate' )
100 ODivz = Div.GetOutPort( 'z' )
101 ODivGate = Div.GetOutPort( 'Gate' )
102 ODivostream = Div.GetOutStreamPort( 'ostream' )
103 ODivostream.SetNumberOfValues( 0 )
104
105 # Creation of Computing Nodes
106 StreamAdd_ServiceinParameter = []
107 StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'objref' , 'this' ) )
108 StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'x' ) )
109 StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'y' ) )
110 StreamAdd_ServiceoutParameter = []
111 StreamAdd_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'z' ) )
112 StreamAdd_ServiceinStreamParameter = []
113 StreamAdd_ServiceinStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'istream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
114 StreamAdd_ServiceoutStreamParameter = []
115 StreamAdd_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'ostream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
116 StreamAdd_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'OStream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
117 StreamAdd_Service = SALOME_ModuleCatalog.Service( 'StreamAdd' , StreamAdd_ServiceinParameter , StreamAdd_ServiceoutParameter , StreamAdd_ServiceinStreamParameter , StreamAdd_ServiceoutStreamParameter , 0 , 0 )
118 StreamAdd = GraphStream.CNode( StreamAdd_Service )
119 StreamAdd.SetName( 'StreamAdd' )
120 StreamAdd.SetAuthor( '' )
121 StreamAdd.SetComment( 'Compute Node' )
122 StreamAdd.Coords( 448 , 9 )
123 IStreamAddthis = StreamAdd.GetInPort( 'this' )
124 IStreamAddx = StreamAdd.GetInPort( 'x' )
125 IStreamAddy = StreamAdd.GetInPort( 'y' )
126 IStreamAddGate = StreamAdd.GetInPort( 'Gate' )
127 OStreamAddz = StreamAdd.GetOutPort( 'z' )
128 OStreamAddGate = StreamAdd.GetOutPort( 'Gate' )
129 IStreamAddistream = StreamAdd.GetInStreamPort( 'istream' )
130 IStreamAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
131 OStreamAddostream = StreamAdd.GetOutStreamPort( 'ostream' )
132 OStreamAddostream.SetNumberOfValues( 0 )
133 OStreamAddOStream = StreamAdd.GetOutStreamPort( 'OStream' )
134 OStreamAddOStream.SetNumberOfValues( 0 )
135
136 # Creation of Links
137 LNewDataStreamDataStreamStreamAddthis = GraphStream.Link( ONewDataStreamDataStream , IStreamAddthis )
138
139 LAddzSuby = GraphStream.Link( OAddz , ISuby )
140 LAddzSuby.AddCoord( 1 , 185 , 310 )
141 LAddzSuby.AddCoord( 2 , 185 , 437 )
142
143 LAddzMuly = GraphStream.Link( OAddz , IMuly )
144
145 LAddostreamSubistream = GraphStream.StreamLink( OAddostream , ISubistream )
146 LAddostreamSubistream.AddCoord( 1 , 199 , 343 )
147 LAddostreamSubistream.AddCoord( 2 , 200 , 497 )
148
149 LAddOStreamSubIstream = GraphStream.StreamLink( OAddOStream , ISubIstream )
150 LAddOStreamSubIstream.AddCoord( 1 , 219 , 374 )
151 LAddOStreamSubIstream.AddCoord( 2 , 218 , 529 )
152
153 LSubzMulx = GraphStream.Link( OSubz , IMulx )
154 LSubzMulx.AddCoord( 1 , 426 , 408 )
155 LSubzMulx.AddCoord( 2 , 427 , 282 )
156
157 LSubzDivx = GraphStream.Link( OSubz , IDivx )
158
159 LMulzDivy = GraphStream.Link( OMulz , IDivy )
160 LMulzDivy.AddCoord( 1 , 648 , 309 )
161 LMulzDivy.AddCoord( 2 , 648 , 406 )
162
163 # Input datas
164 IAddx.Input( 3 )
165 IAddy.Input( 7 )
166 ISubx.Input( 1 )
167 IStreamAddx.Input( 1 )
168 IStreamAddy.Input( 2 )
169 IAddistream.Input( 1 )
170 IStreamAddistream.Input( 136159896 )
171
172 # Output Ports of the graph
173 #ODivz = Div.GetOutPort( 'z' )
174 #OStreamAddz = StreamAdd.GetOutPort( 'z' )
175
176 GraphStream.PrintPorts()
177 GraphStream.IsValid()
178 status = GraphStream.IsExecutable()
179 if status == 0 :
180     print 'Input of port IStreamAddistream is required : Ok'
181 else :
182     print 'Input of port IStreamAddistream is required : ERROR'
183 # Following input is required :
184 IStreamAddistream.Input( 1 )
185 GraphStream.IsExecutable()
186
187 GraphStream.Run()
188 GraphStream.DoneW()
189 GraphStream.PrintPorts()
190 GraphStream.State()
191
192 subgraphs = GraphStream.SubGraphsNumber()
193 i = 1
194 while i <= subgraphs :
195     nodes = GraphStream.SubGraphsNodes( i )
196     j = 0
197     while j < len(nodes) :
198         print 'SubGraph',i,nodes[j].Name()
199         j = j + 1
200     i = i + 1
201
202
203 substreamgraphs = GraphStream.SubStreamGraphsNumber()
204 i = 1
205 while i <= substreamgraphs :
206     nodes = GraphStream.SubStreamGraphsNodes( i )
207     j = 0
208     while j < len(nodes) :
209         print 'SubStreamGraph',i,nodes[j].Name()
210         j = j + 1
211     i = i + 1
212
213 GraphStream.Export('/tmp/GraphStream.xml')
214
215 GraphStream = StreamGraph( '/tmp/GraphStream.xml' )
216 GraphStream.Run()
217 GraphStream.DoneW()
218 GraphStream.PrintPorts()
219 print GraphStream.State()
220
221 subgraphs = GraphStream.SubGraphsNumber()
222 i = 1
223 while i <= subgraphs :
224     nodes = GraphStream.SubGraphsNodes( i )
225     j = 0
226     while j < len(nodes) :
227         print 'SubGraph',i,nodes[j].Name()
228         j = j + 1
229     i = i + 1
230
231
232 substreamgraphs = GraphStream.SubStreamGraphsNumber()
233 i = 1
234 while i <= substreamgraphs :
235     nodes = GraphStream.SubStreamGraphsNodes( i )
236     j = 0
237     while j < len(nodes) :
238         print 'SubStreamGraph',i,nodes[j].Name()
239         j = j + 1
240     i = i + 1
241