Salome HOME
Merge from BR_V5_DEV 17Feb09
[samples/datafiles.git] / Superv / Python / GraphLoopGates.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 GraphLoopGates
23 #
24 from SuperV import *
25
26 # Graph creation of GraphLoopGates
27 def DefGraphLoopGates() :
28     GraphLoopGates = Graph( 'GraphLoopGates' )
29     GraphLoopGates.SetName( 'GraphLoopGates' )
30     GraphLoopGates.SetAuthor( 'JR' )
31     GraphLoopGates.SetComment( '' )
32     GraphLoopGates.Coords( 0 , 0 )
33     
34     # Creation of Factory Nodes
35     
36     Add = GraphLoopGates.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
37     Add.SetName( 'Add' )
38     Add.SetAuthor( '' )
39     Add.SetContainer( 'localhost/FactoryServer' )
40     Add.SetComment( 'Add from AddComponent' )
41     Add.Coords( 248 , 70 )
42     IAddx = Add.GetInPort( 'x' )
43     IAddy = Add.GetInPort( 'y' )
44     IAddGate = Add.GetInPort( 'Gate' )
45     OAddFuncValue = Add.GetOutPort( 'FuncValue' )
46     OAddz = Add.GetOutPort( 'z' )
47     OAddGate = Add.GetOutPort( 'Gate' )
48     
49     Add_1 = GraphLoopGates.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
50     Add_1.SetName( 'Add_1' )
51     Add_1.SetAuthor( '' )
52     Add_1.SetContainer( 'localhost/FactoryServer' )
53     Add_1.SetComment( 'Add from AddComponent' )
54     Add_1.Coords( 249 , 305 )
55     IAdd_1x = Add_1.GetInPort( 'x' )
56     IAdd_1y = Add_1.GetInPort( 'y' )
57     IAdd_1Gate = Add_1.GetInPort( 'Gate' )
58     OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
59     OAdd_1z = Add_1.GetOutPort( 'z' )
60     OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
61     
62     Sub = GraphLoopGates.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
63     Sub.SetName( 'Sub' )
64     Sub.SetAuthor( '' )
65     Sub.SetContainer( 'localhost/FactoryServer' )
66     Sub.SetComment( 'Sub from SubComponent' )
67     Sub.Coords( 453 , 72 )
68     ISubx = Sub.GetInPort( 'x' )
69     ISuby = Sub.GetInPort( 'y' )
70     ISubGate = Sub.GetInPort( 'Gate' )
71     OSubz = Sub.GetOutPort( 'z' )
72     OSubGate = Sub.GetOutPort( 'Gate' )
73     
74     Sub_1 = GraphLoopGates.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
75     Sub_1.SetName( 'Sub_1' )
76     Sub_1.SetAuthor( '' )
77     Sub_1.SetContainer( 'localhost/FactoryServer' )
78     Sub_1.SetComment( 'Sub from SubComponent' )
79     Sub_1.Coords( 455 , 304 )
80     ISub_1x = Sub_1.GetInPort( 'x' )
81     ISub_1y = Sub_1.GetInPort( 'y' )
82     ISub_1Gate = Sub_1.GetInPort( 'Gate' )
83     OSub_1z = Sub_1.GetOutPort( 'z' )
84     OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
85     
86     # Creation of InLine Nodes
87     PyGate = []
88     PyGate.append( 'from time import *  ' )
89     PyGate.append( 'def Gate(G1,G2) :  ' )
90     PyGate.append( '    sleep(1)  ' )
91     PyGate.append( '    return G1&G2  ' )
92     Gate = GraphLoopGates.INode( 'Gate' , PyGate )
93     Gate.SetName( 'Gate' )
94     Gate.SetAuthor( '' )
95     Gate.SetComment( 'Compute Node' )
96     Gate.Coords( 650 , 227 )
97     IGateG1 = Gate.InPort( 'G1' , 'long' )
98     IGateG2 = Gate.InPort( 'G2' , 'long' )
99     IGateGate = Gate.GetInPort( 'Gate' )
100     OGateG = Gate.OutPort( 'G' , 'long' )
101     OGateGate = Gate.GetOutPort( 'Gate' )
102     
103     # Creation of Loop Nodes
104     PyInit = []
105     PyInit.append( 'from time import *   ' )
106     PyInit.append( 'def Init(Index,Min,Max) :   ' )
107     PyInit.append( '    Index = Min   ' )
108     PyInit.append( '    sleep(1)   ' )
109     PyInit.append( '    return Index,Min,Max   ' )
110     PyMoreInit = []
111     PyMoreInit.append( 'def More(Index,Min,Max) :  ' )
112     PyMoreInit.append( '    if Index < Max :  ' )
113     PyMoreInit.append( '        DoLoop = 1  ' )
114     PyMoreInit.append( '    else :  ' )
115     PyMoreInit.append( '        DoLoop = 0 ' )
116     PyMoreInit.append( '    return DoLoop,Index,Min,Max  ' )
117     PyNextInit = []
118     PyNextInit.append( 'def Next(Index,Min,Max) :  ' )
119     PyNextInit.append( '    Index = Index + 1 ' )
120     PyNextInit.append( '    return Index,Min,Max   ' )
121     Init,EndInit = GraphLoopGates.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
122     EndInit.SetName( 'EndInit' )
123     EndInit.SetAuthor( '' )
124     EndInit.SetComment( 'Compute Node' )
125     EndInit.Coords( 847 , 247 )
126     PyEndInit = []
127     EndInit.SetPyFunction( 'EndInit' , PyEndInit )
128     IInitDoLoop = Init.GetInPort( 'DoLoop' )
129     IInitIndex = Init.InPort( 'Index' , 'long' )
130     IInitMin = Init.InPort( 'Min' , 'long' )
131     IInitMax = Init.InPort( 'Max' , 'long' )
132     IInitGate = Init.GetInPort( 'Gate' )
133     OInitDoLoop = Init.GetOutPort( 'DoLoop' )
134     OInitIndex = Init.GetOutPort( 'Index' )
135     OInitMin = Init.GetOutPort( 'Min' )
136     OInitMax = Init.GetOutPort( 'Max' )
137     IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
138     IEndInitIndex = EndInit.GetInPort( 'Index' )
139     IEndInitMin = EndInit.GetInPort( 'Min' )
140     IEndInitMax = EndInit.GetInPort( 'Max' )
141     IEndInitGate = EndInit.GetInPort( 'Gate' )
142     OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
143     OEndInitIndex = EndInit.GetOutPort( 'Index' )
144     OEndInitMin = EndInit.GetOutPort( 'Min' )
145     OEndInitMax = EndInit.GetOutPort( 'Max' )
146     OEndInitGate = EndInit.GetOutPort( 'Gate' )
147     Init.SetName( 'Init' )
148     Init.SetAuthor( '' )
149     Init.SetComment( 'Compute Node' )
150     Init.Coords( 10 , 181 )
151     
152     # Creation of Links
153     LInitIndexEndInitIndex = GraphLoopGates.Link( OInitIndex , IEndInitIndex )
154     
155     LInitMinEndInitMin = GraphLoopGates.Link( OInitMin , IEndInitMin )
156     
157     LInitMaxEndInitMax = GraphLoopGates.Link( OInitMax , IEndInitMax )
158     
159     LInitGateAdd_1Gate = GraphLoopGates.Link( OInitGate , IAdd_1Gate )
160     
161     LInitGateAddGate = GraphLoopGates.Link( OInitGate , IAddGate )
162     
163     LAddGateSubGate = GraphLoopGates.Link( OAddGate , ISubGate )
164     
165     LAdd_1GateSub_1Gate = GraphLoopGates.Link( OAdd_1Gate , ISub_1Gate )
166     
167     LSubGateGateG1 = GraphLoopGates.Link( OSubGate , IGateG1 )
168     
169     LSub_1zGateG2 = GraphLoopGates.Link( OSub_1z , IGateG2 )
170     
171     LSub_1GateGateGate = GraphLoopGates.Link( OSub_1Gate , IGateGate )
172     
173     LGateGateEndInitGate = GraphLoopGates.Link( OGateGate , IEndInitGate )
174     
175     # Input datas
176     IInitIndex.Input( 0 )
177     IInitMin.Input( 5 )
178     IInitMax.Input( 13 )
179     IAddx.Input( 1 )
180     IAddy.Input( 2 )
181     IAdd_1x.Input( 3 )
182     IAdd_1y.Input( 4 )
183     ISubx.Input( 5 )
184     ISuby.Input( 6 )
185     ISub_1x.Input( 7 )
186     ISub_1y.Input( 8 )
187     
188     # Output Ports of the graph
189     #OEndInitIndex = EndInit.GetOutPort( 'Index' )
190     #OEndInitMin = EndInit.GetOutPort( 'Min' )
191     #OEndInitMax = EndInit.GetOutPort( 'Max' )
192     #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
193     #OAddz = Add.GetOutPort( 'z' )
194     #OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
195     #OAdd_1z = Add_1.GetOutPort( 'z' )
196     #OSubz = Sub.GetOutPort( 'z' )
197     #OGateG = Gate.GetOutPort( 'G' )
198     return GraphLoopGates
199
200
201 GraphLoopGates = DefGraphLoopGates()