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