Salome HOME
Merge from BR_V5_DEV 17Feb09
[samples/datafiles.git] / Superv / Python / GraphMerge1.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 # Check the Merge of two graphs and python functions definitions
23 # Creation of GraphSwitch
24 #
25 from GraphSwitch import *
26
27 # Creation of GraphSwitch1
28 from GraphSwitch1 import *
29
30 # Merge of GraphSwitch1 in GraphSwitch
31 statmerge = GraphSwitch.Merge( GraphSwitch1 )
32 if statmerge == 0 :
33     print "Failed to merge GraphSwitch1 in GraphSwitch"
34
35 # Create a variable for each node of GraphSwitch :
36 # IsOdd,IsOdd_1,InitLoopSwitch,InitLoop,EndOfInitLoopSwitch,EndOfInitLoop,Switch,Switch_1,EndOfSwitch,EndSwitch
37 exec GraphSwitch.ListNodes()
38
39 funcname = InitLoopSwitch.PyInitName()
40 funcname1 = InitLoop.PyInitName()
41 print "Init python function names of InitLoopSwitch and InitLoop :",funcname,funcname1
42 InitLoop.PyInit()
43 # Erase python functions of InitLoop
44 InitLoop.SetPyInit( funcname , [] )
45 InitLoop.PyInit()
46 InitLoop.SetPyMore( InitLoop.PyMoreName() , [] )
47 InitLoop.PyMore()
48 InitLoop.SetPyNext( InitLoop.PyNextName() , [] )
49 InitLoop.PyNext()
50
51 IsOdd.SetPyFunction( IsOdd.PyFuncName() , [] )
52 IsOdd.PyFunction()
53
54 # Print Input and Output Ports values of InitLoopSwitch
55 InitLoopSwitch.PrintPorts()
56
57 # Print Input and Output Ports values of InitLoop
58 InitLoop.PrintPorts()
59
60 # Print Input and Output Ports values of GraphSwitch
61 GraphSwitch.PrintPorts()
62
63 # Start asynchronous execution of GraphSwitch
64 GraphSwitch.Run()
65
66 # Wait for completion of GraphSwitch
67 GraphSwitch.DoneW()
68
69 # Print the state of GraphSwitch
70 GraphSwitch.State()
71
72 # Print the results of GraphSwitch
73 GraphSwitch.PrintPorts()
74
75 GraphSwitch.Export( "../GraphPyFunctions.xml" )
76