1 # Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
3 # Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
20 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 # Check the Merge of two graphs and python functions definitions
23 # Creation of GraphSwitch
25 from GraphSwitch import *
27 # Creation of GraphSwitch1
28 from GraphSwitch1 import *
30 # Merge of GraphSwitch1 in GraphSwitch
31 statmerge = GraphSwitch.Merge( GraphSwitch1 )
33 print "Failed to merge GraphSwitch1 in GraphSwitch"
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()
39 funcname = InitLoopSwitch.PyInitName()
40 funcname1 = InitLoop.PyInitName()
41 print "Init python function names of InitLoopSwitch and InitLoop :",funcname,funcname1
43 # Erase python functions of InitLoop
44 InitLoop.SetPyInit( funcname , [] )
46 InitLoop.SetPyMore( InitLoop.PyMoreName() , [] )
48 InitLoop.SetPyNext( InitLoop.PyNextName() , [] )
51 IsOdd.SetPyFunction( IsOdd.PyFuncName() , [] )
54 # Print Input and Output Ports values of InitLoopSwitch
55 InitLoopSwitch.PrintPorts()
57 # Print Input and Output Ports values of InitLoop
60 # Print Input and Output Ports values of GraphSwitch
61 GraphSwitch.PrintPorts()
63 # Start asynchronous execution of GraphSwitch
66 # Wait for completion of GraphSwitch
69 # Print the state of GraphSwitch
72 # Print the results of GraphSwitch
73 GraphSwitch.PrintPorts()
75 GraphSwitch.Export( "../GraphPyFunctions.xml" )