-This is the version 2.0.0 of SUPERV
+This is the version 2.1.0 of SUPERV
Compatible with :
- - KERNEL 2.0.0
+ - KERNEL 2.1.0
-THIS IS SALOME - SUPERV VERSION: 2.0.0
+THIS IS SALOME - SUPERV VERSION: 2.1.0
<td bgcolor= "lightgreen"><div align="center"><b>return_value = GraphE ( aGraph )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamGraph StreamGraph ( in string aGraph )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamGraph ( aGraph )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamGraph StreamGraphE ( in string aGraph )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamGraphE ( aGraph )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>Value StringValue ( in string aString )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = StringValue ( aString )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>Graph getGraph ( in string ior )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = getGraph ( ior )</b></div></td>
</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamGraph getStreamGraph ( in string ior )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = getStreamGraph ( ior )</b></div></td>
+</tr>
</table><br>
<table width="100%" BORDER>
<tr bgcolor="#FFFFCC">
<td bgcolor= "lightgreen"><div align="center"><b>return_value = Port ( aParameterName )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>Port GetInPort ( in string aParameterName )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetInPort ( aParameterName )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>Port GetOutPort ( in string aParameterName )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetOutPort ( aParameterName )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamPort GetInStreamPort ( in string aParameterName )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetInStreamPort ( aParameterName )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamPort GetOutStreamPort ( in string aParameterName )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = GetOutStreamPort ( aParameterName )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean HasStreamPort ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = HasStreamPort ( )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>Port Input ( in string InputParameterName, in Value aValue )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = Input ( InputParameterName, aValue )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = Ports ( )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>ListOfStreamPorts StreamPorts ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamPorts ( )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>ListOfLinks Links ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = Links ( )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>ListOfStreamLinks StreamLinks ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamLinks ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean IsStreamGraph ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsStreamGraph ( )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>boolean IsGraph ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsGraph ( )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean IsMacro ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsMacro ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean IsFlowMacro ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsFlowMacro ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean IsStreamMacro ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsStreamMacro ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean IsHeadGraph ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsHeadGraph ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>long GraphLevel ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = GraphLevel ( )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>boolean IsComputing ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsComputing ( )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = SubGraph ( )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>long SubStreamGraph ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = SubStreamGraph ( )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>long Thread ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = Thread ( )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = ReStartAt ( aNodeName )</b></div></td>
</tr>
<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>AutomatonState AutoState ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = AutoState ( )</b></div></td>
-</tr>
-<tr>
<td bgcolor= "lightgreen"><div align="center"><b>ControlState Control ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = Control ( )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>Port OutPort ( in string aParameterName, in string aParameterType )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = OutPort ( aParameterName, aParameterType )</b></div></td>
</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamPort InStreamPort ( in string aParameterName, in DataStreamType aParameterType, in DataStreamDependency aDependency )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = InStreamPort ( aParameterName, aParameterType, aDependency )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamPort OutStreamPort ( in string aParameterName, in DataStreamType aParameterType, in DataStreamDependency aDependency )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = OutStreamPort ( aParameterName, aParameterType, aDependency )</b></div></td>
+</tr>
</table><br>
<table width="100%" BORDER>
<tr bgcolor="#FFFFCC">
<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
</tr>
<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>void SetPyInit ( in string MoreName, in ListOfStrings aPyMoreFunction )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>SetPyInit ( MoreName, aPyMoreFunction )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>void SetPyInit ( in string InitName, in ListOfStrings aPyInitFunction )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>SetPyInit ( InitName, aPyInitFunction )</b></div></td>
</tr>
<tr>
<td bgcolor= "lightgreen"><div align="center"><b>ListOfStrings PyInit ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, anEndOfSwitch ] = SNode ( FuncName, aPythonFunction )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>Graph MNode ( in string aXmlFileName )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = MNode ( aXmlFileName )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>Graph GraphMNode ( in Graph aGraph )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = GraphMNode ( aGraph )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>Graph FlowObjRef ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = FlowObjRef ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamGraph StreamObjRef ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamObjRef ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>CNode Node ( in string aNodeName )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = Node ( aNodeName )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>Component ComponentRef ( in string aComputerContainer, in string aComponentName )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = ComponentRef ( aComputerContainer, aComponentName )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, aNode, anEvent, aState ] = EventW ( )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>long EventQSize ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = EventQSize ( )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>long LevelMax ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = LevelMax ( )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = ThreadsMax ( )</b></div></td>
</tr>
<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>long GraphsNumber ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = GraphsNumber ( )</b></div></td>
-</tr>
-<tr>
<td bgcolor= "lightgreen"><div align="center"><b>long Threads ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = Threads ( )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsExecutable ( )</b></div></td>
</tr>
<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>boolean IsDataFlow ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsDataFlow ( )</b></div></td>
-</tr>
-<tr>
<td bgcolor= "lightgreen"><div align="center"><b>boolean IsEditing ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEditing ( )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = Copy ( )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamGraph ToStreamGraph ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = ToStreamGraph ( )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>boolean Merge ( in Graph aGraph )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = Merge ( aGraph )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = getIOR ( )</b></div></td>
</tr>
<tr>
-<td bgcolor= "lightgreen"><div align="center"><b>ListOfGraphs Graphs ( )</b></div></td>
-<td bgcolor= "lightgreen"><div align="center"><b>return_value = Graphs ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>long SubGraphsNumber ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = SubGraphsNumber ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>ListOfNodes SubGraphsNodes ( in long SubGraphNumber )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = SubGraphsNodes ( SubGraphNumber )</b></div></td>
+</tr>
+</table><br>
+<table width="100%" BORDER>
+<tr bgcolor="#FFFFCC">
+<td colspan="11"><font size="+3"><b><div align="center"><i>interface StreamGraph</i></div></b></font></td>
+</tr>
+<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
+<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamGraph StreamCopy ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamCopy ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamGraph StreamMNode ( in string aXmlFileName )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamMNode ( aXmlFileName )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamGraph StreamGraphMNode ( in StreamGraph aStreamGraph )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamGraphMNode ( aStreamGraph )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamLink StreamLink ( in StreamPort OutputPort, in StreamPort InputPort )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamLink ( OutputPort, InputPort )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>ListOfStreamLinks GStreamLinks ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = GStreamLinks ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean SetStreamParams ( in long Timeout, in KindOfDataStreamTrace DataStreamTrace, in double DeltaTime )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetStreamParams ( Timeout, DataStreamTrace, DeltaTime )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>void StreamParams ( out long Timeout, out KindOfDataStreamTrace DataStreamTrace, out double DeltaTime )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>[ Timeout, DataStreamTrace, DeltaTime ] = StreamParams ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>long SubStreamGraphsNumber ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = SubStreamGraphsNumber ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>ListOfNodes SubStreamGraphsNodes ( in long SubStreamGraphNumber )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = SubStreamGraphsNodes ( SubStreamGraphNumber )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>Graph ToFlowGraph ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = ToFlowGraph ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean StreamMerge ( in StreamGraph aStreamGraph )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamMerge ( aStreamGraph )</b></div></td>
</tr>
</table><br>
<table width="100%" BORDER>
</table><br>
<table width="100%" BORDER>
<tr bgcolor="#FFFFCC">
+<td colspan="11"><font size="+3"><b><div align="center"><i>interface StreamLink</i></div></b></font></td>
+</tr>
+<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
+<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamPort OutStreamPort ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = OutStreamPort ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamPort InStreamPort ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = InStreamPort ( )</b></div></td>
+</tr>
+</table><br>
+<table width="100%" BORDER>
+<tr bgcolor="#FFFFCC">
<td colspan="11"><font size="+3"><b><div align="center"><i>interface Value</i></div></b></font></td>
</tr>
<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsEndSwitch ( )</b></div></td>
</tr>
<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean IsDataStream ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsDataStream ( )</b></div></td>
+</tr>
+<tr>
<td bgcolor= "lightgreen"><div align="center"><b>GraphState State ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = State ( )</b></div></td>
</tr>
<td bgcolor= "lightgreen"><div align="center"><b>boolean IsDone ( )</b></div></td>
<td bgcolor= "lightgreen"><div align="center"><b>return_value = IsDone ( )</b></div></td>
</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>void Remove ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>Remove ( )</b></div></td>
+</tr>
+</table><br>
+<table width="100%" BORDER>
+<tr bgcolor="#FFFFCC">
+<td colspan="11"><font size="+3"><b><div align="center"><i>interface StreamPort</i></div></b></font></td>
+</tr>
+<td width="50%" bgcolor= "lightgreen" ><font size="+2"><div align="center"><b><i>IDL file</i></b></div></font></td>
+<td width="50%" bgcolor= "lightgreen"><font size="+2"><div align="center"><b><i>Python</i></b></div></font></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>StreamLink StreamLink ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = StreamLink ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>DataStreamDependency Dependency ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = Dependency ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean SetDependency ( in DataStreamDependency aDependency )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetDependency ( aDependency )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean SetParams ( in KindOfSchema aKindOfSchema, in KindOfInterpolation aKindOfInterpolation, in KindOfExtrapolation aKindOfExtrapolation )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetParams ( aKindOfSchema, aKindOfInterpolation, aKindOfExtrapolation )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean Params ( out KindOfSchema aKindOfSchema, out KindOfInterpolation aKindOfInterpolation, out KindOfExtrapolation aKindOfExtrapolation )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>[ return_value, aKindOfSchema, aKindOfInterpolation, aKindOfExtrapolation ] = Params ( )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>boolean SetNumberOfValues ( in long aNumberOfValues )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = SetNumberOfValues ( aNumberOfValues )</b></div></td>
+</tr>
+<tr>
+<td bgcolor= "lightgreen"><div align="center"><b>long NumberOfValues ( )</b></div></td>
+<td bgcolor= "lightgreen"><div align="center"><b>return_value = NumberOfValues ( )</b></div></td>
+</tr>
</table><br>
</b></HTML>
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
-PROJECT_NAME = "SALOME - SUPERV - v.2.0.0"
+PROJECT_NAME = "SALOME - SUPERV - v.2.1.0"
PROJECT_NUMBER = id#1.0
OUTPUT_DIRECTORY = ../
OUTPUT_LANGUAGE = English
-foldersTree = gFld("<b>SALOME v.2.0.0 </b>", "", "")
+foldersTree = gFld("<b>SALOME v.2.1.0 </b>", "", "")
insDoc(foldersTree, gLnk("Main Page", "", "main.html"))
aux1 = insFld(foldersTree, gFld("TUI Reference Guide", ""))
-# Generated python file of Graph GeomGraph
+# Generated python file of Graph aNewDataFlow_1
from SuperV import *
-# Graph creation
-GeomGraph = Graph( 'GeomGraph' )
-GeomGraph.SetName( 'GeomGraph' )
-GeomGraph.SetAuthor( '' )
-GeomGraph.SetComment( '' )
-GeomGraph.Coords( 0 , 0 )
-# Creation of Factory Nodes
-MakeBox = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeBox' )
-MakeBox.SetName( 'MakeBox' )
-MakeBox.SetAuthor( '' )
-MakeBox.SetContainer( 'localhost/FactoryServer' )
-MakeBox.SetComment( 'MakeBox from Geometry' )
-MakeBox.Coords( 5 , 101 )
-MakeCopy = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeCopy' )
-MakeCopy.SetName( 'MakeCopy' )
-MakeCopy.SetAuthor( '' )
-MakeCopy.SetContainer( 'localhost/FactoryServer' )
-MakeCopy.SetComment( 'MakeCopy from Geometry' )
-MakeCopy.Coords( 235 , 77 )
-MakeCopy_1 = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeCopy' )
-MakeCopy_1.SetName( 'MakeCopy_1' )
-MakeCopy_1.SetAuthor( '' )
-MakeCopy_1.SetContainer( 'localhost/FactoryServer' )
-MakeCopy_1.SetComment( 'MakeCopy from Geometry' )
-MakeCopy_1.Coords( 232 , 332 )
-MakeTranslation = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeTranslation' )
-MakeTranslation.SetName( 'MakeTranslation' )
-MakeTranslation.SetAuthor( '' )
-MakeTranslation.SetContainer( 'localhost/FactoryServer' )
-MakeTranslation.SetComment( 'MakeTranslation from Geometry' )
-MakeTranslation.Coords( 449 , 86 )
-MakeFuse = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeFuse' )
-MakeFuse.SetName( 'MakeFuse' )
-MakeFuse.SetAuthor( '' )
-MakeFuse.SetContainer( 'localhost/FactoryServer' )
-MakeFuse.SetComment( 'MakeFuse from Geometry' )
-MakeFuse.Coords( 678 , 224 )
-MakeFuse_1 = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeFuse' )
-MakeFuse_1.SetName( 'MakeFuse_1' )
-MakeFuse_1.SetAuthor( '' )
-MakeFuse_1.SetContainer( 'localhost/FactoryServer' )
-MakeFuse_1.SetComment( 'MakeFuse from Geometry' )
-MakeFuse_1.Coords( 909 , 340 )
-MakeSphere = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeSphere' )
-MakeSphere.SetName( 'MakeSphere' )
-MakeSphere.SetAuthor( '' )
-MakeSphere.SetContainer( 'localhost/FactoryServer' )
-MakeSphere.SetComment( 'MakeSphere from Geometry' )
-MakeSphere.Coords( 5 , 449 )
+# Graph creation of aNewDataFlow_1
+def DefaNewDataFlow_1() :
+ aNewDataFlow_1 = Graph( 'aNewDataFlow_1' )
+ aNewDataFlow_1.SetName( 'aNewDataFlow_1' )
+ aNewDataFlow_1.SetAuthor( '' )
+ aNewDataFlow_1.SetComment( '' )
+ aNewDataFlow_1.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ SetStudyID = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'SetStudyID' )
+ SetStudyID.SetName( 'SetStudyID' )
+ SetStudyID.SetAuthor( '' )
+ SetStudyID.SetContainer( 'localhost/FactoryServer' )
+ SetStudyID.SetComment( 'SetStudyID from GEOM_Superv' )
+ SetStudyID.Coords( 14 , 241 )
+ ISetStudyIDtheStudyID = SetStudyID.GetInPort( 'theStudyID' )
+ ISetStudyIDGate = SetStudyID.GetInPort( 'Gate' )
+ OSetStudyIDGate = SetStudyID.GetOutPort( 'Gate' )
+
+ MakeBox = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeBox' )
+ MakeBox.SetName( 'MakeBox' )
+ MakeBox.SetAuthor( '' )
+ MakeBox.SetContainer( 'localhost/FactoryServer' )
+ MakeBox.SetComment( 'MakeBox from GEOM_Superv' )
+ MakeBox.Coords( 198 , 46 )
+ IMakeBoxtheX1 = MakeBox.GetInPort( 'theX1' )
+ IMakeBoxtheY1 = MakeBox.GetInPort( 'theY1' )
+ IMakeBoxtheZ1 = MakeBox.GetInPort( 'theZ1' )
+ IMakeBoxtheX2 = MakeBox.GetInPort( 'theX2' )
+ IMakeBoxtheY2 = MakeBox.GetInPort( 'theY2' )
+ IMakeBoxtheZ2 = MakeBox.GetInPort( 'theZ2' )
+ IMakeBoxGate = MakeBox.GetInPort( 'Gate' )
+ OMakeBoxreturn = MakeBox.GetOutPort( 'return' )
+ OMakeBoxGate = MakeBox.GetOutPort( 'Gate' )
+
+ MakeCopy = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
+ MakeCopy.SetName( 'MakeCopy' )
+ MakeCopy.SetAuthor( '' )
+ MakeCopy.SetContainer( 'localhost/FactoryServer' )
+ MakeCopy.SetComment( 'MakeCopy from GEOM_Superv' )
+ MakeCopy.Coords( 383 , 46 )
+ IMakeCopytheOriginal = MakeCopy.GetInPort( 'theOriginal' )
+ IMakeCopyGate = MakeCopy.GetInPort( 'Gate' )
+ OMakeCopyreturn = MakeCopy.GetOutPort( 'return' )
+ OMakeCopyGate = MakeCopy.GetOutPort( 'Gate' )
+
+ TranslateDXDYDZ = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'TranslateDXDYDZ' )
+ TranslateDXDYDZ.SetName( 'TranslateDXDYDZ' )
+ TranslateDXDYDZ.SetAuthor( '' )
+ TranslateDXDYDZ.SetContainer( 'localhost/FactoryServer' )
+ TranslateDXDYDZ.SetComment( 'TranslateDXDYDZ from GEOM_Superv' )
+ TranslateDXDYDZ.Coords( 579 , 46 )
+ ITranslateDXDYDZtheObject = TranslateDXDYDZ.GetInPort( 'theObject' )
+ ITranslateDXDYDZtheDX = TranslateDXDYDZ.GetInPort( 'theDX' )
+ ITranslateDXDYDZtheDY = TranslateDXDYDZ.GetInPort( 'theDY' )
+ ITranslateDXDYDZtheDZ = TranslateDXDYDZ.GetInPort( 'theDZ' )
+ ITranslateDXDYDZGate = TranslateDXDYDZ.GetInPort( 'Gate' )
+ OTranslateDXDYDZreturn = TranslateDXDYDZ.GetOutPort( 'return' )
+ OTranslateDXDYDZGate = TranslateDXDYDZ.GetOutPort( 'Gate' )
+
+ MakeCopy_1 = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
+ MakeCopy_1.SetName( 'MakeCopy_1' )
+ MakeCopy_1.SetAuthor( '' )
+ MakeCopy_1.SetContainer( 'localhost/FactoryServer' )
+ MakeCopy_1.SetComment( 'MakeCopy from GEOM_Superv' )
+ MakeCopy_1.Coords( 384 , 168 )
+ IMakeCopy_1theOriginal = MakeCopy_1.GetInPort( 'theOriginal' )
+ IMakeCopy_1Gate = MakeCopy_1.GetInPort( 'Gate' )
+ OMakeCopy_1return = MakeCopy_1.GetOutPort( 'return' )
+ OMakeCopy_1Gate = MakeCopy_1.GetOutPort( 'Gate' )
+
+ MakeSphere_1 = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeSphere' )
+ MakeSphere_1.SetName( 'MakeSphere_1' )
+ MakeSphere_1.SetAuthor( '' )
+ MakeSphere_1.SetContainer( 'localhost/FactoryServer' )
+ MakeSphere_1.SetComment( 'MakeSphere from GEOM_Superv' )
+ MakeSphere_1.Coords( 201 , 332 )
+ IMakeSphere_1theX = MakeSphere_1.GetInPort( 'theX' )
+ IMakeSphere_1theY = MakeSphere_1.GetInPort( 'theY' )
+ IMakeSphere_1theZ = MakeSphere_1.GetInPort( 'theZ' )
+ IMakeSphere_1theRadius = MakeSphere_1.GetInPort( 'theRadius' )
+ IMakeSphere_1Gate = MakeSphere_1.GetInPort( 'Gate' )
+ OMakeSphere_1return = MakeSphere_1.GetOutPort( 'return' )
+ OMakeSphere_1Gate = MakeSphere_1.GetOutPort( 'Gate' )
+
+ MakeFuse = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
+ MakeFuse.SetName( 'MakeFuse' )
+ MakeFuse.SetAuthor( '' )
+ MakeFuse.SetContainer( 'localhost/FactoryServer' )
+ MakeFuse.SetComment( 'MakeFuse from GEOM_Superv' )
+ MakeFuse.Coords( 790 , 148 )
+ IMakeFusetheShape1 = MakeFuse.GetInPort( 'theShape1' )
+ IMakeFusetheShape2 = MakeFuse.GetInPort( 'theShape2' )
+ IMakeFuseGate = MakeFuse.GetInPort( 'Gate' )
+ OMakeFusereturn = MakeFuse.GetOutPort( 'return' )
+ OMakeFuseGate = MakeFuse.GetOutPort( 'Gate' )
+
+ MakeFuse_1 = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
+ MakeFuse_1.SetName( 'MakeFuse_1' )
+ MakeFuse_1.SetAuthor( '' )
+ MakeFuse_1.SetContainer( 'localhost/FactoryServer' )
+ MakeFuse_1.SetComment( 'MakeFuse from GEOM_Superv' )
+ MakeFuse_1.Coords( 993 , 312 )
+ IMakeFuse_1theShape1 = MakeFuse_1.GetInPort( 'theShape1' )
+ IMakeFuse_1theShape2 = MakeFuse_1.GetInPort( 'theShape2' )
+ IMakeFuse_1Gate = MakeFuse_1.GetInPort( 'Gate' )
+ OMakeFuse_1return = MakeFuse_1.GetOutPort( 'return' )
+ OMakeFuse_1Gate = MakeFuse_1.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LSetStudyIDGateMakeBoxGate = aNewDataFlow_1.Link( OSetStudyIDGate , IMakeBoxGate )
+
+ LSetStudyIDGateMakeSphere_1Gate = aNewDataFlow_1.Link( OSetStudyIDGate , IMakeSphere_1Gate )
+
+ LMakeBoxreturnMakeCopytheOriginal = aNewDataFlow_1.Link( OMakeBoxreturn , IMakeCopytheOriginal )
+
+ LMakeBoxreturnMakeCopy_1theOriginal = aNewDataFlow_1.Link( OMakeBoxreturn , IMakeCopy_1theOriginal )
+
+ LMakeCopyreturnTranslateDXDYDZtheObject = aNewDataFlow_1.Link( OMakeCopyreturn , ITranslateDXDYDZtheObject )
+
+ LTranslateDXDYDZreturnMakeFusetheShape1 = aNewDataFlow_1.Link( OTranslateDXDYDZreturn , IMakeFusetheShape1 )
+
+ LMakeCopy_1returnMakeFusetheShape2 = aNewDataFlow_1.Link( OMakeCopy_1return , IMakeFusetheShape2 )
+
+ LMakeSphere_1returnMakeFuse_1theShape2 = aNewDataFlow_1.Link( OMakeSphere_1return , IMakeFuse_1theShape2 )
+
+ LMakeFusereturnMakeFuse_1theShape1 = aNewDataFlow_1.Link( OMakeFusereturn , IMakeFuse_1theShape1 )
+
+ # Input datas
+ ISetStudyIDtheStudyID.Input( 1 )
+ IMakeBoxtheX1.Input( 0 )
+ IMakeBoxtheY1.Input( 0 )
+ IMakeBoxtheZ1.Input( 0 )
+ IMakeBoxtheX2.Input( 50 )
+ IMakeBoxtheY2.Input( 50 )
+ IMakeBoxtheZ2.Input( 50 )
+ ITranslateDXDYDZtheDX.Input( 10 )
+ ITranslateDXDYDZtheDY.Input( 10 )
+ ITranslateDXDYDZtheDZ.Input( 10 )
+ IMakeSphere_1theX.Input( 0 )
+ IMakeSphere_1theY.Input( 0 )
+ IMakeSphere_1theZ.Input( 0 )
+ IMakeSphere_1theRadius.Input( 12 )
+
+ # Output Ports of the graph
+ #OMakeFuse_1return = MakeFuse_1.GetOutPort( 'return' )
+ return aNewDataFlow_1
-# Creation of intermediate Output variables and of Control Links
-MakeBoxshape = MakeBox.Port( 'shape' )
-MakeCopyshape1 = GeomGraph.Link( MakeBoxshape , MakeCopy.Port( 'shape1' ) )
-MakeCopyshape1.AddCoord( 1 , 198 , 184 )
-MakeCopyshape1.AddCoord( 2 , 199 , 209 )
-MakeCopy_1shape1 = GeomGraph.Link( MakeBoxshape , MakeCopy_1.Port( 'shape1' ) )
-MakeCopy_1shape1.AddCoord( 1 , 198 , 441 )
-MakeCopy_1shape1.AddCoord( 2 , 198 , 209 )
-MakeCopyshape = MakeCopy.Port( 'shape' )
-MakeTranslationshape1 = GeomGraph.Link( MakeCopyshape , MakeTranslation.Port( 'shape1' ) )
-MakeCopy_1shape = MakeCopy_1.Port( 'shape' )
-MakeFuseshape2 = GeomGraph.Link( MakeCopy_1shape , MakeFuse.Port( 'shape2' ) )
-MakeFuseshape2.AddCoord( 1 , 642 , 362 )
-MakeFuseshape2.AddCoord( 2 , 642 , 442 )
-MakeTranslationshape = MakeTranslation.Port( 'shape' )
-MakeFuseshape1 = GeomGraph.Link( MakeTranslationshape , MakeFuse.Port( 'shape1' ) )
-MakeFuseshape1.AddCoord( 1 , 643 , 330 )
-MakeFuseshape1.AddCoord( 2 , 644 , 195 )
-MakeFuseshape = MakeFuse.Port( 'shape' )
-MakeFuse_1shape1 = GeomGraph.Link( MakeFuseshape , MakeFuse_1.Port( 'shape1' ) )
-MakeFuse_1shape1.AddCoord( 1 , 872 , 445 )
-MakeFuse_1shape1.AddCoord( 2 , 874 , 333 )
-MakeSphereshape = MakeSphere.Port( 'shape' )
-MakeFuse_1shape2 = GeomGraph.Link( MakeSphereshape , MakeFuse_1.Port( 'shape2' ) )
-MakeFuse_1shape2.AddCoord( 1 , 872 , 474 )
-MakeFuse_1shape2.AddCoord( 2 , 871 , 552 )
-
-# Creation of Input datas
-MakeBoxx1 = MakeBox.Input( 'x1' , 0)
-MakeBoxy1 = MakeBox.Input( 'y1' , 0)
-MakeBoxz1 = MakeBox.Input( 'z1' , 0)
-MakeBoxx2 = MakeBox.Input( 'x2' , 50)
-MakeBoxy2 = MakeBox.Input( 'y2' , 50)
-MakeBoxz2 = MakeBox.Input( 'z2' , 50)
-MakeTranslationx1 = MakeTranslation.Input( 'x1' , 25)
-MakeTranslationy1 = MakeTranslation.Input( 'y1' , 25)
-MakeTranslationz1 = MakeTranslation.Input( 'z1' , 25)
-MakeSpherex1 = MakeSphere.Input( 'x1' , 0)
-MakeSpherey1 = MakeSphere.Input( 'y1' , 0)
-MakeSpherez1 = MakeSphere.Input( 'z1' , 0)
-MakeSphereradius = MakeSphere.Input( 'radius' , 12)
-
-# Creation of Output variables
-MakeFuse_1shape = MakeFuse_1.Port( 'shape' )
-
-GeomGraph.Run()
-
-GeomGraph.DoneW()
-
-GeomGraph.PrintPorts()
+aNewDataFlow_1 = DefaNewDataFlow_1()
--- /dev/null
+
+# Generated python file of Graph GeomGraph
+
+from SuperV import *
+# Graph creation
+GeomGraph = Graph( 'GeomGraph' )
+GeomGraph.SetName( 'GeomGraph' )
+GeomGraph.SetAuthor( '' )
+GeomGraph.SetComment( '' )
+GeomGraph.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+MakeBox = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeBox' )
+MakeBox.SetName( 'MakeBox' )
+MakeBox.SetAuthor( '' )
+MakeBox.SetContainer( 'localhost/FactoryServer' )
+MakeBox.SetComment( 'MakeBox from Geometry' )
+MakeBox.Coords( 5 , 101 )
+MakeCopy = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeCopy' )
+MakeCopy.SetName( 'MakeCopy' )
+MakeCopy.SetAuthor( '' )
+MakeCopy.SetContainer( 'localhost/FactoryServer' )
+MakeCopy.SetComment( 'MakeCopy from Geometry' )
+MakeCopy.Coords( 235 , 77 )
+MakeCopy_1 = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeCopy' )
+MakeCopy_1.SetName( 'MakeCopy_1' )
+MakeCopy_1.SetAuthor( '' )
+MakeCopy_1.SetContainer( 'localhost/FactoryServer' )
+MakeCopy_1.SetComment( 'MakeCopy from Geometry' )
+MakeCopy_1.Coords( 232 , 332 )
+MakeTranslation = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeTranslation' )
+MakeTranslation.SetName( 'MakeTranslation' )
+MakeTranslation.SetAuthor( '' )
+MakeTranslation.SetContainer( 'localhost/FactoryServer' )
+MakeTranslation.SetComment( 'MakeTranslation from Geometry' )
+MakeTranslation.Coords( 449 , 86 )
+MakeFuse = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeFuse' )
+MakeFuse.SetName( 'MakeFuse' )
+MakeFuse.SetAuthor( '' )
+MakeFuse.SetContainer( 'localhost/FactoryServer' )
+MakeFuse.SetComment( 'MakeFuse from Geometry' )
+MakeFuse.Coords( 678 , 224 )
+MakeFuse_1 = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeFuse' )
+MakeFuse_1.SetName( 'MakeFuse_1' )
+MakeFuse_1.SetAuthor( '' )
+MakeFuse_1.SetContainer( 'localhost/FactoryServer' )
+MakeFuse_1.SetComment( 'MakeFuse from Geometry' )
+MakeFuse_1.Coords( 909 , 340 )
+MakeSphere = GeomGraph.FNode( 'GEOM' , 'GEOM' , 'MakeSphere' )
+MakeSphere.SetName( 'MakeSphere' )
+MakeSphere.SetAuthor( '' )
+MakeSphere.SetContainer( 'localhost/FactoryServer' )
+MakeSphere.SetComment( 'MakeSphere from Geometry' )
+MakeSphere.Coords( 5 , 449 )
+
+# Creation of intermediate Output variables and of Control Links
+MakeBoxshape = MakeBox.Port( 'shape' )
+MakeCopyshape1 = GeomGraph.Link( MakeBoxshape , MakeCopy.Port( 'shape1' ) )
+MakeCopyshape1.AddCoord( 1 , 198 , 184 )
+MakeCopyshape1.AddCoord( 2 , 199 , 209 )
+MakeCopy_1shape1 = GeomGraph.Link( MakeBoxshape , MakeCopy_1.Port( 'shape1' ) )
+MakeCopy_1shape1.AddCoord( 1 , 198 , 441 )
+MakeCopy_1shape1.AddCoord( 2 , 198 , 209 )
+MakeCopyshape = MakeCopy.Port( 'shape' )
+MakeTranslationshape1 = GeomGraph.Link( MakeCopyshape , MakeTranslation.Port( 'shape1' ) )
+MakeCopy_1shape = MakeCopy_1.Port( 'shape' )
+MakeFuseshape2 = GeomGraph.Link( MakeCopy_1shape , MakeFuse.Port( 'shape2' ) )
+MakeFuseshape2.AddCoord( 1 , 642 , 362 )
+MakeFuseshape2.AddCoord( 2 , 642 , 442 )
+MakeTranslationshape = MakeTranslation.Port( 'shape' )
+MakeFuseshape1 = GeomGraph.Link( MakeTranslationshape , MakeFuse.Port( 'shape1' ) )
+MakeFuseshape1.AddCoord( 1 , 643 , 330 )
+MakeFuseshape1.AddCoord( 2 , 644 , 195 )
+MakeFuseshape = MakeFuse.Port( 'shape' )
+MakeFuse_1shape1 = GeomGraph.Link( MakeFuseshape , MakeFuse_1.Port( 'shape1' ) )
+MakeFuse_1shape1.AddCoord( 1 , 872 , 445 )
+MakeFuse_1shape1.AddCoord( 2 , 874 , 333 )
+MakeSphereshape = MakeSphere.Port( 'shape' )
+MakeFuse_1shape2 = GeomGraph.Link( MakeSphereshape , MakeFuse_1.Port( 'shape2' ) )
+MakeFuse_1shape2.AddCoord( 1 , 872 , 474 )
+MakeFuse_1shape2.AddCoord( 2 , 871 , 552 )
+
+# Creation of Input datas
+MakeBoxx1 = MakeBox.Input( 'x1' , 0)
+MakeBoxy1 = MakeBox.Input( 'y1' , 0)
+MakeBoxz1 = MakeBox.Input( 'z1' , 0)
+MakeBoxx2 = MakeBox.Input( 'x2' , 50)
+MakeBoxy2 = MakeBox.Input( 'y2' , 50)
+MakeBoxz2 = MakeBox.Input( 'z2' , 50)
+MakeTranslationx1 = MakeTranslation.Input( 'x1' , 25)
+MakeTranslationy1 = MakeTranslation.Input( 'y1' , 25)
+MakeTranslationz1 = MakeTranslation.Input( 'z1' , 25)
+MakeSpherex1 = MakeSphere.Input( 'x1' , 0)
+MakeSpherey1 = MakeSphere.Input( 'y1' , 0)
+MakeSpherez1 = MakeSphere.Input( 'z1' , 0)
+MakeSphereradius = MakeSphere.Input( 'radius' , 12)
+
+# Creation of Output variables
+MakeFuse_1shape = MakeFuse_1.Port( 'shape' )
+
+GeomGraph.Run()
+
+GeomGraph.DoneW()
+
+GeomGraph.PrintPorts()
+
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE SuperGraph>
+<supergraph>
<dataflow>
- <info-list>
- <node>
- <component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GeomGraph</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>GeomGraph</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\x2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\y2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\z2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\radius</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>MakeFuse_1\shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:34</creation-date>
- <lastmodification-date>13/3/2003 - 13:49:29</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeBox</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeBox</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y2</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z2</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:45</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:45</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeBox from Geometry</comment>
- <x-position>5</x-position>
- <y-position>101</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeCopy</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:48</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:48</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeCopy from Geometry</comment>
- <x-position>235</x-position>
- <y-position>77</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeCopy</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:49</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:49</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeCopy from Geometry</comment>
- <x-position>232</x-position>
- <y-position>332</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeTranslation</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeTranslation</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:51</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:51</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeTranslation from Geometry</comment>
- <x-position>449</x-position>
- <y-position>86</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeFuse</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:55</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:55</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeFuse from Geometry</comment>
- <x-position>678</x-position>
- <y-position>224</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeFuse</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:46:58</creation-date>
- <lastmodification-date>13/3/2003 - 11:46:58</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeFuse from Geometry</comment>
- <x-position>909</x-position>
- <y-position>340</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeSphere</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
- <service-name>MakeSphere</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>radius</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <Parameter-list>
- </Parameter-list>
- <PyFunction-list>
- </PyFunction-list>
- <creation-date>13/3/2003 - 11:47:0</creation-date>
- <lastmodification-date>13/3/2003 - 11:47:0</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeSphere from Geometry</comment>
- <x-position>5</x-position>
- <y-position>449</y-position>
- </node>
- </node-list>
-
- <link-list>
- <link>
- <fromnode-name>MakeBox</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeCopy</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>198</x>
- <y>184</y>
- </coord>
- <coord>
- <x>199</x>
- <y>209</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeBox</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeCopy_1</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>198</x>
- <y>441</y>
- </coord>
- <coord>
- <x>198</x>
- <y>209</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeCopy</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeCopy_1</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>642</x>
- <y>362</y>
- </coord>
- <coord>
- <x>642</x>
- <y>442</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeTranslation</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>643</x>
- <y>330</y>
- </coord>
- <coord>
- <x>644</x>
- <y>195</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeFuse</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse_1</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>872</x>
- <y>445</y>
- </coord>
- <coord>
- <x>874</x>
- <y>333</y>
- </coord>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse_1</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
- <coord>
- <x>872</x>
- <y>474</y>
- </coord>
- <coord>
- <x>871</x>
- <y>552</y>
- </coord>
- </coord-list>
- </link>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\x1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\y1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\z1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\x2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x2</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>50</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\y2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y2</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>50</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeBox\z2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z2</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>50</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>25</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>25</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>25</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>GeomGraph</fromnode-name>
- <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>radius</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>12</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>aNewDataFlow_1</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>aNewDataFlow_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>SetStudyID__theStudyID</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__theX1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__theY1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__theZ1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__theX2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__theY2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__theZ2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>TranslateDXDYDZ__theDX</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>TranslateDXDYDZ__theDY</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>TranslateDXDYDZ__theDZ</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__theX</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__theY</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__theZ</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__theRadius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>MakeFuse_1__return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>29/10/2004 - 10:52:34</creation-date>
+ <lastmodification-date>11/11/2004 - 11:41:31</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>SetStudyID</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>SetStudyID</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>theStudyID</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 11:16:35</creation-date>
+ <lastmodification-date>11/11/2004 - 11:16:35</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>SetStudyID from GEOM_Superv</comment>
+ <x-position>14</x-position>
+ <y-position>241</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeBox</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeBox</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theX1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theY1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theZ1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theX2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theY2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theZ2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 11:17:44</creation-date>
+ <lastmodification-date>11/11/2004 - 11:17:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeBox from GEOM_Superv</comment>
+ <x-position>198</x-position>
+ <y-position>46</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeCopy</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theOriginal</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 11:36:29</creation-date>
+ <lastmodification-date>11/11/2004 - 11:36:29</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from GEOM_Superv</comment>
+ <x-position>383</x-position>
+ <y-position>46</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>TranslateDXDYDZ</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>TranslateDXDYDZ</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theObject</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theDX</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theDY</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theDZ</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 11:37:10</creation-date>
+ <lastmodification-date>11/11/2004 - 11:37:10</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>TranslateDXDYDZ from GEOM_Superv</comment>
+ <x-position>579</x-position>
+ <y-position>46</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeCopy_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theOriginal</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 11:38:45</creation-date>
+ <lastmodification-date>11/11/2004 - 11:38:45</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from GEOM_Superv</comment>
+ <x-position>384</x-position>
+ <y-position>168</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeSphere_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeSphere</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theX</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theY</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theZ</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theRadius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 11:38:54</creation-date>
+ <lastmodification-date>11/11/2004 - 11:38:54</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeSphere from GEOM_Superv</comment>
+ <x-position>201</x-position>
+ <y-position>332</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeFuse</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 11:39:55</creation-date>
+ <lastmodification-date>11/11/2004 - 11:39:55</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from GEOM_Superv</comment>
+ <x-position>790</x-position>
+ <y-position>148</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeFuse_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 11:40:15</creation-date>
+ <lastmodification-date>11/11/2004 - 11:40:15</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from GEOM_Superv</comment>
+ <x-position>993</x-position>
+ <y-position>312</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>SetStudyID</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SetStudyID</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeBox</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeCopy</tonode-name>
+ <toserviceparameter-name>theOriginal</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeBox</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeCopy_1</tonode-name>
+ <toserviceparameter-name>theOriginal</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theObject</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>TranslateDXDYDZ</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>theShape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy_1</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>theShape2</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeSphere_1</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>theShape2</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeFuse</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>theShape1</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>SetStudyID__theStudyID</fromserviceparameter-name>
+ <tonode-name>SetStudyID</tonode-name>
+ <toserviceparameter-name>theStudyID</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>1</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theX1</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>theX1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theY1</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>theY1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theZ1</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>theZ1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theX2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>theX2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theY2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>theY2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theZ2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>theZ2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDX</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDX</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>10</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDY</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDY</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>10</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDZ</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDZ</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>10</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__theX</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>theX</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__theY</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>theY</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__theZ</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>theZ</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__theRadius</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>theRadius</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>12</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
--- /dev/null
+<?xml version='1.0' encoding='us-ascii' ?>
+
+<!-- XML Dataflow -->
+
+<!-- Dataflow information -->
+<dataflow>
+ <info-list>
+ <node>
+ <component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>GeomGraph</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+ <service-name>GeomGraph</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox\x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox\y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox\z1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox\x2</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox\y2</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox\z2</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation\x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation\y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation\z1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\z1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\radius</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>MakeFuse_1\shape</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <Parameter-list>
+ </Parameter-list>
+ <PyFunction-list>
+ </PyFunction-list>
+ <creation-date>13/3/2003 - 11:46:34</creation-date>
+ <lastmodification-date>13/3/2003 - 13:49:29</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position>
+ </node>
+ </info-list>
+
+ <node-list>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeBox</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+ <service-name>MakeBox</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>x2</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>y2</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>z2</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <Parameter-list>
+ </Parameter-list>
+ <PyFunction-list>
+ </PyFunction-list>
+ <creation-date>13/3/2003 - 11:46:45</creation-date>
+ <lastmodification-date>13/3/2003 - 11:46:45</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeBox from Geometry</comment>
+ <x-position>5</x-position>
+ <y-position>101</y-position>
+ </node>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeCopy</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+ <service-name>MakeCopy</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <Parameter-list>
+ </Parameter-list>
+ <PyFunction-list>
+ </PyFunction-list>
+ <creation-date>13/3/2003 - 11:46:48</creation-date>
+ <lastmodification-date>13/3/2003 - 11:46:48</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from Geometry</comment>
+ <x-position>235</x-position>
+ <y-position>77</y-position>
+ </node>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeCopy_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+ <service-name>MakeCopy</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <Parameter-list>
+ </Parameter-list>
+ <PyFunction-list>
+ </PyFunction-list>
+ <creation-date>13/3/2003 - 11:46:49</creation-date>
+ <lastmodification-date>13/3/2003 - 11:46:49</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from Geometry</comment>
+ <x-position>232</x-position>
+ <y-position>332</y-position>
+ </node>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeTranslation</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+ <service-name>MakeTranslation</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <Parameter-list>
+ </Parameter-list>
+ <PyFunction-list>
+ </PyFunction-list>
+ <creation-date>13/3/2003 - 11:46:51</creation-date>
+ <lastmodification-date>13/3/2003 - 11:46:51</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeTranslation from Geometry</comment>
+ <x-position>449</x-position>
+ <y-position>86</y-position>
+ </node>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeFuse</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+ <service-name>MakeFuse</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape2</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <Parameter-list>
+ </Parameter-list>
+ <PyFunction-list>
+ </PyFunction-list>
+ <creation-date>13/3/2003 - 11:46:55</creation-date>
+ <lastmodification-date>13/3/2003 - 11:46:55</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from Geometry</comment>
+ <x-position>678</x-position>
+ <y-position>224</y-position>
+ </node>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeFuse_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+ <service-name>MakeFuse</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape2</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <Parameter-list>
+ </Parameter-list>
+ <PyFunction-list>
+ </PyFunction-list>
+ <creation-date>13/3/2003 - 11:46:58</creation-date>
+ <lastmodification-date>13/3/2003 - 11:46:58</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from Geometry</comment>
+ <x-position>909</x-position>
+ <y-position>340</y-position>
+ </node>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeSphere</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+ <service-name>MakeSphere</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>radius</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <Parameter-list>
+ </Parameter-list>
+ <PyFunction-list>
+ </PyFunction-list>
+ <creation-date>13/3/2003 - 11:47:0</creation-date>
+ <lastmodification-date>13/3/2003 - 11:47:0</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeSphere from Geometry</comment>
+ <x-position>5</x-position>
+ <y-position>449</y-position>
+ </node>
+ </node-list>
+
+ <link-list>
+ <link>
+ <fromnode-name>MakeBox</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+ <coord>
+ <x>198</x>
+ <y>184</y>
+ </coord>
+ <coord>
+ <x>199</x>
+ <y>209</y>
+ </coord>
+ </coord-list>
+ </link>
+ <link>
+ <fromnode-name>MakeBox</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+ <coord>
+ <x>198</x>
+ <y>441</y>
+ </coord>
+ <coord>
+ <x>198</x>
+ <y>209</y>
+ </coord>
+ </coord-list>
+ </link>
+ <link>
+ <fromnode-name>MakeCopy</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+ </coord-list>
+ </link>
+ <link>
+ <fromnode-name>MakeCopy_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list>
+ <coord>
+ <x>642</x>
+ <y>362</y>
+ </coord>
+ <coord>
+ <x>642</x>
+ <y>442</y>
+ </coord>
+ </coord-list>
+ </link>
+ <link>
+ <fromnode-name>MakeTranslation</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+ <coord>
+ <x>643</x>
+ <y>330</y>
+ </coord>
+ <coord>
+ <x>644</x>
+ <y>195</y>
+ </coord>
+ </coord-list>
+ </link>
+ <link>
+ <fromnode-name>MakeFuse</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+ <coord>
+ <x>872</x>
+ <y>445</y>
+ </coord>
+ <coord>
+ <x>874</x>
+ <y>333</y>
+ </coord>
+ </coord-list>
+ </link>
+ <link>
+ <fromnode-name>MakeSphere</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list>
+ <coord>
+ <x>872</x>
+ <y>474</y>
+ </coord>
+ <coord>
+ <x>871</x>
+ <y>552</y>
+ </coord>
+ </coord-list>
+ </link>
+ </link-list>
+
+ <data-list>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeBox\x1</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeBox\y1</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeBox\z1</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeBox\x2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>x2</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>50</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeBox\y2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>y2</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>50</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeBox\z2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>z2</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>50</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>25</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>25</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>25</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>GeomGraph</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>radius</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>12</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ </data-list>
+
+</dataflow>
--- /dev/null
+
+# Generated python file of Graph aNewDataFlow_1_4_2_1_1_2_2_1_1
+
+from SuperV import *
+
+# Graph creation of aNewDataFlow_1_4_2_1_1_2_2_1_1
+def DefaNewDataFlow_1_4_2_1_1_2_2_1_1() :
+ aNewDataFlow_1_4_2_1_1_2_2_1_1 = Graph( 'aNewDataFlow_1_4_2_1_1_2_2_1_1' )
+ aNewDataFlow_1_4_2_1_1_2_2_1_1.SetName( 'aNewDataFlow_1_4_2_1_1_2_2_1_1' )
+ aNewDataFlow_1_4_2_1_1_2_2_1_1.SetAuthor( '' )
+ aNewDataFlow_1_4_2_1_1_2_2_1_1.SetComment( '' )
+ aNewDataFlow_1_4_2_1_1_2_2_1_1.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ Pygag = []
+ Pygag.append( 'from batchmode_geompy import * ' )
+ Pygag.append( 'def gag(): ' )
+ Pygag.append( ' # This is a gag ' )
+ Pygag.append( ' return 1 ' )
+ gag = aNewDataFlow_1_4_2_1_1_2_2_1_1.INode( 'gag' , Pygag )
+ gag.SetName( 'gag' )
+ gag.SetAuthor( '' )
+ gag.SetComment( 'Compute Node' )
+ gag.Coords( 0 , 123 )
+ IgagGate = gag.GetInPort( 'Gate' )
+ OgagGate = gag.GetOutPort( 'Gate' )
+
+ PyMakeBox1 = []
+ PyMakeBox1.append( 'def MakeBox1(x1,y1,z1,x2,y2,z2): ' )
+ PyMakeBox1.append( ' aBox = MakeBox(x1,y1,z1,x2,y2,z2) ' )
+ PyMakeBox1.append( ' return aBox ' )
+ MakeBox1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.INode( 'MakeBox1' , PyMakeBox1 )
+ MakeBox1.SetName( 'MakeBox1' )
+ MakeBox1.SetAuthor( '' )
+ MakeBox1.SetComment( 'Compute Node' )
+ MakeBox1.Coords( 194 , 3 )
+ IMakeBox1x1 = MakeBox1.InPort( 'x1' , 'double' )
+ IMakeBox1y1 = MakeBox1.InPort( 'y1' , 'double' )
+ IMakeBox1z1 = MakeBox1.InPort( 'z1' , 'double' )
+ IMakeBox1x2 = MakeBox1.InPort( 'x2' , 'double' )
+ IMakeBox1y2 = MakeBox1.InPort( 'y2' , 'double' )
+ IMakeBox1z2 = MakeBox1.InPort( 'z2' , 'double' )
+ IMakeBox1Gate = MakeBox1.GetInPort( 'Gate' )
+ OMakeBox1shape = MakeBox1.OutPort( 'shape' , 'objref' )
+ OMakeBox1Gate = MakeBox1.GetOutPort( 'Gate' )
+
+ PyMakeCopy_1 = []
+ PyMakeCopy_1.append( 'def MakeCopy_1(shape1): ' )
+ PyMakeCopy_1.append( ' shape=MakeCopy(shape1) ' )
+ PyMakeCopy_1.append( ' return shape ' )
+ MakeCopy_1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.INode( 'MakeCopy_1' , PyMakeCopy_1 )
+ MakeCopy_1.SetName( 'MakeCopy_1' )
+ MakeCopy_1.SetAuthor( '' )
+ MakeCopy_1.SetComment( 'Compute Node' )
+ MakeCopy_1.Coords( 389 , 3 )
+ IMakeCopy_1shape1 = MakeCopy_1.InPort( 'shape1' , 'objref' )
+ IMakeCopy_1Gate = MakeCopy_1.GetInPort( 'Gate' )
+ OMakeCopy_1shape = MakeCopy_1.OutPort( 'shape' , 'objref' )
+ OMakeCopy_1Gate = MakeCopy_1.GetOutPort( 'Gate' )
+
+ PyMakeCopy_2 = []
+ PyMakeCopy_2.append( 'def MakeCopy_2(shape1): ' )
+ PyMakeCopy_2.append( ' shape=MakeCopy(shape1) ' )
+ PyMakeCopy_2.append( ' return shape ' )
+ MakeCopy_2 = aNewDataFlow_1_4_2_1_1_2_2_1_1.INode( 'MakeCopy_2' , PyMakeCopy_2 )
+ MakeCopy_2.SetName( 'MakeCopy_2' )
+ MakeCopy_2.SetAuthor( '' )
+ MakeCopy_2.SetComment( 'Compute Node' )
+ MakeCopy_2.Coords( 389 , 136 )
+ IMakeCopy_2shape1 = MakeCopy_2.InPort( 'shape1' , 'objref' )
+ IMakeCopy_2Gate = MakeCopy_2.GetInPort( 'Gate' )
+ OMakeCopy_2shape = MakeCopy_2.OutPort( 'shape' , 'objref' )
+ OMakeCopy_2Gate = MakeCopy_2.GetOutPort( 'Gate' )
+
+ PyMakeSphere_1 = []
+ PyMakeSphere_1.append( 'def MakeSphere_1(x1,y1,z1,radius): ' )
+ PyMakeSphere_1.append( ' apoint=MakeVertex(x1,y1,z1) ' )
+ PyMakeSphere_1.append( ' shape=MakeSpherePntR(apoint,radius) ' )
+ PyMakeSphere_1.append( ' return shape ' )
+ MakeSphere_1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.INode( 'MakeSphere_1' , PyMakeSphere_1 )
+ MakeSphere_1.SetName( 'MakeSphere_1' )
+ MakeSphere_1.SetAuthor( '' )
+ MakeSphere_1.SetComment( 'Compute Node' )
+ MakeSphere_1.Coords( 203 , 315 )
+ IMakeSphere_1x1 = MakeSphere_1.InPort( 'x1' , 'double' )
+ IMakeSphere_1y1 = MakeSphere_1.InPort( 'y1' , 'double' )
+ IMakeSphere_1z1 = MakeSphere_1.InPort( 'z1' , 'double' )
+ IMakeSphere_1radius = MakeSphere_1.InPort( 'radius' , 'double' )
+ IMakeSphere_1Gate = MakeSphere_1.GetInPort( 'Gate' )
+ OMakeSphere_1shape = MakeSphere_1.OutPort( 'shape' , 'objref' )
+ OMakeSphere_1Gate = MakeSphere_1.GetOutPort( 'Gate' )
+
+ PyMakeTranslation_1 = []
+ PyMakeTranslation_1.append( 'def MakeTranslation_1(shape1,x1,y1,z1): ' )
+ PyMakeTranslation_1.append( ' shape = MakeTranslation(shape1,x1,y1,z1) ' )
+ PyMakeTranslation_1.append( ' return shape ' )
+ MakeTranslation_1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.INode( 'MakeTranslation_1' , PyMakeTranslation_1 )
+ MakeTranslation_1.SetName( 'MakeTranslation_1' )
+ MakeTranslation_1.SetAuthor( '' )
+ MakeTranslation_1.SetComment( 'Compute Node' )
+ MakeTranslation_1.Coords( 596 , 3 )
+ IMakeTranslation_1shape1 = MakeTranslation_1.InPort( 'shape1' , 'objref' )
+ IMakeTranslation_1x1 = MakeTranslation_1.InPort( 'x1' , 'double' )
+ IMakeTranslation_1y1 = MakeTranslation_1.InPort( 'y1' , 'double' )
+ IMakeTranslation_1z1 = MakeTranslation_1.InPort( 'z1' , 'double' )
+ IMakeTranslation_1Gate = MakeTranslation_1.GetInPort( 'Gate' )
+ OMakeTranslation_1shape = MakeTranslation_1.OutPort( 'shape' , 'objref' )
+ OMakeTranslation_1Gate = MakeTranslation_1.GetOutPort( 'Gate' )
+
+ PyMakeFuse_1 = []
+ PyMakeFuse_1.append( 'def MakeFuse_1(shape1,shape2): ' )
+ PyMakeFuse_1.append( ' # fuse operation 3 ' )
+ PyMakeFuse_1.append( ' shape = MakeBoolean(shape1,shape2,3) ' )
+ PyMakeFuse_1.append( ' return shape ' )
+ MakeFuse_1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.INode( 'MakeFuse_1' , PyMakeFuse_1 )
+ MakeFuse_1.SetName( 'MakeFuse_1' )
+ MakeFuse_1.SetAuthor( '' )
+ MakeFuse_1.SetComment( 'Compute Node' )
+ MakeFuse_1.Coords( 823 , 116 )
+ IMakeFuse_1shape1 = MakeFuse_1.InPort( 'shape1' , 'objref' )
+ IMakeFuse_1shape2 = MakeFuse_1.InPort( 'shape2' , 'objref' )
+ IMakeFuse_1Gate = MakeFuse_1.GetInPort( 'Gate' )
+ OMakeFuse_1shape = MakeFuse_1.OutPort( 'shape' , 'objref' )
+ OMakeFuse_1Gate = MakeFuse_1.GetOutPort( 'Gate' )
+
+ PyMakeFuse_2 = []
+ PyMakeFuse_2.append( 'def MakeFuse_2(shape1,shape2): ' )
+ PyMakeFuse_2.append( ' # fuse operation 3 ' )
+ PyMakeFuse_2.append( ' shape = MakeBoolean(shape1,shape2,3) ' )
+ PyMakeFuse_2.append( ' from SALOME_NamingServicePy import SALOME_NamingServicePy_i ' )
+ PyMakeFuse_2.append( ' myNamingService = SALOME_NamingServicePy_i(orb) ' )
+ PyMakeFuse_2.append( ' aSession = myNamingService.Resolve('/Kernel/Session') ' )
+ PyMakeFuse_2.append( ' aStudyId = aSession.GetActiveStudyId() ' )
+ PyMakeFuse_2.append( ' myStudyManager = myNamingService.Resolve('/myStudyManager') ' )
+ PyMakeFuse_2.append( ' aStudy = myStudyManager.GetStudyByID(aStudyId) ' )
+ PyMakeFuse_2.append( ' aSObject = geom.AddInStudy(aStudy, shape, "shape", None) ' )
+ PyMakeFuse_2.append( ' return shape ' )
+ MakeFuse_2 = aNewDataFlow_1_4_2_1_1_2_2_1_1.INode( 'MakeFuse_2' , PyMakeFuse_2 )
+ MakeFuse_2.SetName( 'MakeFuse_2' )
+ MakeFuse_2.SetAuthor( '' )
+ MakeFuse_2.SetComment( 'Compute Node' )
+ MakeFuse_2.Coords( 1049 , 295 )
+ IMakeFuse_2shape1 = MakeFuse_2.InPort( 'shape1' , 'objref' )
+ IMakeFuse_2shape2 = MakeFuse_2.InPort( 'shape2' , 'objref' )
+ IMakeFuse_2Gate = MakeFuse_2.GetInPort( 'Gate' )
+ OMakeFuse_2shape = MakeFuse_2.OutPort( 'shape' , 'objref' )
+ OMakeFuse_2Gate = MakeFuse_2.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LgagGateMakeBox1Gate = aNewDataFlow_1_4_2_1_1_2_2_1_1.Link( OgagGate , IMakeBox1Gate )
+
+ LgagGateMakeSphere_1Gate = aNewDataFlow_1_4_2_1_1_2_2_1_1.Link( OgagGate , IMakeSphere_1Gate )
+ LgagGateMakeSphere_1Gate.AddCoord( 1 , 164 , 470 )
+ LgagGateMakeSphere_1Gate.AddCoord( 2 , 164 , 265 )
+
+ LMakeBox1shapeMakeCopy_1shape1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.Link( OMakeBox1shape , IMakeCopy_1shape1 )
+
+ LMakeBox1shapeMakeCopy_2shape1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.Link( OMakeBox1shape , IMakeCopy_2shape1 )
+ LMakeBox1shapeMakeCopy_2shape1.AddCoord( 1 , 384 , 207 )
+
+ LMakeCopy_1shapeMakeTranslation_1shape1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.Link( OMakeCopy_1shape , IMakeTranslation_1shape1 )
+
+ LMakeCopy_2shapeMakeFuse_1shape2 = aNewDataFlow_1_4_2_1_1_2_2_1_1.Link( OMakeCopy_2shape , IMakeFuse_1shape2 )
+ LMakeCopy_2shapeMakeFuse_1shape2.AddCoord( 1 , 674 , 207 )
+
+ LMakeSphere_1shapeMakeFuse_2shape2 = aNewDataFlow_1_4_2_1_1_2_2_1_1.Link( OMakeSphere_1shape , IMakeFuse_2shape2 )
+
+ LMakeTranslation_1shapeMakeFuse_1shape1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.Link( OMakeTranslation_1shape , IMakeFuse_1shape1 )
+
+ LMakeFuse_1shapeMakeFuse_2shape1 = aNewDataFlow_1_4_2_1_1_2_2_1_1.Link( OMakeFuse_1shape , IMakeFuse_2shape1 )
+ LMakeFuse_1shapeMakeFuse_2shape1.AddCoord( 1 , 1017 , 366 )
+ LMakeFuse_1shapeMakeFuse_2shape1.AddCoord( 2 , 1017 , 187 )
+
+ # Input datas
+ IMakeBox1x1.Input( 0 )
+ IMakeBox1y1.Input( 0 )
+ IMakeBox1z1.Input( 0 )
+ IMakeBox1x2.Input( 50 )
+ IMakeBox1y2.Input( 50 )
+ IMakeBox1z2.Input( 50 )
+ IMakeSphere_1x1.Input( 0 )
+ IMakeSphere_1y1.Input( 0 )
+ IMakeSphere_1z1.Input( 0 )
+ IMakeSphere_1radius.Input( 12 )
+ IMakeTranslation_1x1.Input( 25 )
+ IMakeTranslation_1y1.Input( 25 )
+ IMakeTranslation_1z1.Input( 25 )
+
+ # Output Ports of the graph
+ #OMakeFuse_2shape = MakeFuse_2.GetOutPort( 'shape' )
+ return aNewDataFlow_1_4_2_1_1_2_2_1_1
+
+
+aNewDataFlow_1_4_2_1_1_2_2_1_1 = DefaNewDataFlow_1_4_2_1_1_2_2_1_1()
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__x2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__y2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__z2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__radius</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>MakeFuse_2__shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>25/8/2004 - 16:28:50</creation-date>
+ <lastmodification-date>29/10/2004 - 10:50:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>gag</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>gag</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>gag</FuncName>
+ <PyFunc><![CDATA[from batchmode_geompy import * ]]></PyFunc>
+ <PyFunc><![CDATA[def gag(): ]]></PyFunc>
+ <PyFunc><![CDATA[ # This is a gag ]]></PyFunc>
+ <PyFunc><![CDATA[ return 1 ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 10:50:25</creation-date>
+ <lastmodification-date>29/10/2004 - 10:50:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>0</x-position>
+ <y-position>123</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeBox1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeBox1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeBox1</FuncName>
+ <PyFunc><![CDATA[def MakeBox1(x1,y1,z1,x2,y2,z2): ]]></PyFunc>
+ <PyFunc><![CDATA[ aBox = MakeBox(x1,y1,z1,x2,y2,z2) ]]></PyFunc>
+ <PyFunc><![CDATA[ return aBox ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 10:50:25</creation-date>
+ <lastmodification-date>29/10/2004 - 10:50:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>194</x-position>
+ <y-position>3</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeCopy_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeCopy_1</FuncName>
+ <PyFunc><![CDATA[def MakeCopy_1(shape1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeCopy(shape1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 10:50:25</creation-date>
+ <lastmodification-date>29/10/2004 - 10:50:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>389</x-position>
+ <y-position>3</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeCopy_2</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy_2</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeCopy_2</FuncName>
+ <PyFunc><![CDATA[def MakeCopy_2(shape1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeCopy(shape1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 10:50:25</creation-date>
+ <lastmodification-date>29/10/2004 - 10:50:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>389</x-position>
+ <y-position>136</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeSphere_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeSphere_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>radius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeSphere_1</FuncName>
+ <PyFunc><![CDATA[def MakeSphere_1(x1,y1,z1,radius): ]]></PyFunc>
+ <PyFunc><![CDATA[ apoint=MakeVertex(x1,y1,z1) ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeSpherePntR(apoint,radius) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 10:50:25</creation-date>
+ <lastmodification-date>29/10/2004 - 10:50:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>203</x-position>
+ <y-position>315</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeTranslation_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeTranslation_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeTranslation_1</FuncName>
+ <PyFunc><![CDATA[def MakeTranslation_1(shape1,x1,y1,z1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeTranslation(shape1,x1,y1,z1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 10:50:25</creation-date>
+ <lastmodification-date>29/10/2004 - 10:50:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>596</x-position>
+ <y-position>3</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeFuse_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeFuse_1</FuncName>
+ <PyFunc><![CDATA[def MakeFuse_1(shape1,shape2): ]]></PyFunc>
+ <PyFunc><![CDATA[ # fuse operation 3 ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeBoolean(shape1,shape2,3) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 10:50:25</creation-date>
+ <lastmodification-date>29/10/2004 - 10:50:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>823</x-position>
+ <y-position>116</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeFuse_2</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse_2</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeFuse_2</FuncName>
+ <PyFunc><![CDATA[def MakeFuse_2(shape1,shape2): ]]></PyFunc>
+ <PyFunc><![CDATA[ # fuse operation 3 ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeBoolean(shape1,shape2,3) ]]></PyFunc>
+ <PyFunc><![CDATA[ from SALOME_NamingServicePy import SALOME_NamingServicePy_i ]]></PyFunc>
+ <PyFunc><![CDATA[ myNamingService = SALOME_NamingServicePy_i(orb) ]]></PyFunc>
+ <PyFunc><![CDATA[ aSession = myNamingService.Resolve('/Kernel/Session') ]]></PyFunc>
+ <PyFunc><![CDATA[ aStudyId = aSession.GetActiveStudyId() ]]></PyFunc>
+ <PyFunc><![CDATA[ myStudyManager = myNamingService.Resolve('/myStudyManager') ]]></PyFunc>
+ <PyFunc><![CDATA[ aStudy = myStudyManager.GetStudyByID(aStudyId) ]]></PyFunc>
+ <PyFunc><![CDATA[ aSObject = geom.AddInStudy(aStudy, shape, "shape", None) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 10:50:25</creation-date>
+ <lastmodification-date>29/10/2004 - 10:50:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>1049</x-position>
+ <y-position>295</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>gag</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>gag</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>164</x>
+ <y>470</y> </coord>
+ <coord>
+<x>164</x>
+ <y>265</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeBox1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeBox1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_2</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>384</x>
+ <y>207</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeCopy_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy_2</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>674</x>
+ <y>207</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeSphere_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_2</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeTranslation_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeFuse_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_2</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>1017</x>
+ <y>366</y> </coord>
+ <coord>
+<x>1017</x>
+ <y>187</y> </coord> </coord-list> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__x1</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__y1</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__z1</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__x2</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>x2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__y2</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>y2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__z2</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>z2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__x1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__y1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__z1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__radius</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>radius</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>12</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__x1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>25</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__y1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>25</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1_1_2_2_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__z1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>25</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
GraphCpuUsed.Run()
GraphCpuUsed.DoneW()
+print GraphCpuUsed.State()
GraphCpuUsed.PrintPorts()
print "sigma",sigma.CpuUsed(),"seconds"
print "Sigma",Sigma.CpuUsed(),"seconds"
AddAndCompare_ServiceoutParameter = []
AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'FuncValue' ) )
AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'z' ) )
-AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter , AddAndCompare_ServiceoutParameter , 0 )
+AddAndCompare_ServiceinStreamParameter = []
+AddAndCompare_ServiceoutStreamParameter = []
+AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter , AddAndCompare_ServiceoutParameter , AddAndCompare_ServiceinStreamParameter , AddAndCompare_ServiceoutStreamParameter , 0 , 0 )
AddAndCompare = GraphEssai3.CNode( AddAndCompare_Service )
AddAndCompare.SetName( 'AddAndCompare' )
AddAndCompare.SetAuthor( '' )
GraphEssai3.DoneW()
-GraphEssai3.State()
+print GraphEssai3.State()
GraphEssai3.PrintPorts()
from SuperV import *
myGraph = Graph( "myDataFlow" )
-print myGraph.SetContainer('FactoryServer')
Add = myGraph.Node( "AddComponent" , "AddInterface" , "Add" )
print Add.SetContainer('dm2s0017')
--- /dev/null
+
+# Generated python file of Graph aNewDataFlow
+
+from SuperV import *
+
+# Graph creation of aNewDataFlow
+def DefaNewDataFlow() :
+ aNewDataFlow = Graph( 'aNewDataFlow' )
+ aNewDataFlow.SetName( 'aNewDataFlow' )
+ aNewDataFlow.SetAuthor( '' )
+ aNewDataFlow.SetComment( '' )
+ aNewDataFlow.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ SetStudyID = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'SetStudyID' )
+ SetStudyID.SetName( 'SetStudyID' )
+ SetStudyID.SetAuthor( '' )
+ SetStudyID.SetContainer( 'localhost/FactoryServer' )
+ SetStudyID.SetComment( 'SetStudyID from GEOM_Superv' )
+ SetStudyID.Coords( 13 , 109 )
+ ISetStudyIDtheStudyID = SetStudyID.GetInPort( 'theStudyID' )
+ ISetStudyIDGate = SetStudyID.GetInPort( 'Gate' )
+ OSetStudyIDGate = SetStudyID.GetOutPort( 'Gate' )
+
+ MakeSphere = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeSphere' )
+ MakeSphere.SetName( 'MakeSphere' )
+ MakeSphere.SetAuthor( '' )
+ MakeSphere.SetContainer( 'localhost/FactoryServer' )
+ MakeSphere.SetComment( 'MakeSphere from GEOM_Superv' )
+ MakeSphere.Coords( 210 , 49 )
+ IMakeSpheretheX = MakeSphere.GetInPort( 'theX' )
+ IMakeSpheretheY = MakeSphere.GetInPort( 'theY' )
+ IMakeSpheretheZ = MakeSphere.GetInPort( 'theZ' )
+ IMakeSpheretheRadius = MakeSphere.GetInPort( 'theRadius' )
+ IMakeSphereGate = MakeSphere.GetInPort( 'Gate' )
+ OMakeSpherereturn = MakeSphere.GetOutPort( 'return' )
+ OMakeSphereGate = MakeSphere.GetOutPort( 'Gate' )
+
+ MakeCopy = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
+ MakeCopy.SetName( 'MakeCopy' )
+ MakeCopy.SetAuthor( '' )
+ MakeCopy.SetContainer( 'localhost/FactoryServer' )
+ MakeCopy.SetComment( 'MakeCopy from GEOM_Superv' )
+ MakeCopy.Coords( 412 , 12 )
+ IMakeCopytheOriginal = MakeCopy.GetInPort( 'theOriginal' )
+ IMakeCopyGate = MakeCopy.GetInPort( 'Gate' )
+ OMakeCopyreturn = MakeCopy.GetOutPort( 'return' )
+ OMakeCopyGate = MakeCopy.GetOutPort( 'Gate' )
+
+ MakeCopy_1 = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
+ MakeCopy_1.SetName( 'MakeCopy_1' )
+ MakeCopy_1.SetAuthor( '' )
+ MakeCopy_1.SetContainer( 'localhost/FactoryServer' )
+ MakeCopy_1.SetComment( 'MakeCopy from GEOM_Superv' )
+ MakeCopy_1.Coords( 414 , 183 )
+ IMakeCopy_1theOriginal = MakeCopy_1.GetInPort( 'theOriginal' )
+ IMakeCopy_1Gate = MakeCopy_1.GetInPort( 'Gate' )
+ OMakeCopy_1return = MakeCopy_1.GetOutPort( 'return' )
+ OMakeCopy_1Gate = MakeCopy_1.GetOutPort( 'Gate' )
+
+ TranslateDXDYDZ = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'TranslateDXDYDZ' )
+ TranslateDXDYDZ.SetName( 'TranslateDXDYDZ' )
+ TranslateDXDYDZ.SetAuthor( '' )
+ TranslateDXDYDZ.SetContainer( 'localhost/FactoryServer' )
+ TranslateDXDYDZ.SetComment( 'TranslateDXDYDZ from GEOM_Superv' )
+ TranslateDXDYDZ.Coords( 606 , 12 )
+ ITranslateDXDYDZtheObject = TranslateDXDYDZ.GetInPort( 'theObject' )
+ ITranslateDXDYDZtheDX = TranslateDXDYDZ.GetInPort( 'theDX' )
+ ITranslateDXDYDZtheDY = TranslateDXDYDZ.GetInPort( 'theDY' )
+ ITranslateDXDYDZtheDZ = TranslateDXDYDZ.GetInPort( 'theDZ' )
+ ITranslateDXDYDZGate = TranslateDXDYDZ.GetInPort( 'Gate' )
+ OTranslateDXDYDZreturn = TranslateDXDYDZ.GetOutPort( 'return' )
+ OTranslateDXDYDZGate = TranslateDXDYDZ.GetOutPort( 'Gate' )
+
+ MakeFuse = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
+ MakeFuse.SetName( 'MakeFuse' )
+ MakeFuse.SetAuthor( '' )
+ MakeFuse.SetContainer( 'localhost/FactoryServer' )
+ MakeFuse.SetComment( 'MakeFuse from GEOM_Superv' )
+ MakeFuse.Coords( 801 , 163 )
+ IMakeFusetheShape1 = MakeFuse.GetInPort( 'theShape1' )
+ IMakeFusetheShape2 = MakeFuse.GetInPort( 'theShape2' )
+ IMakeFuseGate = MakeFuse.GetInPort( 'Gate' )
+ OMakeFusereturn = MakeFuse.GetOutPort( 'return' )
+ OMakeFuseGate = MakeFuse.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LSetStudyIDGateMakeSphereGate = aNewDataFlow.Link( OSetStudyIDGate , IMakeSphereGate )
+
+ LMakeSpherereturnMakeCopytheOriginal = aNewDataFlow.Link( OMakeSpherereturn , IMakeCopytheOriginal )
+
+ LMakeSpherereturnMakeCopy_1theOriginal = aNewDataFlow.Link( OMakeSpherereturn , IMakeCopy_1theOriginal )
+
+ LMakeCopyreturnTranslateDXDYDZtheObject = aNewDataFlow.Link( OMakeCopyreturn , ITranslateDXDYDZtheObject )
+
+ LMakeCopy_1returnMakeFusetheShape2 = aNewDataFlow.Link( OMakeCopy_1return , IMakeFusetheShape2 )
+
+ LTranslateDXDYDZreturnMakeFusetheShape1 = aNewDataFlow.Link( OTranslateDXDYDZreturn , IMakeFusetheShape1 )
+
+ # Input datas
+ ISetStudyIDtheStudyID.Input( 1 )
+ IMakeSpheretheX.Input( 0 )
+ IMakeSpheretheY.Input( 0 )
+ IMakeSpheretheZ.Input( 0 )
+ IMakeSpheretheRadius.Input( 20 )
+ ITranslateDXDYDZtheDX.Input( 10 )
+ ITranslateDXDYDZtheDY.Input( 10 )
+ ITranslateDXDYDZtheDZ.Input( 10 )
+
+ # Output Ports of the graph
+ #OMakeFusereturn = MakeFuse.GetOutPort( 'return' )
+ return aNewDataFlow
+
+
+aNewDataFlow = DefaNewDataFlow()
-<!DOCTYPE Dataflow>
+<!DOCTYPE SuperGraph>
+<supergraph>
<dataflow>
<info-list>
<node>
<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphGeomEssai</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphGeomEssai</service-name>
- <inParameter-list>
+ <interface-name>?</interface-name>
+ <node-name>aNewDataFlow</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>aNewDataFlow</service-name>
+ <inParameter-list>
<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>SetStudyID__theStudyID</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\x1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>MakeSphere__theX</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\y1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>MakeSphere__theY</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\z1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>MakeSphere__theZ</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\radius</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>MakeSphere__theRadius</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\x1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>TranslateDXDYDZ__theDX</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\y1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>TranslateDXDYDZ__theDY</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\z1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
+ <inParameter-name>TranslateDXDYDZ__theDZ</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>MakeFuse\shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>10/7/2002 - 14:53:2</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>MakeFuse__return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>29/10/2004 - 11:8:11</creation-date>
+ <lastmodification-date>11/11/2004 - 12:53:24</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
<node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeCopy</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeCopy from GEOM</comment>
- <x-position>269</x-position>
- <y-position>85</y-position> </node>
- <node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeFuse</service-name>
- <inParameter-list>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>SetStudyID</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>SetStudyID</service-name>
+ <inParameter-list>
<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeFuse from GEOM</comment>
- <x-position>725</x-position>
- <y-position>179</y-position> </node>
- <node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeSphere</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>theStudyID</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 12:50:30</creation-date>
+ <lastmodification-date>11/11/2004 - 12:50:30</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>SetStudyID from GEOM_Superv</comment>
+ <x-position>13</x-position>
+ <y-position>109</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeSphere</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
<service-name>MakeSphere</service-name>
- <inParameter-list>
+ <inParameter-list>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>theX</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>theY</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>theZ</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>radius</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
+ <inParameter-name>theRadius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeSphere from GEOM</comment>
- <x-position>28</x-position>
- <y-position>188</y-position> </node>
- <node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeTranslation</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeTranslation</service-name>
- <inParameter-list>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 12:51:22</creation-date>
+ <lastmodification-date>11/11/2004 - 12:51:22</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeSphere from GEOM_Superv</comment>
+ <x-position>210</x-position>
+ <y-position>49</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeCopy</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy</service-name>
+ <inParameter-list>
<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
- <inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theOriginal</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 12:52:16</creation-date>
+ <lastmodification-date>11/11/2004 - 12:52:16</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from GEOM_Superv</comment>
+ <x-position>412</x-position>
+ <y-position>12</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeCopy_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theOriginal</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 12:52:31</creation-date>
+ <lastmodification-date>11/11/2004 - 12:52:31</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from GEOM_Superv</comment>
+ <x-position>414</x-position>
+ <y-position>183</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>TranslateDXDYDZ</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>TranslateDXDYDZ</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theObject</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>theDX</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
+ <inParameter-name>theDY</inParameter-name> </inParameter>
+ <inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
+ <inParameter-name>theDZ</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeTranslation from GEOM</comment>
- <x-position>493</x-position>
- <y-position>85</y-position> </node>
- <node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeCopy</service-name>
- <inParameter-list>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 12:52:54</creation-date>
+ <lastmodification-date>11/11/2004 - 12:52:54</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>TranslateDXDYDZ from GEOM_Superv</comment>
+ <x-position>606</x-position>
+ <y-position>12</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeFuse</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse</service-name>
+ <inParameter-list>
<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>24/9/2003 - 16:13:48</creation-date>
- <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeCopy from GEOM</comment>
- <x-position>283</x-position>
- <y-position>391</y-position> </node> </node-list>
- <link-list>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 12:53:16</creation-date>
+ <lastmodification-date>11/11/2004 - 12:53:16</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from GEOM_Superv</comment>
+ <x-position>801</x-position>
+ <y-position>163</y-position> </node> </node-list>
+ <link-list>
<link>
-<fromnode-name>MakeCopy</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
+<fromnode-name>SetStudyID</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
<fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeCopy</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>225</x>
- <y>165</y> </coord>
- <coord>
-<x>224</x>
- <y>269</y> </coord> </coord-list> </link>
- <link>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeCopy</tonode-name>
+ <toserviceparameter-name>theOriginal</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
<fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeCopy_1</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>223</x>
- <y>472</y> </coord>
- <coord>
-<x>224</x>
- <y>270</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MakeTranslation</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>688</x>
- <y>259</y> </coord>
- <coord>
-<x>687</x>
- <y>165</y> </coord> </coord-list> </link>
- <link>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeCopy_1</tonode-name>
+ <toserviceparameter-name>theOriginal</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theObject</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
<fromnode-name>MakeCopy_1</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>689</x>
- <y>289</y> </coord>
- <coord>
-<x>690</x>
- <y>471</y> </coord> </coord-list> </link> </link-list>
- <data-list>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>theShape2</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>TranslateDXDYDZ</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>theShape1</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
<data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>SetStudyID__theStudyID</fromserviceparameter-name>
+ <tonode-name>SetStudyID</tonode-name>
+ <toserviceparameter-name>theStudyID</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>1</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theX</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>theX</toserviceparameter-name>
+ <data-value>
<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theY</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>theY</toserviceparameter-name>
+ <data-value>
<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theZ</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>theZ</toserviceparameter-name>
+ <data-value>
<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>radius</toserviceparameter-name>
- <data-value>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theRadius</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>theRadius</toserviceparameter-name>
+ <data-value>
<value-type>7</value-type>
- <value>20</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
+ <value>20</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDX</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDX</toserviceparameter-name>
+ <data-value>
<value-type>7</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
+ <value>10</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDY</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDY</toserviceparameter-name>
+ <data-value>
<value-type>7</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
+ <value>10</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDZ</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDZ</toserviceparameter-name>
+ <data-value>
<value-type>7</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
+ <value>10</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
--- /dev/null
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>GraphGeomEssai</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>GraphGeomEssai</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\radius</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation\x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation\y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation\z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>MakeFuse\shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <Parameter-list/>
+ <PyFunction-list/>
+ <creation-date>10/7/2002 - 14:53:2</creation-date>
+ <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+ <editor-release>1.03</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeCopy</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <Parameter-list/>
+ <PyFunction-list/>
+ <creation-date>24/9/2003 - 16:13:48</creation-date>
+ <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+ <editor-release>1.03</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from GEOM</comment>
+ <x-position>269</x-position>
+ <y-position>85</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeFuse</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <Parameter-list/>
+ <PyFunction-list/>
+ <creation-date>24/9/2003 - 16:13:48</creation-date>
+ <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+ <editor-release>1.03</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from GEOM</comment>
+ <x-position>725</x-position>
+ <y-position>179</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeSphere</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeSphere</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>radius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <Parameter-list/>
+ <PyFunction-list/>
+ <creation-date>24/9/2003 - 16:13:48</creation-date>
+ <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+ <editor-release>1.03</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeSphere from GEOM</comment>
+ <x-position>28</x-position>
+ <y-position>188</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeTranslation</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeTranslation</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <Parameter-list/>
+ <PyFunction-list/>
+ <creation-date>24/9/2003 - 16:13:48</creation-date>
+ <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+ <editor-release>1.03</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeTranslation from GEOM</comment>
+ <x-position>493</x-position>
+ <y-position>85</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeCopy_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <Parameter-list/>
+ <PyFunction-list/>
+ <creation-date>24/9/2003 - 16:13:48</creation-date>
+ <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+ <editor-release>1.03</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from GEOM</comment>
+ <x-position>283</x-position>
+ <y-position>391</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>MakeCopy</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeSphere</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>225</x>
+ <y>165</y> </coord>
+ <coord>
+<x>224</x>
+ <y>269</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeSphere</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>223</x>
+ <y>472</y> </coord>
+ <coord>
+<x>224</x>
+ <y>270</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeTranslation</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>688</x>
+ <y>259</y> </coord>
+ <coord>
+<x>687</x>
+ <y>165</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeCopy_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>689</x>
+ <y>289</y> </coord>
+ <coord>
+<x>690</x>
+ <y>471</y> </coord> </coord-list> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>radius</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>20</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>10</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>10</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>10</value> </data-value>
+ <coord-list/> </data> </data-list></dataflow>
--- /dev/null
+
+# Generated python file of Graph GraphGeomEssai_1_1_1_1
+
+from SuperV import *
+
+# Graph creation of GraphGeomEssai_1_1_1_1
+def DefGraphGeomEssai_1_1_1_1() :
+ GraphGeomEssai_1_1_1_1 = Graph( 'GraphGeomEssai_1_1_1_1' )
+ GraphGeomEssai_1_1_1_1.SetName( 'GraphGeomEssai_1_1_1_1' )
+ GraphGeomEssai_1_1_1_1.SetAuthor( '' )
+ GraphGeomEssai_1_1_1_1.SetComment( '' )
+ GraphGeomEssai_1_1_1_1.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ Pygag = []
+ Pygag.append( 'from batchmode_geompy import * ' )
+ Pygag.append( 'def gag(): ' )
+ Pygag.append( ' # This is a gag ' )
+ Pygag.append( ' return 1 ' )
+ gag = GraphGeomEssai_1_1_1_1.INode( 'gag' , Pygag )
+ gag.SetName( 'gag' )
+ gag.SetAuthor( '' )
+ gag.SetComment( 'Compute Node' )
+ gag.Coords( 0 , 166 )
+ IgagGate = gag.GetInPort( 'Gate' )
+ OgagGate = gag.GetOutPort( 'Gate' )
+
+ PyMakeSphere_1 = []
+ PyMakeSphere_1.append( 'def MakeSphere_1(x1,y1,z1,radius): ' )
+ PyMakeSphere_1.append( ' apoint=MakeVertex(x1,y1,z1) ' )
+ PyMakeSphere_1.append( ' shape=MakeSpherePntR(apoint,radius) ' )
+ PyMakeSphere_1.append( ' return shape ' )
+ MakeSphere_1 = GraphGeomEssai_1_1_1_1.INode( 'MakeSphere_1' , PyMakeSphere_1 )
+ MakeSphere_1.SetName( 'MakeSphere_1' )
+ MakeSphere_1.SetAuthor( '' )
+ MakeSphere_1.SetComment( 'Compute Node' )
+ MakeSphere_1.Coords( 181 , 86 )
+ IMakeSphere_1x1 = MakeSphere_1.InPort( 'x1' , 'double' )
+ IMakeSphere_1y1 = MakeSphere_1.InPort( 'y1' , 'double' )
+ IMakeSphere_1z1 = MakeSphere_1.InPort( 'z1' , 'double' )
+ IMakeSphere_1radius = MakeSphere_1.InPort( 'radius' , 'double' )
+ IMakeSphere_1Gate = MakeSphere_1.GetInPort( 'Gate' )
+ OMakeSphere_1shape = MakeSphere_1.OutPort( 'shape' , 'objref' )
+ OMakeSphere_1Gate = MakeSphere_1.GetOutPort( 'Gate' )
+
+ PyMakeCopy_1 = []
+ PyMakeCopy_1.append( 'def MakeCopy_1(shape1): ' )
+ PyMakeCopy_1.append( ' shape=MakeCopy(shape1) ' )
+ PyMakeCopy_1.append( ' return shape ' )
+ MakeCopy_1 = GraphGeomEssai_1_1_1_1.INode( 'MakeCopy_1' , PyMakeCopy_1 )
+ MakeCopy_1.SetName( 'MakeCopy_1' )
+ MakeCopy_1.SetAuthor( '' )
+ MakeCopy_1.SetComment( 'Compute Node' )
+ MakeCopy_1.Coords( 386 , 2 )
+ IMakeCopy_1shape1 = MakeCopy_1.InPort( 'shape1' , 'objref' )
+ IMakeCopy_1Gate = MakeCopy_1.GetInPort( 'Gate' )
+ OMakeCopy_1shape = MakeCopy_1.OutPort( 'shape' , 'objref' )
+ OMakeCopy_1Gate = MakeCopy_1.GetOutPort( 'Gate' )
+
+ PyMakeCopy_2 = []
+ PyMakeCopy_2.append( 'def MakeCopy_2(shape1): ' )
+ PyMakeCopy_2.append( ' shape=MakeCopy(shape1) ' )
+ PyMakeCopy_2.append( ' return shape ' )
+ MakeCopy_2 = GraphGeomEssai_1_1_1_1.INode( 'MakeCopy_2' , PyMakeCopy_2 )
+ MakeCopy_2.SetName( 'MakeCopy_2' )
+ MakeCopy_2.SetAuthor( '' )
+ MakeCopy_2.SetComment( 'Compute Node' )
+ MakeCopy_2.Coords( 388 , 181 )
+ IMakeCopy_2shape1 = MakeCopy_2.InPort( 'shape1' , 'objref' )
+ IMakeCopy_2Gate = MakeCopy_2.GetInPort( 'Gate' )
+ OMakeCopy_2shape = MakeCopy_2.OutPort( 'shape' , 'objref' )
+ OMakeCopy_2Gate = MakeCopy_2.GetOutPort( 'Gate' )
+
+ PyMakeFuse_1 = []
+ PyMakeFuse_1.append( 'def MakeFuse_1(shape1,shape2): ' )
+ PyMakeFuse_1.append( ' # fuse operation 3 ' )
+ PyMakeFuse_1.append( ' shape = MakeBoolean(shape1,shape2,3) ' )
+ PyMakeFuse_1.append( ' from SALOME_NamingServicePy import SALOME_NamingServicePy_i ' )
+ PyMakeFuse_1.append( ' myNamingService = SALOME_NamingServicePy_i(orb) ' )
+ PyMakeFuse_1.append( ' aSession = myNamingService.Resolve('/Kernel/Session') ' )
+ PyMakeFuse_1.append( ' aStudyId = aSession.GetActiveStudyId() ' )
+ PyMakeFuse_1.append( ' myStudyManager = myNamingService.Resolve('/myStudyManager') ' )
+ PyMakeFuse_1.append( ' aStudy = myStudyManager.GetStudyByID(aStudyId) ' )
+ PyMakeFuse_1.append( ' aSObject = geom.AddInStudy(aStudy, shape, "shape", None) ' )
+ PyMakeFuse_1.append( ' return shape ' )
+ MakeFuse_1 = GraphGeomEssai_1_1_1_1.INode( 'MakeFuse_1' , PyMakeFuse_1 )
+ MakeFuse_1.SetName( 'MakeFuse_1' )
+ MakeFuse_1.SetAuthor( '' )
+ MakeFuse_1.SetComment( 'Compute Node' )
+ MakeFuse_1.Coords( 779 , 161 )
+ IMakeFuse_1shape1 = MakeFuse_1.InPort( 'shape1' , 'objref' )
+ IMakeFuse_1shape2 = MakeFuse_1.InPort( 'shape2' , 'objref' )
+ IMakeFuse_1Gate = MakeFuse_1.GetInPort( 'Gate' )
+ OMakeFuse_1shape = MakeFuse_1.OutPort( 'shape' , 'objref' )
+ OMakeFuse_1Gate = MakeFuse_1.GetOutPort( 'Gate' )
+
+ PyMakeTranslation_1 = []
+ PyMakeTranslation_1.append( 'def MakeTranslation_1(shape1,x1,y1,z1): ' )
+ PyMakeTranslation_1.append( ' shape = MakeTranslation(shape1,x1,y1,z1) ' )
+ PyMakeTranslation_1.append( ' return shape' )
+ MakeTranslation_1 = GraphGeomEssai_1_1_1_1.INode( 'MakeTranslation_1' , PyMakeTranslation_1 )
+ MakeTranslation_1.SetName( 'MakeTranslation_1' )
+ MakeTranslation_1.SetAuthor( '' )
+ MakeTranslation_1.SetComment( 'Compute Node' )
+ MakeTranslation_1.Coords( 580 , 2 )
+ IMakeTranslation_1shape1 = MakeTranslation_1.InPort( 'shape1' , 'objref' )
+ IMakeTranslation_1x1 = MakeTranslation_1.InPort( 'x1' , 'double' )
+ IMakeTranslation_1y1 = MakeTranslation_1.InPort( 'y1' , 'double' )
+ IMakeTranslation_1z1 = MakeTranslation_1.InPort( 'z1' , 'double' )
+ IMakeTranslation_1Gate = MakeTranslation_1.GetInPort( 'Gate' )
+ OMakeTranslation_1shape = MakeTranslation_1.OutPort( 'shape' , 'objref' )
+ OMakeTranslation_1Gate = MakeTranslation_1.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LgagGateMakeSphere_1Gate = GraphGeomEssai_1_1_1_1.Link( OgagGate , IMakeSphere_1Gate )
+
+ LMakeSphere_1shapeMakeCopy_1shape1 = GraphGeomEssai_1_1_1_1.Link( OMakeSphere_1shape , IMakeCopy_1shape1 )
+
+ LMakeSphere_1shapeMakeCopy_2shape1 = GraphGeomEssai_1_1_1_1.Link( OMakeSphere_1shape , IMakeCopy_2shape1 )
+
+ LMakeCopy_1shapeMakeTranslation_1shape1 = GraphGeomEssai_1_1_1_1.Link( OMakeCopy_1shape , IMakeTranslation_1shape1 )
+
+ LMakeCopy_2shapeMakeFuse_1shape2 = GraphGeomEssai_1_1_1_1.Link( OMakeCopy_2shape , IMakeFuse_1shape2 )
+
+ LMakeTranslation_1shapeMakeFuse_1shape1 = GraphGeomEssai_1_1_1_1.Link( OMakeTranslation_1shape , IMakeFuse_1shape1 )
+
+ # Input datas
+ IMakeSphere_1x1.Input( 0 )
+ IMakeSphere_1y1.Input( 0 )
+ IMakeSphere_1z1.Input( 0 )
+ IMakeSphere_1radius.Input( 20 )
+ IMakeTranslation_1x1.Input( 10 )
+ IMakeTranslation_1y1.Input( 10 )
+ IMakeTranslation_1z1.Input( 10 )
+
+ # Output Ports of the graph
+ #OMakeFuse_1shape = MakeFuse_1.GetOutPort( 'shape' )
+ return GraphGeomEssai_1_1_1_1
+
+
+GraphGeomEssai_1_1_1_1 = DefGraphGeomEssai_1_1_1_1()
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>GraphGeomEssai_1_1_1_1</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>GraphGeomEssai_1_1_1_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__radius</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>MakeFuse_1__shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>10/7/2002 - 14:53:2</creation-date>
+ <lastmodification-date>29/10/2004 - 15:7:37</lastmodification-date>
+ <editor-release>1.03</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>gag</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>gag</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>gag</FuncName>
+ <PyFunc><![CDATA[from batchmode_geompy import * ]]></PyFunc>
+ <PyFunc><![CDATA[def gag(): ]]></PyFunc>
+ <PyFunc><![CDATA[ # This is a gag ]]></PyFunc>
+ <PyFunc><![CDATA[ return 1 ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 14:58:4</creation-date>
+ <lastmodification-date>29/10/2004 - 14:58:4</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>0</x-position>
+ <y-position>166</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeSphere_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeSphere_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>radius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeSphere_1</FuncName>
+ <PyFunc><![CDATA[def MakeSphere_1(x1,y1,z1,radius): ]]></PyFunc>
+ <PyFunc><![CDATA[ apoint=MakeVertex(x1,y1,z1) ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeSpherePntR(apoint,radius) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 14:58:4</creation-date>
+ <lastmodification-date>29/10/2004 - 14:58:4</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>181</x-position>
+ <y-position>86</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeCopy_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeCopy_1</FuncName>
+ <PyFunc><![CDATA[def MakeCopy_1(shape1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeCopy(shape1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 14:58:4</creation-date>
+ <lastmodification-date>29/10/2004 - 14:58:4</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>386</x-position>
+ <y-position>2</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeCopy_2</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy_2</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeCopy_2</FuncName>
+ <PyFunc><![CDATA[def MakeCopy_2(shape1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeCopy(shape1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 14:58:4</creation-date>
+ <lastmodification-date>29/10/2004 - 14:58:4</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>388</x-position>
+ <y-position>181</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeFuse_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeFuse_1</FuncName>
+ <PyFunc><![CDATA[def MakeFuse_1(shape1,shape2): ]]></PyFunc>
+ <PyFunc><![CDATA[ # fuse operation 3 ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeBoolean(shape1,shape2,3) ]]></PyFunc>
+ <PyFunc><![CDATA[ from SALOME_NamingServicePy import SALOME_NamingServicePy_i ]]></PyFunc>
+ <PyFunc><![CDATA[ myNamingService = SALOME_NamingServicePy_i(orb) ]]></PyFunc>
+ <PyFunc><![CDATA[ aSession = myNamingService.Resolve('/Kernel/Session') ]]></PyFunc>
+ <PyFunc><![CDATA[ aStudyId = aSession.GetActiveStudyId() ]]></PyFunc>
+ <PyFunc><![CDATA[ myStudyManager = myNamingService.Resolve('/myStudyManager') ]]></PyFunc>
+ <PyFunc><![CDATA[ aStudy = myStudyManager.GetStudyByID(aStudyId) ]]></PyFunc>
+ <PyFunc><![CDATA[ aSObject = geom.AddInStudy(aStudy, shape, "shape", None) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 14:58:4</creation-date>
+ <lastmodification-date>29/10/2004 - 14:58:4</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>779</x-position>
+ <y-position>161</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeTranslation_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeTranslation_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeTranslation_1</FuncName>
+ <PyFunc><![CDATA[def MakeTranslation_1(shape1,x1,y1,z1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeTranslation(shape1,x1,y1,z1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:1:27</creation-date>
+ <lastmodification-date>29/10/2004 - 15:1:27</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>580</x-position>
+ <y-position>2</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>gag</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeSphere_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeSphere_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_2</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy_2</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeTranslation_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphGeomEssai_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__x1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__y1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__z1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__radius</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>radius</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>20</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__x1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>10</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__y1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>10</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphGeomEssai_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__z1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>10</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
Adda.AddCoord( 3 , 645 , 334 )
Adda.AddCoord( 4 , 645 , 204 )
-GraphInLinesUnValid.IsValid()
+statvalid = GraphInLinesUnValid.IsValid()
+if statvalid != 0 :
+ print "ERROR : GraphInLinesUnValid should not be valid"
+else :
+ print "Ok : GraphInLinesUnValid is not valid"
# Creation of Output variables
-GraphInLinesUnValid.Run()
+statrun = GraphInLinesUnValid.Run()
+if statrun != 0 :
+ print "ERROR : GraphInLinesUnValid should not run"
+else :
+ print "Ok : GraphInLinesUnValid does not run"
-GraphInLinesUnValid.IsDone()
-GraphInLinesUnValid.State()
-
-GraphInLinesUnValid.PrintPorts()
from GraphSwitch1 import *
# Merge of GraphSwitch1 in GraphSwitch
-GraphSwitch.Merge( GraphSwitch1 )
+statmerge = GraphSwitch.Merge( GraphSwitch1 )
+if statmerge == 0 :
+ print "Failed to merge GraphSwitch1 in GraphSwitch"
# Create a variable for each node of GraphSwitch :
# IsOdd,IsOdd_1,InitLoopSwitch,InitLoop,EndOfInitLoopSwitch,EndOfInitLoop,Switch,Switch_1,EndOfSwitch,EndSwitch
GraphSwitch.Run()
GraphSwitch.DoneW()
-GraphSwitch.State()
+print GraphSwitch.State()
GraphSwitch.PrintPorts()
GraphSwitch1.Run()
GraphSwitch1.DoneW()
-GraphSwitch1.State()
+print GraphSwitch1.State()
GraphSwitch1.PrintPorts()
GraphSwitchCrash.Run()
GraphSwitchCrash.DoneW()
-GraphSwitchCrash.State()
+print GraphSwitchCrash.State()
GraphSwitchCrash.PrintPorts()
GraphSwitchs.Run()
GraphSwitchs.DoneW()
-GraphSwitchs.State()
+print GraphSwitchs.State()
GraphSwitchs.PrintPorts()
GraphSyrControl.DoneW()
-GraphSyrControl.State()
+print GraphSyrControl.State()
GraphSyrControl.PrintPorts()
GraphSyrControl1.DoneW()
-GraphSyrControl1.State()
+print GraphSyrControl1.State()
GraphSyrControl1.PrintPorts()
GraphSyrControlAve.Run()
GraphSyrControlAve.DoneW()
-GraphSyrControlAve.State()
+print GraphSyrControlAve.State()
GraphSyrControlAve.PrintPorts()
# Creation of Output variables
EndSwitch_OneEvenK = EndSwitch_OneEven.Port( 'K' )
+
+GraphSyrControlDefault.Run()
+GraphSyrControlDefault.DoneW()
+print GraphSyrControlDefault.State()
+GraphSyrControlDefault.PrintPorts()
# Creation of Output variables
label_testFinished = label_test.Port( 'Finished' )
+
+GraphSyrControlGUI.Run()
+GraphSyrControlGUI.DoneW()
+print GraphSyrControlGUI.State()
+GraphSyrControlGUI.PrintPorts()
GraphSyracuseC.LevelMax()
-GraphSyracuseC.GraphsNumber()
+GraphSyracuseC.SubGraphsNumber()
GraphSyracuseC.IsExecutable()
test_ISONE.Resume()
test_ISEVEN.Resume()
GraphSyracuseC.DoneW()
+print GraphSyracuseC.State()
GraphSyracuseC.PrintPorts()
GraphSyracuseC.PrintThreads()
GraphSyracuseCEv.LevelMax()
-GraphSyracuseCEv.GraphsNumber()
+GraphSyracuseCEv.SubGraphsNumber()
GraphSyracuseCEv.IsExecutable()
aStatus,aNode,anEvent,aState = GraphSyracuseCEv.Event()
GraphSyracuseCEv.DoneW()
+print GraphSyracuseCEv.State()
GraphSyracuseCEv.PrintThreads()
GraphSyracuseCEv.PrintPorts()
+++ /dev/null
-# Copyright (C) 2003 CEA/DEN, EDF R&D
-#
-#
-#
-# File : GraphSyracuseC_Gate.py
-# Module : SuperVisionTest
-
-from SuperV import *
-# Graph creation
-GraphSyracuseC_Gate = Graph( 'GraphSyracuseC_Gate' )
-GraphSyracuseC_Gate.SetName( 'GraphSyracuseC_Gate' )
-GraphSyracuseC_Gate.SetAuthor( 'JR' )
-GraphSyracuseC_Gate.SetComment( 'Syracuse algorithm' )
-GraphSyracuseC_Gate.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-test_ISEVEN = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-test_ISEVEN.SetName( 'test_ISEVEN' )
-test_ISEVEN.SetAuthor( '' )
-test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-test_ISEVEN.Coords( 5 , 416 )
-test_ISONE = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-test_ISONE.SetName( 'test_ISONE' )
-test_ISONE.SetAuthor( '' )
-test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-test_ISONE.Coords( 7 , 232 )
-m3p1 = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
-m3p1.SetName( 'm3p1' )
-m3p1.SetAuthor( '' )
-m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 180 , 417 )
-div2 = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
-div2.SetName( 'div2' )
-div2.SetAuthor( '' )
-div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 435 , 7 )
-div2_ISEVEN = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
-div2_ISEVEN.SetName( 'div2_ISEVEN' )
-div2_ISEVEN.SetAuthor( '' )
-div2_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-div2_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
-div2_ISEVEN.Coords( 663 , 193 )
-div2_ISONE = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
-div2_ISONE.SetName( 'div2_ISONE' )
-div2_ISONE.SetAuthor( '' )
-div2_ISONE.SetContainer( 'localhost/FactoryServer' )
-div2_ISONE.SetComment( 'C_ISONE from SyrComponent' )
-div2_ISONE.Coords( 651 , 6 )
-incr = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
-incr.SetName( 'incr' )
-incr.SetAuthor( '' )
-incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 434 , 193 )
-
-# Creation of intermediate Output variables and of Control Links
-test_ISEVENOutGate = test_ISEVEN.Port( 'OutGate' )
-m3p1InGate = GraphSyracuseC_Gate.Link( test_ISEVENOutGate , m3p1.Port( 'InGate' ) )
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-div2anEvenInteger = GraphSyracuseC_Gate.Link( m3p1anEvenInteger , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 373 , 117 )
-div2anEvenInteger.AddCoord( 2 , 373 , 528 )
-div2anInteger = div2.Port( 'anInteger' )
-div2_ISONEanInteger = GraphSyracuseC_Gate.Link( div2anInteger , div2_ISONE.Port( 'anInteger' ) )
-div2_ISEVENanInteger = GraphSyracuseC_Gate.Link( div2anInteger , div2_ISEVEN.Port( 'anInteger' ) )
-div2_ISEVENanInteger.AddCoord( 1 , 626 , 302 )
-div2_ISEVENanInteger.AddCoord( 2 , 626 , 116 )
-
-# Creation of Input datas
-test_ISEVENanInteger = test_ISEVEN.Input( 'anInteger' , 31)
-test_ISONEanInteger = test_ISONE.Input( 'anInteger' , 31)
-m3p1anOddInteger = m3p1.Input( 'anOddInteger' , 31)
-incraCount = incr.Input( 'aCount' , 0)
-
-# Creation of Output variables
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-div2_ISEVENBoolEven = div2_ISEVEN.Port( 'BoolEven' )
-div2_ISONEBoolOne = div2_ISONE.Port( 'BoolOne' )
-incraNewCount = incr.Port( 'aNewCount' )
-
-
-GraphSyracuseC_Gate.Start()
-
-div2InanInteger = div2.Port( 'anEvenInteger' )
-
-m3p1.Suspend()
-
-div2_ISEVEN.SuspendDone()
-div2_ISONE.SuspendDone()
-
-test_ISEVEN.Resume()
-test_ISONE.Resume()
-
-# Attente de fin d'execution de test
-test_ISONE.DoneW()
-test_ISEVEN.DoneW()
-
-m3p1.SuspendedW()
-incr.SuspendedW()
-incr.SuspendDone()
-
-# Etats et Threads des nodes
-GraphSyracuseC_Gate.PrintThreads()
-
-BoolOne = int( test_ISONEBoolOne.ToString() )
-BoolEven = int( test_ISEVENBoolEven.ToString() )
-while BoolOne == 0 :
- if BoolEven == 0 :
- sts = div2_ISONE.ReRunAt('m3p1')
- if sts == 0 :
- print 'div2_ISONE.ReRunAt error'
- break
- sts = incr.ReRun()
- if sts == 0 :
- print 'incr.ReRun error'
- break
- sts = m3p1.DoneW()
- if sts == 0 :
- print 'm3p1.DoneW error'
- break
- sts = incr.DoneW()
- if sts == 0 :
- print 'incr.DoneW error'
- break
- sts = incraCount.Input( int( incraNewCount.ToString() ) + 1 )
- if sts == 0 :
- print 'incraCount.Input error'
- break
- BoolEven = 1
- BoolOne = 0
- Current = int( m3p1anEvenInteger.ToString() )
- print incraNewCount.ToString(),"m3p1",Current,BoolEven
- if Current <= 0 :
- break
- if Current <= 0 :
- break
- while BoolEven == 1 :
- sts = incr.ReRun()
- if sts == 0 :
- print 'incr.ReRun error'
- break
- sts = div2.DoneW()
- if sts == 0 :
- print 'div2.DoneW error'
- break
- sts = div2_ISEVEN.DoneW()
- if sts == 0 :
- print 'div2_ISEVEN.DoneW error'
- break
- sts = div2_ISONE.DoneW()
- if sts == 0 :
- print 'div2_ISONE.DoneW error'
- break
- sts = incr.DoneW()
- if sts == 0 :
- print 'incr.DoneW error'
- break
- sts = incraCount.Input( incraNewCount.ToString() )
- if sts == 0 :
- print 'incraCount.Input error'
- break
- BoolOne = int( div2_ISONEBoolOne.ToString() )
- BoolEven = int( div2_ISEVENBoolEven.ToString() )
- Current = int( div2anInteger.ToString() )
- print incraNewCount.ToString(),"div2",Current,BoolEven,BoolOne
- if Current <= 0 :
- break
- if BoolEven == 1 :
- sts = div2InanInteger.Input( Current )
- if sts == 0 :
- print 'div2InanInteger.Input error'
- break
- sts = div2_ISONE.ReRunAt('div2')
- if sts == 0 :
- print 'div2_ISONE.ReRunAt error'
- break
- if Current <= 0 :
- break
- sts = m3p1anOddInteger.Input( Current )
- if sts == 0 :
- print 'm3p1anOddInteger.Input error'
- break
- sts = m3p1InGate.InPort().Input( 1 )
- if sts == 0 :
- print 'm3p1InGate.InPort error'
- break
-
-
-GraphSyracuseC_Gate.PrintThreads()
-m3p1.Resume()
-div2.Resume()
-incr.Resume()
-div2_ISONE.Resume()
-div2_ISEVEN.Resume()
-GraphSyracuseC_Gate.DoneW()
-GraphSyracuseC_Gate.PrintPorts()
-GraphSyracuseC_Gate.PrintThreads()
-
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>GraphSyracuseC_Gate</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>GraphSyracuseC_Gate</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>test_ISEVEN\anInteger</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>test_ISONE\anInteger</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>m3p1\anOddInteger</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>incr\aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>test_ISEVEN\BoolEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>test_ISONE\BoolOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>div2_ISEVEN\BoolEven</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>div2_ISONE\BoolOne</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>incr\aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/3/2003 - 16:25:34</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>JR</author>
- <container>?</container>
- <comment>Syracuse algorithm</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:10</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>5</x-position>
- <y-position>416</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>test_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:10</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>7</x-position>
- <y-position>232</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>m3p1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_M3P1</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anOddInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anEvenInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:10</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_M3P1 from SyrComponent</comment>
- <x-position>180</x-position>
- <y-position>417</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_DIV2</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anEvenInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>anInteger</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:10</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_DIV2 from SyrComponent</comment>
- <x-position>435</x-position>
- <y-position>7</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2_ISEVEN</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISEVEN</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolEven</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:11</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISEVEN from SyrComponent</comment>
- <x-position>663</x-position>
- <y-position>193</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>div2_ISONE</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_ISONE</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>anInteger</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>BoolOne</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:11</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_ISONE from SyrComponent</comment>
- <x-position>651</x-position>
- <y-position>6</y-position> </node>
- <node>
-<component-name>SyrComponent</component-name>
- <interface-name>SyrComponent</interface-name>
- <node-name>incr</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>C_INCR</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>aCount</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>aNewCount</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>11/6/2003 - 16:1:11</creation-date>
- <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
- <editor-release>1.04</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>C_INCR from SyrComponent</comment>
- <x-position>434</x-position>
- <y-position>193</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>test_ISEVEN</fromnode-name>
- <fromserviceparameter-name>OutGate</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>InGate</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>m3p1</fromnode-name>
- <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
- <tonode-name>div2</tonode-name>
- <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>373</x>
- <y>117</y> </coord>
- <coord>
-<x>373</x>
- <y>528</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>div2_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>div2</fromnode-name>
- <fromserviceparameter-name>anInteger</fromserviceparameter-name>
- <tonode-name>div2_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>626</x>
- <y>302</y> </coord>
- <coord>
-<x>626</x>
- <y>116</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
- <fromserviceparameter-name>test_ISEVEN\anInteger</fromserviceparameter-name>
- <tonode-name>test_ISEVEN</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>31</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
- <fromserviceparameter-name>test_ISONE\anInteger</fromserviceparameter-name>
- <tonode-name>test_ISONE</tonode-name>
- <toserviceparameter-name>anInteger</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>31</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
- <fromserviceparameter-name>m3p1\anOddInteger</fromserviceparameter-name>
- <tonode-name>m3p1</tonode-name>
- <toserviceparameter-name>anOddInteger</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>31</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
- <fromserviceparameter-name>incr\aCount</fromserviceparameter-name>
- <tonode-name>incr</tonode-name>
- <toserviceparameter-name>aCount</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
GraphSyracuseC_Void = Graph( 'GraphSyracuseC_Void' )
print GraphSyracuseC_Void.SetName( 'GraphSyracuseC_Void' )
print GraphSyracuseC_Void.SetAuthor( 'JR' )
-print GraphSyracuseC_Void.SetContainer( 'localhost/FactoryServer' )
print GraphSyracuseC_Void.SetComment( 'Syracuse algorithm' )
GraphSyracuseC_Void.Coords( 0 , 0 )
div2_ISONE.Resume()
div2_ISEVEN.Resume()
GraphSyracuseC_Void.DoneW()
+print GraphSyracuseC_Void.State()
GraphSyracuseC_Void.PrintPorts()
GraphSyracuseC_Void.PrintThreads()
GraphSyracuseControl = Graph( 'GraphSyracuseControl' )
print GraphSyracuseControl.SetName( 'GraphSyracuseControl' )
print GraphSyracuseControl.SetAuthor( 'JR' )
-print GraphSyracuseControl.SetContainer( 'localhost/FactoryServer' )
print GraphSyracuseControl.SetComment( 'Syracuse algorithm' )
GraphSyracuseControl.Coords( 0 , 0 )
GraphSyracuseControl.DoneW()
-GraphSyracuseControl.State()
+print GraphSyracuseControl.State()
GraphSyracuseControl.PrintPorts()
sts = result_Count.ControlClear()
sts = result_Count.Resume()
sts = GraphSyracuseCpp.DoneW()
+print sts
GraphSyracuseCpp.PrintPorts()
GraphSyracuseCpp.PrintThreads()
AddFuncValue = Add.Port( 'FuncValue' )
Divz = Div.Port( 'z' )
-GraphInLinesUnValid.IsValid()
+statvalid = GraphInLinesUnValid.IsValid()
+if statvalid == 0 :
+ print "Unvalid graph : Ok"
+else :
+ print "Error : the graph should not be valid"
# Creation of Output variables
-GraphUnValid.Run()
+statrun = GraphUnValid.Run()
+if statrun == 0 :
+ print "Unvalid graph ==> No Run : Ok"
+else :
+ print "Error : the graph is not valid and is running"
GraphUnValid.IsDone()
--- /dev/null
+
+# Generated python file of Graph aNewDataFlow
+
+from SuperV import *
+
+# Graph creation of aNewDataFlow
+def DefaNewDataFlow() :
+ aNewDataFlow = Graph( 'aNewDataFlow' )
+ aNewDataFlow.SetName( 'aNewDataFlow' )
+ aNewDataFlow.SetAuthor( '' )
+ aNewDataFlow.SetComment( '' )
+ aNewDataFlow.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ TranslateDXDYDZ = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'TranslateDXDYDZ' )
+ TranslateDXDYDZ.SetName( 'TranslateDXDYDZ' )
+ TranslateDXDYDZ.SetAuthor( '' )
+ TranslateDXDYDZ.SetContainer( 'localhost/FactoryServer' )
+ TranslateDXDYDZ.SetComment( 'TranslateDXDYDZ from GEOM_Superv' )
+ TranslateDXDYDZ.Coords( 735 , 14 )
+ ITranslateDXDYDZtheObject = TranslateDXDYDZ.GetInPort( 'theObject' )
+ ITranslateDXDYDZtheDX = TranslateDXDYDZ.GetInPort( 'theDX' )
+ ITranslateDXDYDZtheDY = TranslateDXDYDZ.GetInPort( 'theDY' )
+ ITranslateDXDYDZtheDZ = TranslateDXDYDZ.GetInPort( 'theDZ' )
+ ITranslateDXDYDZGate = TranslateDXDYDZ.GetInPort( 'Gate' )
+ OTranslateDXDYDZreturn = TranslateDXDYDZ.GetOutPort( 'return' )
+ OTranslateDXDYDZGate = TranslateDXDYDZ.GetOutPort( 'Gate' )
+
+ MakeCopy = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
+ MakeCopy.SetName( 'MakeCopy' )
+ MakeCopy.SetAuthor( '' )
+ MakeCopy.SetContainer( 'localhost/FactoryServer' )
+ MakeCopy.SetComment( 'MakeCopy from GEOM_Superv' )
+ MakeCopy.Coords( 477 , 14 )
+ IMakeCopytheOriginal = MakeCopy.GetInPort( 'theOriginal' )
+ IMakeCopyGate = MakeCopy.GetInPort( 'Gate' )
+ OMakeCopyreturn = MakeCopy.GetOutPort( 'return' )
+ OMakeCopyGate = MakeCopy.GetOutPort( 'Gate' )
+
+ MakeBox = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeBox' )
+ MakeBox.SetName( 'MakeBox' )
+ MakeBox.SetAuthor( '' )
+ MakeBox.SetContainer( 'localhost/FactoryServer' )
+ MakeBox.SetComment( 'MakeBox from GEOM_Superv' )
+ MakeBox.Coords( 219 , 14 )
+ IMakeBoxtheX1 = MakeBox.GetInPort( 'theX1' )
+ IMakeBoxtheY1 = MakeBox.GetInPort( 'theY1' )
+ IMakeBoxtheZ1 = MakeBox.GetInPort( 'theZ1' )
+ IMakeBoxtheX2 = MakeBox.GetInPort( 'theX2' )
+ IMakeBoxtheY2 = MakeBox.GetInPort( 'theY2' )
+ IMakeBoxtheZ2 = MakeBox.GetInPort( 'theZ2' )
+ IMakeBoxGate = MakeBox.GetInPort( 'Gate' )
+ OMakeBoxreturn = MakeBox.GetOutPort( 'return' )
+ OMakeBoxGate = MakeBox.GetOutPort( 'Gate' )
+
+ MakeCopy_1 = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
+ MakeCopy_1.SetName( 'MakeCopy_1' )
+ MakeCopy_1.SetAuthor( '' )
+ MakeCopy_1.SetContainer( 'localhost/FactoryServer' )
+ MakeCopy_1.SetComment( 'MakeCopy from GEOM_Superv' )
+ MakeCopy_1.Coords( 482 , 306 )
+ IMakeCopy_1theOriginal = MakeCopy_1.GetInPort( 'theOriginal' )
+ IMakeCopy_1Gate = MakeCopy_1.GetInPort( 'Gate' )
+ OMakeCopy_1return = MakeCopy_1.GetOutPort( 'return' )
+ OMakeCopy_1Gate = MakeCopy_1.GetOutPort( 'Gate' )
+
+ MakeFuse = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
+ MakeFuse.SetName( 'MakeFuse' )
+ MakeFuse.SetAuthor( '' )
+ MakeFuse.SetContainer( 'localhost/FactoryServer' )
+ MakeFuse.SetComment( 'MakeFuse from GEOM_Superv' )
+ MakeFuse.Coords( 950 , 121 )
+ IMakeFusetheShape1 = MakeFuse.GetInPort( 'theShape1' )
+ IMakeFusetheShape2 = MakeFuse.GetInPort( 'theShape2' )
+ IMakeFuseGate = MakeFuse.GetInPort( 'Gate' )
+ OMakeFusereturn = MakeFuse.GetOutPort( 'return' )
+ OMakeFuseGate = MakeFuse.GetOutPort( 'Gate' )
+
+ MakeSphere = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeSphere' )
+ MakeSphere.SetName( 'MakeSphere' )
+ MakeSphere.SetAuthor( '' )
+ MakeSphere.SetContainer( 'localhost/FactoryServer' )
+ MakeSphere.SetComment( 'MakeSphere from GEOM_Superv' )
+ MakeSphere.Coords( 227 , 409 )
+ IMakeSpheretheX = MakeSphere.GetInPort( 'theX' )
+ IMakeSpheretheY = MakeSphere.GetInPort( 'theY' )
+ IMakeSpheretheZ = MakeSphere.GetInPort( 'theZ' )
+ IMakeSpheretheRadius = MakeSphere.GetInPort( 'theRadius' )
+ IMakeSphereGate = MakeSphere.GetInPort( 'Gate' )
+ OMakeSpherereturn = MakeSphere.GetOutPort( 'return' )
+ OMakeSphereGate = MakeSphere.GetOutPort( 'Gate' )
+
+ MakeFuse_1 = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
+ MakeFuse_1.SetName( 'MakeFuse_1' )
+ MakeFuse_1.SetAuthor( '' )
+ MakeFuse_1.SetContainer( 'localhost/FactoryServer' )
+ MakeFuse_1.SetComment( 'MakeFuse from GEOM_Superv' )
+ MakeFuse_1.Coords( 1217 , 389 )
+ IMakeFuse_1theShape1 = MakeFuse_1.GetInPort( 'theShape1' )
+ IMakeFuse_1theShape2 = MakeFuse_1.GetInPort( 'theShape2' )
+ IMakeFuse_1Gate = MakeFuse_1.GetInPort( 'Gate' )
+ OMakeFuse_1return = MakeFuse_1.GetOutPort( 'return' )
+ OMakeFuse_1Gate = MakeFuse_1.GetOutPort( 'Gate' )
+
+ SetStudyID = aNewDataFlow.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'SetStudyID' )
+ SetStudyID.SetName( 'SetStudyID' )
+ SetStudyID.SetAuthor( '' )
+ SetStudyID.SetContainer( 'localhost/FactoryServer' )
+ SetStudyID.SetComment( 'SetStudyID from GEOM_Superv' )
+ SetStudyID.Coords( 7 , 269 )
+ ISetStudyIDtheStudyID = SetStudyID.GetInPort( 'theStudyID' )
+ ISetStudyIDGate = SetStudyID.GetInPort( 'Gate' )
+ OSetStudyIDGate = SetStudyID.GetOutPort( 'Gate' )
+
+ # Creation of Macro Nodes
+ aNewDataFlow_1 = DefaNewDataFlow_1()
+ Macro_aNewDataFlow_1 = aNewDataFlow.GraphMNode( aNewDataFlow_1 )
+ Macro_aNewDataFlow_1.SetCoupled( 'aNewDataFlow_1' )
+ Macro_aNewDataFlow_1.SetName( 'Macro_aNewDataFlow_1' )
+ Macro_aNewDataFlow_1.SetAuthor( '' )
+ Macro_aNewDataFlow_1.SetComment( 'Macro Node' )
+ Macro_aNewDataFlow_1.Coords( 480 , 145 )
+ IMacro_aNewDataFlow_1sum__a = Macro_aNewDataFlow_1.GetInPort( 'sum__a' )
+ IMacro_aNewDataFlow_1sum__b = Macro_aNewDataFlow_1.GetInPort( 'sum__b' )
+ IMacro_aNewDataFlow_1Gate = Macro_aNewDataFlow_1.GetInPort( 'Gate' )
+ OMacro_aNewDataFlow_1Mult__b = Macro_aNewDataFlow_1.GetOutPort( 'Mult__b' )
+ OMacro_aNewDataFlow_1Gate = Macro_aNewDataFlow_1.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LMacro_aNewDataFlow_1Mult__bTranslateDXDYDZtheDY = aNewDataFlow.Link( OMacro_aNewDataFlow_1Mult__b , ITranslateDXDYDZtheDY )
+
+ LTranslateDXDYDZreturnMakeFusetheShape1 = aNewDataFlow.Link( OTranslateDXDYDZreturn , IMakeFusetheShape1 )
+
+ LMakeCopyreturnTranslateDXDYDZtheObject = aNewDataFlow.Link( OMakeCopyreturn , ITranslateDXDYDZtheObject )
+
+ LMakeBoxreturnMakeCopytheOriginal = aNewDataFlow.Link( OMakeBoxreturn , IMakeCopytheOriginal )
+
+ LMakeBoxreturnMakeCopy_1theOriginal = aNewDataFlow.Link( OMakeBoxreturn , IMakeCopy_1theOriginal )
+
+ LMakeCopy_1returnMakeFusetheShape2 = aNewDataFlow.Link( OMakeCopy_1return , IMakeFusetheShape2 )
+
+ LMakeFusereturnMakeFuse_1theShape1 = aNewDataFlow.Link( OMakeFusereturn , IMakeFuse_1theShape1 )
+
+ LMakeSpherereturnMakeFuse_1theShape2 = aNewDataFlow.Link( OMakeSpherereturn , IMakeFuse_1theShape2 )
+
+ LSetStudyIDGateMakeBoxGate = aNewDataFlow.Link( OSetStudyIDGate , IMakeBoxGate )
+
+ LSetStudyIDGateMakeSphereGate = aNewDataFlow.Link( OSetStudyIDGate , IMakeSphereGate )
+
+ # Input datas
+ IMacro_aNewDataFlow_1sum__a.Input( 1 )
+ IMacro_aNewDataFlow_1sum__b.Input( 2 )
+ ITranslateDXDYDZtheDX.Input( 25 )
+ ITranslateDXDYDZtheDZ.Input( 25 )
+ IMakeBoxtheX1.Input( 0 )
+ IMakeBoxtheY1.Input( 0 )
+ IMakeBoxtheZ1.Input( 0 )
+ IMakeBoxtheX2.Input( 50 )
+ IMakeBoxtheY2.Input( 50 )
+ IMakeBoxtheZ2.Input( 50 )
+ IMakeSpheretheX.Input( 0 )
+ IMakeSpheretheY.Input( 0 )
+ IMakeSpheretheZ.Input( 0 )
+ IMakeSpheretheRadius.Input( 12 )
+ ISetStudyIDtheStudyID.Input( 1 )
+
+ # Output Ports of the graph
+ #OMakeFuse_1return = MakeFuse_1.GetOutPort( 'return' )
+ return aNewDataFlow
+
+# Graph creation of aNewDataFlow_1
+def DefaNewDataFlow_1() :
+ aNewDataFlow_1 = Graph( 'aNewDataFlow_1' )
+ aNewDataFlow_1.SetCoupled( 'Macro_aNewDataFlow_1' )
+ aNewDataFlow_1.SetName( 'aNewDataFlow_1' )
+ aNewDataFlow_1.SetAuthor( '' )
+ aNewDataFlow_1.SetComment( '' )
+ aNewDataFlow_1.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ PyMult = []
+ PyMult.append( 'def Mult(a): ' )
+ PyMult.append( ' b = a*3 ' )
+ PyMult.append( ' return b ' )
+ Mult = aNewDataFlow_1.INode( 'Mult' , PyMult )
+ Mult.SetName( 'Mult' )
+ Mult.SetAuthor( '' )
+ Mult.SetComment( 'Compute Node' )
+ Mult.Coords( 382 , 78 )
+ IMulta = Mult.InPort( 'a' , 'double' )
+ IMultGate = Mult.GetInPort( 'Gate' )
+ OMultb = Mult.OutPort( 'b' , 'double' )
+ OMultGate = Mult.GetOutPort( 'Gate' )
+
+ Pysum = []
+ Pysum.append( 'def sum(a, b): ' )
+ Pysum.append( ' return a+b' )
+ sum = aNewDataFlow_1.INode( 'sum' , Pysum )
+ sum.SetName( 'sum' )
+ sum.SetAuthor( '' )
+ sum.SetComment( 'Compute Node' )
+ sum.Coords( 47 , 87 )
+ Isuma = sum.InPort( 'a' , 'double' )
+ Isumb = sum.InPort( 'b' , 'double' )
+ IsumGate = sum.GetInPort( 'Gate' )
+ Osums = sum.OutPort( 's' , 'double' )
+ OsumGate = sum.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LsumsMulta = aNewDataFlow_1.Link( Osums , IMulta )
+
+ # Input Ports of the graph
+ #Isuma = sum.GetInPort( 'a' )
+ #Isumb = sum.GetInPort( 'b' )
+
+ # Output Ports of the graph
+ #OMultb = Mult.GetOutPort( 'b' )
+ return aNewDataFlow_1
+
+
+aNewDataFlow = DefaNewDataFlow()
<node>
<component-name>?</component-name>
<interface-name>?</interface-name>
- <node-name>GeomGraph_3</node-name>
+ <node-name>aNewDataFlow</node-name>
<kind>1</kind>
<coupled-node>?</coupled-node>
<service>
-<service-name>GeomGraph_3</service-name>
+<service-name>aNewDataFlow</service-name>
<inParameter-list>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox__x1</inParameter-name> </inParameter>
+ <inParameter-name>Macro_aNewDataFlow_1__sum__a</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox__y1</inParameter-name> </inParameter>
+ <inParameter-name>Macro_aNewDataFlow_1__sum__b</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox__z1</inParameter-name> </inParameter>
+ <inParameter-name>TranslateDXDYDZ__theDX</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox__x2</inParameter-name> </inParameter>
+ <inParameter-name>TranslateDXDYDZ__theDZ</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox__y2</inParameter-name> </inParameter>
+ <inParameter-name>MakeBox__theX1</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox__z2</inParameter-name> </inParameter>
+ <inParameter-name>MakeBox__theY1</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation__x1</inParameter-name> </inParameter>
+ <inParameter-name>MakeBox__theZ1</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation__z1</inParameter-name> </inParameter>
+ <inParameter-name>MakeBox__theX2</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere__x1</inParameter-name> </inParameter>
+ <inParameter-name>MakeBox__theY2</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere__y1</inParameter-name> </inParameter>
+ <inParameter-name>MakeBox__theZ2</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere__z1</inParameter-name> </inParameter>
+ <inParameter-name>MakeSphere__theX</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere__radius</inParameter-name> </inParameter>
+ <inParameter-name>MakeSphere__theY</inParameter-name> </inParameter>
<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>Macro_aNewDataFlow_1_5_1__sum__a</inParameter-name> </inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__theZ</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__theRadius</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>long</inParameter-type>
- <inParameter-name>Macro_aNewDataFlow_1_5_1__sum__b</inParameter-name> </inParameter> </inParameter-list>
+ <inParameter-name>SetStudyID__theStudyID</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>MakeFuse_1__shape</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>MakeFuse_1__return</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list/>
- <creation-date>13/3/2003 - 11:46:34</creation-date>
- <lastmodification-date>2/7/2004 - 11:13:17</lastmodification-date>
- <editor-release>1.04</editor-release>
+ <creation-date>29/10/2004 - 14:37:33</creation-date>
+ <lastmodification-date>11/11/2004 - 13:15:14</lastmodification-date>
+ <editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<comment>?</comment>
<y-position>0</y-position> </node> </info-list>
<node-list>
<node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeBox</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>Macro_aNewDataFlow_1</node-name>
+ <kind>10</kind>
+ <coupled-node>aNewDataFlow_1</coupled-node>
<service>
-<service-name>MakeBox</service-name>
+<service-name>aNewDataFlow_1</service-name>
<inParameter-list>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y2</inParameter-name> </inParameter>
+ <inParameter-name>sum__a</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>z2</inParameter-name> </inParameter> </inParameter-list>
+ <inParameter-name>sum__b</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>double</outParameter-type>
+ <outParameter-name>Mult__b</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
- <PyFunction-list/>
- <creation-date>2/7/2004 - 11:10:39</creation-date>
- <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
- <editor-release>1.04</editor-release>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>11/11/2004 - 13:11:17</creation-date>
+ <lastmodification-date>11/11/2004 - 13:11:17</lastmodification-date>
+ <editor-release>2.0</editor-release>
<author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeBox from Geometry</comment>
- <x-position>5</x-position>
- <y-position>101</y-position> </node>
+ <container>?</container>
+ <comment>Macro Node</comment>
+ <x-position>480</x-position>
+ <y-position>145</y-position> </node>
<node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy</node-name>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>TranslateDXDYDZ</node-name>
<kind>0</kind>
<coupled-node>?</coupled-node>
<service>
-<service-name>MakeCopy</service-name>
+<service-name>TranslateDXDYDZ</service-name>
<inParameter-list>
<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theObject</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theDX</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theDY</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theDZ</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list/>
- <creation-date>2/7/2004 - 11:10:39</creation-date>
- <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
- <editor-release>1.04</editor-release>
+ <creation-date>11/11/2004 - 13:11:58</creation-date>
+ <lastmodification-date>11/11/2004 - 13:11:58</lastmodification-date>
+ <editor-release>2.0</editor-release>
<author>?</author>
<container>localhost/FactoryServer</container>
- <comment>MakeCopy from Geometry</comment>
- <x-position>235</x-position>
- <y-position>77</y-position> </node>
+ <comment>TranslateDXDYDZ from GEOM_Superv</comment>
+ <x-position>735</x-position>
+ <y-position>14</y-position> </node>
<node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy_1</node-name>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeCopy</node-name>
<kind>0</kind>
<coupled-node>?</coupled-node>
<service>
<service-name>MakeCopy</service-name>
<inParameter-list>
<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theOriginal</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list/>
- <creation-date>2/7/2004 - 11:10:39</creation-date>
- <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
- <editor-release>1.04</editor-release>
+ <creation-date>11/11/2004 - 13:12:24</creation-date>
+ <lastmodification-date>11/11/2004 - 13:12:24</lastmodification-date>
+ <editor-release>2.0</editor-release>
<author>?</author>
<container>localhost/FactoryServer</container>
- <comment>MakeCopy from Geometry</comment>
- <x-position>249</x-position>
- <y-position>371</y-position> </node>
+ <comment>MakeCopy from GEOM_Superv</comment>
+ <x-position>477</x-position>
+ <y-position>14</y-position> </node>
<node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeTranslation</node-name>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeBox</node-name>
<kind>0</kind>
<coupled-node>?</coupled-node>
<service>
-<service-name>MakeTranslation</service-name>
+<service-name>MakeBox</service-name>
<inParameter-list>
<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theX1</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter-name>theY1</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter-name>theZ1</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
+ <inParameter-name>theX2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theY2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theZ2</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list/>
- <creation-date>2/7/2004 - 11:10:39</creation-date>
- <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
- <editor-release>1.04</editor-release>
+ <creation-date>11/11/2004 - 13:12:49</creation-date>
+ <lastmodification-date>11/11/2004 - 13:12:49</lastmodification-date>
+ <editor-release>2.0</editor-release>
<author>?</author>
<container>localhost/FactoryServer</container>
- <comment>MakeTranslation from Geometry</comment>
- <x-position>449</x-position>
- <y-position>86</y-position> </node>
+ <comment>MakeBox from GEOM_Superv</comment>
+ <x-position>219</x-position>
+ <y-position>14</y-position> </node>
<node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse</node-name>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeCopy_1</node-name>
<kind>0</kind>
<coupled-node>?</coupled-node>
<service>
-<service-name>MakeFuse</service-name>
+<service-name>MakeCopy</service-name>
<inParameter-list>
<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theOriginal</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list/>
- <creation-date>2/7/2004 - 11:10:39</creation-date>
- <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
- <editor-release>1.04</editor-release>
+ <creation-date>11/11/2004 - 13:13:9</creation-date>
+ <lastmodification-date>11/11/2004 - 13:13:9</lastmodification-date>
+ <editor-release>2.0</editor-release>
<author>?</author>
<container>localhost/FactoryServer</container>
- <comment>MakeFuse from Geometry</comment>
- <x-position>678</x-position>
- <y-position>224</y-position> </node>
+ <comment>MakeCopy from GEOM_Superv</comment>
+ <x-position>482</x-position>
+ <y-position>306</y-position> </node>
<node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse_1</node-name>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeFuse</node-name>
<kind>0</kind>
<coupled-node>?</coupled-node>
<service>
<service-name>MakeFuse</service-name>
<inParameter-list>
<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape1</inParameter-name> </inParameter>
<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape2</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list/>
- <creation-date>2/7/2004 - 11:10:39</creation-date>
- <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
- <editor-release>1.04</editor-release>
+ <creation-date>11/11/2004 - 13:13:47</creation-date>
+ <lastmodification-date>11/11/2004 - 13:13:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
<author>?</author>
<container>localhost/FactoryServer</container>
- <comment>MakeFuse from Geometry</comment>
- <x-position>909</x-position>
- <y-position>340</y-position> </node>
+ <comment>MakeFuse from GEOM_Superv</comment>
+ <x-position>950</x-position>
+ <y-position>121</y-position> </node>
<node>
-<component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
<node-name>MakeSphere</node-name>
<kind>0</kind>
<coupled-node>?</coupled-node>
<inParameter-list>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter-name>theX</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter-name>theY</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter-name>theZ</inParameter-name> </inParameter>
<inParameter>
<inParameter-type>double</inParameter-type>
- <inParameter-name>radius</inParameter-name> </inParameter> </inParameter-list>
+ <inParameter-name>theRadius</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list/>
- <creation-date>2/7/2004 - 11:10:39</creation-date>
- <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
- <editor-release>1.04</editor-release>
+ <creation-date>11/11/2004 - 13:14:15</creation-date>
+ <lastmodification-date>11/11/2004 - 13:14:15</lastmodification-date>
+ <editor-release>2.0</editor-release>
<author>?</author>
<container>localhost/FactoryServer</container>
- <comment>MakeSphere from Geometry</comment>
- <x-position>5</x-position>
- <y-position>449</y-position> </node>
+ <comment>MakeSphere from GEOM_Superv</comment>
+ <x-position>227</x-position>
+ <y-position>409</y-position> </node>
<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>Macro_aNewDataFlow_1_5_1</node-name>
- <kind>10</kind>
- <coupled-node>aNewDataFlow_1_5_1</coupled-node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeFuse_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
<service>
-<service-name>aNewDataFlow_1_5_1</service-name>
+<service-name>MakeFuse</service-name>
<inParameter-list>
<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>sum__a</inParameter-name> </inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape1</inParameter-name> </inParameter>
<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>sum__b</inParameter-name> </inParameter> </inParameter-list>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape2</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Mult__b</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
- <PyFunction-list>
-<PyFunction>
-<FuncName>?</FuncName>
- <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/7/2004 - 11:11:42</creation-date>
- <lastmodification-date>2/7/2004 - 11:11:42</lastmodification-date>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 13:14:36</creation-date>
+ <lastmodification-date>11/11/2004 - 13:14:36</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
- <container>?</container>
- <comment>Macro Node</comment>
- <x-position>237</x-position>
- <y-position>215</y-position> </node> </node-list>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from GEOM_Superv</comment>
+ <x-position>1217</x-position>
+ <y-position>389</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>SetStudyID</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>SetStudyID</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>theStudyID</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 13:15:1</creation-date>
+ <lastmodification-date>11/11/2004 - 13:15:1</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>SetStudyID from GEOM_Superv</comment>
+ <x-position>7</x-position>
+ <y-position>269</y-position> </node> </node-list>
<link-list>
<link>
+<fromnode-name>Macro_aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>Mult__b</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDY</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>TranslateDXDYDZ</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>theShape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theObject</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
<fromnode-name>MakeBox</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
<tonode-name>MakeCopy</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>198</x>
- <y>184</y> </coord>
- <coord>
-<x>199</x>
- <y>209</y> </coord> </coord-list> </link>
+ <toserviceparameter-name>theOriginal</toserviceparameter-name>
+ <coord-list/> </link>
<link>
<fromnode-name>MakeBox</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
<tonode-name>MakeCopy_1</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>198</x>
- <y>441</y> </coord>
- <coord>
-<x>198</x>
- <y>209</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MakeCopy</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
+ <toserviceparameter-name>theOriginal</toserviceparameter-name>
<coord-list/> </link>
<link>
<fromnode-name>MakeCopy_1</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>642</x>
- <y>362</y> </coord>
- <coord>
-<x>642</x>
- <y>442</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MakeTranslation</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
<tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>643</x>
- <y>330</y> </coord>
- <coord>
-<x>644</x>
- <y>195</y> </coord> </coord-list> </link>
+ <toserviceparameter-name>theShape2</toserviceparameter-name>
+ <coord-list/> </link>
<link>
<fromnode-name>MakeFuse</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
<tonode-name>MakeFuse_1</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>872</x>
- <y>445</y> </coord>
- <coord>
-<x>874</x>
- <y>333</y> </coord> </coord-list> </link>
+ <toserviceparameter-name>theShape1</toserviceparameter-name>
+ <coord-list/> </link>
<link>
<fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
<tonode-name>MakeFuse_1</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>872</x>
- <y>474</y> </coord>
- <coord>
-<x>871</x>
- <y>552</y> </coord> </coord-list> </link>
+ <toserviceparameter-name>theShape2</toserviceparameter-name>
+ <coord-list/> </link>
<link>
-<fromnode-name>Macro_aNewDataFlow_1_5_1</fromnode-name>
- <fromserviceparameter-name>Mult__b</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
+<fromnode-name>SetStudyID</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SetStudyID</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
<coord-list/> </link> </link-list>
<data-list>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeBox__x1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>Macro_aNewDataFlow_1__sum__a</fromserviceparameter-name>
+ <tonode-name>Macro_aNewDataFlow_1</tonode-name>
+ <toserviceparameter-name>sum__a</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
- <value>0</value> </data-value>
+ <value>1</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeBox__y1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>Macro_aNewDataFlow_1__sum__b</fromserviceparameter-name>
+ <tonode-name>Macro_aNewDataFlow_1</tonode-name>
+ <toserviceparameter-name>sum__b</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
- <value>0</value> </data-value>
+ <value>2</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDX</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDX</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>25</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeBox__z1</fromserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDZ</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDZ</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>25</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theX1</fromserviceparameter-name>
<tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
+ <toserviceparameter-name>theX1</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
<value>0</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeBox__x2</fromserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theY1</fromserviceparameter-name>
<tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x2</toserviceparameter-name>
+ <toserviceparameter-name>theY1</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
- <value>50</value> </data-value>
+ <value>0</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeBox__y2</fromserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theZ1</fromserviceparameter-name>
<tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y2</toserviceparameter-name>
+ <toserviceparameter-name>theZ1</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
- <value>50</value> </data-value>
+ <value>0</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeBox__z2</fromserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theX2</fromserviceparameter-name>
<tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z2</toserviceparameter-name>
+ <toserviceparameter-name>theX2</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
<value>50</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeTranslation__x1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theY2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>theY2</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
- <value>25</value> </data-value>
+ <value>50</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeTranslation__z1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeBox__theZ2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>theZ2</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
- <value>25</value> </data-value>
+ <value>50</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeSphere__x1</fromserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theX</fromserviceparameter-name>
<tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
+ <toserviceparameter-name>theX</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
<value>0</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeSphere__y1</fromserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theY</fromserviceparameter-name>
<tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
+ <toserviceparameter-name>theY</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
<value>0</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeSphere__z1</fromserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theZ</fromserviceparameter-name>
<tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
+ <toserviceparameter-name>theZ</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
<value>0</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>MakeSphere__radius</fromserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theRadius</fromserviceparameter-name>
<tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>radius</toserviceparameter-name>
+ <toserviceparameter-name>theRadius</toserviceparameter-name>
<data-value>
<value-type>7</value-type>
<value>12</value> </data-value>
<coord-list/> </data>
<data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>Macro_aNewDataFlow_1_5_1__sum__a</fromserviceparameter-name>
- <tonode-name>Macro_aNewDataFlow_1_5_1</tonode-name>
- <toserviceparameter-name>sum__a</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>GeomGraph_3</fromnode-name>
- <fromserviceparameter-name>Macro_aNewDataFlow_1_5_1__sum__b</fromserviceparameter-name>
- <tonode-name>Macro_aNewDataFlow_1_5_1</tonode-name>
- <toserviceparameter-name>sum__b</toserviceparameter-name>
+<fromnode-name>aNewDataFlow</fromnode-name>
+ <fromserviceparameter-name>SetStudyID__theStudyID</fromserviceparameter-name>
+ <tonode-name>SetStudyID</tonode-name>
+ <toserviceparameter-name>theStudyID</toserviceparameter-name>
<data-value>
<value-type>3</value-type>
- <value>7</value> </data-value>
+ <value>1</value> </data-value>
<coord-list/> </data> </data-list> </dataflow>
<dataflow>
<info-list>
<node>
<component-name>?</component-name>
<interface-name>?</interface-name>
- <node-name>aNewDataFlow_1_5_1</node-name>
+ <node-name>aNewDataFlow_1</node-name>
<kind>1</kind>
<coupled-node>?</coupled-node>
<service>
-<service-name>aNewDataFlow_1_5_1</service-name>
+<service-name>aNewDataFlow_1</service-name>
<inParameter-list>
<inParameter>
-<inParameter-type>long</inParameter-type>
+<inParameter-type>double</inParameter-type>
<inParameter-name>sum__a</inParameter-name> </inParameter>
<inParameter>
-<inParameter-type>long</inParameter-type>
+<inParameter-type>double</inParameter-type>
<inParameter-name>sum__b</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>int</outParameter-type>
+<outParameter-type>double</outParameter-type>
<outParameter-name>Mult__b</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list/>
- <creation-date>25/6/2004 - 17:42:12</creation-date>
- <lastmodification-date>2/7/2004 - 11:11:42</lastmodification-date>
+ <creation-date>29/10/2004 - 14:40:44</creation-date>
+ <lastmodification-date>11/11/2004 - 13:11:18</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<node>
<component-name>?</component-name>
<interface-name>?</interface-name>
- <node-name>sum</node-name>
+ <node-name>Mult</node-name>
<kind>3</kind>
<coupled-node>?</coupled-node>
<service>
-<service-name>sum</service-name>
+<service-name>Mult</service-name>
<inParameter-list>
<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>s</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>double</outParameter-type>
+ <outParameter-name>b</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list>
<PyFunction>
-<FuncName>sum</FuncName>
- <PyFunc><![CDATA[def sum(a, b): ]]></PyFunc>
- <PyFunc><![CDATA[ return a+b ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/7/2004 - 11:11:42</creation-date>
- <lastmodification-date>2/7/2004 - 11:11:42</lastmodification-date>
+<FuncName>Mult</FuncName>
+ <PyFunc><![CDATA[def Mult(a): ]]></PyFunc>
+ <PyFunc><![CDATA[ b = a*3 ]]></PyFunc>
+ <PyFunc><![CDATA[ return b ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>11/11/2004 - 13:11:18</creation-date>
+ <lastmodification-date>11/11/2004 - 13:11:18</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<comment>Compute Node</comment>
- <x-position>52</x-position>
- <y-position>80</y-position> </node>
+ <x-position>382</x-position>
+ <y-position>78</y-position> </node>
<node>
<component-name>?</component-name>
<interface-name>?</interface-name>
- <node-name>Mult</node-name>
+ <node-name>sum</node-name>
<kind>3</kind>
<coupled-node>?</coupled-node>
<service>
-<service-name>Mult</service-name>
+<service-name>sum</service-name>
<inParameter-list>
<inParameter>
-<inParameter-type>int</inParameter-type>
- <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>a</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>b</outParameter-name> </outParameter> </outParameter-list> </service>
+<outParameter-type>double</outParameter-type>
+ <outParameter-name>s</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list>
<PyFunction>
-<FuncName>Mult</FuncName>
- <PyFunc><![CDATA[def Mult(a): ]]></PyFunc>
- <PyFunc><![CDATA[ b = a*3 ]]></PyFunc>
- <PyFunc><![CDATA[ return b ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>2/7/2004 - 11:11:42</creation-date>
- <lastmodification-date>2/7/2004 - 11:11:42</lastmodification-date>
+<FuncName>sum</FuncName>
+ <PyFunc><![CDATA[def sum(a, b): ]]></PyFunc>
+ <PyFunc><![CDATA[ return a+b]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>11/11/2004 - 13:11:18</creation-date>
+ <lastmodification-date>11/11/2004 - 13:11:18</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<comment>Compute Node</comment>
- <x-position>298</x-position>
- <y-position>72</y-position> </node> </node-list>
+ <x-position>47</x-position>
+ <y-position>87</y-position> </node> </node-list>
<link-list>
<link>
<fromnode-name>sum</fromnode-name>
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>GeomGraph_3</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>GeomGraph_3</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__x2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__y2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox__z2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation__z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__radius</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Macro_aNewDataFlow_1_5_1__sum__a</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Macro_aNewDataFlow_1_5_1__sum__b</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>MakeFuse_1__shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>13/3/2003 - 11:46:34</creation-date>
+ <lastmodification-date>2/7/2004 - 11:13:17</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeBox</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeBox</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>2/7/2004 - 11:10:39</creation-date>
+ <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeBox from Geometry</comment>
+ <x-position>5</x-position>
+ <y-position>101</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeCopy</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>2/7/2004 - 11:10:39</creation-date>
+ <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from Geometry</comment>
+ <x-position>235</x-position>
+ <y-position>77</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeCopy_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>2/7/2004 - 11:10:39</creation-date>
+ <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from Geometry</comment>
+ <x-position>249</x-position>
+ <y-position>371</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeTranslation</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeTranslation</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>2/7/2004 - 11:10:39</creation-date>
+ <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeTranslation from Geometry</comment>
+ <x-position>449</x-position>
+ <y-position>86</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeFuse</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>2/7/2004 - 11:10:39</creation-date>
+ <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from Geometry</comment>
+ <x-position>678</x-position>
+ <y-position>224</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeFuse_1</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>2/7/2004 - 11:10:39</creation-date>
+ <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from Geometry</comment>
+ <x-position>909</x-position>
+ <y-position>340</y-position> </node>
+ <node>
+<component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeSphere</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeSphere</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>radius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>2/7/2004 - 11:10:39</creation-date>
+ <lastmodification-date>2/7/2004 - 11:10:39</lastmodification-date>
+ <editor-release>1.04</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeSphere from Geometry</comment>
+ <x-position>5</x-position>
+ <y-position>449</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>Macro_aNewDataFlow_1_5_1</node-name>
+ <kind>10</kind>
+ <coupled-node>aNewDataFlow_1_5_1</coupled-node>
+ <service>
+<service-name>aNewDataFlow_1_5_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>sum__a</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>sum__b</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+ <outParameter-name>Mult__b</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>2/7/2004 - 11:11:42</creation-date>
+ <lastmodification-date>2/7/2004 - 11:11:42</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Macro Node</comment>
+ <x-position>237</x-position>
+ <y-position>215</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>MakeBox</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>198</x>
+ <y>184</y> </coord>
+ <coord>
+<x>199</x>
+ <y>209</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeBox</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>198</x>
+ <y>441</y> </coord>
+ <coord>
+<x>198</x>
+ <y>209</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeCopy</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>642</x>
+ <y>362</y> </coord>
+ <coord>
+<x>642</x>
+ <y>442</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeTranslation</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>643</x>
+ <y>330</y> </coord>
+ <coord>
+<x>644</x>
+ <y>195</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeFuse</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>872</x>
+ <y>445</y> </coord>
+ <coord>
+<x>874</x>
+ <y>333</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeSphere</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>872</x>
+ <y>474</y> </coord>
+ <coord>
+<x>871</x>
+ <y>552</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>Macro_aNewDataFlow_1_5_1</fromnode-name>
+ <fromserviceparameter-name>Mult__b</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeBox__x1</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeBox__y1</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeBox__z1</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeBox__x2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>x2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeBox__y2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>y2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeBox__z2</fromserviceparameter-name>
+ <tonode-name>MakeBox</tonode-name>
+ <toserviceparameter-name>z2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation__x1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>25</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation__z1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>25</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__x1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__y1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__z1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__radius</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>radius</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>12</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>Macro_aNewDataFlow_1_5_1__sum__a</fromserviceparameter-name>
+ <tonode-name>Macro_aNewDataFlow_1_5_1</tonode-name>
+ <toserviceparameter-name>sum__a</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>3</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GeomGraph_3</fromnode-name>
+ <fromserviceparameter-name>Macro_aNewDataFlow_1_5_1__sum__b</fromserviceparameter-name>
+ <tonode-name>Macro_aNewDataFlow_1_5_1</tonode-name>
+ <toserviceparameter-name>sum__b</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>7</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow>
+ <dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>aNewDataFlow_1_5_1</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>aNewDataFlow_1_5_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>sum__a</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>sum__b</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+ <outParameter-name>Mult__b</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>25/6/2004 - 17:42:12</creation-date>
+ <lastmodification-date>2/7/2004 - 11:11:42</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>sum</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>sum</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>a</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>s</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>sum</FuncName>
+ <PyFunc><![CDATA[def sum(a, b): ]]></PyFunc>
+ <PyFunc><![CDATA[ return a+b ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>2/7/2004 - 11:11:42</creation-date>
+ <lastmodification-date>2/7/2004 - 11:11:42</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>52</x-position>
+ <y-position>80</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>Mult</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>Mult</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>int</inParameter-type>
+ <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+ <outParameter-name>b</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>Mult</FuncName>
+ <PyFunc><![CDATA[def Mult(a): ]]></PyFunc>
+ <PyFunc><![CDATA[ b = a*3 ]]></PyFunc>
+ <PyFunc><![CDATA[ return b ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>2/7/2004 - 11:11:42</creation-date>
+ <lastmodification-date>2/7/2004 - 11:11:42</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>298</x-position>
+ <y-position>72</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>sum</fromnode-name>
+ <fromserviceparameter-name>s</fromserviceparameter-name>
+ <tonode-name>Mult</tonode-name>
+ <toserviceparameter-name>a</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list/> </dataflow></supergraph>
--- /dev/null
+
+# Generated python file of Graph aNewDataFlow_1_4_1_1_1_1
+
+from SuperV import *
+
+# Graph creation of aNewDataFlow_1_4_1_1_1_1
+def DefaNewDataFlow_1_4_1_1_1_1() :
+ aNewDataFlow_1_4_1_1_1_1 = Graph( 'aNewDataFlow_1_4_1_1_1_1' )
+ aNewDataFlow_1_4_1_1_1_1.SetName( 'aNewDataFlow_1_4_1_1_1_1' )
+ aNewDataFlow_1_4_1_1_1_1.SetAuthor( '' )
+ aNewDataFlow_1_4_1_1_1_1.SetComment( '' )
+ aNewDataFlow_1_4_1_1_1_1.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ Pygag = []
+ Pygag.append( 'from batchmode_geompy import * ' )
+ Pygag.append( 'def gag(): ' )
+ Pygag.append( ' # This is a gag ' )
+ Pygag.append( ' return 1 ' )
+ gag = aNewDataFlow_1_4_1_1_1_1.INode( 'gag' , Pygag )
+ gag.SetName( 'gag' )
+ gag.SetAuthor( '' )
+ gag.SetComment( 'Compute Node' )
+ gag.Coords( 0 , 123 )
+ IgagGate = gag.GetInPort( 'Gate' )
+ OgagGate = gag.GetOutPort( 'Gate' )
+
+ PyMakeBox1 = []
+ PyMakeBox1.append( 'def MakeBox1(x1,y1,z1,x2,y2,z2): ' )
+ PyMakeBox1.append( ' aBox = MakeBox(x1,y1,z1,x2,y2,z2) ' )
+ PyMakeBox1.append( ' return aBox ' )
+ MakeBox1 = aNewDataFlow_1_4_1_1_1_1.INode( 'MakeBox1' , PyMakeBox1 )
+ MakeBox1.SetName( 'MakeBox1' )
+ MakeBox1.SetAuthor( '' )
+ MakeBox1.SetComment( 'Compute Node' )
+ MakeBox1.Coords( 194 , 3 )
+ IMakeBox1x1 = MakeBox1.InPort( 'x1' , 'double' )
+ IMakeBox1y1 = MakeBox1.InPort( 'y1' , 'double' )
+ IMakeBox1z1 = MakeBox1.InPort( 'z1' , 'double' )
+ IMakeBox1x2 = MakeBox1.InPort( 'x2' , 'double' )
+ IMakeBox1y2 = MakeBox1.InPort( 'y2' , 'double' )
+ IMakeBox1z2 = MakeBox1.InPort( 'z2' , 'double' )
+ IMakeBox1Gate = MakeBox1.GetInPort( 'Gate' )
+ OMakeBox1shape = MakeBox1.OutPort( 'shape' , 'objref' )
+ OMakeBox1Gate = MakeBox1.GetOutPort( 'Gate' )
+
+ PyMakeCopy_1 = []
+ PyMakeCopy_1.append( 'def MakeCopy_1(shape1): ' )
+ PyMakeCopy_1.append( ' shape=MakeCopy(shape1) ' )
+ PyMakeCopy_1.append( ' return shape ' )
+ MakeCopy_1 = aNewDataFlow_1_4_1_1_1_1.INode( 'MakeCopy_1' , PyMakeCopy_1 )
+ MakeCopy_1.SetName( 'MakeCopy_1' )
+ MakeCopy_1.SetAuthor( '' )
+ MakeCopy_1.SetComment( 'Compute Node' )
+ MakeCopy_1.Coords( 389 , 3 )
+ IMakeCopy_1shape1 = MakeCopy_1.InPort( 'shape1' , 'objref' )
+ IMakeCopy_1Gate = MakeCopy_1.GetInPort( 'Gate' )
+ OMakeCopy_1shape = MakeCopy_1.OutPort( 'shape' , 'objref' )
+ OMakeCopy_1Gate = MakeCopy_1.GetOutPort( 'Gate' )
+
+ PyMakeCopy_2 = []
+ PyMakeCopy_2.append( 'def MakeCopy_2(shape1): ' )
+ PyMakeCopy_2.append( ' shape=MakeCopy(shape1) ' )
+ PyMakeCopy_2.append( ' return shape ' )
+ MakeCopy_2 = aNewDataFlow_1_4_1_1_1_1.INode( 'MakeCopy_2' , PyMakeCopy_2 )
+ MakeCopy_2.SetName( 'MakeCopy_2' )
+ MakeCopy_2.SetAuthor( '' )
+ MakeCopy_2.SetComment( 'Compute Node' )
+ MakeCopy_2.Coords( 391 , 264 )
+ IMakeCopy_2shape1 = MakeCopy_2.InPort( 'shape1' , 'objref' )
+ IMakeCopy_2Gate = MakeCopy_2.GetInPort( 'Gate' )
+ OMakeCopy_2shape = MakeCopy_2.OutPort( 'shape' , 'objref' )
+ OMakeCopy_2Gate = MakeCopy_2.GetOutPort( 'Gate' )
+
+ PyMakeSphere_1 = []
+ PyMakeSphere_1.append( 'def MakeSphere_1(x1,y1,z1,radius): ' )
+ PyMakeSphere_1.append( ' apoint=MakeVertex(x1,y1,z1) ' )
+ PyMakeSphere_1.append( ' shape=MakeSpherePntR(apoint,radius) ' )
+ PyMakeSphere_1.append( ' return shape ' )
+ MakeSphere_1 = aNewDataFlow_1_4_1_1_1_1.INode( 'MakeSphere_1' , PyMakeSphere_1 )
+ MakeSphere_1.SetName( 'MakeSphere_1' )
+ MakeSphere_1.SetAuthor( '' )
+ MakeSphere_1.SetComment( 'Compute Node' )
+ MakeSphere_1.Coords( 203 , 315 )
+ IMakeSphere_1x1 = MakeSphere_1.InPort( 'x1' , 'double' )
+ IMakeSphere_1y1 = MakeSphere_1.InPort( 'y1' , 'double' )
+ IMakeSphere_1z1 = MakeSphere_1.InPort( 'z1' , 'double' )
+ IMakeSphere_1radius = MakeSphere_1.InPort( 'radius' , 'double' )
+ IMakeSphere_1Gate = MakeSphere_1.GetInPort( 'Gate' )
+ OMakeSphere_1shape = MakeSphere_1.OutPort( 'shape' , 'objref' )
+ OMakeSphere_1Gate = MakeSphere_1.GetOutPort( 'Gate' )
+
+ PyMakeFuse_1 = []
+ PyMakeFuse_1.append( 'def MakeFuse_1(shape1,shape2): ' )
+ PyMakeFuse_1.append( ' # fuse operation 3 ' )
+ PyMakeFuse_1.append( ' shape = MakeBoolean(shape1,shape2,3) ' )
+ PyMakeFuse_1.append( ' return shape ' )
+ MakeFuse_1 = aNewDataFlow_1_4_1_1_1_1.INode( 'MakeFuse_1' , PyMakeFuse_1 )
+ MakeFuse_1.SetName( 'MakeFuse_1' )
+ MakeFuse_1.SetAuthor( '' )
+ MakeFuse_1.SetComment( 'Compute Node' )
+ MakeFuse_1.Coords( 823 , 116 )
+ IMakeFuse_1shape1 = MakeFuse_1.InPort( 'shape1' , 'objref' )
+ IMakeFuse_1shape2 = MakeFuse_1.InPort( 'shape2' , 'objref' )
+ IMakeFuse_1Gate = MakeFuse_1.GetInPort( 'Gate' )
+ OMakeFuse_1shape = MakeFuse_1.OutPort( 'shape' , 'objref' )
+ OMakeFuse_1Gate = MakeFuse_1.GetOutPort( 'Gate' )
+
+ PyMakeFuse_2 = []
+ PyMakeFuse_2.append( 'def MakeFuse_2(shape1,shape2): ' )
+ PyMakeFuse_2.append( ' # fuse operation 3 ' )
+ PyMakeFuse_2.append( ' shape = MakeBoolean(shape1,shape2,3) ' )
+ PyMakeFuse_2.append( ' from SALOME_NamingServicePy import SALOME_NamingServicePy_i ' )
+ PyMakeFuse_2.append( ' myNamingService = SALOME_NamingServicePy_i(orb) ' )
+ PyMakeFuse_2.append( ' aSession = myNamingService.Resolve('/Kernel/Session') ' )
+ PyMakeFuse_2.append( ' aStudyId = aSession.GetActiveStudyId() ' )
+ PyMakeFuse_2.append( ' myStudyManager = myNamingService.Resolve('/myStudyManager') ' )
+ PyMakeFuse_2.append( ' aStudy = myStudyManager.GetStudyByID(aStudyId) ' )
+ PyMakeFuse_2.append( ' aSObject = geom.AddInStudy(aStudy, shape, "shape", None) ' )
+ PyMakeFuse_2.append( ' return shape ' )
+ MakeFuse_2 = aNewDataFlow_1_4_1_1_1_1.INode( 'MakeFuse_2' , PyMakeFuse_2 )
+ MakeFuse_2.SetName( 'MakeFuse_2' )
+ MakeFuse_2.SetAuthor( '' )
+ MakeFuse_2.SetComment( 'Compute Node' )
+ MakeFuse_2.Coords( 1049 , 295 )
+ IMakeFuse_2shape1 = MakeFuse_2.InPort( 'shape1' , 'objref' )
+ IMakeFuse_2shape2 = MakeFuse_2.InPort( 'shape2' , 'objref' )
+ IMakeFuse_2Gate = MakeFuse_2.GetInPort( 'Gate' )
+ OMakeFuse_2shape = MakeFuse_2.OutPort( 'shape' , 'objref' )
+ OMakeFuse_2Gate = MakeFuse_2.GetOutPort( 'Gate' )
+
+ PyMakeTranslation_1 = []
+ PyMakeTranslation_1.append( 'def MakeTranslation_1(shape1,x1,y1,z1): ' )
+ PyMakeTranslation_1.append( ' shape = MakeTranslation(shape1,x1,y1,z1) ' )
+ PyMakeTranslation_1.append( ' return shape' )
+ MakeTranslation_1 = aNewDataFlow_1_4_1_1_1_1.INode( 'MakeTranslation_1' , PyMakeTranslation_1 )
+ MakeTranslation_1.SetName( 'MakeTranslation_1' )
+ MakeTranslation_1.SetAuthor( '' )
+ MakeTranslation_1.SetComment( 'Compute Node' )
+ MakeTranslation_1.Coords( 621 , 12 )
+ IMakeTranslation_1shape1 = MakeTranslation_1.InPort( 'shape1' , 'objref' )
+ IMakeTranslation_1x1 = MakeTranslation_1.InPort( 'x1' , 'double' )
+ IMakeTranslation_1y1 = MakeTranslation_1.InPort( 'y1' , 'double' )
+ IMakeTranslation_1z1 = MakeTranslation_1.InPort( 'z1' , 'double' )
+ IMakeTranslation_1Gate = MakeTranslation_1.GetInPort( 'Gate' )
+ OMakeTranslation_1shape = MakeTranslation_1.OutPort( 'shape' , 'objref' )
+ OMakeTranslation_1Gate = MakeTranslation_1.GetOutPort( 'Gate' )
+
+ # Creation of Macro Nodes
+ aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1 = DefaNewDataFlow_1_5_1_1_3_3_1_1_1_3_1()
+ Macro_aNewDataFlow_1_5_1_1 = aNewDataFlow_1_4_1_1_1_1.GraphMNode( aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1 )
+ Macro_aNewDataFlow_1_5_1_1.SetCoupled( 'aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1' )
+ Macro_aNewDataFlow_1_5_1_1.SetName( 'Macro_aNewDataFlow_1_5_1_1' )
+ Macro_aNewDataFlow_1_5_1_1.SetAuthor( '' )
+ Macro_aNewDataFlow_1_5_1_1.SetComment( 'Macro Node' )
+ Macro_aNewDataFlow_1_5_1_1.Coords( 391 , 121 )
+ IMacro_aNewDataFlow_1_5_1_1sum__a = Macro_aNewDataFlow_1_5_1_1.GetInPort( 'sum__a' )
+ IMacro_aNewDataFlow_1_5_1_1sum__b = Macro_aNewDataFlow_1_5_1_1.GetInPort( 'sum__b' )
+ IMacro_aNewDataFlow_1_5_1_1Gate = Macro_aNewDataFlow_1_5_1_1.GetInPort( 'Gate' )
+ OMacro_aNewDataFlow_1_5_1_1Mult__b = Macro_aNewDataFlow_1_5_1_1.GetOutPort( 'Mult__b' )
+ OMacro_aNewDataFlow_1_5_1_1Gate = Macro_aNewDataFlow_1_5_1_1.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LgagGateMakeBox1Gate = aNewDataFlow_1_4_1_1_1_1.Link( OgagGate , IMakeBox1Gate )
+
+ LgagGateMakeSphere_1Gate = aNewDataFlow_1_4_1_1_1_1.Link( OgagGate , IMakeSphere_1Gate )
+ LgagGateMakeSphere_1Gate.AddCoord( 1 , 175 , 470 )
+ LgagGateMakeSphere_1Gate.AddCoord( 2 , 175 , 198 )
+
+ LMakeBox1shapeMakeCopy_1shape1 = aNewDataFlow_1_4_1_1_1_1.Link( OMakeBox1shape , IMakeCopy_1shape1 )
+
+ LMakeBox1shapeMakeCopy_2shape1 = aNewDataFlow_1_4_1_1_1_1.Link( OMakeBox1shape , IMakeCopy_2shape1 )
+ LMakeBox1shapeMakeCopy_2shape1.AddCoord( 1 , 373 , 211 )
+
+ LMakeCopy_1shapeMakeTranslation_1shape1 = aNewDataFlow_1_4_1_1_1_1.Link( OMakeCopy_1shape , IMakeTranslation_1shape1 )
+
+ LMakeCopy_2shapeMakeFuse_1shape2 = aNewDataFlow_1_4_1_1_1_1.Link( OMakeCopy_2shape , IMakeFuse_1shape2 )
+ LMakeCopy_2shapeMakeFuse_1shape2.AddCoord( 1 , 674 , 207 )
+
+ LMakeSphere_1shapeMakeFuse_2shape2 = aNewDataFlow_1_4_1_1_1_1.Link( OMakeSphere_1shape , IMakeFuse_2shape2 )
+
+ LMakeFuse_1shapeMakeFuse_2shape1 = aNewDataFlow_1_4_1_1_1_1.Link( OMakeFuse_1shape , IMakeFuse_2shape1 )
+ LMakeFuse_1shapeMakeFuse_2shape1.AddCoord( 1 , 1017 , 366 )
+ LMakeFuse_1shapeMakeFuse_2shape1.AddCoord( 2 , 1017 , 187 )
+
+ LMacro_aNewDataFlow_1_5_1_1Mult__bMakeTranslation_1y1 = aNewDataFlow_1_4_1_1_1_1.Link( OMacro_aNewDataFlow_1_5_1_1Mult__b , IMakeTranslation_1y1 )
+
+ LMakeTranslation_1shapeMakeFuse_1shape1 = aNewDataFlow_1_4_1_1_1_1.Link( OMakeTranslation_1shape , IMakeFuse_1shape1 )
+
+ # Input datas
+ IMakeBox1x1.Input( 0 )
+ IMakeBox1y1.Input( 0 )
+ IMakeBox1z1.Input( 0 )
+ IMakeBox1x2.Input( 50 )
+ IMakeBox1y2.Input( 50 )
+ IMakeBox1z2.Input( 50 )
+ IMakeSphere_1x1.Input( 0 )
+ IMakeSphere_1y1.Input( 0 )
+ IMakeSphere_1z1.Input( 0 )
+ IMakeSphere_1radius.Input( 12 )
+ IMacro_aNewDataFlow_1_5_1_1sum__a.Input( 1 )
+ IMacro_aNewDataFlow_1_5_1_1sum__b.Input( 2 )
+ IMakeTranslation_1x1.Input( 25 )
+ IMakeTranslation_1z1.Input( 25 )
+
+ # Output Ports of the graph
+ #OMakeFuse_2shape = MakeFuse_2.GetOutPort( 'shape' )
+ return aNewDataFlow_1_4_1_1_1_1
+
+# Graph creation of aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1
+def DefaNewDataFlow_1_5_1_1_3_3_1_1_1_3_1() :
+ aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1 = Graph( 'aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1' )
+ aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1.SetCoupled( 'Macro_aNewDataFlow_1_5_1_1' )
+ aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1.SetName( 'aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1' )
+ aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1.SetAuthor( '' )
+ aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1.SetComment( '' )
+ aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ Pysum = []
+ Pysum.append( 'def sum(a, b): ' )
+ Pysum.append( ' return a+b ' )
+ sum = aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1.INode( 'sum' , Pysum )
+ sum.SetName( 'sum' )
+ sum.SetAuthor( '' )
+ sum.SetComment( 'Compute Node' )
+ sum.Coords( 52 , 80 )
+ Isuma = sum.InPort( 'a' , 'double' )
+ Isumb = sum.InPort( 'b' , 'double' )
+ IsumGate = sum.GetInPort( 'Gate' )
+ Osums = sum.OutPort( 's' , 'double' )
+ OsumGate = sum.GetOutPort( 'Gate' )
+
+ PyMult = []
+ PyMult.append( 'def Mult(a): ' )
+ PyMult.append( ' b = a*3 ' )
+ PyMult.append( ' return b ' )
+ Mult = aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1.INode( 'Mult' , PyMult )
+ Mult.SetName( 'Mult' )
+ Mult.SetAuthor( '' )
+ Mult.SetComment( 'Compute Node' )
+ Mult.Coords( 298 , 72 )
+ IMulta = Mult.InPort( 'a' , 'double' )
+ IMultGate = Mult.GetInPort( 'Gate' )
+ OMultb = Mult.OutPort( 'b' , 'double' )
+ OMultGate = Mult.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LsumsMulta = aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1.Link( Osums , IMulta )
+
+ # Input Ports of the graph
+ #Isuma = sum.GetInPort( 'a' )
+ #Isumb = sum.GetInPort( 'b' )
+
+ # Output Ports of the graph
+ #OMultb = Mult.GetOutPort( 'b' )
+ return aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1
+
+
+aNewDataFlow_1_4_1_1_1_1 = DefaNewDataFlow_1_4_1_1_1_1()
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>aNewDataFlow_1_4_1_1_1_1</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>aNewDataFlow_1_4_1_1_1_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__x2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__y2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeBox1__z2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__radius</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>Macro_aNewDataFlow_1_5_1_1__sum__a</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>Macro_aNewDataFlow_1_5_1_1__sum__b</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>MakeFuse_2__shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>25/8/2004 - 16:28:50</creation-date>
+ <lastmodification-date>29/10/2004 - 15:25:57</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>gag</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>gag</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>gag</FuncName>
+ <PyFunc><![CDATA[from batchmode_geompy import * ]]></PyFunc>
+ <PyFunc><![CDATA[def gag(): ]]></PyFunc>
+ <PyFunc><![CDATA[ # This is a gag ]]></PyFunc>
+ <PyFunc><![CDATA[ return 1 ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>0</x-position>
+ <y-position>123</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeBox1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeBox1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y2</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeBox1</FuncName>
+ <PyFunc><![CDATA[def MakeBox1(x1,y1,z1,x2,y2,z2): ]]></PyFunc>
+ <PyFunc><![CDATA[ aBox = MakeBox(x1,y1,z1,x2,y2,z2) ]]></PyFunc>
+ <PyFunc><![CDATA[ return aBox ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>194</x-position>
+ <y-position>3</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeCopy_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeCopy_1</FuncName>
+ <PyFunc><![CDATA[def MakeCopy_1(shape1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeCopy(shape1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>389</x-position>
+ <y-position>3</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeCopy_2</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy_2</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeCopy_2</FuncName>
+ <PyFunc><![CDATA[def MakeCopy_2(shape1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeCopy(shape1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>391</x-position>
+ <y-position>264</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeSphere_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeSphere_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>radius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeSphere_1</FuncName>
+ <PyFunc><![CDATA[def MakeSphere_1(x1,y1,z1,radius): ]]></PyFunc>
+ <PyFunc><![CDATA[ apoint=MakeVertex(x1,y1,z1) ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeSpherePntR(apoint,radius) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>203</x-position>
+ <y-position>315</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeFuse_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeFuse_1</FuncName>
+ <PyFunc><![CDATA[def MakeFuse_1(shape1,shape2): ]]></PyFunc>
+ <PyFunc><![CDATA[ # fuse operation 3 ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeBoolean(shape1,shape2,3) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>823</x-position>
+ <y-position>116</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeFuse_2</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse_2</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeFuse_2</FuncName>
+ <PyFunc><![CDATA[def MakeFuse_2(shape1,shape2): ]]></PyFunc>
+ <PyFunc><![CDATA[ # fuse operation 3 ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeBoolean(shape1,shape2,3) ]]></PyFunc>
+ <PyFunc><![CDATA[ from SALOME_NamingServicePy import SALOME_NamingServicePy_i ]]></PyFunc>
+ <PyFunc><![CDATA[ myNamingService = SALOME_NamingServicePy_i(orb) ]]></PyFunc>
+ <PyFunc><![CDATA[ aSession = myNamingService.Resolve('/Kernel/Session') ]]></PyFunc>
+ <PyFunc><![CDATA[ aStudyId = aSession.GetActiveStudyId() ]]></PyFunc>
+ <PyFunc><![CDATA[ myStudyManager = myNamingService.Resolve('/myStudyManager') ]]></PyFunc>
+ <PyFunc><![CDATA[ aStudy = myStudyManager.GetStudyByID(aStudyId) ]]></PyFunc>
+ <PyFunc><![CDATA[ aSObject = geom.AddInStudy(aStudy, shape, "shape", None) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>1049</x-position>
+ <y-position>295</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>Macro_aNewDataFlow_1_5_1_1</node-name>
+ <kind>10</kind>
+ <coupled-node>aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1</coupled-node>
+ <service>
+<service-name>aNewDataFlow_1_5_1_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>sum__a</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>sum__b</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+ <outParameter-name>Mult__b</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Macro Node</comment>
+ <x-position>391</x-position>
+ <y-position>121</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeTranslation_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeTranslation_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeTranslation_1</FuncName>
+ <PyFunc><![CDATA[def MakeTranslation_1(shape1,x1,y1,z1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeTranslation(shape1,x1,y1,z1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:24:21</creation-date>
+ <lastmodification-date>29/10/2004 - 15:24:21</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>621</x-position>
+ <y-position>12</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>gag</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>gag</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>175</x>
+ <y>470</y> </coord>
+ <coord>
+<x>175</x>
+ <y>198</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeBox1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeBox1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_2</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>373</x>
+ <y>211</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeCopy_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy_2</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>674</x>
+ <y>207</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>MakeSphere_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_2</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeFuse_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_2</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+<coord>
+<x>1017</x>
+ <y>366</y> </coord>
+ <coord>
+<x>1017</x>
+ <y>187</y> </coord> </coord-list> </link>
+ <link>
+<fromnode-name>Macro_aNewDataFlow_1_5_1_1</fromnode-name>
+ <fromserviceparameter-name>Mult__b</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeTranslation_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__x1</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__y1</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__z1</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__x2</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>x2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__y2</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>y2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeBox1__z2</fromserviceparameter-name>
+ <tonode-name>MakeBox1</tonode-name>
+ <toserviceparameter-name>z2</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__x1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__y1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__z1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__radius</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>radius</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>12</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>Macro_aNewDataFlow_1_5_1_1__sum__a</fromserviceparameter-name>
+ <tonode-name>Macro_aNewDataFlow_1_5_1_1</tonode-name>
+ <toserviceparameter-name>sum__a</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>1</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>Macro_aNewDataFlow_1_5_1_1__sum__b</fromserviceparameter-name>
+ <tonode-name>Macro_aNewDataFlow_1_5_1_1</tonode-name>
+ <toserviceparameter-name>sum__b</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>2</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__x1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>25</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_1_1_1_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__z1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>25</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow>
+ <dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>aNewDataFlow_1_5_1_1_3_3_1_1_1_3_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>sum__a</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>sum__b</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+ <outParameter-name>Mult__b</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>25/6/2004 - 17:42:12</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>sum</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>sum</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>a</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>b</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+ <outParameter-name>s</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>sum</FuncName>
+ <PyFunc><![CDATA[def sum(a, b): ]]></PyFunc>
+ <PyFunc><![CDATA[ return a+b ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>52</x-position>
+ <y-position>80</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>Mult</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>Mult</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>a</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+ <outParameter-name>b</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>Mult</FuncName>
+ <PyFunc><![CDATA[def Mult(a): ]]></PyFunc>
+ <PyFunc><![CDATA[ b = a*3 ]]></PyFunc>
+ <PyFunc><![CDATA[ return b ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:22:47</creation-date>
+ <lastmodification-date>29/10/2004 - 15:22:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>298</x-position>
+ <y-position>72</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>sum</fromnode-name>
+ <fromserviceparameter-name>s</fromserviceparameter-name>
+ <tonode-name>Mult</tonode-name>
+ <toserviceparameter-name>a</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list/> </dataflow></supergraph>
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : NewGraphGeomEssai.py
-# Module : SuperVisionTest
-from SuperV import *
-# Graph creation
-NewGraphGeomEssai = Graph( 'NewGraphGeomEssai' )
-print NewGraphGeomEssai.SetAuthor( '' )
-print NewGraphGeomEssai.SetComment( '' )
-NewGraphGeomEssai.Coords( 0 , 0 )
-
-# Creation of Nodes
-MakeSphere = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeSphere' )
-print MakeSphere.SetAuthor( '' )
-print MakeSphere.SetContainer( 'FactoryServer' )
-print MakeSphere.SetComment( '' )
-MakeSphere.Coords( 17 , 75 )
-MakeCopy = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeCopy' )
-print MakeCopy.SetAuthor( '' )
-print MakeCopy.SetContainer( 'FactoryServer' )
-print MakeCopy.SetComment( '' )
-MakeCopy.Coords( 219 , 12 )
-MakeTranslation = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeTranslation' )
-print MakeTranslation.SetAuthor( '' )
-print MakeTranslation.SetContainer( 'FactoryServer' )
-print MakeTranslation.SetComment( '' )
-MakeTranslation.Coords( 221 , 209 )
-MakeFuse = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeFuse' )
-print MakeFuse.SetAuthor( '' )
-print MakeFuse.SetContainer( 'FactoryServer' )
-print MakeFuse.SetComment( '' )
-MakeFuse.Coords( 465 , 106 )
-
-# Creation of intermediate Output variables and of links
-MakeSpheresphere = MakeSphere.Port( 'shape' )
-MakeCopyshape = NewGraphGeomEssai.Link( MakeSpheresphere , MakeCopy.Port( 'shape1' ) )
-MakeTranslationshape = NewGraphGeomEssai.Link( MakeSpheresphere , MakeTranslation.Port( 'shape1' ) )
-MakeCopycopy = MakeCopy.Port( 'shape' )
-MakeFuseshape1 = NewGraphGeomEssai.Link( MakeCopycopy , MakeFuse.Port( 'shape1' ) )
-MakeTranslationtranslation = MakeTranslation.Port( 'shape' )
-MakeFuseshape2 = NewGraphGeomEssai.Link( MakeTranslationtranslation , MakeFuse.Port( 'shape2' ) )
-
-# Creation of Input datas
-MakeSpherex1 = MakeSphere.Input( 'x1' , 0)
-MakeSpherey1 = MakeSphere.Input( 'y1' , 0)
-MakeSpherez1 = MakeSphere.Input( 'z1' , 0)
-MakeSphereradius = MakeSphere.Input( 'radius' , 50)
-MakeTranslationx1 = MakeTranslation.Input( 'x1' , 80)
-MakeTranslationy1 = MakeTranslation.Input( 'y1' , 0)
-MakeTranslationz1 = MakeTranslation.Input( 'z1' , 0)
+# Generated python file of Graph aNewDataFlow_1
-# Missing Input datas
-
-# Creation of Output variables
-MakeFuseresult = MakeFuse.Port( 'shape' )
-
-NewGraphGeomEssai.Run()
-
-NewGraphGeomEssai.DoneW()
+from SuperV import *
-NewGraphGeomEssai.State()
+# Graph creation of aNewDataFlow_1
+def DefaNewDataFlow_1() :
+ aNewDataFlow_1 = Graph( 'aNewDataFlow_1' )
+ aNewDataFlow_1.SetName( 'aNewDataFlow_1' )
+ aNewDataFlow_1.SetAuthor( '' )
+ aNewDataFlow_1.SetComment( '' )
+ aNewDataFlow_1.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ SetStudyID = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'SetStudyID' )
+ SetStudyID.SetName( 'SetStudyID' )
+ SetStudyID.SetAuthor( '' )
+ SetStudyID.SetContainer( 'localhost/FactoryServer' )
+ SetStudyID.SetComment( 'SetStudyID from GEOM_Superv' )
+ SetStudyID.Coords( 9 , 118 )
+ ISetStudyIDtheStudyID = SetStudyID.GetInPort( 'theStudyID' )
+ ISetStudyIDGate = SetStudyID.GetInPort( 'Gate' )
+ OSetStudyIDGate = SetStudyID.GetOutPort( 'Gate' )
+
+ MakeSphere = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeSphere' )
+ MakeSphere.SetName( 'MakeSphere' )
+ MakeSphere.SetAuthor( '' )
+ MakeSphere.SetContainer( 'localhost/FactoryServer' )
+ MakeSphere.SetComment( 'MakeSphere from GEOM_Superv' )
+ MakeSphere.Coords( 202 , 58 )
+ IMakeSpheretheX = MakeSphere.GetInPort( 'theX' )
+ IMakeSpheretheY = MakeSphere.GetInPort( 'theY' )
+ IMakeSpheretheZ = MakeSphere.GetInPort( 'theZ' )
+ IMakeSpheretheRadius = MakeSphere.GetInPort( 'theRadius' )
+ IMakeSphereGate = MakeSphere.GetInPort( 'Gate' )
+ OMakeSpherereturn = MakeSphere.GetOutPort( 'return' )
+ OMakeSphereGate = MakeSphere.GetOutPort( 'Gate' )
+
+ MakeCopy = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
+ MakeCopy.SetName( 'MakeCopy' )
+ MakeCopy.SetAuthor( '' )
+ MakeCopy.SetContainer( 'localhost/FactoryServer' )
+ MakeCopy.SetComment( 'MakeCopy from GEOM_Superv' )
+ MakeCopy.Coords( 425 , 11 )
+ IMakeCopytheOriginal = MakeCopy.GetInPort( 'theOriginal' )
+ IMakeCopyGate = MakeCopy.GetInPort( 'Gate' )
+ OMakeCopyreturn = MakeCopy.GetOutPort( 'return' )
+ OMakeCopyGate = MakeCopy.GetOutPort( 'Gate' )
+
+ TranslateDXDYDZ = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'TranslateDXDYDZ' )
+ TranslateDXDYDZ.SetName( 'TranslateDXDYDZ' )
+ TranslateDXDYDZ.SetAuthor( '' )
+ TranslateDXDYDZ.SetContainer( 'localhost/FactoryServer' )
+ TranslateDXDYDZ.SetComment( 'TranslateDXDYDZ from GEOM_Superv' )
+ TranslateDXDYDZ.Coords( 428 , 197 )
+ ITranslateDXDYDZtheObject = TranslateDXDYDZ.GetInPort( 'theObject' )
+ ITranslateDXDYDZtheDX = TranslateDXDYDZ.GetInPort( 'theDX' )
+ ITranslateDXDYDZtheDY = TranslateDXDYDZ.GetInPort( 'theDY' )
+ ITranslateDXDYDZtheDZ = TranslateDXDYDZ.GetInPort( 'theDZ' )
+ ITranslateDXDYDZGate = TranslateDXDYDZ.GetInPort( 'Gate' )
+ OTranslateDXDYDZreturn = TranslateDXDYDZ.GetOutPort( 'return' )
+ OTranslateDXDYDZGate = TranslateDXDYDZ.GetOutPort( 'Gate' )
+
+ MakeFuse = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
+ MakeFuse.SetName( 'MakeFuse' )
+ MakeFuse.SetAuthor( '' )
+ MakeFuse.SetContainer( 'localhost/FactoryServer' )
+ MakeFuse.SetComment( 'MakeFuse from GEOM_Superv' )
+ MakeFuse.Coords( 651 , 103 )
+ IMakeFusetheShape1 = MakeFuse.GetInPort( 'theShape1' )
+ IMakeFusetheShape2 = MakeFuse.GetInPort( 'theShape2' )
+ IMakeFuseGate = MakeFuse.GetInPort( 'Gate' )
+ OMakeFusereturn = MakeFuse.GetOutPort( 'return' )
+ OMakeFuseGate = MakeFuse.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LSetStudyIDGateMakeSphereGate = aNewDataFlow_1.Link( OSetStudyIDGate , IMakeSphereGate )
+
+ LMakeSpherereturnMakeCopytheOriginal = aNewDataFlow_1.Link( OMakeSpherereturn , IMakeCopytheOriginal )
+
+ LMakeSpherereturnTranslateDXDYDZtheObject = aNewDataFlow_1.Link( OMakeSpherereturn , ITranslateDXDYDZtheObject )
+
+ LMakeCopyreturnMakeFusetheShape1 = aNewDataFlow_1.Link( OMakeCopyreturn , IMakeFusetheShape1 )
+
+ LTranslateDXDYDZreturnMakeFusetheShape2 = aNewDataFlow_1.Link( OTranslateDXDYDZreturn , IMakeFusetheShape2 )
+
+ # Input datas
+ ISetStudyIDtheStudyID.Input( 1 )
+ IMakeSpheretheX.Input( 0 )
+ IMakeSpheretheY.Input( 0 )
+ IMakeSpheretheZ.Input( 0 )
+ IMakeSpheretheRadius.Input( 50 )
+ ITranslateDXDYDZtheDX.Input( 80 )
+ ITranslateDXDYDZtheDY.Input( 0 )
+ ITranslateDXDYDZtheDZ.Input( 0 )
+
+ # Output Ports of the graph
+ #OMakeFusereturn = MakeFuse.GetOutPort( 'return' )
+ return aNewDataFlow_1
-NewGraphGeomEssai.PrintPorts()
+aNewDataFlow_1 = DefaNewDataFlow_1()
--- /dev/null
+# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#
+#
+#
+# File : NewGraphGeomEssai.py
+# Module : SuperVisionTest
+
+from SuperV import *
+# Graph creation
+NewGraphGeomEssai = Graph( 'NewGraphGeomEssai' )
+print NewGraphGeomEssai.SetAuthor( '' )
+print NewGraphGeomEssai.SetComment( '' )
+NewGraphGeomEssai.Coords( 0 , 0 )
+
+# Creation of Nodes
+MakeSphere = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeSphere' )
+print MakeSphere.SetAuthor( '' )
+print MakeSphere.SetContainer( 'FactoryServer' )
+print MakeSphere.SetComment( '' )
+MakeSphere.Coords( 17 , 75 )
+MakeCopy = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeCopy' )
+print MakeCopy.SetAuthor( '' )
+print MakeCopy.SetContainer( 'FactoryServer' )
+print MakeCopy.SetComment( '' )
+MakeCopy.Coords( 219 , 12 )
+MakeTranslation = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeTranslation' )
+print MakeTranslation.SetAuthor( '' )
+print MakeTranslation.SetContainer( 'FactoryServer' )
+print MakeTranslation.SetComment( '' )
+MakeTranslation.Coords( 221 , 209 )
+MakeFuse = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeFuse' )
+print MakeFuse.SetAuthor( '' )
+print MakeFuse.SetContainer( 'FactoryServer' )
+print MakeFuse.SetComment( '' )
+MakeFuse.Coords( 465 , 106 )
+
+# Creation of intermediate Output variables and of links
+MakeSpheresphere = MakeSphere.Port( 'shape' )
+MakeCopyshape = NewGraphGeomEssai.Link( MakeSpheresphere , MakeCopy.Port( 'shape1' ) )
+MakeTranslationshape = NewGraphGeomEssai.Link( MakeSpheresphere , MakeTranslation.Port( 'shape1' ) )
+MakeCopycopy = MakeCopy.Port( 'shape' )
+MakeFuseshape1 = NewGraphGeomEssai.Link( MakeCopycopy , MakeFuse.Port( 'shape1' ) )
+MakeTranslationtranslation = MakeTranslation.Port( 'shape' )
+MakeFuseshape2 = NewGraphGeomEssai.Link( MakeTranslationtranslation , MakeFuse.Port( 'shape2' ) )
+
+# Creation of Input datas
+MakeSpherex1 = MakeSphere.Input( 'x1' , 0)
+MakeSpherey1 = MakeSphere.Input( 'y1' , 0)
+MakeSpherez1 = MakeSphere.Input( 'z1' , 0)
+MakeSphereradius = MakeSphere.Input( 'radius' , 50)
+MakeTranslationx1 = MakeTranslation.Input( 'x1' , 80)
+MakeTranslationy1 = MakeTranslation.Input( 'y1' , 0)
+MakeTranslationz1 = MakeTranslation.Input( 'z1' , 0)
+
+# Missing Input datas
+
+# Creation of Output variables
+MakeFuseresult = MakeFuse.Port( 'shape' )
+
+NewGraphGeomEssai.Run()
+
+NewGraphGeomEssai.DoneW()
+
+NewGraphGeomEssai.State()
+
+NewGraphGeomEssai.PrintPorts()
+
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE SuperGraph>
+<supergraph>
<dataflow>
- <info-list>
- <node>
- <component-name>NewGraphGeomEssai</component-name>
- <interface-name>NewGraphGeomEssai</interface-name>
- <node-name>NewGraphGeomEssai</node-name>
- <kind>1</kind>
- <service>
- <service-name>NewGraphGeomEssai</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeSphere\radius</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\z1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>MakeFuse\result</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>12/12/2001 - 15:57:26</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position>
- </node>
- </info-list>
-
- <node-list>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeSphere</node-name>
- <kind>0</kind>
- <service>
- <service-name>MakeSphere</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>radius</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>sphere</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>28/3/2002 - 15:32:51</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>17</x-position>
- <y-position>75</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeCopy</node-name>
- <kind>0</kind>
- <service>
- <service-name>MakeCopy</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>copy</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>28/3/2002 - 15:32:51</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>219</x-position>
- <y-position>12</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeTranslation</node-name>
- <kind>0</kind>
- <service>
- <service-name>MakeTranslation</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>translation</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>28/3/2002 - 15:32:51</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>221</x-position>
- <y-position>209</y-position>
- </node>
- <node>
- <component-name>GEOM</component-name>
- <interface-name>GEOM</interface-name>
- <node-name>MakeFuse</node-name>
- <kind>0</kind>
- <service>
- <service-name>MakeFuse</service-name>
- <inParameter-list>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name>
- </inParameter>
- <inParameter>
- <inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name>
- </inParameter>
- </inParameter-list>
- <outParameter-list>
- <outParameter>
- <outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>result</outParameter-name>
- </outParameter>
- </outParameter-list>
- </service>
- <creation-date>28/3/2002 - 15:32:51</creation-date>
- <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
- <editor-release>1.00</editor-release>
- <author>?</author>
- <container>FactoryServer</container>
- <comment>?</comment>
- <x-position>465</x-position>
- <y-position>106</y-position>
- </node>
- </node-list>
-
- <link-list>
- <link>
- <fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>sphere</fromserviceparameter-name>
- <tonode-name>MakeCopy</tonode-name>
- <toserviceparameter-name>shape</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeSphere</fromnode-name>
- <fromserviceparameter-name>sphere</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>shape</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeCopy</fromnode-name>
- <fromserviceparameter-name>copy</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- <link>
- <fromnode-name>MakeTranslation</fromnode-name>
- <fromserviceparameter-name>translation</fromserviceparameter-name>
- <tonode-name>MakeFuse</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
- </coord-list>
- </link>
- </link-list>
-
- <data-list>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
- <tonode-name>MakeSphere</tonode-name>
- <toserviceparameter-name>radius</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>50</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>80</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- <data>
- <fromnode-name>NewGraphGeomEssai</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
- <value-type>3</value-type>
- <value>0</value>
- </data-value>
- <coord-list>
- </coord-list>
- </data>
- </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>aNewDataFlow_1</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>aNewDataFlow_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>SetStudyID__theStudyID</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__theX</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__theY</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__theZ</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere__theRadius</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>TranslateDXDYDZ__theDX</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>TranslateDXDYDZ__theDY</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>TranslateDXDYDZ__theDZ</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>MakeFuse__return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>29/10/2004 - 11:15:45</creation-date>
+ <lastmodification-date>11/11/2004 - 13:5:45</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>SetStudyID</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>SetStudyID</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>theStudyID</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 13:3:46</creation-date>
+ <lastmodification-date>11/11/2004 - 13:3:46</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>SetStudyID from GEOM_Superv</comment>
+ <x-position>9</x-position>
+ <y-position>118</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeSphere</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeSphere</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theX</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theY</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theZ</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theRadius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 13:4:18</creation-date>
+ <lastmodification-date>11/11/2004 - 13:4:18</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeSphere from GEOM_Superv</comment>
+ <x-position>202</x-position>
+ <y-position>58</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeCopy</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theOriginal</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 13:4:49</creation-date>
+ <lastmodification-date>11/11/2004 - 13:4:49</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeCopy from GEOM_Superv</comment>
+ <x-position>425</x-position>
+ <y-position>11</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>TranslateDXDYDZ</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>TranslateDXDYDZ</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theObject</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theDX</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theDY</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>theDZ</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 13:5:12</creation-date>
+ <lastmodification-date>11/11/2004 - 13:5:12</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>TranslateDXDYDZ from GEOM_Superv</comment>
+ <x-position>428</x-position>
+ <y-position>197</y-position> </node>
+ <node>
+<component-name>GEOM_Superv</component-name>
+ <interface-name>GEOM_Superv</interface-name>
+ <node-name>MakeFuse</node-name>
+ <kind>0</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>GEOM_Object</inParameter-type>
+ <inParameter-name>theShape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Object</outParameter-type>
+ <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>11/11/2004 - 13:5:36</creation-date>
+ <lastmodification-date>11/11/2004 - 13:5:36</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>localhost/FactoryServer</container>
+ <comment>MakeFuse from GEOM_Superv</comment>
+ <x-position>651</x-position>
+ <y-position>103</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>SetStudyID</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeSphere</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeCopy</tonode-name>
+ <toserviceparameter-name>theOriginal</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeSphere</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theObject</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>theShape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>TranslateDXDYDZ</fromnode-name>
+ <fromserviceparameter-name>return</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>theShape2</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>SetStudyID__theStudyID</fromserviceparameter-name>
+ <tonode-name>SetStudyID</tonode-name>
+ <toserviceparameter-name>theStudyID</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>1</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theX</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>theX</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theY</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>theY</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theZ</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>theZ</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere__theRadius</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>theRadius</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDX</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDX</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>80</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDY</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDY</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1</fromnode-name>
+ <fromserviceparameter-name>TranslateDXDYDZ__theDZ</fromserviceparameter-name>
+ <tonode-name>TranslateDXDYDZ</tonode-name>
+ <toserviceparameter-name>theDZ</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
--- /dev/null
+<?xml version='1.0' encoding='us-ascii' ?>
+
+<!-- XML Dataflow -->
+
+<!-- Dataflow information -->
+<dataflow>
+ <info-list>
+ <node>
+ <component-name>NewGraphGeomEssai</component-name>
+ <interface-name>NewGraphGeomEssai</interface-name>
+ <node-name>NewGraphGeomEssai</node-name>
+ <kind>1</kind>
+ <service>
+ <service-name>NewGraphGeomEssai</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\z1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere\radius</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation\x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation\y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation\z1</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>MakeFuse\result</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <creation-date>12/12/2001 - 15:57:26</creation-date>
+ <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
+ <editor-release>1.00</editor-release>
+ <author>?</author>
+ <container>FactoryServer</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position>
+ </node>
+ </info-list>
+
+ <node-list>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeSphere</node-name>
+ <kind>0</kind>
+ <service>
+ <service-name>MakeSphere</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>radius</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>sphere</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <creation-date>28/3/2002 - 15:32:51</creation-date>
+ <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
+ <editor-release>1.00</editor-release>
+ <author>?</author>
+ <container>FactoryServer</container>
+ <comment>?</comment>
+ <x-position>17</x-position>
+ <y-position>75</y-position>
+ </node>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeCopy</node-name>
+ <kind>0</kind>
+ <service>
+ <service-name>MakeCopy</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>copy</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <creation-date>28/3/2002 - 15:32:51</creation-date>
+ <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
+ <editor-release>1.00</editor-release>
+ <author>?</author>
+ <container>FactoryServer</container>
+ <comment>?</comment>
+ <x-position>219</x-position>
+ <y-position>12</y-position>
+ </node>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeTranslation</node-name>
+ <kind>0</kind>
+ <service>
+ <service-name>MakeTranslation</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>translation</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <creation-date>28/3/2002 - 15:32:51</creation-date>
+ <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
+ <editor-release>1.00</editor-release>
+ <author>?</author>
+ <container>FactoryServer</container>
+ <comment>?</comment>
+ <x-position>221</x-position>
+ <y-position>209</y-position>
+ </node>
+ <node>
+ <component-name>GEOM</component-name>
+ <interface-name>GEOM</interface-name>
+ <node-name>MakeFuse</node-name>
+ <kind>0</kind>
+ <service>
+ <service-name>MakeFuse</service-name>
+ <inParameter-list>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape1</inParameter-name>
+ </inParameter>
+ <inParameter>
+ <inParameter-type>GEOM_Shape</inParameter-type>
+ <inParameter-name>shape2</inParameter-name>
+ </inParameter>
+ </inParameter-list>
+ <outParameter-list>
+ <outParameter>
+ <outParameter-type>GEOM_Shape</outParameter-type>
+ <outParameter-name>result</outParameter-name>
+ </outParameter>
+ </outParameter-list>
+ </service>
+ <creation-date>28/3/2002 - 15:32:51</creation-date>
+ <lastmodification-date>28/3/2002 - 15:32:51</lastmodification-date>
+ <editor-release>1.00</editor-release>
+ <author>?</author>
+ <container>FactoryServer</container>
+ <comment>?</comment>
+ <x-position>465</x-position>
+ <y-position>106</y-position>
+ </node>
+ </node-list>
+
+ <link-list>
+ <link>
+ <fromnode-name>MakeSphere</fromnode-name>
+ <fromserviceparameter-name>sphere</fromserviceparameter-name>
+ <tonode-name>MakeCopy</tonode-name>
+ <toserviceparameter-name>shape</toserviceparameter-name>
+ <coord-list>
+ </coord-list>
+ </link>
+ <link>
+ <fromnode-name>MakeSphere</fromnode-name>
+ <fromserviceparameter-name>sphere</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>shape</toserviceparameter-name>
+ <coord-list>
+ </coord-list>
+ </link>
+ <link>
+ <fromnode-name>MakeCopy</fromnode-name>
+ <fromserviceparameter-name>copy</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list>
+ </coord-list>
+ </link>
+ <link>
+ <fromnode-name>MakeTranslation</fromnode-name>
+ <fromserviceparameter-name>translation</fromserviceparameter-name>
+ <tonode-name>MakeFuse</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list>
+ </coord-list>
+ </link>
+ </link-list>
+
+ <data-list>
+ <data>
+ <fromnode-name>NewGraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>NewGraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>NewGraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>NewGraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
+ <tonode-name>MakeSphere</tonode-name>
+ <toserviceparameter-name>radius</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>50</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>NewGraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>80</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>NewGraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ <data>
+ <fromnode-name>NewGraphGeomEssai</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+ <value-type>3</value-type>
+ <value>0</value>
+ </data-value>
+ <coord-list>
+ </coord-list>
+ </data>
+ </data-list>
+
+</dataflow>
--- /dev/null
+
+# Generated python file of Graph aNewDataFlow_1_4_2_1
+
+from SuperV import *
+
+# Graph creation of aNewDataFlow_1_4_2_1
+def DefaNewDataFlow_1_4_2_1() :
+ aNewDataFlow_1_4_2_1 = Graph( 'aNewDataFlow_1_4_2_1' )
+ aNewDataFlow_1_4_2_1.SetName( 'aNewDataFlow_1_4_2_1' )
+ aNewDataFlow_1_4_2_1.SetAuthor( '' )
+ aNewDataFlow_1_4_2_1.SetComment( '' )
+ aNewDataFlow_1_4_2_1.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ Pygag = []
+ Pygag.append( 'from batchmode_geompy import * ' )
+ Pygag.append( 'def gag(): ' )
+ Pygag.append( ' # This is a gag ' )
+ Pygag.append( ' return 1 ' )
+ gag = aNewDataFlow_1_4_2_1.INode( 'gag' , Pygag )
+ gag.SetName( 'gag' )
+ gag.SetAuthor( '' )
+ gag.SetComment( 'Compute Node' )
+ gag.Coords( 0 , 123 )
+ IgagGate = gag.GetInPort( 'Gate' )
+ OgagGate = gag.GetOutPort( 'Gate' )
+
+ PyMakeCopy_1 = []
+ PyMakeCopy_1.append( 'def MakeCopy_1(shape1): ' )
+ PyMakeCopy_1.append( ' shape=MakeCopy(shape1) ' )
+ PyMakeCopy_1.append( ' return shape ' )
+ MakeCopy_1 = aNewDataFlow_1_4_2_1.INode( 'MakeCopy_1' , PyMakeCopy_1 )
+ MakeCopy_1.SetName( 'MakeCopy_1' )
+ MakeCopy_1.SetAuthor( '' )
+ MakeCopy_1.SetComment( 'Compute Node' )
+ MakeCopy_1.Coords( 385 , 3 )
+ IMakeCopy_1shape1 = MakeCopy_1.InPort( 'shape1' , 'objref' )
+ IMakeCopy_1Gate = MakeCopy_1.GetInPort( 'Gate' )
+ OMakeCopy_1shape = MakeCopy_1.OutPort( 'shape' , 'objref' )
+ OMakeCopy_1Gate = MakeCopy_1.GetOutPort( 'Gate' )
+
+ PyMakeSphere_1 = []
+ PyMakeSphere_1.append( 'def MakeSphere_1(x1,y1,z1,radius): ' )
+ PyMakeSphere_1.append( ' apoint=MakeVertex(x1,y1,z1) ' )
+ PyMakeSphere_1.append( ' shape=MakeSpherePntR(apoint,radius) ' )
+ PyMakeSphere_1.append( ' return shape ' )
+ MakeSphere_1 = aNewDataFlow_1_4_2_1.INode( 'MakeSphere_1' , PyMakeSphere_1 )
+ MakeSphere_1.SetName( 'MakeSphere_1' )
+ MakeSphere_1.SetAuthor( '' )
+ MakeSphere_1.SetComment( 'Compute Node' )
+ MakeSphere_1.Coords( 193 , 67 )
+ IMakeSphere_1x1 = MakeSphere_1.InPort( 'x1' , 'double' )
+ IMakeSphere_1y1 = MakeSphere_1.InPort( 'y1' , 'double' )
+ IMakeSphere_1z1 = MakeSphere_1.InPort( 'z1' , 'double' )
+ IMakeSphere_1radius = MakeSphere_1.InPort( 'radius' , 'double' )
+ IMakeSphere_1Gate = MakeSphere_1.GetInPort( 'Gate' )
+ OMakeSphere_1shape = MakeSphere_1.OutPort( 'shape' , 'objref' )
+ OMakeSphere_1Gate = MakeSphere_1.GetOutPort( 'Gate' )
+
+ PyMakeTranslation_1 = []
+ PyMakeTranslation_1.append( 'def MakeTranslation_1(shape1,x1,y1,z1): ' )
+ PyMakeTranslation_1.append( ' shape = MakeTranslation(shape1,x1,y1,z1) ' )
+ PyMakeTranslation_1.append( ' return shape ' )
+ MakeTranslation_1 = aNewDataFlow_1_4_2_1.INode( 'MakeTranslation_1' , PyMakeTranslation_1 )
+ MakeTranslation_1.SetName( 'MakeTranslation_1' )
+ MakeTranslation_1.SetAuthor( '' )
+ MakeTranslation_1.SetComment( 'Compute Node' )
+ MakeTranslation_1.Coords( 388 , 146 )
+ IMakeTranslation_1shape1 = MakeTranslation_1.InPort( 'shape1' , 'objref' )
+ IMakeTranslation_1x1 = MakeTranslation_1.InPort( 'x1' , 'double' )
+ IMakeTranslation_1y1 = MakeTranslation_1.InPort( 'y1' , 'double' )
+ IMakeTranslation_1z1 = MakeTranslation_1.InPort( 'z1' , 'double' )
+ IMakeTranslation_1Gate = MakeTranslation_1.GetInPort( 'Gate' )
+ OMakeTranslation_1shape = MakeTranslation_1.OutPort( 'shape' , 'objref' )
+ OMakeTranslation_1Gate = MakeTranslation_1.GetOutPort( 'Gate' )
+
+ PyMakeFuse_1 = []
+ PyMakeFuse_1.append( 'def MakeFuse_1(shape1,shape2): ' )
+ PyMakeFuse_1.append( ' # fuse operation 3 ' )
+ PyMakeFuse_1.append( ' shape = MakeBoolean(shape1,shape2,3) ' )
+ PyMakeFuse_1.append( ' from SALOME_NamingServicePy import SALOME_NamingServicePy_i ' )
+ PyMakeFuse_1.append( ' myNamingService = SALOME_NamingServicePy_i(orb) ' )
+ PyMakeFuse_1.append( ' aSession = myNamingService.Resolve('/Kernel/Session') ' )
+ PyMakeFuse_1.append( ' aStudyId = aSession.GetActiveStudyId() ' )
+ PyMakeFuse_1.append( ' myStudyManager = myNamingService.Resolve('/myStudyManager') ' )
+ PyMakeFuse_1.append( ' aStudy = myStudyManager.GetStudyByID(aStudyId) ' )
+ PyMakeFuse_1.append( ' aSObject = geom.AddInStudy(aStudy, shape, "shape", None) ' )
+ PyMakeFuse_1.append( ' return shape ' )
+ MakeFuse_1 = aNewDataFlow_1_4_2_1.INode( 'MakeFuse_1' , PyMakeFuse_1 )
+ MakeFuse_1.SetName( 'MakeFuse_1' )
+ MakeFuse_1.SetAuthor( '' )
+ MakeFuse_1.SetComment( 'Compute Node' )
+ MakeFuse_1.Coords( 618 , 64 )
+ IMakeFuse_1shape1 = MakeFuse_1.InPort( 'shape1' , 'objref' )
+ IMakeFuse_1shape2 = MakeFuse_1.InPort( 'shape2' , 'objref' )
+ IMakeFuse_1Gate = MakeFuse_1.GetInPort( 'Gate' )
+ OMakeFuse_1shape = MakeFuse_1.OutPort( 'shape' , 'objref' )
+ OMakeFuse_1Gate = MakeFuse_1.GetOutPort( 'Gate' )
+
+ # Creation of Links
+ LgagGateMakeSphere_1Gate = aNewDataFlow_1_4_2_1.Link( OgagGate , IMakeSphere_1Gate )
+
+ LMakeCopy_1shapeMakeFuse_1shape1 = aNewDataFlow_1_4_2_1.Link( OMakeCopy_1shape , IMakeFuse_1shape1 )
+
+ LMakeSphere_1shapeMakeCopy_1shape1 = aNewDataFlow_1_4_2_1.Link( OMakeSphere_1shape , IMakeCopy_1shape1 )
+
+ LMakeSphere_1shapeMakeTranslation_1shape1 = aNewDataFlow_1_4_2_1.Link( OMakeSphere_1shape , IMakeTranslation_1shape1 )
+
+ LMakeTranslation_1shapeMakeFuse_1shape2 = aNewDataFlow_1_4_2_1.Link( OMakeTranslation_1shape , IMakeFuse_1shape2 )
+
+ # Input datas
+ IMakeSphere_1x1.Input( 0 )
+ IMakeSphere_1y1.Input( 0 )
+ IMakeSphere_1z1.Input( 0 )
+ IMakeSphere_1radius.Input( 50 )
+ IMakeTranslation_1x1.Input( 80 )
+ IMakeTranslation_1y1.Input( 0 )
+ IMakeTranslation_1z1.Input( 0 )
+
+ # Output Ports of the graph
+ #OMakeFuse_1shape = MakeFuse_1.GetOutPort( 'shape' )
+ return aNewDataFlow_1_4_2_1
+
+
+aNewDataFlow_1_4_2_1 = DefaNewDataFlow_1_4_2_1()
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>aNewDataFlow_1_4_2_1</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>aNewDataFlow_1_4_2_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeSphere_1__radius</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>MakeTranslation_1__z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>MakeFuse_1__shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>25/8/2004 - 16:28:50</creation-date>
+ <lastmodification-date>29/10/2004 - 15:17:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>gag</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>gag</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>gag</FuncName>
+ <PyFunc><![CDATA[from batchmode_geompy import * ]]></PyFunc>
+ <PyFunc><![CDATA[def gag(): ]]></PyFunc>
+ <PyFunc><![CDATA[ # This is a gag ]]></PyFunc>
+ <PyFunc><![CDATA[ return 1 ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:17:44</creation-date>
+ <lastmodification-date>29/10/2004 - 15:17:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>0</x-position>
+ <y-position>123</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeCopy_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeCopy_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeCopy_1</FuncName>
+ <PyFunc><![CDATA[def MakeCopy_1(shape1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeCopy(shape1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:17:44</creation-date>
+ <lastmodification-date>29/10/2004 - 15:17:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>385</x-position>
+ <y-position>3</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeSphere_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeSphere_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>radius</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeSphere_1</FuncName>
+ <PyFunc><![CDATA[def MakeSphere_1(x1,y1,z1,radius): ]]></PyFunc>
+ <PyFunc><![CDATA[ apoint=MakeVertex(x1,y1,z1) ]]></PyFunc>
+ <PyFunc><![CDATA[ shape=MakeSpherePntR(apoint,radius) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:17:44</creation-date>
+ <lastmodification-date>29/10/2004 - 15:17:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>193</x-position>
+ <y-position>67</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeTranslation_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeTranslation_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>x1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>y1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>double</inParameter-type>
+ <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeTranslation_1</FuncName>
+ <PyFunc><![CDATA[def MakeTranslation_1(shape1,x1,y1,z1): ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeTranslation(shape1,x1,y1,z1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:17:44</creation-date>
+ <lastmodification-date>29/10/2004 - 15:17:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>388</x-position>
+ <y-position>146</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>MakeFuse_1</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>MakeFuse_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape1</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>objref</inParameter-type>
+ <inParameter-name>shape2</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+ <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>MakeFuse_1</FuncName>
+ <PyFunc><![CDATA[def MakeFuse_1(shape1,shape2): ]]></PyFunc>
+ <PyFunc><![CDATA[ # fuse operation 3 ]]></PyFunc>
+ <PyFunc><![CDATA[ shape = MakeBoolean(shape1,shape2,3) ]]></PyFunc>
+ <PyFunc><![CDATA[ from SALOME_NamingServicePy import SALOME_NamingServicePy_i ]]></PyFunc>
+ <PyFunc><![CDATA[ myNamingService = SALOME_NamingServicePy_i(orb) ]]></PyFunc>
+ <PyFunc><![CDATA[ aSession = myNamingService.Resolve('/Kernel/Session') ]]></PyFunc>
+ <PyFunc><![CDATA[ aStudyId = aSession.GetActiveStudyId() ]]></PyFunc>
+ <PyFunc><![CDATA[ myStudyManager = myNamingService.Resolve('/myStudyManager') ]]></PyFunc>
+ <PyFunc><![CDATA[ aStudy = myStudyManager.GetStudyByID(aStudyId) ]]></PyFunc>
+ <PyFunc><![CDATA[ aSObject = geom.AddInStudy(aStudy, shape, "shape", None) ]]></PyFunc>
+ <PyFunc><![CDATA[ return shape ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>29/10/2004 - 15:17:44</creation-date>
+ <lastmodification-date>29/10/2004 - 15:17:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>618</x-position>
+ <y-position>64</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>gag</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeCopy_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeSphere_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeCopy_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeSphere_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>shape1</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>MakeTranslation_1</fromnode-name>
+ <fromserviceparameter-name>shape</fromserviceparameter-name>
+ <tonode-name>MakeFuse_1</tonode-name>
+ <toserviceparameter-name>shape2</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>aNewDataFlow_1_4_2_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__x1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__y1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__z1</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1</fromnode-name>
+ <fromserviceparameter-name>MakeSphere_1__radius</fromserviceparameter-name>
+ <tonode-name>MakeSphere_1</tonode-name>
+ <toserviceparameter-name>radius</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>50</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__x1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>x1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>80</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__y1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>y1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>aNewDataFlow_1_4_2_1</fromnode-name>
+ <fromserviceparameter-name>MakeTranslation_1__z1</fromserviceparameter-name>
+ <tonode-name>MakeTranslation_1</tonode-name>
+ <toserviceparameter-name>z1</toserviceparameter-name>
+ <data-value>
+<value-type>7</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
+++ /dev/null
-
-# Generated python file of Graph aNewDataFlow
-
-from SuperV import *
-# Graph creation
-aNewDataFlow = Graph( 'aNewDataFlow' )
-aNewDataFlow.SetName( 'aNewDataFlow' )
-aNewDataFlow.SetAuthor( '' )
-aNewDataFlow.SetComment( '' )
-aNewDataFlow.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-InitCL = aNewDataFlow.FNode( 'CLRheolef' , 'CLRheolef' , 'InitCL' )
-InitCL.SetName( 'InitCL' )
-InitCL.SetAuthor( '' )
-InitCL.SetContainer( 'localhost/FactoryServer' )
-InitCL.SetComment( 'InitCL from CLRheolef' )
-InitCL.Coords( 414 , 334 )
-
-MakeBox = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeBox' )
-MakeBox.SetName( 'MakeBox' )
-MakeBox.SetAuthor( '' )
-MakeBox.SetContainer( 'localhost/FactoryServer' )
-MakeBox.SetComment( 'MakeBox from Geometry' )
-MakeBox.Coords( 7 , 29 )
-
-MeshGeomShapeSup = aNewDataFlow.FNode( 'QMG' , 'QMG' , 'MeshGeomShapeSup' )
-MeshGeomShapeSup.SetName( 'MeshGeomShapeSup' )
-MeshGeomShapeSup.SetAuthor( '' )
-MeshGeomShapeSup.SetContainer( 'localhost/FactoryServer' )
-MeshGeomShapeSup.SetComment( 'MeshGeomShapeSup from QMG' )
-MeshGeomShapeSup.Coords( 372 , 0 )
-
-SolveSup = aNewDataFlow.FNode( 'Rheolef' , 'Rheolef' , 'SolveSup' )
-SolveSup.SetName( 'SolveSup' )
-SolveSup.SetAuthor( '' )
-SolveSup.SetContainer( 'localhost/FactoryServer' )
-SolveSup.SetComment( 'SolveSup from Rheolef' )
-SolveSup.Coords( 1030 , 304 )
-
-ModifyCL = aNewDataFlow.FNode( 'CLRheolef' , 'CLRheolef' , 'ModifyCL' )
-ModifyCL.SetName( 'ModifyCL' )
-ModifyCL.SetAuthor( '' )
-ModifyCL.SetContainer( 'localhost/FactoryServer' )
-ModifyCL.SetComment( 'ModifyCL from CLRheolef' )
-ModifyCL.Coords( 602 , 335 )
-
-MakeBoolean = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeBoolean' )
-MakeBoolean.SetName( 'MakeBoolean' )
-MakeBoolean.SetAuthor( '' )
-MakeBoolean.SetContainer( 'localhost/FactoryServer' )
-MakeBoolean.SetComment( 'MakeBoolean from Geometry' )
-MakeBoolean.Coords( 188 , 30 )
-
-MakeBox_1 = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeBox' )
-MakeBox_1.SetName( 'MakeBox_1' )
-MakeBox_1.SetAuthor( '' )
-MakeBox_1.SetContainer( 'localhost/FactoryServer' )
-MakeBox_1.SetComment( 'MakeBox from Geometry' )
-MakeBox_1.Coords( 0 , 325 )
-
-MakeTranslation = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeTranslation' )
-MakeTranslation.SetName( 'MakeTranslation' )
-MakeTranslation.SetAuthor( '' )
-MakeTranslation.SetContainer( 'localhost/FactoryServer' )
-MakeTranslation.SetComment( 'MakeTranslation from Geometry' )
-MakeTranslation.Coords( 190 , 325 )
-
-FindNode = aNewDataFlow.FNode( 'QMG' , 'QMG' , 'FindNode' )
-FindNode.SetName( 'FindNode' )
-FindNode.SetAuthor( '' )
-FindNode.SetContainer( 'localhost/FactoryServer' )
-FindNode.SetComment( 'FindNode from QMG' )
-FindNode.Coords( 621 , 0 )
-
-ValueOf = aNewDataFlow.FNode( 'Rheolef' , 'Rheolef' , 'ValueOf' )
-ValueOf.SetName( 'ValueOf' )
-ValueOf.SetAuthor( '' )
-ValueOf.SetContainer( 'localhost/FactoryServer' )
-ValueOf.SetComment( 'ValueOf from Rheolef' )
-ValueOf.Coords( 832 , 42 )
-
-ModifyCL_1 = aNewDataFlow.FNode( 'CLRheolef' , 'CLRheolef' , 'ModifyCL' )
-ModifyCL_1.SetName( 'ModifyCL_1' )
-ModifyCL_1.SetAuthor( '' )
-ModifyCL_1.SetContainer( 'localhost/FactoryServer' )
-ModifyCL_1.SetComment( 'ModifyCL from CLRheolef' )
-ModifyCL_1.Coords( 800 , 334 )
-
-Plot = aNewDataFlow.FNode( 'Rheolef' , 'Rheolef' , 'Plot' )
-Plot.SetName( 'Plot' )
-Plot.SetAuthor( '' )
-Plot.SetContainer( 'localhost/FactoryServer' )
-Plot.SetComment( 'Plot from Rheolef' )
-Plot.Coords( 1029 , 41 )
-
-Add = aNewDataFlow.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 0 , 610 )
-
-# Creation of Links
-InitCLreturn = InitCL.Port( 'return' )
-ModifyCLmyRheolefData = aNewDataFlow.Link( InitCLreturn , ModifyCL.Port( 'myRheolefData' ) )
-
-MakeBoxshape = MakeBox.Port( 'shape' )
-MakeBooleanshape1 = aNewDataFlow.Link( MakeBoxshape , MakeBoolean.Port( 'shape1' ) )
-
-MeshGeomShapeSupreturn = MeshGeomShapeSup.Port( 'return' )
-SolveSupmyMesh = aNewDataFlow.Link( MeshGeomShapeSupreturn , SolveSup.Port( 'myMesh' ) )
-SolveSupmyMesh.AddCoord( 1 , 985 , 442 )
-SolveSupmyMesh.AddCoord( 2 , 984 , 301 )
-SolveSupmyMesh.AddCoord( 3 , 561 , 300 )
-SolveSupmyMesh.AddCoord( 4 , 561 , 83 )
-
-InitCLmyMesh = aNewDataFlow.Link( MeshGeomShapeSupreturn , InitCL.Port( 'myMesh' ) )
-InitCLmyMesh.AddCoord( 1 , 385 , 502 )
-InitCLmyMesh.AddCoord( 2 , 384 , 301 )
-InitCLmyMesh.AddCoord( 3 , 561 , 300 )
-InitCLmyMesh.AddCoord( 4 , 561 , 81 )
-
-FindNodeaMesh = aNewDataFlow.Link( MeshGeomShapeSupreturn , FindNode.Port( 'aMesh' ) )
-
-SolveSupreturn = SolveSup.Port( 'return' )
-ValueOfaField = aNewDataFlow.Link( SolveSupreturn , ValueOf.Port( 'aField' ) )
-ValueOfaField.AddCoord( 1 , 818 , 122 )
-ValueOfaField.AddCoord( 2 , 817 , 26 )
-ValueOfaField.AddCoord( 3 , 1216 , 26 )
-ValueOfaField.AddCoord( 4 , 1218 , 385 )
-
-ModifyCLreturn = ModifyCL.Port( 'return' )
-ModifyCL_1myRheolefData = aNewDataFlow.Link( ModifyCLreturn , ModifyCL_1.Port( 'myRheolefData' ) )
-
-MakeBooleanshape = MakeBoolean.Port( 'shape' )
-MeshGeomShapeSupshape = aNewDataFlow.Link( MakeBooleanshape , MeshGeomShapeSup.Port( 'shape' ) )
-
-MakeBox_1shape = MakeBox_1.Port( 'shape' )
-MakeTranslationshape1 = aNewDataFlow.Link( MakeBox_1shape , MakeTranslation.Port( 'shape1' ) )
-
-MakeTranslationshape = MakeTranslation.Port( 'shape' )
-MakeBooleanshape2 = aNewDataFlow.Link( MakeTranslationshape , MakeBoolean.Port( 'shape2' ) )
-MakeBooleanshape2.AddCoord( 1 , 182 , 140 )
-MakeBooleanshape2.AddCoord( 2 , 181 , 261 )
-MakeBooleanshape2.AddCoord( 3 , 363 , 260 )
-MakeBooleanshape2.AddCoord( 4 , 363 , 411 )
-MakeBooleanshape2.AddCoord( 5 , 327 , 408 )
-
-FindNodereturn = FindNode.Port( 'return' )
-ValueOfnumberOfNode = aNewDataFlow.Link( FindNodereturn , ValueOf.Port( 'numberOfNode' ) )
-ValueOfnumberOfNode.AddCoord( 1 , 799 , 152 )
-ValueOfnumberOfNode.AddCoord( 2 , 798 , 81 )
-
-ValueOfreturn = ValueOf.Port( 'return' )
-PlotValue = aNewDataFlow.Link( ValueOfreturn , Plot.Port( 'Value' ) )
-
-ModifyCL_1return = ModifyCL_1.Port( 'return' )
-SolveSupmyRheolefData = aNewDataFlow.Link( ModifyCL_1return , SolveSup.Port( 'myRheolefData' ) )
-
-Addz = Add.Port( 'z' )
-MakeTranslationy1 = aNewDataFlow.Link( Addz , MakeTranslation.Port( 'y1' ) )
-MakeTranslationy1.AddCoord( 1 , 181 , 464 )
-MakeTranslationy1.AddCoord( 2 , 182 , 720 )
-
-FindNodey = aNewDataFlow.Link( Addz , FindNode.Port( 'y' ) )
-FindNodey.AddCoord( 1 , 592 , 139 )
-FindNodey.AddCoord( 2 , 593 , 720 )
-
-PlotPosition = aNewDataFlow.Link( Addz , Plot.Port( 'Position' ) )
-PlotPosition.AddCoord( 1 , 1010 , 150 )
-PlotPosition.AddCoord( 2 , 1011 , 720 )
-
-# Creation of Input datas
-InitCLstudyId = InitCL.Input( 'studyId' , 1)
-InitCLdataName = InitCL.Input( 'dataName' , 'BoxData')
-InitCLsource = InitCL.Input( 'source' , 0)
-MakeBoxx1 = MakeBox.Input( 'x1' , 0)
-MakeBoxy1 = MakeBox.Input( 'y1' , 0)
-MakeBoxz1 = MakeBox.Input( 'z1' , 0)
-MakeBoxx2 = MakeBox.Input( 'x2' , 100)
-MakeBoxy2 = MakeBox.Input( 'y2' , 500)
-MakeBoxz2 = MakeBox.Input( 'z2' , 50)
-MeshGeomShapeSupstudyId = MeshGeomShapeSup.Input( 'studyId' , 1)
-MeshGeomShapeSupsizeControl = MeshGeomShapeSup.Input( 'sizeControl' , 999999)
-MeshGeomShapeSupcurveControl = MeshGeomShapeSup.Input( 'curveControl' , 0.5)
-MeshGeomShapeSuptolmesh = MeshGeomShapeSup.Input( 'tolmesh' , 1e-05)
-MeshGeomShapeSuptolskin = MeshGeomShapeSup.Input( 'tolskin' , 0)
-SolveSupstudyId = SolveSup.Input( 'studyId' , 1)
-ModifyCLfaceToModify = ModifyCL.Input( 'faceToModify' , 3)
-ModifyCLnewFaceCLtype = ModifyCL.Input( 'newFaceCLtype' , 1)
-ModifyCLnewFaceValue = ModifyCL.Input( 'newFaceValue' , 0)
-MakeBooleanoperation = MakeBoolean.Input( 'operation' , 2)
-MakeBox_1x1 = MakeBox_1.Input( 'x1' , 0)
-MakeBox_1y1 = MakeBox_1.Input( 'y1' , 0)
-MakeBox_1z1 = MakeBox_1.Input( 'z1' , 0)
-MakeBox_1x2 = MakeBox_1.Input( 'x2' , 40)
-MakeBox_1y2 = MakeBox_1.Input( 'y2' , 40)
-MakeBox_1z2 = MakeBox_1.Input( 'z2' , 70)
-MakeTranslationx1 = MakeTranslation.Input( 'x1' , 30)
-MakeTranslationz1 = MakeTranslation.Input( 'z1' , -10)
-FindNodex = FindNode.Input( 'x' , 50)
-FindNodez = FindNode.Input( 'z' , 25)
-ModifyCL_1faceToModify = ModifyCL_1.Input( 'faceToModify' , 5)
-ModifyCL_1newFaceCLtype = ModifyCL_1.Input( 'newFaceCLtype' , 1)
-ModifyCL_1newFaceValue = ModifyCL_1.Input( 'newFaceValue' , 1)
-PlotFilename = Plot.Input( 'Filename' , 'Result.plt')
-Addx = Add.Input( 'x' , 0)
-Addy = Add.Input( 'y' , 10)
-
-# Creation of Output variables
-AddFuncValue = Add.Port( 'FuncValue' )
+++ /dev/null
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
- <interface-name>?</interface-name>
- <node-name>aNewDataFlow</node-name>
- <kind>1</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>aNewDataFlow</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>InitCL\studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>InitCL\dataName</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>InitCL\source</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\x2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\y2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox\z2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\sizeControl</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\curveControl</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\tolmesh</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MeshGeomShapeSup\tolskin</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>SolveSup\studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ModifyCL\faceToModify</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ModifyCL\newFaceCLtype</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>ModifyCL\newFaceValue</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>MakeBoolean\operation</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\x2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\y2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeBox_1\z2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>MakeTranslation\z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>FindNode\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>FindNode\z</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ModifyCL_1\faceToModify</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>ModifyCL_1\newFaceCLtype</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>ModifyCL_1\newFaceValue</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>Plot\Filename</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Add\y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>Add\FuncValue</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>14/7/2002 - 21:1:52</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>?</container>
- <comment>?</comment>
- <x-position>0</x-position>
- <y-position>0</y-position> </node> </info-list>
- <node-list>
-<node>
-<component-name>CLRheolef</component-name>
- <interface-name>CLRheolef</interface-name>
- <node-name>InitCL</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>InitCL</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>dataName</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>source</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>QMG_Mesh</inParameter-type>
- <inParameter-name>myMesh</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Rheolef_Data</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>InitCL from CLRheolef</comment>
- <x-position>414</x-position>
- <y-position>334</y-position> </node>
- <node>
-<component-name>Geometry</component-name>
- <interface-name>Geometry</interface-name>
- <node-name>MakeBox</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeBox</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeBox from Geometry</comment>
- <x-position>7</x-position>
- <y-position>29</y-position> </node>
- <node>
-<component-name>QMG</component-name>
- <interface-name>QMG</interface-name>
- <node-name>MeshGeomShapeSup</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MeshGeomShapeSup</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>sizeControl</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>curveControl</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>tolmesh</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>tolskin</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>QMG_Mesh</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MeshGeomShapeSup from QMG</comment>
- <x-position>372</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>Rheolef</component-name>
- <interface-name>Rheolef</interface-name>
- <node-name>SolveSup</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>SolveSup</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>studyId</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>Rheolef_Data</inParameter-type>
- <inParameter-name>myRheolefData</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>QMG_Mesh</inParameter-type>
- <inParameter-name>myMesh</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Rheolef_Field</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>SolveSup from Rheolef</comment>
- <x-position>1030</x-position>
- <y-position>304</y-position> </node>
- <node>
-<component-name>CLRheolef</component-name>
- <interface-name>CLRheolef</interface-name>
- <node-name>ModifyCL</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ModifyCL</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>Rheolef_Data</inParameter-type>
- <inParameter-name>myRheolefData</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>faceToModify</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>newFaceCLtype</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>newFaceValue</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Rheolef_Data</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>ModifyCL from CLRheolef</comment>
- <x-position>602</x-position>
- <y-position>335</y-position> </node>
- <node>
-<component-name>Geometry</component-name>
- <interface-name>Geometry</interface-name>
- <node-name>MakeBoolean</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeBoolean</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>operation</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeBoolean from Geometry</comment>
- <x-position>188</x-position>
- <y-position>30</y-position> </node>
- <node>
-<component-name>Geometry</component-name>
- <interface-name>Geometry</interface-name>
- <node-name>MakeBox_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeBox</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y2</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z2</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeBox from Geometry</comment>
- <x-position>0</x-position>
- <y-position>325</y-position> </node>
- <node>
-<component-name>Geometry</component-name>
- <interface-name>Geometry</interface-name>
- <node-name>MakeTranslation</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>MakeTranslation</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>GEOM_Shape</inParameter-type>
- <inParameter-name>shape1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y1</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z1</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>GEOM_Shape</outParameter-type>
- <outParameter-name>shape</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>MakeTranslation from Geometry</comment>
- <x-position>190</x-position>
- <y-position>325</y-position> </node>
- <node>
-<component-name>QMG</component-name>
- <interface-name>QMG</interface-name>
- <node-name>FindNode</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>FindNode</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>QMG_Mesh</inParameter-type>
- <inParameter-name>aMesh</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>z</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>FindNode from QMG</comment>
- <x-position>621</x-position>
- <y-position>0</y-position> </node>
- <node>
-<component-name>Rheolef</component-name>
- <interface-name>Rheolef</interface-name>
- <node-name>ValueOf</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ValueOf</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>Rheolef_Field</inParameter-type>
- <inParameter-name>aField</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>numberOfNode</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>ValueOf from Rheolef</comment>
- <x-position>832</x-position>
- <y-position>42</y-position> </node>
- <node>
-<component-name>CLRheolef</component-name>
- <interface-name>CLRheolef</interface-name>
- <node-name>ModifyCL_1</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>ModifyCL</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>Rheolef_Data</inParameter-type>
- <inParameter-name>myRheolefData</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>faceToModify</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>long</inParameter-type>
- <inParameter-name>newFaceCLtype</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>newFaceValue</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>Rheolef_Data</outParameter-type>
- <outParameter-name>return</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>ModifyCL from CLRheolef</comment>
- <x-position>800</x-position>
- <y-position>334</y-position> </node>
- <node>
-<component-name>Rheolef</component-name>
- <interface-name>Rheolef</interface-name>
- <node-name>Plot</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Plot</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Value</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>Position</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>string</inParameter-type>
- <inParameter-name>Filename</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list/> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Plot from Rheolef</comment>
- <x-position>1029</x-position>
- <y-position>41</y-position> </node>
- <node>
-<component-name>AddComponent</component-name>
- <interface-name>AddComponent</interface-name>
- <node-name>Add</node-name>
- <kind>0</kind>
- <coupled-node>?</coupled-node>
- <service>
-<service-name>Add</service-name>
- <inParameter-list>
-<inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>x</inParameter-name> </inParameter>
- <inParameter>
-<inParameter-type>double</inParameter-type>
- <inParameter-name>y</inParameter-name> </inParameter> </inParameter-list>
- <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>FuncValue</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>double</outParameter-type>
- <outParameter-name>z</outParameter-name> </outParameter> </outParameter-list> </service>
- <Parameter-list/>
- <PyFunction-list/>
- <creation-date>19/9/2003 - 15:24:7</creation-date>
- <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
- <editor-release>1.03</editor-release>
- <author>?</author>
- <container>localhost/FactoryServer</container>
- <comment>Add from AddComponent</comment>
- <x-position>0</x-position>
- <y-position>610</y-position> </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>InitCL</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>ModifyCL</tonode-name>
- <toserviceparameter-name>myRheolefData</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MakeBox</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeBoolean</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MeshGeomShapeSup</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>SolveSup</tonode-name>
- <toserviceparameter-name>myMesh</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>985</x>
- <y>442</y> </coord>
- <coord>
-<x>984</x>
- <y>301</y> </coord>
- <coord>
-<x>561</x>
- <y>300</y> </coord>
- <coord>
-<x>561</x>
- <y>83</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MeshGeomShapeSup</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>InitCL</tonode-name>
- <toserviceparameter-name>myMesh</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>385</x>
- <y>502</y> </coord>
- <coord>
-<x>384</x>
- <y>301</y> </coord>
- <coord>
-<x>561</x>
- <y>300</y> </coord>
- <coord>
-<x>561</x>
- <y>81</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>MeshGeomShapeSup</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>FindNode</tonode-name>
- <toserviceparameter-name>aMesh</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>SolveSup</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>ValueOf</tonode-name>
- <toserviceparameter-name>aField</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>818</x>
- <y>122</y> </coord>
- <coord>
-<x>817</x>
- <y>26</y> </coord>
- <coord>
-<x>1216</x>
- <y>26</y> </coord>
- <coord>
-<x>1218</x>
- <y>385</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ModifyCL</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>ModifyCL_1</tonode-name>
- <toserviceparameter-name>myRheolefData</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MakeBoolean</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>shape</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MakeBox_1</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>shape1</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>MakeTranslation</fromnode-name>
- <fromserviceparameter-name>shape</fromserviceparameter-name>
- <tonode-name>MakeBoolean</tonode-name>
- <toserviceparameter-name>shape2</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>182</x>
- <y>140</y> </coord>
- <coord>
-<x>181</x>
- <y>261</y> </coord>
- <coord>
-<x>363</x>
- <y>260</y> </coord>
- <coord>
-<x>363</x>
- <y>411</y> </coord>
- <coord>
-<x>327</x>
- <y>408</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>FindNode</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>ValueOf</tonode-name>
- <toserviceparameter-name>numberOfNode</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>799</x>
- <y>152</y> </coord>
- <coord>
-<x>798</x>
- <y>81</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>ValueOf</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>Plot</tonode-name>
- <toserviceparameter-name>Value</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>ModifyCL_1</fromnode-name>
- <fromserviceparameter-name>return</fromserviceparameter-name>
- <tonode-name>SolveSup</tonode-name>
- <toserviceparameter-name>myRheolefData</toserviceparameter-name>
- <coord-list/> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>181</x>
- <y>464</y> </coord>
- <coord>
-<x>182</x>
- <y>720</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>FindNode</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>592</x>
- <y>139</y> </coord>
- <coord>
-<x>593</x>
- <y>720</y> </coord> </coord-list> </link>
- <link>
-<fromnode-name>Add</fromnode-name>
- <fromserviceparameter-name>z</fromserviceparameter-name>
- <tonode-name>Plot</tonode-name>
- <toserviceparameter-name>Position</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>1010</x>
- <y>150</y> </coord>
- <coord>
-<x>1011</x>
- <y>720</y> </coord> </coord-list> </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>InitCL\studyId</fromserviceparameter-name>
- <tonode-name>InitCL</tonode-name>
- <toserviceparameter-name>studyId</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>InitCL\dataName</fromserviceparameter-name>
- <tonode-name>InitCL</tonode-name>
- <toserviceparameter-name>dataName</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>BoxData</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>InitCL\source</fromserviceparameter-name>
- <tonode-name>InitCL</tonode-name>
- <toserviceparameter-name>source</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\x1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\y1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\z1</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\x2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>x2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>100</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\y2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>y2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>500</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox\z2</fromserviceparameter-name>
- <tonode-name>MakeBox</tonode-name>
- <toserviceparameter-name>z2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>50</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\studyId</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>studyId</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\sizeControl</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>sizeControl</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>999999</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\curveControl</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>curveControl</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0.5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\tolmesh</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>tolmesh</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1e-05</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MeshGeomShapeSup\tolskin</fromserviceparameter-name>
- <tonode-name>MeshGeomShapeSup</tonode-name>
- <toserviceparameter-name>tolskin</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>SolveSup\studyId</fromserviceparameter-name>
- <tonode-name>SolveSup</tonode-name>
- <toserviceparameter-name>studyId</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL\faceToModify</fromserviceparameter-name>
- <tonode-name>ModifyCL</tonode-name>
- <toserviceparameter-name>faceToModify</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>3</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL\newFaceCLtype</fromserviceparameter-name>
- <tonode-name>ModifyCL</tonode-name>
- <toserviceparameter-name>newFaceCLtype</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL\newFaceValue</fromserviceparameter-name>
- <tonode-name>ModifyCL</tonode-name>
- <toserviceparameter-name>newFaceValue</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBoolean\operation</fromserviceparameter-name>
- <tonode-name>MakeBoolean</tonode-name>
- <toserviceparameter-name>operation</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>2</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\x1</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\y1</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>y1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\z1</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\x2</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>x2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>40</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\y2</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>y2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>40</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeBox_1\z2</fromserviceparameter-name>
- <tonode-name>MakeBox_1</tonode-name>
- <toserviceparameter-name>z2</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>70</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>x1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>30</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
- <tonode-name>MakeTranslation</tonode-name>
- <toserviceparameter-name>z1</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>-10</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>FindNode\x</fromserviceparameter-name>
- <tonode-name>FindNode</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>50</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>FindNode\z</fromserviceparameter-name>
- <tonode-name>FindNode</tonode-name>
- <toserviceparameter-name>z</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>25</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL_1\faceToModify</fromserviceparameter-name>
- <tonode-name>ModifyCL_1</tonode-name>
- <toserviceparameter-name>faceToModify</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>5</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL_1\newFaceCLtype</fromserviceparameter-name>
- <tonode-name>ModifyCL_1</tonode-name>
- <toserviceparameter-name>newFaceCLtype</toserviceparameter-name>
- <data-value>
-<value-type>3</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>ModifyCL_1\newFaceValue</fromserviceparameter-name>
- <tonode-name>ModifyCL_1</tonode-name>
- <toserviceparameter-name>newFaceValue</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>1</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Plot\Filename</fromserviceparameter-name>
- <tonode-name>Plot</tonode-name>
- <toserviceparameter-name>Filename</toserviceparameter-name>
- <data-value>
-<value-type>18</value-type>
- <value>Result.plt</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Add\x</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>x</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>0</value> </data-value>
- <coord-list/> </data>
- <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
- <fromserviceparameter-name>Add\y</fromserviceparameter-name>
- <tonode-name>Add</tonode-name>
- <toserviceparameter-name>y</toserviceparameter-name>
- <data-value>
-<value-type>7</value-type>
- <value>10</value> </data-value>
- <coord-list/> </data> </data-list></dataflow>
myPy.DoneW()
-myPy.State()
+print myPy.State()
myPy.PrintPorts()
<component-username>Supervisor</component-username>
<component-type>SUPERV</component-type>
<component-author>ARS</component-author>
- <component-version> 1.0</component-version>
+ <component-version>2.1.0</component-version>
<component-comment>Supervision control GUI</component-comment>
<component-multistudy>1</component-multistudy>
<component-icone>ModuleSupervision.png</component-icone>
<popup-item item-id="304" pos-id="9" label-id="Modify Dataflow" icon-id="" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
</menu-item>
- <menu-item label-id="Supervision" item-id="300" pos-id="3">
+ <menu-item label-id="Supervisor" item-id="300" pos-id="3">
<popup-item item-id="305" pos-id="1" label-id="Reload" icon-id="reload.png" tooltip-id="Reload Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <popup-item item-id="309" pos-id="2" label-id="Components" icon-id="components.png" tooltip-id="Components" accel-id="" toggle-id="" execute-action=""/>
+ <popup-item item-id="309" pos-id="2" label-id="Add Node to Dataflow" icon-id="components.png" tooltip-id="Add Node to Dataflow" accel-id="" toggle-id="" execute-action=""/>
<separator pos-id="3"/>
<popup-item item-id="306" pos-id="4" label-id="Run" icon-id="run.png" tooltip-id="Run Dataflow" accel-id="" toggle-id="" execute-action=""/>
<popup-item item-id="310" pos-id="5" label-id="Step by Step" icon-id="steps.png" tooltip-id="Step by Step execution" accel-id="" toggle-id="" execute-action=""/>
</menubar>
<toolbar label-id="Supervisor">
- <toolbutton-item item-id="301" label-id="Import" icon-id="import.gif" tooltip-id="Import Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="302" label-id="Export" icon-id="export.gif" tooltip-id="Export Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="303" label-id="New" icon-id="edit.png" tooltip-id="New Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="304" label-id="Modify" icon-id="modify.png" tooltip-id="Modify Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="305" label-id="Reload" icon-id="reload.png" tooltip-id="Reload Dataflow" accel-id="" toggle-id="" execute-action=""/>
- <toolbutton-item item-id="309" label-id="Components" icon-id="components.png" tooltip-id="Components" accel-id="" toggle-id="" execute-action=""/>
+ <toolbutton-item item-id="301" label-id="Import" icon-id="import.gif" tooltip-id="Import Dataflow" accel-id="" toggle-id="" execute-action=""/>
+ <toolbutton-item item-id="302" label-id="Export" icon-id="export.gif" tooltip-id="Export Dataflow" accel-id="" toggle-id="" execute-action=""/>
+ <toolbutton-item item-id="303" label-id="New" icon-id="edit.png" tooltip-id="New Dataflow" accel-id="" toggle-id="" execute-action=""/>
+ <toolbutton-item item-id="304" label-id="Modify" icon-id="modify.png" tooltip-id="Modify Dataflow" accel-id="" toggle-id="" execute-action=""/>
+ <toolbutton-item item-id="305" label-id="Reload" icon-id="reload.png" tooltip-id="Reload Dataflow" accel-id="" toggle-id="" execute-action=""/>
+ <toolbutton-item item-id="309" label-id="Add Node to Dataflow" icon-id="components.png" tooltip-id="Add Node to Dataflow" accel-id="" toggle-id="" execute-action=""/>
</toolbar>
<toolbar label-id="Execution">
CORBA::Object_ptr StringToObject(char * obj ) const ;
} ;
-# ifdef _DEBUG_
-// *GraphBase::Base::_fdebug << " " /*<< setw(3*(*GraphBase::Base::_prof_debug)) */<< " "
+# ifdef _DEBUG_
# define cdebug if ( GraphBase::Base::_fdebug ) *GraphBase::Base::_fdebug << " "
-
# define cdebug_in if ( GraphBase::Base::_fdebug ) *GraphBase::Base::_fdebug << endl << "-->" << " "
-
# define cdebug_out if ( GraphBase::Base::_fdebug ) *GraphBase::Base::_fdebug << endl << "<--" << " "
# else
# define cdebug_out cdebug
# define debugFile(x)
-# endif
+#endif
} ;
//_SubGraphNumber ) ;
Kind( SUPERV::DataFlowGraph ) ;
_NamingService = NULL ;
- _Node = SUPERV::CNode::_nil() ;
+ _Node_var = SUPERV::CNode::_nil() ;
+ _Node_Impl = NULL ;
_InNode = NULL ;
_ThreadNo = pthread_self() ;
cdebug << "GraphBase::Node::Node " << this << " " << endl ;
Kind( DataFlowkind ) ;
_ORB = CORBA::ORB::_duplicate( ORB ) ;
_NamingService = ptrNamingService ;
- _Node = SUPERV::CNode::_nil() ;
+ _Node_var = SUPERV::CNode::_nil() ;
+ _Node_Impl = NULL ;
_InNode = NULL ;
_ThreadNo = pthread_self() ;
_ORB = CORBA::ORB::_duplicate( ORB ) ;
_NamingService = ptrNamingService ;
- _Node = SUPERV::CNode::_nil() ;
+ _Node_var = SUPERV::CNode::_nil() ;
+ _Node_Impl = NULL ;
_InNode = NULL ;
_ThreadNo = pthread_self() ;
bool GraphBase::ComputingNode::HasInput(const char * ToServiceParameterName ) {
bool RetVal = false ;
const GraphBase::InPort * theInPort = GetInPort( ToServiceParameterName ) ;
-#if 0
- if ( IsDataFlowNode() && theInPort ) {
- RetVal = true ;
- }
- else
-#endif
if ( theInPort ) {
-// cout << "GraphBase::ComputingNode::HasInput theInPort " << theInPort << " " << theInPort->PortName() << " of "
-// << theInPort->NodeName() << " IsDataConnected " << theInPort->IsDataConnected() << " OutPort "
-// << theInPort->GetOutPort() << endl ;
RetVal = theInPort->IsDataConnected() ;
}
else {
}
}
}
- cdebug_out << "GraphBase::ComputingNode::UpdateMacroPorts" << endl;
+ bool ErrPort = false ;
+ if ( aGraph->GetNodeInPortsSize() != GetNodeInPortsSize() ||
+ aGraph->GetNodeOutPortsSize() != GetNodeOutPortsSize() ) {
+ ErrPort = true ;
+ }
+ for ( i = 0 ; i < aGraph->GetNodeInPortsSize() && i < GetNodeInPortsSize() ; i++ ) {
+ if ( !strcmp( aGraph->GetNodeInPort( i )->PortName() , GetNodeInPort( i )->PortName() ) ) {
+ ErrPort = true ;
+ }
+ }
+ for ( i = 0 ; i < aGraph->GetNodeOutPortsSize() && i < GetNodeOutPortsSize() ; i++ ) {
+ if ( !strcmp( aGraph->GetNodeOutPort( i )->PortName() , GetNodeOutPort( i )->PortName() ) ) {
+ ErrPort = true ;
+ }
+ }
+ if ( ErrPort ) {
+ for ( i = 0 ; i < aGraph->GetNodeInPortsSize() || i < GetNodeInPortsSize() ; i++ ) {
+ if ( i < aGraph->GetNodeInPortsSize() && i < GetNodeInPortsSize() ) {
+ cdebug << "ComputingNode::UpdateMacroPorts In" << i << " " << aGraph->GetNodeInPort( i )->PortName()
+ << " " << GetNodeInPort( i )->PortName() << endl ;
+ }
+ else if ( i >= GetNodeInPortsSize() ) {
+ cdebug << "ComputingNode::UpdateMacroPorts In" << i << " " << aGraph->GetNodeInPort( i )->PortName()
+ << endl ;
+ }
+ else {
+ cdebug << "ComputingNode::UpdateMacroPorts In" << i << " " << GetNodeInPort( i )->PortName()
+ << endl ;
+ }
+ }
+ for ( i = 0 ; i < aGraph->GetNodeOutPortsSize() || i < GetNodeOutPortsSize() ; i++ ) {
+ if ( i < aGraph->GetNodeOutPortsSize() && i < GetNodeOutPortsSize() ) {
+ cdebug << "ComputingNode::UpdateMacroPorts Out" << i << " " << aGraph->GetNodeOutPort( i )->PortName()
+ << " != " << GetNodeOutPort( i )->PortName() << endl ;
+ }
+ else if ( i >= GetNodeOutPortsSize() ) {
+ cdebug << "ComputingNode::UpdateMacroPorts Out" << i << " " << aGraph->GetNodeOutPort( i )->PortName()
+ << endl ;
+ }
+ else {
+ cdebug << "ComputingNode::UpdateMacroPorts Out" << i << " " << GetNodeOutPort( i )->PortName()
+ << endl ;
+ }
+ }
+ }
+ cdebug_out << "GraphBase::ComputingNode::UpdateMacroPorts"
+ << aGraph->Name() << " InPorts(" << aGraph->GetNodeInPortsSize() << ") OutPorts("
+ << aGraph->GetNodeOutPortsSize() << ") to MacroNode " << Name() << " InPorts("
+ << GetNodeInPortsSize() << ") OutPorts(" << GetNodeOutPortsSize() << ")" << endl;
}
void GraphBase::ComputingNode::SetMacroDatas( GraphBase::Graph * aGraph ,
// JR : the bug was at line 927 : && HasDataStream() != 0 was missing
if ( IsDataFlowNode() || ( IsDataStreamNode() && HasDataStream() == 0 ) ) {
f << " " << Name() << " = Graph( '" << Name() << "' )" << endl ;
- }
+ if ( GraphMacroLevel() ) {
+ f << " " << Name() << ".SetCoupled( '"
+ << ((GraphBase::GOTONode * ) this)->CoupledNodeName() << "' )" << endl ;
+ }
+ }
else if ( IsDataStreamNode() && HasDataStream() != 0 ) {
f << " " << Name() << " = StreamGraph( '" << Name() << "' )" << endl ;
long Timeout ;
else {
f << " " << Name() << " = " << aGraphName << ".GraphMNode( ? )" << endl ;
}
+ f << " " << Name() << ".SetCoupled( '" << aCoupledNode->Name() << "' )" << endl ;
}
else {
// char * EndName = NULL ;
#include "DataFlowBase_StreamNode.hxx"
+class CNode_Impl ;
+
namespace GraphBase {
class Graph ;
SALOME_NamingService * _NamingService ;
//->StreamNode int * _Graph_prof_debug ;
//->StreamNode ofstream * _Graph_fdebug ;
- SUPERV::CNode_var _Node ;
+ SUPERV::CNode_var _Node_var ;
+ CNode_Impl * _Node_Impl ;
void * _InNode ; // From GraphExecutor:: or GraphEditor::
bool _ObjInterface ;
// }
// }
// cdebug << _NodeName << " " << Name() << endl ;
- return _Node ; } ;
- void SetObjRef(SUPERV::CNode_var aNode) {
+ return _Node_var ; } ;
+ void SetObjRef( SUPERV::CNode_var aNode_var ) {
// char * _NodeName ;
// if ( CORBA::is_nil( _Node ) ) {
// _NodeName = "NilRef" ;
// }
// cdebug << "ComputingNode::SetObjRef( " << _Node << " "
// << _NodeName << " ) " << Name() << " --> " ;
- _Node = aNode ;
+ _Node_var = aNode_var ;
// cdebug << _Node << " " << _Node->Name() << " ) " << Name() << endl ;
} ;
+
+ CNode_Impl * ObjImpl() const { return _Node_Impl ; } ;
+ void SetObjImpl( CNode_Impl * aNode_Impl ) {
+ _Node_Impl = aNode_Impl ; } ;
+
void InNode( void * anInNode ) {
// cdebug << "GraphBase::ComputingNode::InNode " << Name() << endl ;
_InNode = anInNode ; } ;
else {
cdebug << "InPort " << anOutPort->PortName() << " " << anOutPort->PortType() << " "
<< anOutPort->PortStatus() << " of DataFlow " << Name() << " has Data : "
-// << _DataFlowDataPorts->GetNodeOutPort(i)->Value() << " kind "
-// << _DataFlowDataPorts->GetNodeOutPort(i)->Kind()
<< endl ;
}
}
if ( _Computer != FACTORYSERVER )
delete [] _Computer ;
_Computer = my_strdup(c);
- cdebug_in << "GraphBase::FactoryNode::Computer('" << _Computer << "')" << endl;
+ cdebug << "GraphBase::FactoryNode::Computer('" << _Computer << "')" << endl;
cdebug_out << "GraphBase::FactoryNode::Computer" << endl;
return true ;
}
}
const GraphBase::InLineNode * GraphBase::GOTONode::CoupledNode() const {
- cdebug << this << " " << Name() << " GraphBase::GOTONode::CoupledNode() --> " ;
- if ( _CoupledNode ) {
- cdebug << _CoupledNode->Name() ;
- }
- else {
- cdebug << "NULL" ;
- }
- cdebug << endl ;
+// cdebug << this << " " << Name() << " GraphBase::GOTONode::CoupledNode() --> " ;
+// if ( _CoupledNode ) {
+// cdebug << _CoupledNode->Name() ;
+// }
+// else {
+// cdebug << "NULL" ;
+// }
+// cdebug << endl ;
return _CoupledNode ;
}
GraphBase::InLineNode * GraphBase::GOTONode::CoupledNode() {
- cdebug << this << " " << Name() << " GraphBase::GOTONode::CoupledNode() --> " ;
- if ( _CoupledNode ) {
- cdebug << _CoupledNode->Name() ;
- }
- else {
- cdebug << "NULL" ;
- }
- cdebug << endl ;
+// cdebug << this << " " << Name() << " GraphBase::GOTONode::CoupledNode() --> " ;
+// if ( _CoupledNode ) {
+// cdebug << _CoupledNode->Name() ;
+// }
+// else {
+// cdebug << "NULL" ;
+// }
+// cdebug << endl ;
return _CoupledNode ;
}
DataNode() {
cdebug << "GraphBase::Graph::Graph" << endl ;
_GraphNodesSize = 0 ;
- _GraphImpl = NULL ;
}
GraphBase::Graph::Graph( CORBA::ORB_ptr ORB ,
// const char * DebugFileName ) :
DataNode( ORB ,ptrNamingService , DataFlowName , DataFlowkind , Graph_prof_debug , Graph_fdebug ) {
_Orb = CORBA::ORB::_duplicate( ORB ) ;
- _GraphImpl = NULL ;
Set_prof_debug( Graph_prof_debug , Graph_fdebug ) ;
cdebug << "GraphBase::Graph::Graph( " << DataFlowName << ") GraphNodesSize() " << GraphNodesSize() << endl ;
_GraphNodesSize = 0 ;
DataFlowEditorRelease , DataFlowAuthor , DataFlowComment ) {
_Orb = CORBA::ORB::_duplicate( ORB ) ;
_GraphNodesSize = 0 ;
- _GraphImpl = NULL ;
Set_prof_debug( Graph_prof_debug , Graph_fdebug ) ;
cdebug_in << "GraphBase::Graph::Graph" << endl ;
DataService( ORB , DataFlowService , Graph_prof_debug , Graph_fdebug ) ;
cdebug << i << ". ERROR" << endl ;
}
}
+ aNode->GraphOfNode( this ) ;
}
cdebug_out << "GraphBase::Graph::AddNode " << _GraphNodesSize << " Nodes. "
<< aNode->ServiceName() << endl;
}
}
char* OldNodePortName = new char[ strlen( OldNodeName ) +
- strlen( aNode->GetChangeNodeInPort( i )->PortName() ) + 2 ] ;
+ strlen( aNode->GetChangeNodeInPort( i )->PortName() ) + 3 ] ;
char* NewNodePortName = new char[ strlen( NewNodeName ) +
- strlen( aNode->GetChangeNodeInPort( i )->PortName() ) + 2 ] ;
+ strlen( aNode->GetChangeNodeInPort( i )->PortName() ) + 3 ] ;
strcpy( OldNodePortName , OldNodeName ) ;
// strcat( OldNodePortName , "\\" ) ;
- strcat( OldNodePortName , "_" ) ;
+ strcat( OldNodePortName , "__" ) ;
strcat( OldNodePortName , aNode->GetChangeNodeInPort( i )->PortName() ) ;
strcpy( NewNodePortName , NewNodeName ) ;
// strcat( NewNodePortName , "\\" ) ;
- strcat( NewNodePortName , "_" ) ;
+ strcat( NewNodePortName , "__" ) ;
strcat( NewNodePortName , aNode->GetChangeNodeInPort( i )->PortName() ) ;
RetVal = anOutPort->ReNameInPort( OldNodePortName , NewNodePortName ) ;
delete [] OldNodePortName ;
RetVal = true ;
}
else {
- cdebug << "Node not found" << endl ;
+ cdebug << "ERROR Node not found" << endl ;
}
}
else {
RetVal = Name( NewNodeName ) ;
}
- cdebug_out << "GraphBase::Graph::ReNameNode" << endl;
+ cdebug_out << "GraphBase::Graph::ReNameNode RetVal " << RetVal << endl;
return RetVal ;
}
}
else {
GraphBase::ComputingNode * FromNode = GetChangeGraphNode( anOutPort->NodeName() ) ;
- if ( !FromNode->IsGOTONode() ) {
+ // asv : 04.11.04 : IsGOTO -> IsOneOfGOTO, I believe that it fixes the bug 7120.
+ if ( !FromNode->IsOneOfGOTONodes() ) {
if ( anInPort->IsDataStream() ) {
RetVal = FromNode->RemoveStreamLinkedNode( aNode ) ;
}
if ( fromNode ) {
fromPort = fromNode->GetChangeOutPort( FromServiceParameterName ) ;
if ( !fromPort ) {
- cdebug << "AddLink fromPort " << FromServiceParameterName << " FromNode("
+ cdebug << "ERROR AddLink fromPort " << FromServiceParameterName << " FromNode("
<< FromNodeName << ") not found." << endl ;
}
}
else {
- cdebug << "AddLink FromNode " << FromNodeName << " not found." << endl ;
+ cdebug << "ERROR AddLink FromNode " << FromNodeName << " not found." << endl ;
}
if ( toNode ) {
toPort = toNode->GetChangeInPort( ToServiceParameterName ) ;
if ( !toPort ) {
- cdebug << "AddLink toPort " << ToServiceParameterName << " ToNode("
+ cdebug << "ERROR AddLink toPort " << ToServiceParameterName << " ToNode("
<< ToNodeName << ") not found." << endl ;
}
}
else {
- cdebug << "AddLink toNode " << ToNodeName << " not found." << endl ;
+ cdebug << "ERROR AddLink toNode " << ToNodeName << " not found." << endl ;
}
RetVal = AddLink( fromNode , fromPort , toNode , toPort ) ;
// fromPort->PortStatus( DataConnected );
}
- cdebug_out << "GraphBase::Graph::AddLink" << endl;
+ cdebug_out << "GraphBase::Graph::AddLink " << RetVal << endl;
return RetVal ;
}
// bool RetVal ;
if ( !fromNode ) {
- cdebug << "AddLink fromNode not found." << endl ;
+ cdebug << "ERROR AddLink fromNode not found." << endl ;
return false ;
}
if ( !fromPort ) {
- cdebug << "AddLink fromPort not found." << endl ;
+ cdebug << "ERROR AddLink fromPort not found." << endl ;
return false ;
}
if ( !toNode ) {
- cdebug << "AddLink toNode not found." << endl ;
+ cdebug << "ERROR AddLink toNode not found." << endl ;
return false ;
}
if ( !toPort ) {
- cdebug << "AddLink toPort not found." << endl ;
+ cdebug << "ERROR AddLink toPort not found." << endl ;
return false ;
}
if ( ( fromPort->IsDataStream() && !toPort->IsDataStream() ) ||
break;
}
cdebug << " ) in Graph " << Name() << endl;
-
+
GraphBase::ComputingNode *toNode ;
GraphBase::InPort *toPort ;
char *aNodeName ;
int i ;
for ( i = 0 ; i < GetNodeOutDataNodePortsSize() ; i++ ) {
- cdebug "Graph::AddInputData In" << i << " " << *GetNodeOutDataNodePort(i) << endl ;
+ cdebug << "Graph::AddInputData In" << i << " " << *GetNodeOutDataNodePort(i) << endl ;
}
for ( i = 0 ; i < GetNodeInDataNodePortsSize() ; i++ ) {
- cdebug "Graph::AddInputData Out" << i << " " << *GetNodeInDataNodePort(i) << endl ;
+ cdebug << "Graph::AddInputData Out" << i << " " << *GetNodeInDataNodePort(i) << endl ;
}
if ( toNode && toPort ) {
}
}
else {
- cdebug << "Node and/or Port not found : " << aNodeName << " " << aPortName << endl ;
+ cdebug << "ERROR Node and/or Port not found : " << aNodeName << " " << aPortName << endl ;
}
delete aNodeName ;
delete aPortName ;
cdebug << "(other(tk_string,tk_double,tk_long,tk_objref)) ERROR";
break;
}
- cdebug << ")" << endl;
-
- GraphBase::ComputingNode *toNode = GetChangeGraphNode( ToNodeName ) ;
-
- GraphBase::OutPort *fromPort = NULL ;
- GraphBase::InPort *toPort = NULL ;
+ cdebug << " ) in Graph " << Name() << endl;
+ GraphBase::ComputingNode * toNode ;
+ GraphBase::InPort * toPort = NULL ;
+ char * aNodeName ;
+ char * aPortName ;
+ NodePort( ToNodeName , ToServiceParameterName , &aNodeName , &aPortName ) ;
+ toNode = GetChangeGraphNode( aNodeName ) ;
+ cdebug << "in Graph " << Name() << " aNodeName " << aNodeName << " aPortName " << aPortName << endl;
if ( toNode ) {
- toPort = toNode->GetChangeInPort( ToServiceParameterName ) ;
- if ( toPort ) {
- fromPort = toPort->GetOutPort();
+ toPort = toNode->GetChangeInPort( aPortName ) ;
+ if ( toPort && toPort->IsDataConnected() ) {
+ GraphBase::OutPort * fromPort = toPort->GetOutPort();
if ( fromPort ) {
RetVal = true ;
fromPort->Value( aValue ) ;
toPort->State( SUPERV::ReadyState ) ;
}
else {
- cdebug << "ChangeInputData fromPort not found" << endl ;
+ cdebug << "ERROR ChangeInputData fromPort not found" << endl ;
}
}
else {
- cdebug << "ChangeInputData toPort not found" << endl ;
+ cdebug << "ERROR ChangeInputData toPort not found" << endl ;
}
}
else {
- cdebug << "ChangeInputData Node not found : " << ToNodeName << endl ;
+ cdebug << "ERROR ChangeInputData Node not found : " << ToNodeName << endl ;
}
cdebug_out << "GraphBase::Graph::ChangeInputData" << endl;
}
}
else {
- cdebug << "Node not found " << ToNodeName << " ERROR. Known nodes :" << endl ;
+ cdebug << "ERROR Node not found " << ToNodeName << " ERROR. Known nodes :" << endl ;
map< string , int >::iterator aMapOfGraphNodesIterator ;
int i = 0 ;
for ( aMapOfGraphNodesIterator = _MapOfGraphNodes.begin() ;
anOutPort->State( SUPERV::ReadyState ) ;
anOutPort->Done( true ) ;
cdebug << *anOutPort ;
+#ifdef _DEBUG_
anOutPort->StringValue( *_fdebug ) ;
+#endif
cdebug << endl ;
}
else {
- cdebug << "Node not found" << endl ;
+ cdebug << "ERROR Node not found" << endl ;
RetVal = false ;
}
cdebug_out << "GraphBase::Graph::AddOutputData " << RetVal << endl;
cdebug_in << "GraphBase::Graph::InLineServices" << endl;
int i , j ;
+
+#ifdef _DEBUG_
ListPorts( *_Graph_fdebug , 0 ) ;
+#endif
+
GraphBase::InLineNode * aINode ;
SALOME_ModuleCatalog::Service aService ;
for ( i = 0 ; i < GraphNodesSize() ; i++ ) {
(_SortedNodes[ i ])[ j ]->SubGraph( 0 ) ;
if ( (_SortedNodes[ i ])[ j ]->HasDataStream() ) {
(_SortedNodes[ i ])[ j ]->SubStreamGraph( 0 ) ;
- }
+ }
else {
(_SortedNodes[ i ])[ j ]->SubStreamGraph( -1 ) ;
- }
+ }
}
}
bool Graphs = true ;
while ( Graphs ) {
for ( i = 0 ; i <= _LevelsNumber ; i++ ) {
+ cdebug << endl << "LevelsNumber " << _LevelsNumber << " " << _NodesNumber[ i ]
+ << " Nodes :" << endl ;
for ( j = 0 ; j <= _NodesNumber[ i ] ; j++ ) {
GraphBase::ComputingNode * aNode = (_SortedNodes[ i ])[ j ] ;
-// cdebug << "SubGraph " << aNode->SubGraph() << " " << aNode->Name()
-// << endl ;
+ cdebug << " " << aNode->Name() << " SubGraph " << aNode->SubGraph() << endl ;
int k ;
for ( k = 0 ; k < aNode->LinkedNodesSize() ; k++ ) {
- if ( aNode->LinkedNodes( k )->SubGraph() ) {
- if ( aNode->LinkedNodes( k )->SubGraph() != aNode->SubGraph() &&
- aNode->LinkedNodes( k )->Level() == aNode->Level()+1 ) {
- aNode->SubGraph( aNode->LinkedNodes( k )->SubGraph() ) ;
-// cdebug << " Linked " << aNode->LinkedNodes( k )->Name()
-// << " SubGraph(" << aNode->LinkedNodes( k )->SubGraph()
-// << ") ==>" << endl ;
-// cdebug << " SubGraph " << aNode->SubGraph() << " for "
-// << aNode->Name() << " ==> again" << endl ;
+ if ( aNode->LinkedNodes( k )->SubGraph() ) {
+ if ( aNode->LinkedNodes( k )->SubGraph() != aNode->SubGraph() ) {
+// && aNode->LinkedNodes( k )->Level() == aNode->Level()+1 ) {
+// aNode->SubGraph( aNode->LinkedNodes( k )->SubGraph() ) ;
+ int OldSub = aNode->SubGraph() ;
+ int NewSub = aNode->LinkedNodes( k )->SubGraph() ;
+ cdebug << " " << aNode->Name() << " changed SubGraph "
+ << aNode->LinkedNodes( k )->SubGraph() << endl ;
int l ;
- for ( l = 0 ; l < aNode->LinkedNodesSize() ; l++ ) {
- aNode->LinkedNodes( l )->SubGraph( aNode->SubGraph() ) ;
+ for ( l = 0 ; l <= _LevelsNumber ; l++ ) {
+ int m ;
+ for ( m = 0 ; m <= _NodesNumber[ l ] ; m++ ) {
+ if ( (_SortedNodes[ l ])[ m ]->SubGraph() == OldSub ) {
+ GraphBase::ComputingNode * aSubNode = (_SortedNodes[ l ])[ m ] ;
+ aSubNode->SubGraph( NewSub ) ;
}
+ }
+ }
Graphs = false ;
break ;
- }
+ }
else {
-// cdebug << " Linked " << aNode->LinkedNodes( k )->Name()
-// << " SubGraph(" << aNode->LinkedNodes( k )->SubGraph()
-// << ") distance > 1 ignored" << endl ;
- }
+ cdebug << " Linked " << aNode->LinkedNodes( k )->Name()
+ << " same SubGraph " << aNode->LinkedNodes( k )->SubGraph() << endl ;
}
+ }
else {
-// cdebug << " Linked " << aNode->LinkedNodes( k )->Name()
-// << " GraphInit to " << aNode->SubGraph() << " from "
-// << aNode->Name() << endl ;
+ cdebug << " LinkedNode " << aNode->LinkedNodes( k )->Name()
+ << " initial SubGraph " << aNode->SubGraph() << endl ;
aNode->LinkedNodes( k )->SubGraph( aNode->SubGraph() ) ;
- }
}
}
- if ( !Graphs )
+ if ( !Graphs ) {
+ break ;
+ }
+ }
+ if ( !Graphs ) {
break ;
+ }
}
if ( Graphs ) {
-// cdebug << endl << "SubGraphs result : " << endl ;
+ cdebug << endl << "SubGraphs result : " << endl ;
break ;
}
-// cdebug << endl << "One more time" << endl ;
+ cdebug << endl << "One more time" << endl ;
Graphs = true ;
}
// Make a sequential renumbering of SubGraphs :
for ( j = 0 ; j <= _NodesNumber[ i ] ; j++ ) {
if ( (_SortedNodes[ i ])[ j ]->SubGraph() == CurrGraphsNumber ) {
(_SortedNodes[ i ])[ j ]->SubGraph( _SubGraphsNumber ) ;
-// cdebug << "SubGraphsNumber " << _SubGraphsNumber << " " << " Level "
-// << i << " : " << (_SortedNodes[ i ])[ j ]->Name()
-// << endl ;
+ cdebug << "SubGraphsNumber " << _SubGraphsNumber << " " << " Level "
+ << i << " : " << (_SortedNodes[ i ])[ j ]->Name()
+ << endl ;
}
}
- }
+ }
}
}
// }
}
+#ifdef _DEBUG_
ListPorts( *_Graph_fdebug , 0 ) ;
+#endif
cdebug_out << "GraphBase::Graph::Sort" << endl;
return true ;
GraphBase::GOTONode * aGOTONode = (GraphBase::GOTONode * ) aNode ;
GraphBase::OutPort *anOutGate = aGOTONode->GetChangeNodeOutGate() ;
if ( anOutGate->IsNotConnected() ) {
- if ( !AddLink( aGOTONode , anOutGate ,
- aGOTONode->CoupledNode() , aGOTONode->CoupledNode()->GetChangeNodeInGate() ) ) {
-// cdebug << "GraphBase::Graph::CreateService AddLink ERROR " << aGOTONode->Name() << "( "
-// << anOutGate->PortName() << " ) --> " << aGOTONode->CoupledNode()->Name() << "( "
-// << aGOTONode->CoupledNode()->GetChangeNodeInGate()->PortName() << " )" << endl ;
- RetVal = false ;
- }
- else {
- NewLink = true ;
+ RetVal = aGOTONode->CoupledNode() != NULL;
+ if ( RetVal ) {
+ RetVal = AddLink( aGOTONode , anOutGate ,
+ aGOTONode->CoupledNode() , aGOTONode->CoupledNode()->GetChangeNodeInGate() );
+ // cdebug << "GraphBase::Graph::CreateService AddLink ERROR " << aGOTONode->Name() << "( "
+ // << anOutGate->PortName() << " ) --> " << aGOTONode->CoupledNode()->Name() << "( "
+ // << aGOTONode->CoupledNode()->GetChangeNodeInGate()->PortName() << " )" << endl ;
+ if ( !RetVal )
+ NewLink = true;
}
}
}
if ( anInPort )
anOutPort = anInPort->GetOutPort() ;
else {
- cdebug << "GraphBase::Graph::PortState OutPort/InPort not found --> "
+ cdebug << "ERROR GraphBase::Graph::PortState OutPort/InPort not found --> "
<< aRet << endl ;
}
}
}
}
else {
- cdebug << "GraphBase::Graph::PortState Node not found --> " << aRet
+ cdebug << "ERROR GraphBase::Graph::PortState Node not found --> " << aRet
<< endl ;
}
delete theNode ;
anOutPort = anInPort->GetOutPort() ;
if ( anOutPort ) {
aRet = anOutPort->Value() ;
-// cdebug << "OutPort value " << anOutPort->NodeName() << "("
-// << anOutPort->PortName() << ") --> InPort " << anInPort->NodeName()
-// << "(" << anInPort->PortName() << ")" << endl ;
+ cdebug << "OutPort value " << anOutPort->NodeName() << "("
+ << anOutPort->PortName() << ") --> InPort " << anInPort->NodeName()
+ << "(" << anInPort->PortName() << ") " << anInPort->PortStatus() << endl ;
}
else {
cdebug << "GraphBase::Graph::PortInData " << ToNodeName << " "
cdebug_out << aThread << " GraphBase::Graph::StartComponent" << endl;
return RetVal ;
}
-
#include "DataFlowBase_EndOfSwitchNode.hxx"
#include "DataFlowBase_DataNode.hxx"
-class Graph_Impl ;
-
namespace GraphBase {
class Graph : public DataNode {
// int _Graph_prof_debug;
// ofstream * _Graph_fdebug;
CORBA::ORB_ptr _Orb ;
- SUPERV::Graph_var _Graph ;
- Graph_Impl * _GraphImpl ;
+// SUPERV::Graph_var _Graph ;
+// Graph_Impl * _GraphImpl ;
// Map of Nodes of the Graph
map< string , int > _MapOfGraphNodes ;
return _prof_debug ; } ;
ofstream * Graph_fdebug() { return _fdebug ; } ;
- SUPERV::Graph_var ObjRef() const { return _Graph ; } ;
- void SetObjRef( SUPERV::Graph_var aGraph ) {
- _Graph = aGraph ; } ;
- Graph_Impl * ObjImpl() const { return _GraphImpl ; } ;
- void SetObjImpl( Graph_Impl * aGraphImpl ) {
- _GraphImpl = aGraphImpl ; } ;
+// SUPERV::Graph_var ObjRef() const { return _Graph ; } ;
+// void SetObjRef( SUPERV::Graph_var aGraph ) {
+// _Graph = aGraph ; } ;
+// Graph_Impl * ObjImpl() const { return _GraphImpl ; } ;
+// void SetObjImpl( Graph_Impl * aGraphImpl ) {
+// _GraphImpl = aGraphImpl ; } ;
void AddLinkedNode( const char* FromNodeName , GraphBase::ComputingNode * anOutNode ) {
GetChangeGraphNode( FromNodeName )->AddLinkedNode( anOutNode ) ; } ;
cdebug << "Graph::LoadXml " << ListOfDataFlows.size() << " Graphs" << endl ;
}
else {
- delete myXmlHandler ;
cdebug << "Graph::LoadXml Graph status " << status << endl ;
RetVal = false ;
}
const char* NewNodePortName ) {
int index = _MapOfInPorts[ OldNodePortName ] ;
if ( index <= 0 || index > _InPortsSize ) {
- cdebug << "GraphBase::OutPort::ReNameLink Error " << OldNodePortName
+ cdebug << "GraphBase::OutPort::ReNameInPort Error " << OldNodePortName
<< " --> " << NewNodePortName << " index " << index << endl ;
return false ;
}
// Even if an OutPort may be connected to several ports the PortStatus is unique
const StatusOfPort PortStatus() const {
return _Connected; } ;
- void PortStatus(StatusOfPort c) { _Connected = c; } ;
+ void PortStatus( StatusOfPort PortSts ) {
+// cdebug << "OutPort::PortStatus " << NodeName() << " " << PortName() << " "
+// << _Connected << " --> " << PortSts << endl ;
+ _Connected = PortSts ; } ;
const bool IsNotConnected() const {
return ( _Connected == NotConnected ) ; } ;
// const bool IsConnected() const {
_LevelNumber = -1 ;
_SortedIndex = -1 ;
_GraphEditor = NULL ;
- _GraphExecutor = NULL ;
_GraphMacroNode = SUPERV::Graph::_nil() ;
+ _GraphOfNode = NULL ;
_GraphMacroLevel = 0 ;
_SubGraphNumber = 0 ;
_SubStreamGraphNumber = 0 ;
_LevelNumber = -1 ;
_SortedIndex = -1 ;
_GraphEditor = NULL ;
- _GraphExecutor = NULL ;
_GraphMacroNode = SUPERV::Graph::_nil() ;
+ _GraphOfNode = NULL ;
_GraphMacroLevel = 0 ;
_SubGraphNumber = 0 ;
_SubStreamGraphNumber = 0 ;
}
cdebug_out << "GraphBase::StreamNode::ReNameStreamLinkedNode" << endl ;
}
-
}
-namespace GraphExecutor {
-
- class DataFlow ;
-
-}
-
namespace GraphBase {
class Graph ;
int _SortedIndex ;
GraphEditor::DataFlow * _GraphEditor ;
- GraphExecutor::DataFlow * _GraphExecutor ;
// If DataFlowGraph/DataStreamGraph in another graph :
// the Graph if MacroNode and MacroNode if Graph
SUPERV::Graph_var _GraphMacroNode ;
+ GraphBase::Graph * _GraphOfNode ;
int _GraphMacroLevel ;
int _SubGraphNumber ;
void SetSubStreamGraph( int SubStreamGraphsNumber , int & RetVal ) ;
- void SetGraphEditor( GraphEditor::DataFlow * aGraphEditor ) {
- cdebug << "SetGraphEditor this " << this << " " << Name() << " : " << aGraphEditor << endl ;
+ void GraphEditor( GraphEditor::DataFlow * aGraphEditor ) {
+ cdebug << "StreamNode::GraphEditor this " << this << " " << Name() << " : _GraphEditor = " << aGraphEditor << endl ;
_GraphEditor = aGraphEditor ; } ;
GraphEditor::DataFlow * GraphEditor() const {
- cdebug << "GraphEditor this " << this << " " << Name() << " : " << _GraphEditor << endl ;
+ cdebug << "StreamNode::GraphEditor this " << this << " " << Name() << " : " << _GraphEditor << endl ;
return _GraphEditor ; } ;
- void SetGraphExecutor( GraphExecutor::DataFlow * aGraphExecutor ) {
- cdebug << "SetGraphExecutor this " << this << " " << Name() << " : " << aGraphExecutor << endl ;
- _GraphExecutor = aGraphExecutor ; } ;
- GraphExecutor::DataFlow * GraphExecutor() const {
- cdebug << "GraphExecutor this " << this << " " << Name() << " : " << _GraphExecutor << endl ;
- return _GraphExecutor ; } ;
-
void GraphMacroLevel( int aGraphMacroLevel ) {
cdebug << "GraphMacroLevel " << Name() << " " << aGraphMacroLevel << endl ;
_GraphMacroLevel = aGraphMacroLevel ; } ;
cdebug << "MacroObject GraphMacroNode " << this << " " << Name()
<< " MacroObject(nil object). Error" << endl ;
}
+ else {
+ cdebug << "MacroObject GraphMacroNode " << this << " " << Name()
+ << " MacroObject " << _GraphMacroNode << endl ;
+ }
_GraphMacroNode = aGraphMacroNode ; } ;
SUPERV::Graph_var MacroObject() const {
if ( CORBA::is_nil( _GraphMacroNode ) ) {
}
return _GraphMacroNode ; } ;
+ void GraphOfNode( GraphBase::Graph * aGraph ) {
+ _GraphOfNode = aGraph ; } ;
+ GraphBase::Graph * GraphOfNode() {
+ return _GraphOfNode ; } ;
+
int SubGraph() const { return _SubGraphNumber ; } ;
void SubGraph( int SubGraphNumber ) {
_SubGraphNumber = SubGraphNumber ; } ;
CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_MT_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) \
-I${KERNEL_ROOT_DIR}/include/salome
-CXXFLAGS+= -g -D_DEBUG_ -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
+CXXFLAGS+= -g -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
-I${KERNEL_ROOT_DIR}/include/salome
LDFLAGS= -L../../lib/salome $(CORBA_LIBS) -lSalomeNS -lSalomeLifeCycleCORBA -lOpUtil -lSALOMELocalTrace \
-lc $(PYTHON_LIBS) $(QT_MT_LIBS) $(OGL_LIBS) \
// delete _GT ;
}
-#if 0
-GraphExecutor::DataFlow * GraphEditor::DataFlow::Run() {
- cdebug_in << "GraphEditor::DataFlow::Run" << endl;
- SUPERV::SGraph * theDataFlow ;
- GraphExecutor::DataFlow * aDataFlowExecutor ;
- theDataFlow = GetDataFlow() ;
- aDataFlowExecutor = new GraphExecutor::DataFlow( NamingService() ,
- theDataFlow->Info.theName ) ;
- if ( aDataFlowExecutor->LoadDataFlow( *theDataFlow ) ) {
- aDataFlowExecutor->Run() ;
- }
- else {
- MESSAGE( "GraphEditor::DataFlow::Run error while loading DataFlowExecutor")
- delete aDataFlowExecutor ;
- }
- cdebug_out << "GraphEditor::DataFlow::Run" << endl;
- return aDataFlowExecutor ;
-}
-#endif
#ifndef _DATAFLOWEDITOR_DATAFLOW_HXX
#define _DATAFLOWEDITOR_DATAFLOW_HXX
-//#include "DataFlowExecutor_DataFlow.hxx"
-
-#include "DataFlowExecutor_DataFlow.hxx"
#include "DataFlowEditor_OutNode.hxx"
+namespace GraphExecutor {
+
+ class DataFlow;
+
+}
+
namespace GraphEditor {
class DataFlow : public GraphEditor::OutNode {
bool IsValid() ;
bool IsExecutable() ;
- void Executing() ;
+ void Executing( bool b = true ) ;
bool IsExecuting() ;
void Editing() ;
bool IsEditing() ;
+ bool UnValid() ;
void EditedAfterExecution(bool EditedAfterExecution ) ;
bool EditedAfterExecution() ;
return GraphEditor::OutNode::IsExecutable() ;
}
-inline void GraphEditor::DataFlow::Executing() {
- cdebug << "Executing _Executing = true " << endl ;
- _Executing = true ;
+inline void GraphEditor::DataFlow::Executing( bool b ) {
+ cdebug << "Executing _Executing = " << b << endl ;
+ _Executing = b ;
}
inline bool GraphEditor::DataFlow::IsExecuting() {
-#if 0
- //cout << " +++++> Old!" << endl;
- if ( _DataFlowExecutor ) {
- if ( _DataFlowExecutor->IsDone() ) {
- _Executing = false ;
- }
- else {
- _Executing = true ;
- }
- }
- else {
- _Executing = false ;
- }
-#endif
-// cdebug << "GraphEditor::DataFlow::IsExecuting _Executing " << _Executing << " DataFlowExecutor " << _DataFlowExecutor ;
+/*
if ( _DataFlowExecutor ) {
cdebug << " IsDone " << _DataFlowExecutor->IsDone() << " State " << _DataFlowExecutor->State() ;
}
cdebug << endl ;
-// cout << "+++++++++++++> _Executing = " << _Executing << " _DataFlowExecutor = " << _DataFlowExecutor << endl;
if ( _Executing && _DataFlowExecutor ) {
if ( _DataFlowExecutor->IsDone() ) {
_Executing = false ;
}
}
+*/
return _Executing ;
}
+
inline void GraphEditor::DataFlow::Editing() {
cdebug << "Editing _Executing = false " << endl ;
_Executing = false ;
return _EditedAfterExecution ;
}
+inline bool GraphEditor::DataFlow::UnValid() {
+ Editing() ;
+ EditedAfterExecution( true ) ;
+ return GraphEditor::OutNode::UnValid() ;
+}
+
inline bool GraphEditor::DataFlow::IsReadOnly() {
return _ReadOnly ;
}
void SetObjRef(SUPERV::CNode_var aNode) {
_ComputingNode->SetObjRef( aNode ) ; } ;
- Graph_Impl * ObjImpl() const { return _GraphMacroNode->ObjImpl() ; } ;
- void SetObjImpl( Graph_Impl * aGraph ) {
- _GraphMacroNode->SetObjImpl( aGraph ) ; } ;
+ CNode_Impl * ObjImpl() const { return _ComputingNode->ObjImpl() ; } ;
+ void SetObjImpl( CNode_Impl * aGraph ) {
+ _ComputingNode->SetObjImpl( aGraph ) ; } ;
const SALOME_ModuleCatalog::Service * GetService() const {
return _ComputingNode->GetService() ; } ;
#include "DataFlowBase_EndOfLoopNode.hxx"
#include "DataFlowBase_EndOfSwitchNode.hxx"
-#include "DataFlowExecutor_DataFlow.hxx"
-extern GraphExecutor::FiniteStateMachine * theAutomaton ;
+//map< string , GraphBase::Graph * > GraphEditor::OutNode::_MapOfGraphs;
+map< string , int > _MapOfGraphNames;
+
+string GraphInstanceName( const char * aGraphName ) {
+ int GraphInstanceNumber = _MapOfGraphNames[ aGraphName ] ;
+ if ( GraphInstanceNumber ) {
+ _MapOfGraphNames[ aGraphName ] = GraphInstanceNumber + 1 ;
+ }
+ else {
+ GraphInstanceNumber = 0 ;
+ _MapOfGraphNames[ aGraphName ] = GraphInstanceNumber + 1 ;
+ }
+ string theGraphInstanceName = string( aGraphName ) ;
+ if ( GraphInstanceNumber ) {
+ theGraphInstanceName += "_" ;
+ ostringstream astr ;
+ astr << GraphInstanceNumber ;
+ theGraphInstanceName += astr.str() ;
+ }
+ return theGraphInstanceName ;
+}
+
// Implementation de la classe GraphEditor::Graph
if ( aKindOfNode == SUPERV::DataFlowGraph ) {
_StreamGraph = NULL ;
-// _Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowName , DebugFileName ) ;
_Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowName , aKindOfNode ,
- _prof_debug , _fdebug ) ;
+ _prof_debug , _fdebug ) ;
+// MapGraph( _Graph , _Graph->Name() ) ;
}
else if ( aKindOfNode == SUPERV::DataStreamGraph ) {
-// _StreamGraph = new GraphBase::StreamGraph( ORB , ptrNamingService , DataFlowName , DebugFileName ) ;;
_StreamGraph = new GraphBase::StreamGraph( ORB , ptrNamingService , DataFlowName , aKindOfNode ,
_prof_debug , _fdebug ) ;
_Graph = _StreamGraph ;
+// MapGraph( _Graph , _Graph->Name() ) ;
}
-// if ( aKindOfNode == SUPERV::DataFlowGraph || aKindOfNode == SUPERV::DataStreamGraph ) {
-// theAutomaton->MapGraph( _Graph , _Graph->Name() ) ;
-// }
_Orb = CORBA::ORB::_duplicate( ORB ) ;
_Imported = false ;
_Valid = false ;
const char * DataFlowComputer ,
const char * DataFlowComment ,
const char * DebugFileName ) {
-// Graph( ORB , ptrNamingService , DataFlowService , DataFlowComponentName ,
-// DataFlowInterfaceName , DataFlowName , DataFlowkind ,
-// DataFlowFirstCreation , DataFlowLastModification ,
-// DataFlowEditorRelease , DataFlowAuthor ,
-// DataFlowComputer , DataFlowComment , DebugFileName ) {
_Graph = NULL ;
Set_prof_debug( ORB , DebugFileName ) ;
DataFlowEditorRelease , DataFlowAuthor ,
DataFlowComputer , DataFlowComment ,
_prof_debug , _fdebug ) ;
-// DataFlowComputer , DataFlowComment , DebugFileName ) ;
+// MapGraph( _Graph , _Graph->Name() ) ;
}
else if ( DataFlowkind == SUPERV::DataStreamGraph ) {
_StreamGraph = new GraphBase::StreamGraph( ORB , ptrNamingService , DataFlowService , DataFlowComponentName ,
DataFlowEditorRelease , DataFlowAuthor ,
DataFlowComputer , DataFlowComment ,
_prof_debug , _fdebug ) ;
-// DataFlowComputer , DataFlowComment , DebugFileName ) ;
_Graph = _StreamGraph ;
+// MapGraph( _Graph , _Graph->Name() ) ;
}
-// if ( DataFlowkind == SUPERV::DataFlowGraph || DataFlowkind == SUPERV::DataStreamGraph ) {
-// theAutomaton->MapGraph( _Graph , _Graph->Name() ) ;
-// }
_Orb = CORBA::ORB::_duplicate( ORB ) ;
_Imported = false ;
_Valid = false ;
} ;
GraphEditor::OutNode::~OutNode() {
-// theAutomaton->EraseGraph( Graph->Name() ) ;
+// EraseGraph( Graph->Name() ) ;
// delete _DataFlowNode ;
// delete _DataFlowDatas ;
// delete _GT ;
bool GraphEditor::OutNode::Name( const char * aName ) {
bool RetVal = false ;
- if ( !theAutomaton->GraphName( aName ) ) {
- char * aGraphName = Graph()->Name() ;
+// if ( !GraphName( aName ) ) {
+// char * aGraphName = Graph()->Name() ;
RetVal = Graph()->Name( aName ) ;
- if ( RetVal ) {
- theAutomaton->EraseGraph( aGraphName ) ;
- theAutomaton->MapGraph( Graph() , aName ) ;
- }
- }
+// if ( RetVal ) {
+// EraseGraph( aGraphName ) ;
+// MapGraph( Graph() , aName ) ;
+// }
+// }
return RetVal ;
}
cdebug << "GraphEditor::OutNode::LoadXml() No file" << endl;
_Imported = true ;
char * aDataFlowName = Graph()->Name() ;
- Name( theAutomaton->GraphInstanceName( Graph()->Name() ).c_str() ) ;
- theAutomaton->MapGraph( Graph() , Graph()->Name() ) ;
+// Name( Graph()->Name() ) ;
+ Name( GraphInstanceName( Graph()->Name() ).c_str() ) ;
+// MapGraph( Graph() , Graph()->Name() ) ;
cdebug << "GraphEditor::OutNode::LoadXml() " << aDataFlowName << " --> " << Graph()->Name() << endl;
RetVal = true ;
}
// InterfaceName( aDataFlowInfo.theInterfaceName.c_str() ) ;
if ( Graph()->IsDataStreamNode() || aDataFlowInfo.theKind == SUPERV::DataFlowGraph ) {
char * aDataFlowName = Graph()->Name() ;
- Graph()->Name( theAutomaton->GraphInstanceName( aDataFlowInfo.theName.c_str() ).c_str() ) ;
- theAutomaton->MapGraph( Graph() , Graph()->Name() ) ;
+// Graph()->Name( aDataFlowInfo.theName.c_str() ) ;
+ Graph()->Name( GraphInstanceName( aDataFlowInfo.theName.c_str() ).c_str() ) ;
+// MapGraph( Graph() , Graph()->Name() ) ;
cdebug << "GraphEditor::OutNode::LoadInfo " << aDataFlowName << " --> " << Graph()->Name()
<< " aDataFlowInfo.Kind " << aDataFlowInfo.theKind << " Kind() " << Graph()->Kind() << endl ;
if ( Graph()->IsDataStreamNode() ) {
return false ;
}
}
+
+ // setting coupled pairs of nodes: Loop-EndLoop, Switch-EndSwitch, InLine-GOTO, MacroNode-Graph
for ( i = 0 ; i < (int ) aListOfNodes.size() ; i++ ) {
GraphBase::SNode aNode = aListOfNodes[ i ] ;
cdebug << "GraphEditor::OutNode::LoadNodes " << aNode.theName.c_str() << " Coupled to "
<< aNode.theCoupledNode.c_str() << endl ;
- anInNode = (GraphEditor::InNode * ) Graph()->GetChangeGraphNode( aNode.theName.c_str() )->GetInNode() ;
+ anInNode = (GraphEditor::InNode * ) Graph()->GetChangeGraphNode( aMapOfNodes[ aNode.theName.c_str() ] )->GetInNode() ;
+
if ( anInNode->IsOneOfGOTONodes() && strlen( aNode.theCoupledNode.c_str() ) ) {
- GraphBase::GOTONode * aCoupledNode ;
- aCoupledNode = (GraphBase::GOTONode * ) Graph()->GetGraphNode( aNode.theName.c_str() ) ;
- GraphBase::GOTONode * aCoupledCoupledNode ;
- aCoupledCoupledNode = (GraphBase::GOTONode * ) Graph()->GetChangeGraphNode( aNode.theCoupledNode.c_str() ) ;
- if ( aCoupledCoupledNode != NULL ) {
- aCoupledNode->CoupledNode( aCoupledCoupledNode ) ;
+ GraphBase::GOTONode * aGOTONode;
+ aGOTONode = (GraphBase::GOTONode * ) anInNode->ComputingNode() ;
+
+ // asv : 25.10.04 : if aNode is a MacroNode, then its coupled node (another Graph) is NOT in aMapOfNodes
+ // and we must couple MacroNode only with name to its subgraph
+ if ( aGOTONode->IsMacroNode() ) {
+ cdebug << "GraphEditor::OutNode::LoadNodes MacroNode " << aNode.theName.c_str()
+ << " is Coupled ONLY WITH NAME to its subgraph " << aNode.theCoupledNode.c_str() << endl;
+ aGOTONode->CoupledNodeName( aNode.theCoupledNode.c_str() ) ;
}
- else {
- aCoupledNode->CoupledNodeName( aNode.theCoupledNode.c_str() ) ;
+ else { // coupling Loop-EndLoop, Switch-EndSwitch, InLine-GOTO
+ // asv : fix for 6822 : using map because if aNode's name is the same as some existing node's name
+ // aMap will give the correct index any way (aMap has already a different name for aNode, SNode still has old name)
+ int aCoupledNodeIndex = aMapOfNodes[ aNode.theCoupledNode.c_str() ] ;
+ cdebug << "GraphEditor::OutNode::LoadNodes " << aNode.theCoupledNode.c_str()
+ << " index " << aCoupledNodeIndex << endl ;
+ GraphBase::GOTONode * aCoupledNode ;
+ aCoupledNode = (GraphBase::GOTONode * ) Graph()->GetChangeGraphNode( aCoupledNodeIndex ) ;
+ cdebug << "GraphEditor::OutNode::LoadNodes " << aNode.theName.c_str()
+ << " is now Coupled to " << aNode.theCoupledNode.c_str() << endl ;
+ aGOTONode->CoupledNode( aCoupledNode ) ;
}
}
}
}
int i ;
for ( i = 0 ; i < (int ) (*aListOfDataFlows)[ index ].Nodes.size() ; i++ ) {
- if ( Graph()->GetGraphNode( (*aListOfDataFlows)[ index ].Nodes[i].theName.c_str() )->IsMacroNode() ) {
- string aCoupledNode = (*aListOfDataFlows)[ index ].Nodes[i].theCoupledNode ;
- GraphBase::Graph * aGraph = theAutomaton->MapGraph( aCoupledNode.c_str() ) ;
+ const GraphBase::ComputingNode * aNode = Graph()->GetGraphNode( (*aListOfDataFlows)[ index ].Nodes[i].theName.c_str() ) ;
+ if ( aNode->IsMacroNode() ) {
+// string aCoupledNodeName = (*aListOfDataFlows)[ index ].Nodes[i].theCoupledNode ;
+ GraphBase::Graph * aGraph = (GraphBase::Graph * ) ((GraphBase::GOTONode * ) aNode )->CoupledNode() ;
+// GraphBase::Graph * aGraph = MapGraph( aCoupledNodeName.c_str() ) ;
aGraph->GraphEditor()->GraphEditor::OutNode::GetDataFlows( aListOfDataFlows ) ;
}
}
NodeComputer , NodeComment , GeneratedName ,
NodeX , NodeY ,
_prof_debug , _fdebug ) ;
-// MESSAGE( "GraphEditor::OutNode::AddNode " << hex << (void *) Nd << dec );
-// if ( GraphBase::Graph::AddNode( Nd ) ) {
+
+ // asv: 28.09.04 fix for 6621
+ //if ( Nd->IsMacroNode() )
+ // MapGraph( Nd->GraphMacroNode(), aNodeName );
if ( Graph()->IsDataStreamNode() && ( Nd->IsComputingNode() || Nd->IsFactoryNode() ) ) {
unsigned int i ;
return fOut;
}
+/*
+GraphBase::Graph * GraphEditor::OutNode::MapGraph( const char * aGraphName ) {
+ GraphBase::Graph * aGraph = _MapOfGraphs[ aGraphName ] ;
+ return aGraph ;
+}
+bool GraphEditor::OutNode::MapGraph( GraphBase::Graph * aGraph , const char * aGraphName ) {
+ if ( MapGraph( aGraphName ) ) {
+ return false ;
+ }
+ _MapOfGraphs[ aGraphName ] = aGraph ;
+ return true ;
+}
+void GraphEditor::OutNode::EraseGraph( const char * aGraphName ) {
+ _MapOfGraphs.erase( aGraphName ) ;
+}
-
-
+bool GraphEditor::OutNode::GraphName( const char * aGraphName ) {
+ return _MapOfGraphNames[ aGraphName ] ;
+}
+*/
namespace GraphEditor {
-// class OutNode : public GraphBase::Graph {
class OutNode : public GraphBase::Base {
private :
void DateModification() ;
+ // asv 20.09.04 added from GraphExecutor::FiniteStateMachine class (removed from there)
+// static map< string , GraphBase::Graph * > _MapOfGraphs ;
+// static map< string , int > _MapOfGraphNames ;
+
+// GraphBase::Graph * MapGraph( const char * aGraphName ) ;
+// bool MapGraph( GraphBase::Graph * aGraph , const char * aGraphName ) ;
+// void EraseGraph( const char * aGraphName ) ;
+// bool GraphName( const char * aGraphName ) ;
+// string GraphInstanceName( const char * aGraphName ) ;
+ // end added from FiniteStateMachine
+
+
public:
OutNode();
const char * DebugFileName ) ;
virtual ~OutNode();
- GraphExecutor::FiniteStateMachine * Automaton() { return theAutomaton ; } ;
-
bool Name( const char * aName ) ;
void Set_prof_debug( CORBA::ORB_ptr ORB , const char * DebugFileName ) ;
CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_MT_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) \
-I${KERNEL_ROOT_DIR}/include/salome
-CXXFLAGS+= -g -D_DEBUG_ -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
+CXXFLAGS+= -g -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
-I${KERNEL_ROOT_DIR}/include/salome
-LDFLAGS+= -lSalomeNS -lSalomeLifeCycleCORBA -lSalomeSuperVisionBase -lSalomeSuperVisionExecutor -lOpUtil -lSALOMELocalTrace \
+LDFLAGS+= -lSalomeNS -lSalomeLifeCycleCORBA -lSalomeSuperVisionBase -lOpUtil -lSALOMELocalTrace \
-lc $(QT_MT_LIBS) $(OGL_LIBS) -L${KERNEL_ROOT_DIR}/lib/salome
#LIBS += -Xlinker -export-dynamic $(PYTHON_LIBS)
using namespace std;
#include "DataFlowExecutor_DataFlow.hxx"
+#include "DataFlowEditor_DataFlow.hxx"
// Implementation de la classe GraphExecutor::Graph
}
bool GraphExecutor::DataFlow::InputOfAny( const char * ToServiceParameterName ,
- const CORBA::Any & aValue ) {
- cdebug_in "GraphExecutor::DataFlow::InputOfAny" << endl ;
+ const CORBA::Any & aValue ,
+ bool SomeDataReady ) {
+ cdebug_in <<"GraphExecutor::DataFlow::InputOfAny" << endl ;
bool RetVal = false ;
cdebug << pthread_self() << "GraphExecutor::DataFlow::::InputOfAny " << Graph()->Name() << "("
<< ToServiceParameterName << ")" << endl ;
GraphBase::OutPort * anOutPort ;
anOutPort = Graph()->GetChangeInDataNodePort( ToServiceParameterName ) ;
cdebug << pthread_self() << "GraphExecutor::DataFlow::InputOfAny " << Graph()->Name()
- << " " << ToServiceParameterName << " " << anOutPort->State() << " Done " << anOutPort->Done()
- << endl ;
+ << " " << State() << " " << ToServiceParameterName << " " << anOutPort->State()
+ << " Done : " << anOutPort->Done() << endl ;
RetVal = AddInputData( Graph()->Name() , ToServiceParameterName , aValue ) ;
anOutPort->State( SUPERV::ReadyState ) ;
+// There is only one port :
+ anOutPort->ChangeInPorts( 0 )->State( SUPERV::ReadyState ) ;
anOutPort->Done( true ) ;
+// There is only one inport of a Node in an ReversedOutport of a graph :
GraphExecutor::InNode * anInNode = (GraphExecutor::InNode * ) Graph()->GetChangeGraphNode( anOutPort->InPorts( 0 )->NodeName() )->GetInNode() ;
cdebug << pthread_self() << "GraphExecutor::DataFlow::InputOfAny : " << anInNode->Name()
- << "->SendSomeDataReady( " << Graph()->Name() << " ) " << endl ;
- anInNode->SendSomeDataReady( Graph()->Name() ) ;
- if ( anInNode->IsReady() ) {
- cdebug << pthread_self() << "GraphExecutor::DataFlow::InputOfAny : " << anInNode->Name()
- << "->SendEvent( GraphExecutor::ExecuteEvent ) "
- << " " << anInNode->Name() << "->IsReady() " << anInNode->IsReady() << " State "
- << anInNode->State() << endl ;
- if ( anInNode->IsLockedDataWait() ) {
- cdebug << pthread_self() << "GraphExecutor::DataFlow::InputOfAny : " << anInNode->Name()
- << " IsLockedDataWait() ==> UnLockDataWait" << endl ;
- anInNode->UnLockDataWait() ;
+ << "->SendSomeDataReady( " << Graph()->Name() << " ) for Port " << anOutPort->InPorts( 0 )->PortName()
+ << endl ;
+ if ( SomeDataReady ) {
+ MESSAGE( "GraphExecutor::InputOfAny " << Graph()->Name() << " SendSomeDataReady --> " << anInNode->Name()
+ << " " << anInNode->State() << " " << anOutPort->InPorts( 0 )->PortName() ) ;
+ int sts = anInNode->SendSomeDataReady( Graph()->Name() ) ;
+ cdebug << "GraphExecutor::DataFlow::InputOfAny " << anInNode->Name()
+ << "->SendSomeDataReady( " << Graph()->Name() << " ) sts " << sts << endl ;
+ if ( sts && anInNode->IsReady() ) {
+ cdebug << pthread_self() << "/" << anInNode->ThreadNo() << "GraphExecutor::DataFlow::InputOfAny : "
+ << anInNode->Name() << "->SendEvent( GraphExecutor::ExecuteEvent ) "
+ << " " << anInNode->Name() << "->IsReady() " << anInNode->IsReady() << " State "
+ << anInNode->State() << endl ;
+ if ( anInNode->IsLockedDataWait() ) {
+ cdebug << pthread_self() << "/" << anInNode->ThreadNo() << "GraphExecutor::DataFlow::InputOfAny : "
+ << anInNode->Name() << " IsLockedDataWait() ==> UnLockDataWait" << endl ;
+ anInNode->UnLockDataWait() ;
+ }
+ anInNode->ThreadNo( 0 ) ;
+ anInNode->CreateNewThread( true ) ;
+ anInNode->SendEvent( GraphExecutor::ExecuteEvent ) ;
+// State( GraphExecutor::ExecutingState ) ;
}
- anInNode->CreateNewThread( true ) ;
- anInNode->SendEvent( GraphExecutor::ExecuteEvent ) ;
- State( GraphExecutor::ExecutingState ) ;
}
}
- cdebug_out << "GraphExecutor::DataFlow::InputOfAny " << RetVal << endl ;
+ else {
+ cdebug << pthread_self() << "GraphExecutor::DataFlow::InputOfAny GraphMacroLevel "
+ << Graph()->GraphMacroLevel() << " ERROR" << endl ;
+ MESSAGE( "GraphExecutor::DataFlow::InputOfAny GraphMacroLevel " << Graph()->GraphMacroLevel()
+ << " ERROR" ) ;
+ }
+ cdebug_out << pthread_self() << " GraphExecutor::DataFlow::InputOfAny " << RetVal << endl ;
return RetVal ;
}
bool GraphExecutor::DataFlow::OutputOfAny( const char * aNodeName ,
const char * ToServiceParameterName ,
const CORBA::Any & aValue ) {
- cdebug_in << "GraphExecutor::DataFlow::OutputOfAny" << endl ;
+ cdebug_in << pthread_self() << "/" << ThreadNo() << "GraphExecutor::DataFlow::OutputOfAny( " << aNodeName
+ << " , " << ToServiceParameterName
+ << " , aValue ) from " << Graph()->Name() << endl ;
bool RetVal = false ;
- GraphBase::Graph * aMacroGraph = (GraphBase::Graph * ) Graph()->GetChangeGraphNode( aNodeName ) ;
+ GraphBase::Graph * aMacroNode = (GraphBase::Graph * ) Graph()->GetChangeGraphNode( aNodeName ) ;
// GraphExecutor::InNode * anInNode = (GraphExecutor::InNode * ) aMacroGraph->GetInNode() ;
RetVal = Graph()->AddOutputData( aNodeName , ToServiceParameterName , aValue ) ;
- GraphBase::OutPort * anOutPort = aMacroGraph->GetChangeOutPort( ToServiceParameterName ) ;
+ GraphBase::OutPort * anOutPort = aMacroNode->GetChangeOutPort( ToServiceParameterName ) ;
int i ;
+// Loop over Inports linked to that OutPort of the MacroNode
for ( i = 0 ; i < anOutPort->InPortsSize() ; i++ ) {
- if ( strcmp( anOutPort->ChangeInPorts( i )->NodeName() , Graph()->Name() ) ) {
- cdebug << "GraphExecutor::DataFlow::OutputOfAny toNodeName " << anOutPort->ChangeInPorts( i )->NodeName()
- << "(" << anOutPort->ChangeInPorts( i )->PortName() << ")" << endl ;
- GraphExecutor::InNode * aLinkedNode = (GraphExecutor::InNode * ) Graph()->GetChangeGraphNode( anOutPort->ChangeInPorts( i )->NodeName() )->GetInNode() ;
+ const char * ToNodeName = anOutPort->ChangeInPorts( i )->NodeName() ;
+ const char * ToParameterName = anOutPort->ChangeInPorts( i )->PortName() ;
+ GraphBase::ComputingNode * aComputingNode = Graph()->GetChangeGraphNode( ToNodeName ) ;
+ if ( strcmp( ToNodeName , Graph()->Name() ) ) {
+ GraphExecutor::InNode * aLinkedNode = (GraphExecutor::InNode * ) aComputingNode->GetInNode() ;
+ cdebug << pthread_self() << "/" << aLinkedNode->ThreadNo()
+ << "GraphExecutor::DataFlow::OutputOfAny to Node "
+ << ToNodeName << "(" << ToParameterName << ") from MacroNode " << aNodeName << endl ;
int sts ;
if ( aLinkedNode->IsLockedDataWait() ) {
cdebug << "GraphExecutor::DataFlow::OutputOfAny " << aLinkedNode->Name()
<< " IsLockedDataWait --> UnLockDataWait" << endl ;
}
sts = aLinkedNode->SendSomeDataReady( (char * ) aNodeName ) ;
- cdebug << "GraphExecutor::DataFlow::OutputOfAny " << aLinkedNode->Name()
- << "->SendSomeDataReady( " << aNodeName << " ) sts " << sts << endl ;
+ cdebug << pthread_self() << "/" << aLinkedNode->ThreadNo()
+ << "GraphExecutor::DataFlow::OutputOfAny " << aLinkedNode->Name()
+ << "->SendSomeDataReady( " << aNodeName << " ) sts " << sts << " " << aLinkedNode->State() << endl ;
if ( sts ) {
if ( aLinkedNode->State() == GraphExecutor::DataReadyState ) {
aLinkedNode->CreateNewThreadIf( true ) ;
aLinkedNode->UnLockDataWait() ;
- int res = aLinkedNode->DataUndef_AllDataReadyAction() ;
+// aLinkedNode->DataUndef_AllDataReadyAction() ;
+ aLinkedNode->SendEvent( GraphExecutor::ExecuteEvent ) ;
}
}
}
else if ( Graph()->GraphMacroLevel() != 0 ) {
- cdebug << "GraphExecutor::DataFlow::OutputOfAny to MacroGraph " << anOutPort->ChangeInPorts( i )->NodeName()
- << "(" << anOutPort->ChangeInPorts( i )->PortName() << ") " << Graph()->CoupledNodeName () << endl ;
- Graph()->CoupledNode()->GraphExecutor()->OutputOfAny( Graph()->CoupledNodeName() ,
- anOutPort->ChangeInPorts( i )->PortName() ,
+ cdebug << pthread_self() << "/" << Graph()->CoupledNode()->ThreadNo()
+ << "GraphExecutor::DataFlow::OutputOfAny to that graph "
+ << ToNodeName << "(" << ToParameterName << ") " << State() << " " << Graph()->CoupledNodeName ()
+ << " sended recursively to the MacroNode coupled to that graph" << endl ;
+ Graph()->CoupledNode()->GraphEditor()->Executor()->OutputOfAny( Graph()->CoupledNodeName() ,
+ ToParameterName ,
*anOutPort->Value() ) ;
}
else {
- cdebug << "GraphExecutor::DataFlow::OutputOfAny to Graph " << anOutPort->ChangeInPorts( i )->NodeName()
- << "(" << anOutPort->ChangeInPorts( i )->PortName() << ") ignored" << endl ;
+ cdebug << "GraphExecutor::DataFlow::OutputOfAny to Graph " << ToNodeName
+ << "(" << ToParameterName << ") ignored" << endl ;
}
}
- cdebug_out << "GraphExecutor::DataFlow::OutputOfAny " << RetVal << endl ;
+ cdebug_out << pthread_self() << "/" << ThreadNo() << " GraphExecutor::DataFlow::OutputOfAny " << RetVal
+ << endl ;
return RetVal ;
}
bool GraphExecutor::DataFlow::Kill() {
cdebug_in << "GraphExecutor::DataFlow::Kill()" << endl;
bool RetVal = GraphExecutor::OutNode::Kill() ;
- cdebug_out << "GraphExecutor::DataFlow::Kill()" << endl;
+ cdebug_out << "GraphExecutor::DataFlow::Kill() " << RetVal << endl;
return RetVal ;
}
const char * ToParameterName ,
const CORBA::Any aValue = CORBA::Any() ) ;
bool InputOfAny( const char * ToServiceParameterName ,
- const CORBA::Any & aValue ) ;
+ const CORBA::Any & aValue ,
+ const bool SomeDataReady = true ) ;
bool OutputOfAny( const char * aNodeName ,
const char * ToServiceParameterName ,
return RetVal ;
}
-
+/*
GraphBase::Graph * GraphExecutor::FiniteStateMachine::MapGraph( const char * aGraphName ) {
GraphBase::Graph * aGraph = _MapOfGraphs[ aGraphName ] ;
//cout << "MapGraph " << aGraphName << " --> " << aGraph << endl ;
// << theGraphInstanceName << endl ;
return theGraphInstanceName ;
}
+*/
void GraphExecutor::FiniteStateMachine::JoinThread() {
if ( pthread_mutex_lock( &_MutexJoinWait ) ) {
- perror("Join pthread_mutex_lock ") ;
+ perror("FiniteStateMachine:JoinThread pthread_mutex_lock ") ;
exit( 0 ) ;
}
while ( _JoinThread ) {
while ( _ThreadList.size() == 0) {
-// MESSAGE( pthread_self() << " Join pthread_cond_wait" );
+// MESSAGE( pthread_self() << " FiniteStateMachine:Join pthread_cond_wait" );
if ( pthread_cond_wait( &_JoinWait , &_MutexJoinWait ) ) {
- perror("Join pthread_cond_wait ") ;
+ perror("FiniteStateMachine:JoinThread pthread_cond_wait ") ;
}
}
pthread_t _Thread = _ThreadList.front() ;
-// MESSAGE( pthread_self() << " Join pthread_cond_waited : " << _Thread )
- _ThreadList.pop_front() ;
-// MESSAGE( pthread_self() << " Join pthread_join : " << _Thread );
+// MESSAGE( pthread_self() << " FiniteStateMachine:JoinThread pthread_cond_waited : " << _Thread )
+// MESSAGE( pthread_self() << " FiniteStateMachine:JoinThread pthread_join : " << _Thread );
int joinsts = pthread_join( _Thread , NULL ) ;
-// MESSAGE( pthread_self() << " Join pthread_joined : " << _Thread );
if ( joinsts ) {
- perror("Join pthread_join ") ;
-// exit( 0 ) ;
+ perror("FiniteStateMachine:JoinThread pthread_join ") ;
+ MESSAGE( pthread_self() << " FiniteStateMachine:JoinThread pthread_join : " << _Thread
+ << " Error" );
+ exit( 0 ) ;
+ }
+ else {
+ MESSAGE( pthread_self() << " FiniteStateMachine:JoinThread pthread_joined : " << _Thread );
+ _ThreadList.pop_front() ;
}
}
if ( pthread_mutex_unlock( &_MutexJoinWait ) ) {
- perror("Join pthread_mutex_unlock ") ;
+ perror("FiniteStateMachine:JoinThread pthread_mutex_unlock ") ;
exit( 0 ) ;
}
}
int _GraphExecutingNumber ;
int _DbgFileNumber ;
- map< string , GraphBase::Graph * > _MapOfGraphs ;
- map< string , int > _MapOfGraphNames ;
+
+// fields and methods that use them are moved to GraphEditor::OutNode class (asv 20.09.04)
+//map< string , GraphBase::Graph * > _MapOfGraphs ;
+//map< string , int > _MapOfGraphNames ;
bool _JoinThread ;
pthread_t _JoinThreadNo ;
bool PyFunction( const char * aPyFuncName , PyObject * aPyFunction ) ;
PyObject * PyFunction( const char * aPyFuncName ) ;
+
string DbgFileNumber() {
_DbgFileNumber += 1 ;
ostringstream astr ;
astr << _DbgFileNumber ;
return astr.str() ; } ;
+/*
GraphBase::Graph * MapGraph( const char * aGraphName ) ;
bool MapGraph( GraphBase::Graph * aGraph , const char * aGraphName ) ;
void EraseGraph( const char * aGraphName ) ;
bool GraphName( const char * aGraphName ) ;
string GraphInstanceName( const char * aGraphName ) ;
+*/
void JoinThread() ;
void JoinThread( pthread_t aThread ) ;
bool GraphExecutor::InNode::Suspend() {
cdebug_in << "GraphExecutor::InNode::Suspend " << Name() << " " << ThreadNo()
<< endl;
- bool RetVal ;
+ bool RetVal = false ;
if ( IsDone() ) {
- ControlState( SUPERV::VoidState ) ;
+//If loop we need to suspend also ControlState( SUPERV::VoidState ) ;
+ ControlState( SUPERV::ToSuspendState ) ;
+ RetVal = true ;
if ( _OutNode->IsDone() ) {
ControlState( SUPERV::VoidState ) ;
+ RetVal = false ;
}
- RetVal = false ;
}
else if ( IsWaiting() || IsReady() ) {
ControlState( SUPERV::ToSuspendState ) ;
bool GraphExecutor::InNode::Kill() {
cdebug_in << "GraphExecutor::InNode::Kill " << Name() << " " << ThreadNo() << " "
- << Automaton()->StateName( State() ) << endl;
+ << Automaton()->StateName( State() ) << " Threads " << _OutNode->Threads()
+ << " SuspendedThreads " << _OutNode->SuspendedThreads() << endl;
bool RetVal ;
if ( IsDone() ) {
ControlState( SUPERV::ToKillState ) ; // if loop
else if ( IsWaiting() ) {
RetVal = true ;
}
+ else if ( IsReady() ) {
+ RetVal = true ;
+ }
else {
- cdebug << "Kill and !IsDone and !IsRunning and !IsWaiting ?"
+ cdebug << "Kill and !IsDone and !IsRunning and !IsWaiting and !IsReady ?"
<< endl ;
RetVal = false ;
}
}
}
- cdebug_out << "GraphExecutor::InNode::Kill" << endl ;
+ cdebug_out << "GraphExecutor::InNode::Kill" << Name() << " " << ThreadNo() << " "
+ << Automaton()->StateName( State() ) << " Threads " << _OutNode->Threads()
+ << " SuspendedThreads " << _OutNode->SuspendedThreads() << endl ;
return RetVal ;
}
*anAny <<= (long ) 1 ;
anOutPort->Value( anAny ) ;
}
+// JR 15_09_2004 if backward link from GOTONode or EndLoopNode ==> DataConnected
else if ( anInPort->IsGate() && anOutPort ) {
- if ( IsComputingNode() || IsFactoryNode() ) {
- anOutPort->State( SUPERV::WaitingState ) ;
- anOutPort->Done( false ) ;
- }
- else if ( IsOneOfInLineNodes() ) {
+ anOutPort->State( SUPERV::WaitingState ) ;
+ anOutPort->Done( false ) ;
+ const GraphBase::ComputingNode * aFromNode = _OutNode->Graph()->GetGraphNode( anOutPort->NodeName() ) ;
+ if ( aFromNode->IsGOTONode() || aFromNode->IsEndLoopNode() ) { // ASV: bug with synchronization of Inline nodes (via Gate ports) fixed.
+ // before was "else if ( IsOneOfInlineNodes() )"
+ // IsOneOfInline() == ( Inline || IsOneOfGOTO() ), so Inline are removed..
anOutPort->PortStatus( DataConnected );
anOutPort->State( SUPERV::ReadyState ) ;
anOutPort->Done( true ) ;
}
}
-// if ( ( anInPort->IsGate() || anInPort->IsBus() ) && anOutPort == NULL ) {
if ( anInPort->IsGate() && anOutPort == NULL ) {
Pc-- ;
+ cdebug << "InPort" << i << " " << anInPort->PortName() << " Not connected Pc " << Pc << endl ;
}
else if ( anOutPort ) {
if ( anOutPort->IsDataConnected() || anOutPort->IsDataStream() ) {
Pc-- ;
- }
- if ( anOutPort->IsDataConnected() || anOutPort->IsDataStream() ) {
anOutPort->State( SUPERV::ReadyState ) ;
anOutPort->Done( true ) ;
+ cdebug << "InPort" << i << " " << anInPort->PortName() << " " << anInPort->PortStatus()
+ << " " << theAutomaton->StateName( anOutPort->State() ) << " Pc " << Pc << endl ;
}
else if ( anOutPort->IsPortConnected() ) {
anOutPort->State( SUPERV::WaitingState ) ;
anOutPort->Done( false ) ;
+ cdebug << "InPort" << i << " " << anInPort->PortName() << " " << " " << anInPort->PortStatus()
+ << " " << theAutomaton->StateName( anOutPort->State() ) << " Pc " << Pc << endl ;
}
+ else {
+ cdebug << "InPort" << i << " " << anInPort->PortName() << " " << anInPort->PortStatus()
+ << " OutPort " << anOutPort->NodeName() << " " << anOutPort->PortName() << " "
+ << theAutomaton->StateName( anOutPort->State() ) << " Pc " << Pc << endl ;
+ }
+ }
+ else {
+ cdebug << "InPort" << i << " " << anInPort->PortName() << " " << " " << anInPort->PortStatus()
+ << " no corresponding OutPort Pc " << Pc << endl ;
}
if ( anOutPort ) {
if ( !anOutPort->IsDataStream() || anInPort->IsDataStream() ) {
#include "DataFlowExecutor_FiniteStateMachine.hxx"
-#define MAXSTACKTHREADSIZE 8191
+#define MAXSTACKTHREADSIZE 127
void * run_function(void *p);
void SetObjRef( SUPERV::CNode_var aNode ) {
_ComputingNode->SetObjRef( aNode ) ; } ;
- Graph_Impl * ObjImpl() const { return _GraphMacroNode->ObjImpl() ; } ;
- void SetObjImpl( Graph_Impl * aGraph ) {
- _GraphMacroNode->SetObjImpl( aGraph ) ; } ;
+ CNode_Impl * ObjImpl() const { return _ComputingNode->ObjImpl() ; } ;
+ void SetObjImpl( CNode_Impl * aGraph ) {
+ _ComputingNode->SetObjImpl( aGraph ) ; } ;
Engines::Component_var Component() const ;
Engines::Container_var Container() const ;
long PyCpuUsed( bool tot = false ) ;
void SetPyCpuUsed() ;
long PyCpu() ;
+
+ bool PyRunSimpleString( char* thePyString );
} ;
} ;
#include CORBA_CLIENT_HEADER(SALOME_Component)
#include "SALOME_LifeCycleCORBA.hxx"
-//#include "StreamGraph_Impl.hxx"
-
-//#include "DataFlowExecutor_OutNode.hxx"
#include "DataFlowExecutor_DataFlow.hxx"
+#include "DataFlowEditor_DataFlow.hxx" // GraphEditor package must be built BEFORE
static void UpperCase(std::string& rstr)
exit(0) ;
}
aNode->ThreadStartAction() ;
+// cout << "run_function " << aNode->Name() << "->ExecuteAction() Coupled : " << aNode->CoupledNode()
+// << endl ;
aNode->ExecuteAction() ;
char * msg = new char[40] ;
sprintf( msg , "%d" , (int ) aNode->ThreadNo() ) ;
cdebug << endl ;
// MacroNode : give immediately the value to the corresponding graph
if ( IsMacroNode() ) {
- GraphExecutor::DataFlow * aMacroGraph = GraphMacroNode()->CoupledNode()->GraphExecutor() ;
+ cout << "SomeDataReadyAction " << GraphMacroNode() << " " << GraphMacroNode()->Name()
+ << " coupled to " << GraphMacroNode()->CoupledNode() << endl ;
+ GraphExecutor::DataFlow * aMacroGraph = GraphMacroNode()->CoupledNode()->GraphEditor()->Executor() ;
cdebug << "SomeDataReadyAction MacroNode " << aMacroGraph->Graph()->Name() << " --> InputOfAny "
<< InReady << "/" << GetNodeInPortsSize() << " InPorts are Ready" << endl ;
// GraphMacroNode()->MacroObject()->InputOfAny( anInPort->PortName() , *anOutPort->Value() ) ;
SendEvent( NewEvent ) ;
}
else {
- GraphExecutor::DataFlow * aMacroGraph = GraphMacroNode()->CoupledNode()->GraphExecutor() ;
- cdebug << ThreadNo() << " DataReady_ExecuteAction " << aMacroGraph->Graph()->Name() << " ->DoneWait()"
+ GraphExecutor::DataFlow * aMacroGraph = GraphMacroNode()->CoupledNode()->GraphEditor()->Executor() ;
+ cdebug << ThreadNo() << " DataReady_ExecuteAction " << aMacroGraph << " "
+ << aMacroGraph->Graph()->Name() << " ->DoneWait()"
<< " State " << aMacroGraph->State() << endl;
aMacroGraph->DoneWait() ;
cdebug << ThreadNo() << " DataReady_ExecuteAction " << Name() << " State " << aMacroGraph->State() << endl;
}
int GraphExecutor::InNode::Executing_KillAction() {
- cdebug << ThreadNo() << " Executing_KillAction " << Name() << endl;
+ cdebug << ThreadNo() << " Executing_KillAction " << Name() << " Thread " << ThreadNo()<< endl;
int RetVal = 0 ;
if ( pthread_self() == ThreadNo() ) {
cdebug << "Executing_KillAction would pthread_canceled itself" << endl ;
perror("Executing_KillAction pthread_cancel error") ;
}
else {
- cdebug << "Executing_KillAction : ThreadId " << ThreadNo()
+ cdebug << pthread_self() << " Executing_KillAction : ThreadId " << ThreadNo()
<< " pthread_canceled" << endl ;
KillAction() ;
- _OutNode->ExitThread() ;
+ _OutNode->ExitThread( ThreadNo() ) ;
_OutNode->PushEvent( this , GraphExecutor::KilledExecutingEvent ,
GraphExecutor::KilledExecutingState ) ;
}
}
int GraphExecutor::InNode::Executing_StopAction() {
- cdebug << ThreadNo() << " Executing_StopAction " << Name() << endl;
+ cdebug << ThreadNo() << " Executing_StopAction " << Name() << " Thread " << ThreadNo() << endl;
int RetVal = 0 ;
if ( pthread_cancel( ThreadNo() ) ) {
perror("Executing_KillAction pthread_cancel error") ;
}
else {
- cdebug << "Executing_KillAction : ThreadId " << ThreadNo()
+ cdebug << pthread_self() << " Executing_KillAction : ThreadId " << ThreadNo()
<< " pthread_canceled" << endl ;
StopAction() ;
- _OutNode->ExitThread() ;
+ _OutNode->ExitThread( ThreadNo() ) ;
_OutNode->PushEvent( this , GraphExecutor::StoppedExecutingEvent ,
GraphExecutor::StoppedExecutingState ) ;
}
!anOutPort->ChangeInPorts( j )->IsDataStream() &&
!anOutPort->ChangeInPorts( j )->IsExternConnected() ) {
cdebug << ThreadNo()
- << " GraphExecutor::InNodeThreads::SetWaitingStates "
- << Name() << "( " << anOutPort->PortName() << " " << anOutPort->PortStatus() << " ) --> InPort "
+ << " InNodeThreads::SetWaitingStates OutPort "
+ << Name() << "/" << anOutPort->ChangeInPorts( j )->NodeName() << "( "
+ << anOutPort->PortName() << " " << anOutPort->PortStatus() << " ) --> InPort "
+ << anOutPort->ChangeInPorts( j )->NodeName() << "( "
<< anOutPort->ChangeInPorts( j )->PortName() << " "
- << anOutPort->ChangeInPorts( j )->PortStatus() << " from Node "
- << anOutPort->ChangeInPorts( j )->NodeName() << endl;
+ << anOutPort->ChangeInPorts( j )->PortStatus() << " )" << endl;
+ if ( strcmp( anOutPort->ChangeInPorts( j )->GetOutPort()->NodeName() , Name() ) ) {
+// After EndLoopNode or GOTONode the Input Ports of LoopNode or LabelNode have their values from
+// EndLoopNode or GOTONode. But if there is several nested loops we should re-establish.
+ cdebug << ThreadNo()
+ << " InNodeThreads::SetWaitingStates OutPort->ChangeInPorts( j )->OutPort()->NodeName "
+ << anOutPort->ChangeInPorts( j )->GetOutPort()->NodeName() << " != "
+ << Name() << " : Restored to " << anOutPort->NodeName() << "( "
+ << anOutPort->PortName() << " )" << endl ;
+ anOutPort->ChangeInPorts( j )->ChangeOutPort( anOutPort ) ;
+ }
GraphExecutor::InNode * aNode = (GraphExecutor::InNode * ) _OutNode->Graph()->GetChangeGraphNode( anOutPort->ChangeInPorts( j )->NodeName() )->GetInNode() ;
if ( aNode != EndNode ) {
aNode->SetWaitingStates( EndNode ) ;
bool fromGOTO = false ;
const char * ToNodeName = anOutPort->ChangeInPorts( j )->NodeName() ;
if ( !strcmp( ToNodeName , _OutNode->Graph()->Name() ) && _OutNode->Graph()->GraphMacroLevel() != 0 ) {
- cdebug << "OutParametersSet ToNodeName " << _OutNode->Graph()->CoupledNode()
- << " GraphExecutor " << _OutNode->Graph()->CoupledNode()->GraphExecutor() << endl ;
- _OutNode->Graph()->CoupledNode()->GraphExecutor()->OutputOfAny( _OutNode->Graph()->CoupledNodeName() ,
+ cdebug << "OutParametersSet ToNodeName " << _OutNode->Graph()->Name() << " CoupledNode "
+ << _OutNode->Graph()->CoupledNodeName() << _OutNode->Graph()->CoupledNode()
+ << endl ;
+ cdebug << " GraphExecutor " << _OutNode->Graph()->CoupledNode()->GraphEditor()->Executor() << endl ;
+ _OutNode->Graph()->CoupledNode()->GraphEditor()->Executor()->OutputOfAny( _OutNode->Graph()->CoupledNodeName() ,
anOutPort->ChangeInPorts( j )->PortName() ,
*anOutPort->Value() ) ;
}
#include "DataFlowExecutor_OutNode.hxx"
-// Implementation de la classe GraphEditor::GraphControl
+#include "DataFlowEditor_DataFlow.hxx"
extern GraphExecutor::FiniteStateMachine * theAutomaton ;
const SUPERV::KindOfNode aKindOfNode ) {
// Graph( ORB , ptrNamingService , DataFlowName , DebugFileName ) {
Set_prof_debug( ORB , DebugFileName ) ;
- cdebug_in << "GraphEditor::OutNode::OutNode(" << DataFlowName << " , " << aKindOfNode << ")" << endl;
+ cdebug_in << "GraphExecutor::OutNode::OutNode(" << DataFlowName << " , " << aKindOfNode << ")" << endl;
if ( aKindOfNode == SUPERV::DataFlowGraph ) {
_StreamGraph = NULL ;
// _Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowName , DebugFileName ) ;
perror("pthread_cond_init( &_JoinWait , NULL )") ;
exit( 0 ) ;
}
- cdebug_out << "GraphEditor::OutNode::OutNode" << endl;
+ cdebug_out << "GraphExecutor::OutNode::OutNode" << endl;
}
GraphExecutor::OutNode::OutNode( CORBA::ORB_ptr ORB,
// DataFlowComputer , DataFlowComment , DebugFileName ) {
Set_prof_debug( ORB , DebugFileName ) ;
- cdebug_in << "GraphEditor::OutNode::OutNode(" << DataFlowName << " , " << DataFlowkind << ")" << endl;
+ cdebug_in << "GraphExecutor::OutNode::OutNode(" << DataFlowName << " , " << DataFlowkind << ")" << endl;
if ( DataFlowkind == SUPERV::DataFlowGraph ) {
_StreamGraph = NULL ;
_Graph = new GraphBase::Graph( ORB , ptrNamingService , DataFlowService , DataFlowComponentName ,
else {
cdebug << "GraphExecutor::OutNode::LoadDataFlow ServiceName Error." << endl ;
}
- cdebug_in << "GraphExecutor::OutNode::LoadDataFlow " << RetVal << endl ;
+ cdebug_out << "GraphExecutor::OutNode::LoadDataFlow " << Graph()->Name() << " RetVal "
+ << RetVal << endl ;
return RetVal ;
}
else {
aCoupledNode->CoupledNodeName( aNode.theCoupledNode.c_str() ) ;
}
- aCoupledNode->SetGraphExecutor( (GraphExecutor::DataFlow * ) this ) ;
}
}
return RetVal ;
bool GraphExecutor::OutNode::Run( const bool AndSuspend ) {
bool RetVal = false ;
- cdebug_in << "GraphExecutor::OutNode::Run" << endl;
+ cdebug_in << "GraphExecutor::OutNode::Run( AndSuspend " << AndSuspend << " )" << endl;
if ( Executable() ) {
_ControlState = SUPERV::VoidState ;
Graph()->ThreadNo( pthread_self() ) ;
Done( false ) ;
_JustStarted = true ;
+ RetVal = true ;
int i ;
for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
GraphExecutor::InNode * anInNode = (GraphExecutor::InNode *) Graph()->GraphNodes( i )->GetInNode() ;
}
}
}
-
+ /* asv : 29.09.04 : commented out because it does not do anything useful
for ( i = 0 ; i < Graph()->GraphNodesSize() ; i++ ) {
GraphExecutor::InNode * anInNode = (GraphExecutor::InNode *) Graph()->GraphNodes( i )->GetInNode() ;
- if ( anInNode->IsMacroNode() ) {
+ if ( RetVal && anInNode->IsMacroNode() ) {
GraphBase::Graph * aMacroGraph = anInNode->GraphMacroNode() ;
cdebug << "GraphExecutor::OutNode::Run " << anInNode << " MacroNode " << aMacroGraph
<< aMacroGraph->Name() << endl ;
SUPERV::Graph_var iobject = anInNode->GraphMacroNode()->MacroObject() ;
if ( CORBA::is_nil( iobject ) ) {
- cdebug << "MacroObject() is a nil object. Error" << endl ;
+ cdebug << "GraphExecutor::OutNode::Run MacroObject() is a nil object. Error" << endl ;
+ RetVal = false ;
}
else {
- cdebug << "MacroObject() is NOT a nil object." << endl ;
+ cdebug << "GraphExecutor::OutNode::Run MacroObject() is NOT a nil object." << endl ;
}
}
}
-
+ */
if ( Graph()->GraphMacroLevel() != 0 ) {
- cdebug << "Execution starting GraphExecutor::Action_DataOk_RunService Node "
+ cdebug << "GraphExecutor::OutNode::Run Execution starting GraphExecutor::Action_DataOk_RunService Node "
<< Graph()->Name() << " GraphMacroLevel " << Graph()->GraphMacroLevel() << endl ;
PushEvent( NULL , GraphExecutor::NoDataReadyEvent ,
GraphExecutor::DataUndefState ) ;
}
}
- cdebug_out << "GraphExecutor::OutNode::Run GraphMacroLevel " << Graph()->GraphMacroLevel() << endl ;
+ cdebug_out << "GraphExecutor::OutNode::Run " << Graph()->Name() << " GraphMacroLevel "
+ << Graph()->GraphMacroLevel() << " RetVal " << RetVal << endl ;
return RetVal ;
}
Done( true ) ;
_JustStarted = false ;
}
+ cdebug << Graph()->Name() << " alivenodes " << alivenodes << " OutNodeState " << OutNodeState
+ << endl ;
PushEvent( NULL , GraphExecutor::EndExecuteEvent ,
OutNodeState ) ;
// Py_Finalize() ;
cdebug << Graph()->Name() << " IS DONE : " << theAutomaton->StateName( AutomatonState() ) << " EventQSize "
<< EventQSize() << endl ;
cdebug << "================================================================================" << endl ;
-// ostringstream astr ;
-// astr << "Graph " << Graph()->Name() << " is done : "
-// << theAutomaton->StateName( AutomatonState() ) ;
-// Graph()->ObjImpl()->sendMessage( NOTIF_STEP, astr.str().c_str() ) ;
- //cout << Graph()->Name() << " IS DONE : " << theAutomaton->StateName( AutomatonState() ) << " EventQSize "
- // << EventQSize() << endl ;
- }
- cdebug_out << "GraphExecutor::OutNode::CheckAllDone " << IsDone()
- << " GraphAutomatonState " << theAutomaton->StateName( AutomatonState() )
+
+ // asv : fix for 6798 and other bugs: "sift" the event queue after execution
+ siftEvents();
+
+ // asv : 25.10.04 : calling Editing() to indicate stop of execution
+ Graph()->GraphEditor()->Editing();
+ }
+ cdebug_out << "GraphExecutor::OutNode::CheckAllDone " << IsDone() << " this " << this << " "
+ << Graph()->Name() << " GraphAutomatonState "
+ << theAutomaton->StateName( AutomatonState() )
<< " State " << State() << " Threads " << _Threads << " SuspendedThreads "
<< _SuspendedThreads << " EventQSize " << EventQSize() << endl ;
}
}
}
-void GraphExecutor::OutNode::ExitThread() {
+void GraphExecutor::OutNode::ExitThread( pthread_t ThreadNumber ) {
if ( pthread_mutex_lock( &_MutexWait ) ) {
perror("pthread_mutex_lock _ExitThread") ;
exit( 0 ) ;
}
+ if ( ThreadNumber == 0 ) {
+ ThreadNumber = pthread_self() ;
+ }
_Threads -= 1 ;
- theAutomaton->JoinThread( pthread_self() ) ;
+ cdebug << pthread_self() << " ExitThread( " << ThreadNumber << " ) " << _Threads << " running threads "
+ << _SuspendedThreads << " suspended threads"
+ << endl ;
+ theAutomaton->JoinThread( ThreadNumber ) ;
if ( pthread_cond_signal( &_JoinWait ) ) {
perror("ExitThread pthread_cond_signal ") ;
}
- cdebug << "ExitThread : " << _Threads << " running threads "
- << _SuspendedThreads << " suspended threads"
- << endl ;
if ( pthread_mutex_unlock( &_MutexWait ) ) {
perror("pthread_mutex_unlock _ExitThread") ;
exit( 0 ) ;
perror("PushEvent pthread_mutex_lock ") ;
exit( 0 ) ;
}
- if ( aNode ) {
- _EventNodes.push_back( aNode->Name() ) ;
- }
- else {
- _EventNodes.push_back( Graph()->Name() ) ;
- }
+ char* aNodeName = aNode ? aNode->Name() : Graph()->Name() ;
+ _EventNodes.push_back( aNodeName ) ;
_Events.push_back( anEvent ) ;
_States.push_back( aState ) ;
+
pthread_cond_broadcast( &_EventWait );
+ cdebug << pthread_self() << " PushEvent Threads " << Threads() << " SuspendedThreads "
+ << SuspendedThreads() << " pthread_cond_broadcast _EventWait " << &_EventWait << endl ;
if ( aNode ) {
// cdebug << aNode->ThreadNo() << " PushEvent " << aNode->Name() ;
// cdebug << " " << aNode->Automaton()->EventName( anEvent )
SUPERV::GraphEvent & anEvent ,
SUPERV::GraphState & aState ,
bool WithWait ) {
+ // asv : fixing problem of loops with large number of iterations (>5000)
+ // experimentally was found that number of non-handled by GUI events = (number_of_nodes x 7)
+ // or 7 events for each node - so what we want to do here is remove "old" events for nodes
+ // "on the fly". Once again it is done in Stop(), Kill(), Done() functions.
+ if ( _EventNodes.size() > (unsigned int)Graph()->GraphNodesSize()*7 )
+ siftEvents();
+
int ThreadsNumber ;
int SuspendedThreadsNumber ;
if ( _EventNodes.size() > 0 ) {
exit( 0 ) ;
}
if ( _EventNodes.size() > 0 ) {
- cdebug_out << "GraphExecutor::OutNode::Event " << _EventNodes.size() << " in queue" << endl ;
+ cdebug_out << "GraphExecutor::OutNode::Event " << _EventNodes.size() << " in queue"
+ << *aNodeName << " " << anEvent << " " << aState << endl ;
}
return RetVal ;
}
GraphExecutor::AutomatonState GraphExecutor::OutNode::AutomatonState( const char * NodeName ) {
// cdebug_in << "GraphExecutor::OutNode::AutomatonState " << NodeName << endl;
GraphExecutor::AutomatonState aret = GraphExecutor::UnKnownState ;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode )
- aret = anInNode->State() ;
+ const GraphBase::ComputingNode * aNode = Graph()->GetGraphNode( NodeName ) ;
+ if ( aNode ) {
+ GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) aNode->GetInNode() ;
+ if ( anInNode ) {
+ aret = anInNode->State() ;
+ }
+ }
// cdebug_out << "GraphExecutor::OutNode::AutomatonState" << endl ;
return aret ;
}
SUPERV::ControlState GraphExecutor::OutNode::ControlState( const char * NodeName ) {
// cdebug_in << "GraphExecutor::OutNode::ControlState " << NodeName << endl;
SUPERV::ControlState aret = SUPERV::VoidState ;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode )
- aret = anInNode->ControlState() ;
+ const GraphBase::ComputingNode * aNode = Graph()->GetGraphNode( NodeName ) ;
+ if ( aNode ) {
+ GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) aNode->GetInNode() ;
+ if ( anInNode ) {
+ aret = anInNode->ControlState() ;
+ }
+ }
// cdebug_out << "GraphExecutor::OutNode::ControlState" << endl ;
return aret ;
}
void GraphExecutor::OutNode::ControlClear( const char * NodeName ) {
// cdebug_in << "GraphExecutor::OutNode::ControlClear " << NodeName << endl;
- GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) Graph()->GetGraphNode( NodeName )->GetInNode() ;
- if ( anInNode )
- anInNode->ControlClear() ;
+ const GraphBase::ComputingNode * aNode = Graph()->GetGraphNode( NodeName ) ;
+ if ( aNode ) {
+ GraphExecutor::InNode *anInNode = (GraphExecutor::InNode *) aNode->GetInNode() ;
+ if ( anInNode ) {
+ anInNode->ControlClear() ;
+ }
+ }
// cdebug_out << "GraphExecutor::OutNode::ControlClear" << endl ;
}
bool GraphExecutor::OutNode::IsSuspended() {
// cdebug_in << "GraphExecutor::OutNode::IsSuspended" << endl;
bool aret = false ;
- if ( _SuspendedThreads == _Threads ) {
+ if ( _SuspendedThreads == _Threads && _Threads != 0 ) {
aret = true ;
}
// cdebug_out << "GraphExecutor::OutNode::IsSuspended" << endl ;
MESSAGE( Graph()->Name() << " IS NOT KILLED" ) ;
MESSAGE("================================================================================") ;
}
- cdebug_out << "GraphExecutor::OutNode::Kill " << RetVal << endl ;
+ cdebug_out << "GraphExecutor::OutNode::Kill " << RetVal
+ << " Threads " << _Threads << " SuspendedThreads " << _SuspendedThreads << endl ;
+
+ // remove "extra" events from the event queue
+ siftEvents();
+
+ // asv : 25.10.04 : calling Editing() to indicate stop of execution
+ Graph()->GraphEditor()->Editing();
+
return RetVal ;
}
}
bool GraphExecutor::OutNode::DoneWait() {
- cdebug_in << "GraphExecutor::OutNode::DoneWait" << endl;
+ cdebug_in << pthread_self() << " GraphExecutor::DoneWait " << this << " " << Graph()->Name() << endl;
bool aret ;
if ( pthread_mutex_lock( &_MutexWait ) ) {
perror("pthread_mutex_lock _DoneWait") ;
}
aret = IsDone() ;
while ( !aret && !IsSuspended() && IsRunning() ) {
- cdebug << "DoneWait pthread_cond_wait _EventWait" << endl;
+ cdebug << pthread_self() << " GraphExecutor::DoneWait " << this << " " << Graph()->Name()
+ << " DoneWait pthread_cond_wait _EventWait " << &_EventWait << endl;
pthread_cond_wait( &_EventWait , &_MutexWait );
aret = IsDone() ;
- cdebug << "DoneWait pthread_cond_waited _EventWait " << aret << endl;
+ cdebug << pthread_self() << " GraphExecutor::DoneWait " << this << " " << Graph()->Name()
+ << " DoneWait pthread_cond_waited _EventWaited " << &_EventWait << " : "<< aret << endl;
}
if ( pthread_mutex_unlock( &_MutexWait ) ) {
perror("pthread_mutex_lock _DoneWait") ;
exit( 0 ) ;
}
- cdebug_out << "GraphExecutor::OutNode::DoneWait " << aret << endl ;
+ cdebug_out << pthread_self() << " GraphExecutor::DoneWait " << this << " " << Graph()->Name()
+ << " " << State() << " : " << aret << endl ;
return aret ;
}
return 0 ;
}
+// remove equal sets "Node-Event-State" from _EventNodes/_Events/_States queues
+void GraphExecutor::OutNode::siftEvents() {
+ list<char*>::reverse_iterator itNodes = _EventNodes.rbegin();
+ list<GraphExecutor::NodeEvent>::reverse_iterator itEvents = _Events.rbegin();
+ list<GraphExecutor::AutomatonState>::reverse_iterator itStates = _States.rbegin();
+ list<char*> _NewEventNodes;
+ list<GraphExecutor::NodeEvent> _NewEvents;
+ list<GraphExecutor::AutomatonState> _NewStates;
+ for ( ; itNodes != _EventNodes.rend() ; ++itNodes, ++itEvents, ++itStates) {
+ //cout << "----- aNodeName ==> " << *itNodes;
+ list<char*>::reverse_iterator itNewNodes = _NewEventNodes.rbegin();
+ bool found = false;
+ for ( ; itNewNodes != _NewEventNodes.rend() ; ++itNewNodes ) {
+ if ( !strcmp( *itNewNodes, *itNodes ) ) {
+ found = true;
+ break;
+ }
+ }
+ if ( found ) {
+ //cout << " FOUND";
+ }
+ else {
+ _NewEventNodes.push_back( *itNodes );
+ _NewEvents.push_back( *itEvents );
+ _NewStates.push_back( *itStates );
+ }
+ //cout << endl;
+ }
+ _EventNodes = _NewEventNodes;
+ _Events = _NewEvents;
+ _States = _NewStates;
+}
CORBA::ORB_ptr _Orb ;
+ // scan (reverse) the _EventNodes queue and leave only 1 (the last one that came)
+ // event for every node
+ void siftEvents();
+
public :
OutNode() ;
void PyThreadUnLock() ;
void NewThread() ;
- void ExitThread() ;
+ void ExitThread( pthread_t ThreadNumber = 0 ) ;
void SuspendThread() ;
void ResumeThread() ;
long Threads() { return _Threads ; } ;
#include <map>
#include "DataFlowExecutor_InNode.hxx"
+#include "DataFlowExecutor_OutNode.hxx"
+
+#include "CASCatch_SignalsHandler.h" // CAREFUL ! position of this file is critic : see Lucien PIGNOLONI / OCC
using namespace CORBA ;
aPyFunc += PyFuncName ;
aPyFunc += " )\n" ;
/*cdebug *///cout<< "InitPyDynInvoke PyRun_SimpleString " << endl << aPyFunc << endl ;
- if ( PyRun_SimpleString( (char *) aPyFunc.c_str() ) ) {
- cdebug << ThreadNo() << " " << Name() << " PyRun_SimpleString ERROR " << endl << aPyFunc << endl ;
+ if ( PyRunSimpleString( (char *) aPyFunc.c_str() ) ) {
+ cdebug << ThreadNo() << " " << Name() << " PyRunSimpleString ERROR " << endl << aPyFunc << endl ;
RetVal = false ;
Err = true ;
}
thePyRunMethod = MyPyRunMethod ;
Automaton()->PyFunction( PyFuncName , thePyRunMethod ) ;
- cdebug << ThreadNo() << "PyRun_SimpleString( " << (*aPythonFunction)[ 0 ] << " ) " << endl ;
+ cdebug << ThreadNo() << "PyRunSimpleString( " << (*aPythonFunction)[ 0 ] << " ) " << endl ;
}
}
if ( RetVal ) {
return RetVal ;
}
+
+// This method was created in order to wrap PyRun_SimpleString() with exception handling wrapper.
+// Python does not throw usual C++ style exceptions, so try-catch construct does not work for this
+// purpose. Instead Python raises signals. If these signals are not caught by the application
+// it will be caught by the OS and the application will be terminated : BUG PAL6869
+// Declaring CASCatch_SignalsHandler object redefines (!) standard C++ reserved words "try" and "catch".
+// Standard_Failure "exception" is a signal in fact, and it will be caught in the catch section.
+// Why do we finalize and re-initialize Python after catching the signal? Because the Python stack
+// is corrupted after that.
+// Declaration of CASCatch_SignalsHandler forces us to add linkage with CASCADE libraries.. See Makefile.in.
+bool GraphExecutor::InNode::PyRunSimpleString( char* thePyString )
+{
+ CASCatch_SignalsHandler aSignalsHandler;
+ const bool ErrorValue = true;
+ bool aRet;
+ try {
+ aRet = PyRun_SimpleString( thePyString );
+ } catch( Standard_Failure ) {
+ MESSAGE( "ERROR: Exception caught running Python method." );
+ MESSAGE( " Python was reinitialized. Previous Python definitions are lost" );
+ Py_Finalize();
+ Py_Initialize();
+ Py_InitModule( "InitPyRunMethod" , MethodPyRunMethod );
+ _OutNode->PyInitialized( false );
+ aRet = ErrorValue;
+ }
+ return aRet;
+}
BIN_SRC =
BIN_SERVER_IDL =
-CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_MT_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) \
+CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_MT_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) $(OCC_INCLUDES) \
-I${KERNEL_ROOT_DIR}/include/salome
-CXXFLAGS+= -g -D_DEBUG_ -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
+CXXFLAGS+= -g -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
-I${KERNEL_ROOT_DIR}/include/salome
-LDFLAGS+= -export-dynamic -lSalomeNS -lSalomeLifeCycleCORBA -lSalomeSuperVisionBase -lOpUtil -lSALOMELocalTrace \
+LDFLAGS+= -export-dynamic -lSalomeNS -lSalomeLifeCycleCORBA -lSalomeSuperVisionBase -lSalomeSuperVisionEditor -lOpUtil -lSALOMELocalTrace -lCASCatch\
-lc $(QT_MT_LIBS) $(OGL_LIBS) \
-L${KERNEL_ROOT_DIR}/lib/salome
#LIBS += -Xlinker -export-dynamic $(PYTHON_LIBS)
@COMMENCE@
-SUBDIRS = GraphBase GraphExecutor GraphEditor Supervision SUPERVGUI
+SUBDIRS = GraphBase GraphEditor GraphExecutor Supervision SUPERVGUI
@MODULE@
QAD_StudyFrame* aStudyFrame = study->newWindow3d(study->getNextStudyFrameName(),
VIEW_GRAPHSUPERV, false);
if (aStudyFrame) {
- connect(aStudyFrame,
- SIGNAL(sfStudyFrameClosing(QAD_StudyFrame*)),
+ connect(study,
+ SIGNAL(supervStudyFrameClosing(QAD_ViewFrame*)),
&Supervision,
- SLOT(onGraphClosed(QAD_StudyFrame*)));
+ SLOT(onGraphClosed(QAD_ViewFrame*)));
}
return aStudyFrame;
}
}
-void SUPERVGUI::onGraphClosed(QAD_StudyFrame* theStudyFrame) {
- QAD_ViewFrame* viewFrame = theStudyFrame->getRightFrame()->getViewFrame();
- if(SUPERVGraph_ViewFrame* supervFrame = dynamic_cast<SUPERVGraph_ViewFrame*>(viewFrame)){
- disconnect(theStudyFrame, 0 , this, 0);
+void SUPERVGUI::onGraphClosed(QAD_ViewFrame* theViewFrame) {
+ if(SUPERVGraph_ViewFrame* supervFrame = dynamic_cast<SUPERVGraph_ViewFrame*>(theViewFrame)){
+ disconnect(study, 0 , this, 0);
SUPERVGraph_View* view = supervFrame->getViewWidget();
SUPERVGUI_Main* aGraph = dynamic_cast<SUPERVGUI_Main*>(view);
if (aGraph) {
unregisterGraph(aGraph);
+ SUPERV_Graph aDataFlow = aGraph->getDataflow();
+ if ( !SUPERV_isNull( aDataFlow ) ) {
+ if ( aDataFlow->IsExecuting() ) {
+ const int aMsgResult = QMessageBox::warning(QAD_Application::getDesktop(),
+ tr("WARNING"),
+ tr("MSG_DF_RUNNING"),
+ tr("MSG_DF_EXECUTION"),
+ tr("MSG_DF_KILL"));
+ if ( aMsgResult == 1 ) {
+ // KILL EXECUTION
+ if ( aDataFlow->Kill() ) {
+ // Kill() sends KillEvent and KillState to SUPERVGUI_Thread
+ // while sets myIsActive flag to false when it receives such event/state
+ // after myIsActive is false it calls QThread::exit() to terminate.
+
+ // why while() { qApp->processEvents() } ?
+ // because: SUPERVGUI_Thread::run() receives events, and calls myMain->execute()
+ // method using SALOME_Event paradigm, ProcessVoidEvent() function -
+ // it puts this event to the main application event loop, in which we are being now.
+ // So if we block main GUI application thread (by calling aGraph->getMyThread()->wait() here)
+ // then we will have a deadlock of 2 threads waiting for one another
+ while (aGraph->getMyThread()->running())
+ qApp->processEvents();
+ }
+ }
+ else { // BACKGROUND EXECUTION
+ emit KillMainThread(true); // set SUPERVGUI_Thread::myIsActive to false
+ while ( aGraph->getMyThread()->running() )
+ qApp->processEvents();
+ }
+ }
+ else { // EXECUTION IS FINISHED, JUST DESTROY THE SUPERVGUI_Thread object and return.
+ emit KillMainThread(true);
+ while ( aGraph->getMyThread()->running() )
+ qApp->processEvents();
+ }
+ }
}
}
}
QAD_ViewFrame* viewFrame = aStudyFrame->getRightFrame()->getViewFrame();
if(SUPERVGraph_ViewFrame* supervFrame = dynamic_cast<SUPERVGraph_ViewFrame*>(viewFrame)){
SUPERVGraph_View* view = supervFrame->getViewWidget();
- if (view)
+ if (view) {
main = dynamic_cast<SUPERVGUI_Main*>(view);
+ connect(&Supervision, SIGNAL(KillMainThread(bool)), main->getMyThread(), SLOT(KillThread(bool)));
+ }
}
Trace("SUPERVGUI::setMain - main: "<<main);
}
QMessageBox::Yes, QMessageBox::No) == QMessageBox::No)
return;
}
- aDataFlow = engine->getStreamGraph(ior);
+ //aDataFlow = engine->getStreamGraph(ior);
+ aDataFlow = engine->getGraph(ior);
if (SUPERV_isNull(aDataFlow)) {
QMessageBox::warning(0, tr("ERROR"), tr("MSG_ACCESS_BAD_IOR"));
return;
}
+ /* ASV: 20.10.04: fix for 6896
+ if (aDataFlow->IsStreamGraph()) {
+ SUPERV_StreamGraph aDataFlowStream = aDataFlow->ToStreamGraph();
+ if (SUPERV_isNull(aDataFlowStream)) {
+ QMessageBox::warning(0, tr("ERROR"), tr("MSG_ACCESS_BAD_IOR"));
+ return;
+ }
+ aDataFlow = aDataFlowStream;
+ }
+ */
}
QAD_StudyFrame* aStudyFrame = createGraph();
SUPERVGraph_ViewFrame* aViewFrame = dynamic_cast<SUPERVGraph_ViewFrame*>
if (obj->FindAttribute(anAttr, "AttributeName")) {
aName = SALOMEDS::AttributeName::_narrow(anAttr);
QString nm = QString( aName->Value() );
- bool ok = FALSE;
nm = SALOMEGUI_NameDlg::getName( QAD_Application::getDesktop(), nm );
if ( !nm.isEmpty() ) {
QApplication::setOverrideCursor( Qt::waitCursor );
void SUPERVGUI::newDataflow() {
Trace("SUPERVGUI::editDataflow");
+
+ //asv 20.10.04: removed 2 SUPERVGUI_Main constructors. there is only ONE way
+ //to create a Main object now: with a non-null DataFlow as a 3d parameter
+ //1. create a Graph object
+ SUPERV_Graph aNewDataFlow = engine->StreamGraph( MAIN_NEW );
+ if (SUPERV_isNull( aNewDataFlow )) {
+ QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_CANT_CREATE_DF"));
+ return;
+ }
+ //2. create a ViewFrame object
QAD_StudyFrame* aStudyFrame = createGraph();
SUPERVGraph_ViewFrame* aViewFrame = dynamic_cast<SUPERVGraph_ViewFrame*>
(aStudyFrame->getRightFrame()->getViewFrame());
if(aViewFrame){
- main = new SUPERVGUI_Main(aViewFrame, desktop, false);
+ //3. bind Graph and ViewFrame -> create Main
+ main = new SUPERVGUI_Main(aViewFrame, desktop, aNewDataFlow );
main->addNode();
study->showFrame(aStudyFrame);
}
SALOMEDS::GenericAttribute_var anAttr;
if (obj->FindAttribute(anAttr, "AttributeIOR")) {
SALOMEDS::AttributeIOR_var anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
- SUPERV_Graph aDataFlow = engine->getStreamGraph(anIOR->Value());
- if (!SUPERV_isNull(aDataFlow))
- theIsDataflow = true;
+ //SUPERV_Graph aDataFlow = engine->getStreamGraph(anIOR->Value());
+ SUPERV_Graph aDataFlow = engine->getGraph(anIOR->Value());
+ if (!SUPERV_isNull(aDataFlow)) {
+ if (aDataFlow->IsStreamGraph()) {
+ if (!SUPERV_isNull(aDataFlow->ToStreamGraph()))
+ theIsDataflow = true;
+ }
+ else
+ theIsDataflow = true;
+ }
}
CORBA::String_var anObjectID = obj->GetID();
CORBA::String_var aComponentID = comp->GetID();
*/
void whatIsSelected(const Handle(SALOME_InteractiveObject)& theObj, bool& theIsOwner, bool& theIsDataflow);
+ signals:
+ void KillMainThread(bool theValue);
+
private slots:
void setMain(QWidget* w);
void displayDataflow();
void renameDataflow();
void deleteObject();
- void onGraphClosed(QAD_StudyFrame* );
+ void onGraphClosed(QAD_ViewFrame* );
private:
void loadEngine(SALOME_NamingService* namingService);
if ( aTxt.isNull() || aTxt.isEmpty() ) return false;
if ( aTxt.find( "Unknown" ) < 0 ) {
- //cout<<" ===> Set new value!"<<endl;
return myPort->Input( Supervision.getEngine()->StringValue( aTxt ) );
}
return false;
}
void SUPERVGUI_Canvas::sync() {
- // cout << "===> SUPERVGUI_Canvas::sync()" << endl;
+ // MESSAGE("===> SUPERVGUI_Canvas::sync()");
if (SUPERV_isNull(myMain->getDataflow())) return;
SUPERVGUI_CanvasNode* ihmNode;
* Synchronizes Graph presentation with internal graph structure
*/
void SUPERVGUI_Canvas::merge() {
- // cout << "===> SUPERVGUI_Canvas::merge()" << endl;
+ // MESSAGE("===> SUPERVGUI_Canvas::merge()");
if (SUPERV_isNull(myMain->getDataflow())) return;
SUPERVGUI_CanvasNode* ihmNode;
MESSAGE("Graphs="<<nodes->Graphs.length());
int n;
- //cout << " update nodes " << endl;
UPDATENODES(CNodes, addComputeNode);
UPDATENODES(FNodes, addComputeNode);
UPDATENODES(INodes, addComputeNode);
UPDATENODES(Graphs, addMacroNode);
UPDATENODES(GNodes, addGOTONode);
- //cout << " update control nodes " << endl;
UPDATECONTROLNODES(LNodes);
UPDATECONTROLNODES(SNodes);
delete ihmList;
// update links
- //cout << " update links " << endl;
SUPERVGUI_CanvasLink* ihmLink;
ihmList = queryList("SUPERVGUI_CanvasLink");
/*
*/
//SUPERV_Links links = myMain->getDataflow()->Links();
SUPERV_Links links = myMain->getDataflow()->GLinks();
- //cout << "===> Number of links " << links->length() << endl;
for (int i = 0; i < links->length(); i++) {
UPDATELINK(links[i]);
}
/*
SUPERV_StreamLinks slinks = myMain->getDataflow()->StreamLinks();
- //cout << "===> Number of stream links " << slinks->length() << endl;
for (int i = 0; i < slinks->length(); i++) {
UPDATELINK(slinks[i]);
}
SUPERV_StreamGraph aSGraph = myMain->getDataflow()->ToStreamGraph();
if (!SUPERV_isNull(aSGraph)) {
SUPERV_StreamLinks slinks = aSGraph->StreamLinks(); // <<- doesn't work!!!
- //cout << "===> Number of stream links " << slinks->length() << endl;
for (int i = 0; i < slinks->length(); i++) {
UPDATELINK(slinks[i]);
}
delete ihmLink;
}
delete ihmList;
- //cout << " merge done " << endl;
}
void SUPERVGUI_Canvas::setAsFromStudy(bool theToStudy)
SUPERVGUI_SelectInlineDlg* aDlg = new SUPERVGUI_SelectInlineDlg(getMain());
if (aDlg->exec()) {
QString aNodeName = aDlg->getName();
- getGotoNode()->SetCoupled(aNodeName.latin1());
- getMain()->getCanvas()->sync();
+ if (!aNodeName.isEmpty()) { //implement additional check from GUI side for bug PAL7007
+ getGotoNode()->SetCoupled(aNodeName.latin1());
+ getMain()->getCanvas()->sync();
+ }
}
delete aDlg;
}
QCanvasEllipse::moveBy(dx, dy);
if (myInEdge) myInEdge->setFromPoint((int)x(), (int)y());
if (myOutEdge) myOutEdge->setToPoint((int)x(), (int)y());
+ //resize canvas view if mouse is outside
+ int w = (int)(x()+dx) + width() + GRAPH_MARGIN;
+ int h = (int)(y()+dy) + height() + GRAPH_MARGIN;
+ if (canvas()->width() > w) w = canvas()->width();
+ if (canvas()->height() > h) h = canvas()->height();
+ if (canvas()->width() < w || canvas()->height() < h) canvas()->resize(w, h);
if (myIndex > 0 && isMoving()) {
myLink->getEngine()->ChangeCoord(myIndex, (int)x(), (int)y());
}
myBrowseDlg(0)
{
Trace("SUPERVGUI_CanvasNode::SUPERVGUI_CanvasNode");
- //cout << "===> SUPERVGUI_CanvasNode " << myNode->Name() << endl;
setName(myNode->Name());
}
isIgnore = false;
- //cout << "<=== SUPERVGUI_CanvasNode " << myNode->Name() << endl;
}
SUPERVGUI_CanvasNode::~SUPERVGUI_CanvasNode()
void SUPERVGUI_CanvasNode::merge()
{
- //cout << "===> SUPERVGUI_CanvasNode::merge() " << myNode->Name() << endl;
+ //MESSAGE("===> SUPERVGUI_CanvasNode::merge() " << myNode->Name());
// synchronize port list
bool update = false;
isIgnore = true;
void SUPERVGUI_CanvasNode::sync()
{
- //cout << "===> SUPERVGUI_CanvasNode::sync() " << myNode->Name() << ", state " << myNode->State() << endl;
+ //MESSAGE("===> SUPERVGUI_CanvasNode::sync() " << myNode->Name() << ", state " << myNode->State());
//if myNode is a MacroNode then set it state to state of its subgraph
if (myNode->IsMacro() && myMain->getDataflow()->IsExecuting()) {
return QObject::eventFilter(o, e);
}
-SUPERV_Port SUPERVGUI_CanvasNode::createInPort()
+QStringList SUPERVGUI_CanvasNode::getPortsNamesIN(SUPERV_INode theNode, bool theInputPorts)
{
- SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg();
- if (aDlg->exec()) {
- if (aDlg->getName().isEmpty() || aDlg->getType().isEmpty()) {
- QMessageBox::warning( QAD_Application::getDesktop(), tr( "ERROR" ), tr( "MSG_CANT_CREATE_PORT" ) );
- return NULL;
- }
- SUPERV_INode aNode = getInlineNode();
- if (SUPERV_isNull(aNode)) {
- MESSAGE("SUPERVGUI_CanvasNode::createInPort: Node is wrong type");
- return NULL;
- }
- SUPERV_Ports aPorts = aNode->Ports();
+ QStringList aPNList;
+ if (!SUPERV_isNull(theNode)) {
+ SUPERV_Ports aPorts = theNode->Ports();
for (int i=0; i<aPorts->length(); i++) {
- if (aPorts[i]->IsInput() && aDlg->getName() == QString(aPorts[i]->Name())){
- QMessageBox::warning(0, tr("ERROR"), tr("MSG_PORT_EXIST"));
- return NULL;
+ if (theInputPorts) {
+ if (aPorts[i]->IsInput()) aPNList.append(QString(aPorts[i]->Name()));
}
+ else
+ if (!aPorts[i]->IsInput()) aPNList.append(QString(aPorts[i]->Name()));
}
+ }
+ return aPNList;
+}
+
+SUPERV_Port SUPERVGUI_CanvasNode::createInPort()
+{
+ SUPERV_INode aNode = getInlineNode();
+ if (SUPERV_isNull(aNode)) {
+ MESSAGE("SUPERVGUI_CanvasNode::createInPort: Node is wrong type");
+ return NULL;
+ }
+ SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg(getPortsNamesIN(aNode,true));
+ if (aDlg->exec()) {
SUPERV_Port aPort = aNode->InPort(aDlg->getName().latin1(),
aDlg->getType().latin1());
delete aDlg;
SUPERV_Port SUPERVGUI_CanvasNode::createOutPort()
{
- SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg();
+ SUPERV_INode aNode = getInlineNode();
+ if (SUPERV_isNull(aNode)) {
+ MESSAGE("SUPERVGUI_CanvasNode::createOutPort: Node is wrong type");
+ return NULL;
+ }
+
+ SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg(getPortsNamesIN(aNode,false));
if (aDlg->exec()) {
- SUPERV_INode aNode = getInlineNode();
- if (SUPERV_isNull(aNode)) {
- MESSAGE("SUPERVGUI_CanvasNode::createOutPort: Node is wrong type");
- return NULL;
- }
- SUPERV_Ports aPorts = aNode->Ports();
- for (int i=0; i<aPorts->length(); i++) {
- if (!aPorts[i]->IsInput() && aDlg->getName() == QString(aPorts[i]->Name())){
- QMessageBox::warning(0, tr("ERROR"), tr("MSG_PORT_EXIST"));
- return NULL;
- }
- }
SUPERV_Port aPort = aNode->OutPort(aDlg->getName().latin1(),
aDlg->getType().latin1());
delete aDlg;
using namespace std;
#include "SUPERVGUI_Def.h"
#include "SUPERVGUI_BrowseNodeDlg.h"
+#include <qstringlist.h>
class SUPERVGUI_Main;
class SUPERVGUI_CanvasNodePrs;
SUPERV_Port createInPort();
SUPERV_Port createOutPort();
+ QStringList getPortsNamesIN(SUPERV_INode theNode, bool theInputPorts);
virtual QPopupMenu* getPopupMenu(QWidget* theParent);
int flags = theHAlign | Qt::AlignVCenter;
QRect r(theRect.x() + TEXT_MARGIN, theRect.y(),
theRect.width() - 2*TEXT_MARGIN, theRect.height());
- thePainter.drawText(r, flags, theText);
+
+ QWMatrix aMat = thePainter.worldMatrix();
+ if (aMat.m11() != 1.0) {
+ // for scaled picture only
+ QRect r1 = aMat.mapRect(r);
+ QFont saved = thePainter.font();
+ QFont f(saved);
+ if (f.pointSize() == -1) {
+ f.setPixelSize(f.pixelSize()*aMat.m11());
+ }
+ else {
+ f.setPointSize(f.pointSize()*aMat.m11());
+ }
+ thePainter.save();
+ QWMatrix m;
+ thePainter.setWorldMatrix(m);
+ thePainter.setFont(f);
+ thePainter.drawText(r1, flags, theText);
+ thePainter.setFont(saved);
+ thePainter.restore();
+ }
+ else {
+ thePainter.drawText(r, flags, theText);
+ }
}
void SUPERVGUI_CanvasNodePrs::draw(QPainter& thePainter)
|| myPort->Kind() == SUPERV::EndSwitchParameter);
popup->insertSeparator();
}
- if ((myPort->IsEndSwitch() && myPort->IsInput()) ||
- (myPort->IsInLine() && myPort->Node()->Kind() != SUPERV::EndLoopNode
- && !(myPort->Node()->Kind() == SUPERV::LoopNode && !myPort->IsInput()))) {
+ if (myMain->isEditable()
+ &&
+ ((myPort->IsEndSwitch() && myPort->IsInput())
+ ||
+ (myPort->IsInLine() && myPort->Node()->Kind() != SUPERV::EndLoopNode
+ &&
+ !(myPort->Node()->Kind() == SUPERV::LoopNode && !myPort->IsInput())))) {
popup->insertItem(tr("ITM_DEL_PORT"), this, SLOT(remove()));
}
{
setName("CanvasView");
+ myIsPanBtnClicked = false;
myIsPanActivated = false;
myIsZoomActivated = false;
myIsLinkCreating = false;
void SUPERVGUI_CanvasView::contentsMousePressEvent(QMouseEvent* theEvent)
{
- // cout << "===> SUPERVGUI_CanvasView::contentsMousePressEvent(...) " << endl;
+ // MESSAGE("===> SUPERVGUI_CanvasView::contentsMousePressEvent(...) ");
myPoint = inverseWorldMatrix().map(theEvent->pos());
myGlobalPoint = theEvent->globalPos();
myCurrentItem = 0;
if (((theEvent->button() == Qt::MidButton) &&
(theEvent->state() == Qt::ControlButton)) ||
- myIsPanActivated) {
+ myIsPanBtnClicked) {
myIsPanActivated = true;
myCursor = cursor();
setCursor(pan2Cursor);
void SUPERVGUI_CanvasView::contentsMouseReleaseEvent(QMouseEvent* theEvent)
{
- // cout << "===> SUPERVGUI_CanvasView::contentsMouseReleaseEvent(...) " << endl;
+ // MESSAGE("===> SUPERVGUI_CanvasView::contentsMouseReleaseEvent(...) ");
if (myTimer->isActive()) myTimer->stop();
if (myCurrentItem) {
if (myIsPanActivated) {
myIsPanActivated = false;
+ myIsPanBtnClicked = false;
setCursor(myCursor);
}
void SUPERVGUI_CanvasView::contentsMouseDoubleClickEvent(QMouseEvent* theEvent)
{
- // cout << "===> SUPERVGUI_CanvasView::contentsMouseDoubleClickEvent(...) " << endl;
+ // MESSAGE("===> SUPERVGUI_CanvasView::contentsMouseDoubleClickEvent(...) ");
QPoint p = inverseWorldMatrix().map(theEvent->pos());
// compute collision rectangle
void SUPERVGUI_CanvasView::ActivatePanning()
{
- myIsPanActivated = true;
+ myIsPanBtnClicked = true;
}
void SUPERVGUI_CanvasView::ResetView()
void SUPERVGUI_CanvasView::endSketch(SUPERVGUI_CanvasPort* thePort)
{
- // cout << "===> SUPERVGUI_CanvasView::endSketch(" << thePort->name() << ")" << endl;
+ // MESSAGE("===> SUPERVGUI_CanvasView::endSketch(" << thePort->name() << ")");
if (!myIsLinkCreating) return;
if (myLinkBuilder && myLinkBuilder->canCreateEngine(thePort)) {
int myDelPntItem;
int myOrtoItem;
+ bool myIsPanBtnClicked;
bool myIsPanActivated;
bool myIsZoomActivated;
bool myIsLinkCreating;
aMainLayout->addWidget(aLabel, 0, 0);
myCombo = new QComboBox(this);
+ myCombo->clear(); //for the additional check from GUI side for bug PAL7007
SUPERV_Nodes aNodesList = theMain->getDataflow()->Nodes();
int i;
for (i = 0; i < aNodesList->INodes.length(); i++) {
#include "SUPERVGUI_CanvasControlNode.h"
#include <qvalidator.h>
+/*
+asv 20.10.04: removed 2 SUPERVGUI_Main constructors. there is only ONE way
+to create a Main object now: with a non-null DataFlow as a 3d parameter
SUPERVGUI_Main::SUPERVGUI_Main(SUPERVGraph_ViewFrame* theParent, QAD_Desktop* theDesktop, bool fromIOR)
: SUPERVGraph_View(theParent),
myLogged( false ),
init(theDesktop);
}
}
+*/
-SUPERVGUI_Main::SUPERVGUI_Main(SUPERVGraph_ViewFrame* theParent, QAD_Desktop* theDesktop, SUPERV_Graph cp)
+SUPERVGUI_Main::SUPERVGUI_Main(SUPERVGraph_ViewFrame* theParent, QAD_Desktop* theDesktop, SUPERV_Graph theDataFlow )
: SUPERVGraph_View(theParent),
myLogged( false ),
myFiltered( false ),
{
Trace("SUPERVGUI_Main::SUPERVGUI_Main (copy)");
theParent->setViewWidget(this);
- // dataflow = cp->Copy();
- dataflow = cp;
+ dataflow = theDataFlow;
if (SUPERV_isNull(dataflow)) {
QMessageBox::warning(0, tr("ERROR"), tr("MSG_CANT_COPY"));
close();
myThread = new SUPERVGUI_Thread();
myThread->setMain(this);
- connect(this, SIGNAL(KillMyThread(bool)), myThread, SLOT(KillThread(bool)));
myIsKilled = false;
- //myIsRunned = false;
myCurrentView = CANVAS;
- // myCurrentView = GRAPH;
myIsFromStudy = false;
myLastGraph = 0;
study = theDesktop->getActiveStudy();
father = builder->NewComponent(STUDY_SUPERVISION);
anAttr = builder->FindOrCreateAttribute(father, "AttributeName");
aName = SALOMEDS::AttributeName::_narrow(anAttr);
- //aName->SetValue("Supervision");
aName->SetValue(QAD_Application::getDesktop()->getComponentUserName( "SUPERV" ) );
anAttr = builder->FindOrCreateAttribute(father, "AttributePixMap");
}
SUPERVGUI_Main::~SUPERVGUI_Main() {
-//cout << "===> SUPERVGUI_Main::~SUPERVGUI_Main() " << endl;
Trace("SUPERVGUI_Main::~SUPERVGUI_Main");
// close all opened SubGraphs
QMap<QString, QAD_StudyFrame*>::iterator it;
for (it = mySubGraphs.begin(); it != mySubGraphs.end(); ++it) {
it.data()->removeEventFilter(this);
+ it.data()->disconnect();
it.data()->close();
+
+ QAD_Study* aStudy = it.data()->getStudy();
+ aStudy->removeStudyFrame(it.data());
}
mySubGraphs.clear();
mySubGraphMap.clear();
fclose( myLogFile );
}
graph->removeLinks();
- delete myCanvas;
+ //delete myCanvas;
// delete notification; // kloss : nota bene : quand un datalow est detruit : verifier que les canaux de notification sont aussi detruit
notification->_remove_ref(); // kloss : nota bene : quand un datalow est detruit : verifier que les canaux de notification sont aussi detruit
- if (!SUPERV_isNull(dataflow)) {
- if (dataflow->IsExecuting()) {
- if (QMessageBox::warning(QAD_Application::getDesktop(),
- tr("WARNING"),
- tr("MSG_DF_RUNNING"),
- tr("MSG_DF_EXECUTION"),
- tr("MSG_DF_KILL")) == 1) {
- if (dataflow->Kill()) {
- if (myThread->running())
- myThread->wait();
- }
- }
- else {
- emit KillMyThread(true);
- if (myThread->running())
- myThread->wait();
- }
- }
- else {
- emit KillMyThread(true);
- if (myThread->running())
- myThread->wait();
- }
- }
+
+ delete myCanvas;
}
void SUPERVGUI_Main::filterNotification() {
aGraphNodePrs->sync();
}
else if (aNodePrs) {
- //aNodePrs->sync();
aNodePrs->syncOnEvent(theNodeState);
}
}
QString aNewName(tr("MSG_COPY_PREFIX").arg(++myCopyNum));
aNewName += dataflow->Name();
aNewGraph->SetName(aNewName);
- SUPERVGUI_Main* m = new SUPERVGUI_Main(aViewFrame,
+ /*SUPERVGUI_Main* m = */new SUPERVGUI_Main(aViewFrame,
Supervision.getDesktop(),
aNewGraph);
study->showFrame(aStudyFrame);
void SUPERVGUI_Main::openSubGraph(SUPERV_CNode theNode, bool correct)
{
- //cout << "===> SUPERVGUI_Main::openSubGraph(" << theNode->Name() << ")" << endl;
- //cout << " macro node : " << theNode->IsMacro() << ", " << theNode->IsFlowMacro() << ", " << theNode->IsStreamMacro() << endl;
if (theNode->IsMacro()) {
// get SubGraph from MacroNode
SUPERV_Graph aMacro = SUPERV::Graph::_narrow(theNode);
QString aGraphName = aGraph->Name();
QAD_StudyFrame* aStudyFrame;
if (mySubGraphs.contains(aGraphName)) {
- //cout << " activate already opened dataflow " << aGraphName << endl;
aStudyFrame = mySubGraphs[aGraphName];
aStudyFrame->setActiveWindow();
aStudyFrame->setFocus();
SUPERVGraph_ViewFrame* aViewFrame = dynamic_cast<SUPERVGraph_ViewFrame*>
(aStudyFrame->getRightFrame()->getViewFrame());
if(aViewFrame) {
- SUPERVGUI_Main* m = new SUPERVGUI_Main(aViewFrame,
+ /*SUPERVGUI_Main* m = */new SUPERVGUI_Main(aViewFrame,
Supervision.getDesktop(),
aGraph);
// connect(aStudyFrame, SIGNAL(sfStudyFrameClosing(QAD_StudyFrame*)),
return( b );
}
+void SUPERVGUI_Main::closeEvent(QCloseEvent* e) {
+ e->accept();
+}
void SUPERVGUI_Main::setPaletteBackgroundColor(const QColor& color) {
+
array->setPaletteBackgroundColor(color);
graph->setPaletteBackgroundColor(color);
myCanvas->setBackgroundColor(color);
void SUPERVGUI_Main::executionFinished() {
getStudy()->updateObjBrowser();
+ myCanvas->update();
}
void SUPERVGUI_Main::checkExecution() {
{
if (!myIsActive) {
myIsActive = true;
- QThread::start();
+ //QThread::start();
+ this->start();
myMain->getMessage()->setMessage(m);
myMain->sync();
}
myMain->startTimer();
while(myIsActive) {
myMain->getDataflow()->Event(aNode, aEvent, aState);
-
+
if (aEvent == SUPERV::UndefinedEvent && aState == SUPERV::UndefinedState
||
aEvent == SUPERV::NoEvent && aState == SUPERV::NoState
||
aEvent == SUPERV::KillEvent && aState == SUPERV::KillState) {
+
if (myMain->getEventNodes().count()) {
myMain->removeEventNodes();
- }
+ }
if (myMain->getStates().count()) {
myMain->removeStates();
- }
+ }
myIsActive = false;
}
- else {
- if ( aNode != NULL) {
+ else {
+ if ( aNode != NULL && !CORBA::is_nil( aNode ) ) {
aName = aNode->Name();
}
- if ( aPrevNode == NULL ) { //first initialize aPrev... variables
+ if ( aPrevNode == NULL || CORBA::is_nil( aPrevNode ) ) { //first initialize aPrev... variables
anEventNodes = myMain->getEventNodes();
anEventNodes.append( &aName ) ;
myMain->setEventNodes(anEventNodes);
myMain->setStates(aStates);
}
}
- }
+ }
if (!myIsActive) {
switch (myMain->getDataflow()->State()) {
- case SUPERV_Editing :
+ case SUPERV_Editing :
stopThread(myMain->getDataflow()->IsReadOnly()? tr("MSG_GRAPH_READONLY"): tr("MSG_GRAPH_EDITING"));
break;
stopThread(tr("MSG_GRAPH_FINISHED"));
break;
- case SUPERV_Error :
+ case SUPERV_Error :
stopThread(tr("MSG_GRAPH_ABORTED"));
break;
break;
}
-
- if (myMain->getEventNodes().count()) {
+ if ( myMain->getEventNodes().count() ) {
//if list not empty call execute() -> sync()
char * aNodeName = *(myMain->getEventNodes().getFirst());
SUPERV::GraphState aNodeState = *(myMain->getStates().getFirst());
// It is PROHIBITED to deal with widgets in a secondary thread, so event posting is used here
ProcessVoidEvent( new TNodeSyncEvent( myMain, &SUPERVGUI_Main::execute, aNodeName, aNodeState ) );
-
+
myMain->removeFirstEN();
myMain->removeFirstS();
-
}
aPrevNode = aNode;
aPrevEvent = aEvent;
aPrevState = aState;
- aPrevName = aPrevNode->Name();
+
+ if ( aPrevNode == NULL || CORBA::is_nil( aPrevNode ) )
+ aPrevName = "";
+ else
+ aPrevName = aPrevNode->Name();
//usleep(10);
//msleep(5);
// qApp->lock();
// myMain->getStudy()->updateObjBrowser();
// qApp->unlock();
- // VSR: 04/12/03 <---
+ // VSR: 04/12/03 <---
+
QThread::exit();
}
Q_OBJECT
public:
- SUPERVGUI_Main(SUPERVGraph_ViewFrame*, QAD_Desktop*, bool fromIOR);
- SUPERVGUI_Main(SUPERVGraph_ViewFrame*, QAD_Desktop*, bool isModify, const char* filename);
+ //SUPERVGUI_Main(SUPERVGraph_ViewFrame*, QAD_Desktop*, bool fromIOR);
+ //SUPERVGUI_Main(SUPERVGraph_ViewFrame*, QAD_Desktop*, bool isModify, const char* filename);
SUPERVGUI_Main(SUPERVGraph_ViewFrame*, QAD_Desktop*, SUPERV_Graph);
virtual ~SUPERVGUI_Main();
void init(QAD_Desktop* parent);
void syncNotification();
bool isFiltered(char* graph, char* node, char* type, char* message, char* sender, long counter, char* date, long stamp);
+ void closeEvent(QCloseEvent*);
SUPERV_Graph dataflow;
myRunPopup->setItemEnabled(myStopItem, true);
break;
default:
- //cout<<"### Node state = "<<theState<<endl;
myStatus->setText("No Status");
myStatus->setPaletteBackgroundColor(QColor(NODE_RED, NODE_GREEN, NODE_BLUE));
myRunPopup->setItemEnabled(mySuspendItem, false);
QMessageBox::warning( QAD_Application::getDesktop(), tr( "ERROR" ), tr( "MSG_CANT_RENAMENODE" ) );
}
-
-SUPERV_Port SUPERVGUI_Node::createInPort() {
- SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg();
- if (aDlg->exec()) {
- if (aDlg->getName().isEmpty() || aDlg->getType().isEmpty()) {
- QMessageBox::warning( QAD_Application::getDesktop(), tr( "ERROR" ), tr( "MSG_CANT_CREATE_PORT" ) );
- return NULL;
- }
- SUPERV_INode aNode = getInlineNode();
- if (SUPERV_isNull(aNode)) {
- MESSAGE("SUPERVGUI_Node::createInPort: Node is wrong type");
- return NULL;
- }
- SUPERV_Ports aPorts = aNode->Ports();
+QStringList SUPERVGUI_Node::getPortsNamesIN(SUPERV_INode theNode, bool theInputPorts)
+{
+ QStringList aPNList;
+ if (!SUPERV_isNull(theNode)) {
+ SUPERV_Ports aPorts = theNode->Ports();
for (int i=0; i<aPorts->length(); i++) {
- if (aDlg->getName() == QString(aPorts[i]->Name())){
- QMessageBox::warning(0, tr("ERROR"), tr("MSG_PORT_EXIST"));
- return NULL;
+ if (theInputPorts) {
+ if (aPorts[i]->IsInput()) aPNList.append(QString(aPorts[i]->Name()));
}
+ else
+ if (!aPorts[i]->IsInput()) aPNList.append(QString(aPorts[i]->Name()));
}
+ }
+ return aPNList;
+}
+
+SUPERV_Port SUPERVGUI_Node::createInPort() {
+ SUPERV_INode aNode = getInlineNode();
+ if (SUPERV_isNull(aNode)) {
+ MESSAGE("SUPERVGUI_Node::createInPort: Node is wrong type");
+ return NULL;
+ }
+
+ SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg(getPortsNamesIN(aNode,true));
+ if (aDlg->exec()) {
SUPERV_Port aPort = aNode->InPort(aDlg->getName().latin1(),
aDlg->getType().latin1());
delete aDlg;
SUPERV_Port SUPERVGUI_Node::createOutPort() {
- SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg();
+ SUPERV_INode aNode = getInlineNode();
+ if (SUPERV_isNull(aNode)) {
+ MESSAGE("SUPERVGUI_Node::createInPort: Node is wrong type");
+ return NULL;
+ }
+
+ SUPERVGUI_PortParamsDlg* aDlg = new SUPERVGUI_PortParamsDlg(getPortsNamesIN(aNode,false));
if (aDlg->exec()) {
- SUPERV_INode aNode = getInlineNode();
- if (SUPERV_isNull(aNode)) {
- MESSAGE("SUPERVGUI_Node::createInPort: Node is wrong type");
- return NULL;
- }
- SUPERV_Ports aPorts = aNode->Ports();
- for (int i=0; i<aPorts->length(); i++) {
- if (aDlg->getName() == QString(aPorts[i]->Name())){
- QMessageBox::warning(0, tr("ERROR"), tr("MSG_PORT_EXIST"));
- return NULL;
- }
- }
SUPERV_Port aPort = aNode->OutPort(aDlg->getName().latin1(),
aDlg->getType().latin1());
delete aDlg;
static const char* MyTypeStrings[] =
{"string", "boolean", "char", "short", "int", "long", "float", "double", "objref"};
-SUPERVGUI_PortParamsDlg::SUPERVGUI_PortParamsDlg()
- : QDialog(QAD_Application::getDesktop(), 0, true, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu )
+SUPERVGUI_PortParamsDlg::SUPERVGUI_PortParamsDlg(const QStringList& thePortsNames)
+ : QDialog(QAD_Application::getDesktop(), 0, true, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu ),
+ myPortsNames(thePortsNames)
{
setSizeGripEnabled( true );
setCaption("Port parameters");
aBaseLayout->addMultiCellWidget( aBtnBox, 2, 2, 0, 1 );
QPushButton* aOKBtn = new QPushButton( tr( "BUT_OK" ), aBtnBox );
- connect( aOKBtn, SIGNAL( clicked() ), this, SLOT( accept() ) );
+ connect( aOKBtn, SIGNAL( clicked() ), this, SLOT( clickOnOk() ) );
aBtnLayout->addWidget( aOKBtn );
aBtnLayout->addStretch();
connect( aCancelBtn, SIGNAL( clicked() ), this, SLOT( reject() ) );
aBtnLayout->addWidget( aCancelBtn );
}
+
+void SUPERVGUI_PortParamsDlg::clickOnOk()
+{
+ if (getName().isEmpty() || getType().isEmpty())
+ QMessageBox::warning( QAD_Application::getDesktop(), tr( "ERROR" ), tr( "MSG_CANT_CREATE_PORT" ) );
+ else if (myPortsNames.contains(getName()))
+ QMessageBox::warning( QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_PORT_EXIST") );
+ else
+ accept();
+}
#include "SUPERVGUI_BrowseNodeDlg.h"
#include <qcombobox.h>
#include "SUPERVGUI_Port.h"
+#include <qstringlist.h>
class SUPERVGUI_Main;
SUPERV_Port createInPort();
SUPERV_Port createOutPort();
+ QStringList getPortsNamesIN(SUPERV_INode theNode, bool theInputPorts);
protected:
void mousePressEvent(QMouseEvent* e);
Q_OBJECT
public:
- SUPERVGUI_PortParamsDlg();
+ SUPERVGUI_PortParamsDlg(const QStringList& thePortsNames);
~SUPERVGUI_PortParamsDlg() {};
QString getName() { return myNameTxt->text(); }
QString getType() { return myTypeTxt->currentText(); }
+ public slots:
+ void clickOnOk();
+
+
private:
QLineEdit* myNameTxt;
QComboBox* myTypeTxt;
+ QStringList myPortsNames;
};
QMessageBox::warning(aDesktop, tr("ERROR"), tr("MSG_CANT_CREATE_NODE"));
return;
}
- node->Coords(myX, myY);
+ //to appear a new node in the top-left corner of the current viewport
+ int cx, cy;
+ aMain->getCanvasView()->viewportToContents(myX, myY, cx, cy);
+ node->Coords(cx, cy);
myX += NODE_DX;
myY += NODE_DY;
aMain->addComputeNode(SUPERV::CNode::_narrow(node));
MESSAGE ( " myService->TypeOfNode == " << myService->TypeOfNode )
+ int cx, cy;
if ( myService->TypeOfNode == 0 ) { // ComputeNode
SUPERV_CNode node = aMain->getDataflow()->CNode(*myService);
if (CORBA::is_nil(node)) {
QMessageBox::warning(aDesktop, tr("ERROR"), tr("MSG_CANT_CREATE_NODE"));
return;
}
- node->Coords(myX, myY);
+ //to appear a new node in the top-left corner of the current viewport
+ aMain->getCanvasView()->viewportToContents(myX, myY, cx, cy);
+ node->Coords(cx, cy);
myX += NODE_DX;
myY += NODE_DY;
aMain->addComputeNode(SUPERV::CNode::_narrow(node));
QMessageBox::warning(aDesktop, tr("ERROR"), tr("MSG_CANT_CREATE_NODE"));
return;
}
- node->Coords(myX, myY);
+ //to appear a new node in the top-left corner of the current viewport
+ aMain->getCanvasView()->viewportToContents(myX, myY, cx, cy);
+ node->Coords(cx, cy);
myX += NODE_DX;
myY += NODE_DY;
aMain->addComputeNode(SUPERV::CNode::_narrow(node));
QMessageBox::warning(QAD_Application::getDesktop(), tr("ERROR"), tr("MSG_CANT_CREATE_NODE"));
} else {
int aSel = myTypeCombo->currentItem();
+ int cx, cy;
switch (aSel) {
case 0: // Computation
if (myScriptPane->isDefined()) {
QMessageBox::warning(0, tr("ERROR"), tr("MSG_CANT_CREATE_NODE"));
return;
}
- aNode->Coords(myX, myY);
+ //to appear a new node in the top-left corner of the current viewport
+ aMain->getCanvasView()->viewportToContents(myX, myY, cx, cy);
+ aNode->Coords(cx, cy);
myX += NODE_DX;
myY += NODE_DY;
aMain->addComputeNode(SUPERV::CNode::_narrow(aNode));
QMessageBox::warning(0, tr("ERROR"), tr("MSG_CANT_CREATE_NODE"));
return;
}
- aStartNode->Coords(myX, myY);
- aEndNode->Coords(myX + LABEL_WIDTH*2, myY);
+ //to appear a new node in the top-left corner of the current viewport
+ aMain->getCanvasView()->viewportToContents(myX, myY, cx, cy);
+ aStartNode->Coords(cx, cy);
+ aEndNode->Coords(cx + LABEL_WIDTH*2, cy);
myX += NODE_DX;
myY += NODE_DY;
aMain->addControlNode(SUPERV::CNode::_narrow(aStartNode), SUPERV::CNode::_narrow(aEndNode), true);
QMessageBox::warning(0, tr("ERROR"), tr("MSG_CANT_CREATE_NODE"));
return;
}
- aStartNode->Coords(myX, myY);
- aEndNode->Coords(myX + LABEL_WIDTH*2, myY);
+ //to appear a new node in the top-left corner of the current viewport
+ aMain->getCanvasView()->viewportToContents(myX, myY, cx, cy);
+ aStartNode->Coords(cx, cy);
+ aEndNode->Coords(cx + LABEL_WIDTH*2, cy);
myX += NODE_DX;
myY += NODE_DY;
aMain->addControlNode(SUPERV::CNode::_narrow(aStartNode), SUPERV::CNode::_narrow(aEndNode), true);
QMessageBox::warning(0, tr("ERROR"), tr("MSG_CANT_CREATE_NODE"));
return;
}
- aGotoNode->Coords(myX, myY);
+ //to appear a new node in the top-left corner of the current viewport
+ aMain->getCanvasView()->viewportToContents(myX, myY, cx, cy);
+ aGotoNode->Coords(cx, cy);
myX += NODE_DX;
myY += NODE_DY;
aMain->addGOTONode(SUPERV::GNode::_narrow(aGotoNode));
QMessageBox::warning(0, tr("ERROR"), tr("MSG_CANT_CREATE_NODE"));
return;
}
- aNode->Coords(myX, myY);
+ //to appear a new node in the top-left corner of the current viewport
+ int cx, cy;
+ aMain->getCanvasView()->viewportToContents(myX, myY, cx, cy);
+ aNode->Coords(cx, cy);
myX += NODE_DX;
myY += NODE_DY;
aMain->addMacroNode(SUPERV::CNode::_narrow(aNode));
if ( getenv( "ENABLE_MACRO_NODE" ) == NULL )
// error! if ENABLE_MACRO_NODE is set - we should NOT get here by any means..
{
- //cout << "Error: ENABLE_MACRO_NODE is not set, but loadGraph() was called!" << endl;
+ //MESSAGE("Error: ENABLE_MACRO_NODE is not set, but loadGraph() was called!");
return;
}
SUPERV_Strings aStrings = new SUPERV::ListOfStrings();
aStrings->length(myText->paragraphs());
for (int i=0; i < myText->paragraphs(); i++) {
- aStrings[i] = CORBA::string_dup(myText->text(i).latin1());
+ QString aLine = myText->text(i);
+ if (!aLine.right(1).compare(" "))
+ aLine = aLine.remove(aLine.length()-1,1);
+ aStrings[i] = CORBA::string_dup(aLine.latin1());
}
return aStrings._retn();
}
#:SUPERVGUI_Main.cxx:146
msgid "WARNING"
-msgstr "Supervision Warning"
+msgstr "Supervisor Warning"
#:SUPERVGUI_Main.cxx:147
msgid "MSG_DF_RUNNING"
msgid "MSG_STREAM_DLG_TIT"
msgstr "Stream Port Parameters"
-msgid "MSG_STREAM_DLG_TIT"
-msgstr "Stream Port Parameters"
-
msgid "MSG_STREAM_SCHEMA"
msgstr "Schema"
_Poa = poa ;
_ContId = contId ;
_DataFlowEditor = NULL ;
- _DataFlowExecutor = NULL ;
_DataFlowNode = NULL ;
- _DataFlowExecutorNode = NULL ;
if ( aKindOfNode == SUPERV::MacroNode ) {
_IsNode = true ;
}
_Poa = poa ;
_ContId = contId ;
_DataFlowEditor = aDataFlowEditor ;
- _DataFlowExecutor = NULL ;
- DataFlowEditor()->Graph()->SetGraphEditor( aDataFlowEditor ) ;
+ DataFlowEditor()->Graph()->GraphEditor( aDataFlowEditor ) ;
GraphBase::ListOfFuncName aFuncName ;
GraphBase::ListOfPythonFunctions aPythonFunction ;
if ( FuncName ) {
aPythonFunction.resize(1) ;
aPythonFunction[0] = &PythonFunction ;
}
- _DataFlowNode = _DataFlowEditor->AddNode( NodeService , "" , "" , NodeName ,
+ _DataFlowNode = DataFlowEditor()->AddNode( NodeService , "" , "" , NodeName ,
NodeKindOfNode ,
aFuncName ,
aPythonFunction ) ;
- _DataFlowExecutorNode = NULL ;
_IsNode = true ;
// endService( "CNode_Impl::CNode_Impl" );
// cout << "<-- CNode_Impl::CNode_Impl" << endl ;
_Poa = poa ;
_ContId = contId ;
_DataFlowEditor = aDataFlowEditor ;
- _DataFlowExecutor = NULL ;
- DataFlowEditor()->Graph()->SetGraphEditor( aDataFlowEditor ) ;
- _DataFlowNode = _DataFlowEditor->AddNode( NodeService , "" , "" , NodeName ,
+ DataFlowEditor()->Graph()->GraphEditor( aDataFlowEditor ) ;
+ _DataFlowNode = DataFlowEditor()->AddNode( NodeService , "" , "" , NodeName ,
NodeKindOfNode ,
aFuncName ,
aPythonFunction ) ;
- _DataFlowExecutorNode = NULL ;
_IsNode = true ;
// endService( "CNode_Impl::CNode_Impl" );
}
_Poa = poa ;
_ContId = contId ;
_DataFlowEditor = aDataFlowEditor ;
- _DataFlowExecutor = NULL ;
- DataFlowEditor()->Graph()->SetGraphEditor( aDataFlowEditor ) ;
+ DataFlowEditor()->Graph()->GraphEditor( aDataFlowEditor ) ;
_DataFlowNode = aDataFlowNode ;
- _DataFlowExecutorNode = NULL ;
if ( aDataFlowNode ) {
_IsNode = true ;
}
// endService( "CNode_Impl::CNode_Impl" );
}
-CNode_Impl::CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphExecutor::DataFlow * aDataFlowExecutor ,
- GraphExecutor::InNode * aDataFlowExecutorNode ) :
- Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
-// beginService( "CNode_Impl::CNode_Impl" );
- if ( aDataFlowExecutorNode && aDataFlowExecutorNode->IsComputingNode() ) {
-// MESSAGE( "CNode_Impl::CNode_Impl _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- else {
-// MESSAGE( "CNode_Impl::CNode_Impl NO _poa->activate_object " );
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- _DataFlowEditor = NULL ;
- _DataFlowExecutor = aDataFlowExecutor ;
- DataFlowExecutor()->Graph()->SetGraphExecutor( aDataFlowExecutor ) ;
- _DataFlowNode = NULL ;
- _DataFlowExecutorNode = aDataFlowExecutorNode ;
- if ( aDataFlowExecutorNode ) {
- _IsNode = true ;
- }
- else {
- _IsNode = false ;
- }
-// endService( "CNode_Impl::CNode_Impl" );
-}
-
CNode_Impl::~CNode_Impl() {
beginService( "CNode_Impl::~CNode_Impl" );
endService( "CNode_Impl::~CNode_Impl" );
void CNode_Impl::destroy() {
beginService( "CNode_Impl::Destroy" );
- if ( _DataFlowEditor->IsEditing() ) {
+ if ( DataFlowEditor()->IsEditing() ) {
if ( Delete() ) {
_DataFlowNode = NULL ;
_poa->deactivate_object(*_id) ;
bool CNode_Impl::Delete() {
beginService( "CNode_Impl::Delete" );
bool RetVal = false ;
- if ( _DataFlowEditor->IsEditing() ) {
+ if ( DataFlowEditor()->IsEditing() ) {
DeletePorts() ;
- RetVal = _DataFlowEditor->RemoveNode( Name() ) ;
+ RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
if ( RetVal ) {
- RetVal = _DataFlowEditor->UnValid() ;
+ RetVal = DataFlowEditor()->UnValid() ;
}
}
endService( "CNode_Impl::Delete" );
void CNode_Impl::DeletePorts() {
beginService( "CNode_Impl::DeletePorts" );
- if ( _DataFlowEditor->IsEditing() && _DataFlowNode ) {
+ if ( DataFlowEditor()->IsEditing() && DataFlowNode() ) {
int i ;
- for ( i = 0 ; i < _DataFlowNode->ComputingNode()->GetNodeInPortsSize() ; i++ ) {
- SUPERV::Port_var aPort = _DataFlowNode->ComputingNode()->GetChangeNodeInPort( i )->ObjRef() ;
+ for ( i = 0 ; i < DataFlowNode()->ComputingNode()->GetNodeInPortsSize() ; i++ ) {
+ SUPERV::Port_var aPort = DataFlowNode()->ComputingNode()->GetChangeNodeInPort( i )->ObjRef() ;
if ( !CORBA::is_nil( aPort ) ) {
aPort->Remove() ;
}
}
- for ( i = 0 ; i < _DataFlowNode->ComputingNode()->GetNodeOutPortsSize() ; i++ ) {
- SUPERV::Port_var aPort = _DataFlowNode->ComputingNode()->GetChangeNodeOutPort( i )->ObjRef() ;
+ for ( i = 0 ; i < DataFlowNode()->ComputingNode()->GetNodeOutPortsSize() ; i++ ) {
+ SUPERV::Port_var aPort = DataFlowNode()->ComputingNode()->GetChangeNodeOutPort( i )->ObjRef() ;
if ( !CORBA::is_nil( aPort ) ) {
aPort->Remove() ;
}
// beginService( "CNode_Impl::Service" );
SALOME_ModuleCatalog::Service * RetVal ;
if ( _IsNode ) {
- RetVal = new SALOME_ModuleCatalog::Service( *_DataFlowNode->GetService() ) ;
+ RetVal = new SALOME_ModuleCatalog::Service( *DataFlowNode()->GetService() ) ;
}
else {
- RetVal = new SALOME_ModuleCatalog::Service( *_DataFlowEditor->GetService() ) ;
+ RetVal = new SALOME_ModuleCatalog::Service( *DataFlowEditor()->GetService() ) ;
}
// endService( "CNode_Impl::Service" );
return RetVal ;
// beginService( "CNode_Impl::Name" );
char * RetVal = NULL ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->Name() ;
+ RetVal = DataFlowNode()->Name() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->Name() ;
+ RetVal = DataFlowEditor()->Graph()->Name() ;
}
// endService( "CNode_Impl::Name" );
return CORBA::string_dup( RetVal );
bool CNode_Impl::SetName( const char * aDataFlowName ) {
// beginService( "CNode_Impl::SetName" );
bool RetVal = false ;
- if ( _DataFlowEditor->IsEditing() ) {
+ if ( DataFlowEditor()->IsEditing() ) {
if ( _IsNode ) {
- RetVal = _DataFlowEditor->ReNameNode( _DataFlowNode->Name() ,
+ RetVal = DataFlowEditor()->ReNameNode( DataFlowNode()->Name() ,
aDataFlowName ) ;
}
else {
-// RetVal = _DataFlowEditor->Graph()->Name( aDataFlowName ) ;
- RetVal = _DataFlowEditor->Name( aDataFlowName ) ;
+// RetVal = DataFlowEditor()->Graph()->Name( aDataFlowName ) ;
+ RetVal = DataFlowEditor()->Name( aDataFlowName ) ;
}
}
// endService( "CNode_Impl::SetName" );
// beginService( "CNode_Impl::Kind" );
SUPERV::KindOfNode RetVal = SUPERV::UnknownNode ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->Kind() ;
+ RetVal = DataFlowNode()->Kind() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->Kind() ;
+ RetVal = DataFlowEditor()->Graph()->Kind() ;
}
// endService( "CNode_Impl::Kind" );
return RetVal ;
// beginService( "CNode_Impl::IsGraph" );
bool RetVal = false ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsDataFlowNode() ;
+ RetVal = DataFlowNode()->IsDataFlowNode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsDataFlowNode() ;
+ RetVal = DataFlowEditor()->Graph()->IsDataFlowNode() ;
}
// endService( "CNode_Impl::IsGraph" );
return RetVal ;
// beginService( "CNode_Impl::IsStreamGraph" );
bool RetVal = false ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsDataStreamNode() ;
+ RetVal = DataFlowNode()->IsDataStreamNode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsDataStreamNode() ;
+ RetVal = DataFlowEditor()->Graph()->IsDataStreamNode() ;
}
// endService( "CNode_Impl::IsStreamGraph" );
return RetVal ;
bool CNode_Impl::IsMacro() {
// beginService( "CNode_Impl::IsMacro" );
bool RetVal = false ;
- if ( _IsNode && _DataFlowNode->IsMacroNode() ) {
+ if ( _IsNode && DataFlowNode()->IsMacroNode() ) {
RetVal = true ;
}
// endService( "CNode_Impl::IsMacro" );
bool CNode_Impl::IsFlowMacro() {
// beginService( "CNode_Impl::IsFlowMacro" );
bool RetVal = false ;
- if ( _IsNode && _DataFlowNode->IsMacroNode() && _DataFlowNode->ComputingNode()->MacroObject()->IsGraph() ) {
+ if ( _IsNode && DataFlowNode()->IsMacroNode() && DataFlowNode()->ComputingNode()->MacroObject()->IsGraph() ) {
RetVal = true ;
}
// endService( "CNode_Impl::IsFlowMacro" );
bool CNode_Impl::IsStreamMacro() {
// beginService( "CNode_Impl::IsStreamMacro" );
bool RetVal = false ;
- if ( _IsNode && _DataFlowNode->IsMacroNode() && _DataFlowNode->ComputingNode()->MacroObject()->IsStreamGraph() ) {
+ if ( _IsNode && DataFlowNode()->IsMacroNode() && DataFlowNode()->ComputingNode()->MacroObject()->IsStreamGraph() ) {
RetVal = true ;
}
// endService( "CNode_Impl::IsStreamMacro" );
// beginService( "CNode_Impl::IsComputing" );
bool RetVal = SUPERV::UnknownNode ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsComputingNode() ;
+ RetVal = DataFlowNode()->IsComputingNode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsComputingNode() ;
+ RetVal = DataFlowEditor()->Graph()->IsComputingNode() ;
}
// endService( "CNode_Impl::IsComputing" );
return RetVal ;
// beginService( "CNode_Impl::IsFactory" );
bool RetVal = SUPERV::UnknownNode ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsFactoryNode() ;
+ RetVal = DataFlowNode()->IsFactoryNode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsFactoryNode() ;
+ RetVal = DataFlowEditor()->Graph()->IsFactoryNode() ;
}
// endService( "CNode_Impl::IsFactory" );
return RetVal ;
// beginService( "CNode_Impl::IsInLine" );
bool RetVal = SUPERV::UnknownNode ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsInLineNode() ;
+ RetVal = DataFlowNode()->IsInLineNode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsInLineNode() ;
+ RetVal = DataFlowEditor()->Graph()->IsInLineNode() ;
}
// endService( "CNode_Impl::IsInLine" );
return RetVal ;
// beginService( "CNode_Impl::IsGOTO" );
bool RetVal = SUPERV::UnknownNode ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsGOTONode() ;
+ RetVal = DataFlowNode()->IsGOTONode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsGOTONode() ;
+ RetVal = DataFlowEditor()->Graph()->IsGOTONode() ;
}
// endService( "CNode_Impl::IsGOTO" );
return RetVal ;
// beginService( "CNode_Impl::IsLoop" );
bool RetVal = SUPERV::UnknownNode ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsLoopNode() ;
+ RetVal = DataFlowNode()->IsLoopNode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsLoopNode() ;
+ RetVal = DataFlowEditor()->Graph()->IsLoopNode() ;
}
// endService( "CNode_Impl::IsLoop" );
return RetVal ;
// beginService( "CNode_Impl::IsEndLoop" );
bool RetVal = SUPERV::UnknownNode ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsEndLoopNode() ;
+ RetVal = DataFlowNode()->IsEndLoopNode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsEndLoopNode() ;
+ RetVal = DataFlowEditor()->Graph()->IsEndLoopNode() ;
}
// endService( "CNode_Impl::IsEndLoop" );
return RetVal ;
// beginService( "CNode_Impl::IsSwitch" );
bool RetVal = SUPERV::UnknownNode ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsSwitchNode() ;
+ RetVal = DataFlowNode()->IsSwitchNode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsSwitchNode() ;
+ RetVal = DataFlowEditor()->Graph()->IsSwitchNode() ;
}
// endService( "CNode_Impl::IsSwitch" );
return RetVal ;
// beginService( "CNode_Impl::IsEndSwitch" );
bool RetVal = SUPERV::UnknownNode ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->IsEndSwitchNode() ;
+ RetVal = DataFlowNode()->IsEndSwitchNode() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->IsEndSwitchNode() ;
+ RetVal = DataFlowEditor()->Graph()->IsEndSwitchNode() ;
}
// endService( "CNode_Impl::IsEndSwitch" );
return RetVal ;
// beginService( "CNode_Impl::CreationDate" );
SUPERV::SDate_var RetVal ;
if ( _IsNode ) {
- RetVal = new SUPERV::SDate( _DataFlowNode->FirstCreation() ) ;
+ RetVal = new SUPERV::SDate( DataFlowNode()->FirstCreation() ) ;
}
else {
-// cout << " CNode_Impl::CreationDate " << _DataFlowEditor->FirstCreation()
+// cout << " CNode_Impl::CreationDate " << DataFlowEditor()->FirstCreation()
// << endl ;
- RetVal = new SUPERV::SDate( _DataFlowEditor->Graph()->FirstCreation() ) ;
+ RetVal = new SUPERV::SDate( DataFlowEditor()->Graph()->FirstCreation() ) ;
}
// endService( "CNode_Impl::CreationDate" );
return (RetVal._retn()) ;
// beginService( "CNode_Impl::LastUpdateDate" );
SUPERV::SDate_var RetVal ;
if ( _IsNode ) {
- RetVal = new SUPERV::SDate( _DataFlowNode->LastModification() ) ;
+ RetVal = new SUPERV::SDate( DataFlowNode()->LastModification() ) ;
}
else {
- RetVal = new SUPERV::SDate( _DataFlowEditor->Graph()->LastModification() ) ;
+ RetVal = new SUPERV::SDate( DataFlowEditor()->Graph()->LastModification() ) ;
}
// endService( "CNode_Impl::LastUpdateDate" );
return (RetVal._retn()) ;
// beginService( "CNode_Impl::Version" );
char * RetVal ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->EditorRelease() ;
+ RetVal = DataFlowNode()->EditorRelease() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->EditorRelease() ;
+ RetVal = DataFlowEditor()->Graph()->EditorRelease() ;
}
// endService( "CNode_Impl::Version" );
return CORBA::string_dup( RetVal ) ;
// beginService( "CNode_Impl::Author" );
char * RetVal ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->Author() ;
+ RetVal = DataFlowNode()->Author() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->Author() ;
+ RetVal = DataFlowEditor()->Graph()->Author() ;
}
// endService( "CNode_Impl::Author" );
return CORBA::string_dup( RetVal ) ;
bool CNode_Impl::SetAuthor( const char * aDataFlowAuthor ) {
// beginService( "CNode_Impl::SetAuthor" );
bool RetVal = false ;
- if ( _DataFlowEditor->IsEditing() ) {
+ if ( DataFlowEditor()->IsEditing() ) {
if ( _IsNode ) {
- RetVal = _DataFlowNode->Author( aDataFlowAuthor ) ;
+ RetVal = DataFlowNode()->Author( aDataFlowAuthor ) ;
}
else {
- RetVal = _DataFlowEditor->Graph()->Author( aDataFlowAuthor ) ;
+ RetVal = DataFlowEditor()->Graph()->Author( aDataFlowAuthor ) ;
}
}
// endService( "CNode_Impl::SetAuthor" );
// beginService( "CNode_Impl::Comment" );
char * RetVal ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->Comment() ;
+ RetVal = DataFlowNode()->Comment() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->Comment() ;
+ RetVal = DataFlowEditor()->Graph()->Comment() ;
}
// endService( "CNode_Impl::Comment" );
return CORBA::string_dup( RetVal ) ;
bool CNode_Impl::SetComment( const char * aDataFlowComment ) {
// beginService( "CNode_Impl::SetComment" );
bool RetVal = false ;
- if ( _DataFlowEditor->IsEditing() ) {
+ if ( DataFlowEditor()->IsEditing() ) {
if ( _IsNode ) {
- RetVal = _DataFlowNode->Comment( aDataFlowComment ) ;
+ RetVal = DataFlowNode()->Comment( aDataFlowComment ) ;
}
else {
- RetVal = _DataFlowEditor->Graph()->Comment( aDataFlowComment ) ;
+ RetVal = DataFlowEditor()->Graph()->Comment( aDataFlowComment ) ;
}
}
// endService( "CNode_Impl::SetComment" );
void CNode_Impl::Coords(long X , long Y ) {
// beginService( "CNode_Impl::Coords" );
- if ( _DataFlowEditor->IsEditing() ) {
+ if ( DataFlowEditor()->IsEditing() ) {
if ( _IsNode ) {
- ((GraphEditor::InNode *) _DataFlowNode)->Coordinates( X , Y ) ;
+ ((GraphEditor::InNode *) DataFlowNode())->Coordinates( X , Y ) ;
}
else {
- _DataFlowEditor->Graph()->Coordinates( X , Y ) ;
+ DataFlowEditor()->Graph()->Coordinates( X , Y ) ;
}
}
// endService( "CNode_Impl::Coords" );
// beginService( "CNode_Impl::X" );
long RetVal ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->XCoordinate() ;
+ RetVal = DataFlowNode()->XCoordinate() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->XCoordinate() ;
+ RetVal = DataFlowEditor()->Graph()->XCoordinate() ;
}
// endService( "CNode_Impl::X" );
return RetVal ;
// beginService( "CNode_Impl::Y" );
long RetVal ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->YCoordinate() ;
+ RetVal = DataFlowNode()->YCoordinate() ;
}
else {
- RetVal = _DataFlowEditor->Graph()->YCoordinate() ;
+ RetVal = DataFlowEditor()->Graph()->YCoordinate() ;
}
// endService( "CNode_Impl::Y" );
return RetVal ;
SUPERV::Port_var iobject = SUPERV::Port::_nil() ;
bool aninport ;
if ( _IsNode ) {
- aninport = _DataFlowNode->GetInPort( ServiceParameterName ) ;
+ aninport = DataFlowNode()->GetInPort( ServiceParameterName ) ;
}
else {
- aninport = _DataFlowEditor->GetInPort( ServiceParameterName ) ;
+ aninport = DataFlowEditor()->GetInPort( ServiceParameterName ) ;
}
bool anoutport ;
if ( _IsNode ) {
- anoutport = _DataFlowNode->GetOutPort( ServiceParameterName ) ;
+ anoutport = DataFlowNode()->GetOutPort( ServiceParameterName ) ;
}
else {
- anoutport = _DataFlowEditor->GetOutPort( ServiceParameterName ) ;
+ anoutport = DataFlowEditor()->GetOutPort( ServiceParameterName ) ;
}
if ( aninport ) {
GraphBase::InPort * anInPort ;
if ( _IsNode ) {
- anInPort = _DataFlowNode->GetChangeInPort( ServiceParameterName ) ;
+ anInPort = DataFlowNode()->GetChangeInPort( ServiceParameterName ) ;
}
else {
- anInPort = _DataFlowEditor->GetChangeInPort( ServiceParameterName ) ;
+ anInPort = DataFlowEditor()->GetChangeInPort( ServiceParameterName ) ;
}
if ( anInPort->IsDataStream() ) {
MESSAGE( "CNode_Impl::Port ERROR IsDataStream " ) ;
}
bool hasinput ;
if ( _IsNode ) {
- hasinput = _DataFlowNode->HasInput( anInPort->PortName() ) ;
+ hasinput = DataFlowNode()->HasInput( anInPort->PortName() ) ;
}
else {
- hasinput = _DataFlowEditor->HasInput( anInPort->PortName() ) ;
+ hasinput = DataFlowEditor()->HasInput( anInPort->PortName() ) ;
}
if ( hasinput ) {
const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
// ServiceParameterName ,
(GraphBase::Port * ) anInPort ,
true ,
else {
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
// ServiceParameterName ) ;
(GraphBase::Port * ) anInPort ,
true ) ;
else if ( anoutport ) {
GraphBase::OutPort * anOutPort ;
if ( _IsNode ) {
- anOutPort = _DataFlowNode->GetChangeOutPort( ServiceParameterName ) ;
+ anOutPort = DataFlowNode()->GetChangeOutPort( ServiceParameterName ) ;
}
else {
- anOutPort = _DataFlowEditor->GetChangeOutPort( ServiceParameterName ) ;
+ anOutPort = DataFlowEditor()->GetChangeOutPort( ServiceParameterName ) ;
}
if ( anOutPort->IsDataStream() ) {
MESSAGE( "CNode_Impl::Port ERROR IsDataStream " ) ;
const CORBA::Any * anAny = anOutPort->Value() ;
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
// ServiceParameterName ,
(GraphBase::Port * ) anOutPort ,
false ,
const SUPERV::Value_ptr aValue ) {
bool begin = true ;
SUPERV::Port_var iobject = SUPERV::Port::_nil() ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
bool sts = false ;
GraphBase::InPort * anInPort = NULL ;
- if ( _DataFlowEditor->IsEditing() && _DataFlowEditor->Graph()->GraphMacroLevel() == 0 ) {
+if ( DataFlowEditor()->IsEditing() /*&& DataFlowEditor()->Graph()->GraphMacroLevel() == 0*/ ) {
if ( _IsNode ) {
- sts = _DataFlowEditor->AddInputData( _DataFlowNode->Name() ,
+ sts = DataFlowEditor()->AddInputData( DataFlowNode()->Name() ,
ToServiceParameterName ,
*aValue->ToAny() ) ;
- anInPort = _DataFlowNode->GetChangeInPort( ToServiceParameterName ) ;
+ anInPort = DataFlowNode()->GetChangeInPort( ToServiceParameterName ) ;
}
else {
- sts = _DataFlowEditor->AddInputData( _DataFlowEditor->Graph()->Name() ,
+ sts = DataFlowEditor()->AddInputData( DataFlowEditor()->Graph()->Name() ,
ToServiceParameterName ,
*aValue->ToAny() ) ;
- anInPort = _DataFlowEditor->Graph()->GetChangeInPort( ToServiceParameterName ) ;
+ anInPort = DataFlowEditor()->Graph()->GetChangeInPort( ToServiceParameterName ) ;
}
if ( sts && anInPort ) {
if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
Port_Impl * myPort ;
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
// ToServiceParameterName ,
(GraphBase::Port * ) anInPort ,
true ,
iobject = anInPort->ObjRef() ;
}
}
+ DataFlowEditor()->UnValid() ;
}
- else if ( _DataFlowExecutor ) {
+ else if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- sts = _DataFlowExecutor->ChangeInputData( _DataFlowNode->Name() ,
+ sts = aDataFlowExecutor->ChangeInputData( DataFlowNode()->Name() ,
ToServiceParameterName ,
*aValue->ToAny() ) ;
- anInPort = _DataFlowNode->GetChangeInPort( ToServiceParameterName ) ;
+ anInPort = DataFlowNode()->GetChangeInPort( ToServiceParameterName ) ;
}
else {
- sts = _DataFlowExecutor->ChangeInputData( _DataFlowEditor->Graph()->Name() ,
+ sts = aDataFlowExecutor->ChangeInputData( DataFlowEditor()->Graph()->Name() ,
ToServiceParameterName ,
*aValue->ToAny() ) ;
- anInPort = _DataFlowEditor->Graph()->GetChangeInPort( ToServiceParameterName ) ;
+ anInPort = DataFlowEditor()->Graph()->GetChangeInPort( ToServiceParameterName ) ;
}
if ( sts && anInPort ) {
if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
Port_Impl * myPort ;
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
// ToServiceParameterName ,
(GraphBase::Port * ) anInPort ,
true ,
endService( "CNode_Impl::Input" );
}
if ( CORBA::is_nil( iobject ) ) {
- MESSAGE( "CNode_Impl::Input returns nil object _IsNode " << _IsNode << " sts " << sts << " anInPort "
- << anInPort ) ;
+ MESSAGE( "CNode_Impl::Input returns nil object _IsNode " << _IsNode << " sts " << sts
+ << " Node " << Name() << " ToServiceParameterName " << ToServiceParameterName
+ << " anInPort " << anInPort ) ;
}
- DataFlowEditor()->UnValid() ;
return SUPERV::Port::_duplicate( iobject ) ;
}
-#if 0
-bool CNode_Impl::InputOfAny( const char * ToServiceParameterName ,
- const CORBA::Any & aValue ) {
- beginService( "CNode_Impl::InputOfAny" );
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- bool RetVal = false ;
- MESSAGE( pthread_self() << "CNode_Impl::InputOfAny " << Name() << "(" << ToServiceParameterName << ")" ) ;
- if ( !_DataFlowEditor->IsEditing() && _DataFlowExecutor && _DataFlowEditor->Graph()->GraphMacroLevel() ) {
- if ( !_IsNode ) {
- GraphBase::OutPort * anOutPort ;
- anOutPort = _DataFlowExecutor->Graph()->GetChangeInDataNodePort( ToServiceParameterName ) ;
- MESSAGE( pthread_self() << "CNode_Impl::InputOfAny " << _DataFlowExecutor->Graph()->Name() << " " << ToServiceParameterName
- << " " << anOutPort->State() << " Done " << anOutPort->Done() ) ;
- RetVal = _DataFlowExecutor->AddInputData( _DataFlowExecutor->Graph()->Name() ,
- ToServiceParameterName ,
- aValue ) ;
- anOutPort->State( SUPERV::ReadyState ) ;
- anOutPort->Done( true ) ;
- GraphExecutor::InNode * anInNode = (GraphExecutor::InNode * ) _DataFlowExecutor->Graph()->GetChangeGraphNode( anOutPort->InPorts( 0 )->NodeName() )->GetInNode() ;
- MESSAGE( pthread_self() << "CNode_Impl::InputOfAny : " << anInNode->Name() << "->SendSomeDataReady( "
- << _DataFlowExecutor->Graph()->Name() << " ) " ) ;
- anInNode->SendSomeDataReady( _DataFlowExecutor->Graph()->Name() ) ;
- if ( anInNode->IsReady() ) {
- MESSAGE( pthread_self() << "CNode_Impl::InputOfAny : " << anInNode->Name()
- << "->SendEvent( GraphExecutor::ExecuteEvent ) "
- << " " << anInNode->Name() << "->IsReady() " << anInNode->IsReady() << " State "
- << anInNode->State() ) ;
- if ( anInNode->IsLockedDataWait() ) {
- MESSAGE( pthread_self() << "CNode_Impl::InputOfAny : " << anInNode->Name()
- << " IsLockedDataWait() ==> UnLockDataWait" ) ;
- anInNode->UnLockDataWait() ;
- }
- anInNode->CreateNewThread( true ) ;
- anInNode->SendEvent( GraphExecutor::ExecuteEvent ) ;
- _DataFlowExecutor->State( GraphExecutor::ExecutingState ) ;
- }
- }
- }
- endService( "CNode_Impl::InputOfAny" );
- return RetVal ;
-}
-#endif
SUPERV::Port_ptr CNode_Impl::GetInPort( const char *aParameterName ) {
SUPERV::Port_ptr Inobject = SUPERV::Port::_nil() ;
SUPERV::Link_var iobject = SUPERV::Link::_nil() ;
char* FromNodeName ;
char* FromServiceParameterName ;
- bool status = _DataFlowEditor->GetLink( _DataFlowNode->Name() ,
+ bool status = DataFlowEditor()->GetLink( DataFlowNode()->Name() ,
ToServiceParameterName ,
& FromNodeName ,
& FromServiceParameterName ) ;
if ( status ) {
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeInPort( ToServiceParameterName ) ;
+ GraphBase::InPort * anInPort = DataFlowNode()->GetChangeInPort( ToServiceParameterName ) ;
if ( !anInPort->IsDataStream() && anInPort->GetOutPort() ) {
GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
bool Success ;
Link_Impl * myLink = new Link_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
ToServiceParameterName ,
- (GraphEditor::InNode *) _DataFlowEditor->Graph()->GetChangeGraphNode( FromNodeName )->GetInNode() ,
+ (GraphEditor::InNode *) DataFlowEditor()->Graph()->GetChangeGraphNode( FromNodeName )->GetInNode() ,
FromServiceParameterName ,
true , false , Success ) ;
if ( Success ) {
char* FromNodeName ;
char* FromServiceParameterName ;
if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- bool status = _DataFlowEditor->GetLink( _DataFlowNode->Name() ,
+ bool status = DataFlowEditor()->GetLink( DataFlowNode()->Name() ,
ToServiceParameterName ,
& FromNodeName ,
& FromServiceParameterName ) ;
if ( status ) {
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeInPort( ToServiceParameterName ) ;
+ GraphBase::InPort * anInPort = DataFlowNode()->GetChangeInPort( ToServiceParameterName ) ;
if ( anInPort->IsDataStream() && anInPort->GetOutPort() ) {
GraphBase::OutPort * anOutPort = anInPort->GetOutPort() ;
if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
StreamLink_Impl * myStreamLink = new StreamLink_Impl(
_Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
ToServiceParameterName ,
- (GraphEditor::InNode *) _DataFlowEditor->Graph()->GetChangeGraphNode( FromNodeName )->GetInNode() ,
+ (GraphEditor::InNode *) DataFlowEditor()->Graph()->GetChangeGraphNode( FromNodeName )->GetInNode() ,
FromServiceParameterName ,
true , Success ) ;
if ( Success ) {
int PortCount = 0 ;
SUPERV::ListOfPorts_var RetVal = new SUPERV::ListOfPorts ;
if ( _IsNode ) {
- for ( i = 0 ; i < _DataFlowNode->GetNodeInPortsSize() ; i++ ) {
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeNodeInPort( i ) ;
+ for ( i = 0 ; i < DataFlowNode()->GetNodeInPortsSize() ; i++ ) {
+ GraphBase::InPort * anInPort = DataFlowNode()->GetChangeNodeInPort( i ) ;
if ( !anInPort->IsDataStream() ) {
if ( begin ) {
beginService( "CNode_Impl::Ports" );
begin = false ;
}
if ( anInPort->IsLoop() || ( anInPort->IsGate() && anInPort->IsNotConnected() &&
- ( _DataFlowEditor->IsExecuting() || _DataFlowEditor->IsReadOnly() ) ) ) {
+ ( IsExecuting() || DataFlowEditor()->IsReadOnly() ) ) ) {
// MESSAGE( "InPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " ignored" ) ;
}
else if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
// MESSAGE( "InPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " IsExecuting "
-// << _DataFlowEditor->IsExecuting() << " IsGate/IsConnected " << anInPort->IsGate()
+// << IsExecuting() << " IsGate/IsConnected " << anInPort->IsGate()
// << "/" << anInPort->IsNotConnected() ) ;
Port_Impl * myPort ;
- if ( _DataFlowNode->HasInput( anInPort->PortName() ) ) {
+ if ( DataFlowNode()->HasInput( anInPort->PortName() ) ) {
const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anInPort ,
true ,
anAny ) ;
else {
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anInPort ,
true ) ;
}
// MESSAGE( "InPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " IsDataStream" ) ;
}
}
- for ( i = 0 ; i < _DataFlowNode->GetNodeOutPortsSize() ; i++ ) {
- GraphBase::OutPort * anOutPort = _DataFlowNode->GetChangeNodeOutPort( i ) ;
+ for ( i = 0 ; i < DataFlowNode()->GetNodeOutPortsSize() ; i++ ) {
+ GraphBase::OutPort * anOutPort = DataFlowNode()->GetChangeNodeOutPort( i ) ;
if ( !anOutPort->IsDataStream() ) {
if ( begin ) {
beginService( "CNode_Impl::Ports" );
begin = false ;
}
if ( anOutPort->IsLoop() || ( anOutPort->IsGate() && anOutPort->IsNotConnected() &&
- ( _DataFlowEditor->IsExecuting() || _DataFlowEditor->IsReadOnly() ) ) ) {
+ ( IsExecuting() || DataFlowEditor()->IsReadOnly() ) ) ) {
// MESSAGE( "OutPort " << i << " " << anOutPort->PortName() << " of Node " << Name() << " ignored" ) ;
}
else if ( CORBA::is_nil( anOutPort->ObjRef() ) ) {
const CORBA::Any * anAny = anOutPort->Value() ;
Port_Impl * myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anOutPort ,
false ,
anAny ) ;
}
}
else {
- if ( _DataFlowEditor->IsValid() ) {
- RetVal->length( _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() +
- _DataFlowEditor->Graph()->GetNodeOutDataNodePortsSize() ) ;
- for ( i = 0 ; i < _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() ; i++ ) {
- GraphBase::OutPort * anOutPort = _DataFlowEditor->Graph()->GetChangeNodeInDataNodePort(i) ;
+ if ( DataFlowEditor()->IsValid() ) {
+ //DataFlowEditor()->Graph()->Values() ;
+ RetVal->length( DataFlowEditor()->Graph()->GetNodeInDataNodePortsSize() +
+ DataFlowEditor()->Graph()->GetNodeOutDataNodePortsSize() ) ;
+ for ( i = 0 ; i < DataFlowEditor()->Graph()->GetNodeInDataNodePortsSize() ; i++ ) {
+ GraphBase::OutPort * anOutPort = DataFlowEditor()->Graph()->GetChangeNodeInDataNodePort(i) ;
if ( !anOutPort->IsDataStream() ) {
if ( CORBA::is_nil( anOutPort->ObjRef() ) ) {
if ( begin ) {
const CORBA::Any * anAny = anOutPort->Value() ;
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anOutPort ,
true ,
anAny ) ;
else {
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anOutPort ,
true ) ;
}
else {
}
}
- j = _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() ;
- for ( i = 0 ; i < _DataFlowEditor->Graph()->GetNodeOutDataNodePortsSize() ; i++ ) {
- GraphBase::InPort * anInPort = _DataFlowEditor->Graph()->GetChangeNodeOutDataNodePort(i) ;
+ j = DataFlowEditor()->Graph()->GetNodeInDataNodePortsSize() ;
+ for ( i = 0 ; i < DataFlowEditor()->Graph()->GetNodeOutDataNodePortsSize() ; i++ ) {
+ GraphBase::InPort * anInPort = DataFlowEditor()->Graph()->GetChangeNodeOutDataNodePort(i) ;
if ( !anInPort->IsDataStream() ) {
if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
if ( begin ) {
const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anInPort ,
false ,
anAny ) ;
else {
myPort = new Port_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
anInPort ,
false ) ;
}
// MESSAGE("CNode_Impl::StreamPorts NOT a DataStreamNode" ) ;
}
else if ( _IsNode ) {
-// RetVal->length( _DataFlowNode->GetNodeInPortsSize() +
-// _DataFlowNode->GetNodeOutPortsSize() ) ;
- for ( i = 0 ; i < _DataFlowNode->GetNodeInPortsSize() ; i++ ) {
- GraphBase::InPort * anInPort = _DataFlowNode->GetChangeNodeInPort( i ) ;
+// RetVal->length( DataFlowNode()->GetNodeInPortsSize() +
+// DataFlowNode()->GetNodeOutPortsSize() ) ;
+ for ( i = 0 ; i < DataFlowNode()->GetNodeInPortsSize() ; i++ ) {
+ GraphBase::InPort * anInPort = DataFlowNode()->GetChangeNodeInPort( i ) ;
if ( anInPort->IsDataStream() ) {
if ( begin ) {
beginService( "CNode_Impl::StreamPorts" );
begin = false ;
}
if ( anInPort->IsLoop() || ( anInPort->IsGate() && anInPort->IsNotConnected() &&
- ( _DataFlowEditor->IsExecuting() || _DataFlowEditor->IsReadOnly() ) ) ) {
+ ( IsExecuting() || DataFlowEditor()->IsReadOnly() ) ) ) {
MESSAGE( "InStreamPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " ignored" ) ;
// RetVal[ i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
}
else if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
MESSAGE( "InStreamPort " << i << " " << anInPort->PortName() << " of Node " << Name() << " IsExecuting "
- << _DataFlowEditor->IsExecuting() << " IsGate/IsConnected " << anInPort->IsGate()
+ << IsExecuting() << " IsGate/IsConnected " << anInPort->IsGate()
<< "/" << anInPort->IsNotConnected() ) ;
StreamPort_Impl * myStreamPort ;
- if ( _DataFlowNode->HasInput( anInPort->PortName() ) ) {
+ if ( DataFlowNode()->HasInput( anInPort->PortName() ) ) {
const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anInPort ,
true ,
anAny ) ;
else {
myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anInPort ,
true ) ;
}
// RetVal[ i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
}
}
- for ( i = 0 ; i < _DataFlowNode->GetNodeOutPortsSize() ; i++ ) {
- GraphBase::OutPort * anOutPort = _DataFlowNode->GetChangeNodeOutPort( i ) ;
+ for ( i = 0 ; i < DataFlowNode()->GetNodeOutPortsSize() ; i++ ) {
+ GraphBase::OutPort * anOutPort = DataFlowNode()->GetChangeNodeOutPort( i ) ;
if ( anOutPort->IsDataStream() ) {
if ( begin ) {
beginService( "CNode_Impl::StreamPorts" );
begin = false ;
}
if ( anOutPort->IsLoop() || ( anOutPort->IsGate() && anOutPort->IsNotConnected() &&
- ( _DataFlowEditor->IsExecuting() || _DataFlowEditor->IsReadOnly() ) ) ) {
+ ( IsExecuting() || DataFlowEditor()->IsReadOnly() ) ) ) {
MESSAGE( "OutStreamPort " << i << " " << anOutPort->PortName() << " of Node " << Name() << " ignored" ) ;
-// RetVal[ _DataFlowNode->GetNodeInPortsSize() + i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
+// RetVal[ DataFlowNode()->GetNodeInPortsSize() + i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
}
else if ( CORBA::is_nil( anOutPort->ObjRef() ) ) {
MESSAGE( "OutStreamPort " << i << " " << anOutPort->PortName() << " of Node " << Name() ) ;
const CORBA::Any * anAny = anOutPort->Value() ;
StreamPort_Impl * myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anOutPort ,
false ,
anAny ) ;
}
}
else {
- if ( _DataFlowEditor->IsValid() ) {
-// RetVal->length( _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() +
-// _DataFlowEditor->Graph()->GetNodeOutDataNodePortsSize() ) ;
- for ( i = 0 ; i < _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() ; i++ ) {
- GraphBase::OutPort * anOutPort = _DataFlowEditor->Graph()->GetChangeNodeInDataNodePort(i) ;
+ if ( DataFlowEditor()->IsValid() ) {
+// RetVal->length( DataFlowEditor()->Graph()->GetNodeInDataNodePortsSize() +
+// DataFlowEditor()->Graph()->GetNodeOutDataNodePortsSize() ) ;
+ for ( i = 0 ; i < DataFlowEditor()->Graph()->GetNodeInDataNodePortsSize() ; i++ ) {
+ GraphBase::OutPort * anOutPort = DataFlowEditor()->Graph()->GetChangeNodeInDataNodePort(i) ;
if ( anOutPort->IsDataStream() ) {
if ( CORBA::is_nil( anOutPort->ObjRef() ) ) {
if ( begin ) {
const CORBA::Any * anAny = anOutPort->Value() ;
myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anOutPort ,
true ,
anAny ) ;
else {
myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anOutPort ,
true ) ;
}
// RetVal[ i ] = SUPERV::StreamPort::_duplicate( SUPERV::StreamPort::_narrow( CORBA::Object::_nil() ) ) ;
}
}
- j = _DataFlowEditor->Graph()->GetNodeInDataNodePortsSize() ;
- for ( i = 0 ; i < _DataFlowEditor->Graph()->GetNodeOutDataNodePortsSize() ; i++ ) {
- GraphBase::InPort * anInPort = _DataFlowEditor->Graph()->GetChangeNodeOutDataNodePort(i) ;
+ j = DataFlowEditor()->Graph()->GetNodeInDataNodePortsSize() ;
+ for ( i = 0 ; i < DataFlowEditor()->Graph()->GetNodeOutDataNodePortsSize() ; i++ ) {
+ GraphBase::InPort * anInPort = DataFlowEditor()->Graph()->GetChangeNodeOutDataNodePort(i) ;
if ( anInPort->IsDataStream() ) {
if ( CORBA::is_nil( anInPort->ObjRef() ) ) {
if ( begin ) {
const CORBA::Any * anAny = anInPort->GetOutPort()->Value() ;
myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
(GraphBase::Port * ) anInPort ,
false ,
anAny ) ;
else {
myStreamPort = new StreamPort_Impl( _Orb , _Poa , _ContId ,
instanceName() , interfaceName() ,
- _DataFlowEditor ,
- _DataFlowNode ,
+ DataFlowEditor() ,
+ DataFlowNode() ,
anInPort ,
false ) ;
}
SUPERV::ListOfLinks * CNode_Impl::Links() {
beginService( "CNode_Impl::Links" ) ;
SUPERV::ListOfLinks_var RetVal = new SUPERV::ListOfLinks ;
- if ( _DataFlowNode ) {
-// MESSAGE( "CNode_Impl::Links " << DataFlowEditor() << " " << DataFlowEditor()->Graph() << " " << DataFlowEditor()->Graph()->ObjImpl() << " " << _DataFlowNode->ComputingNode() << " " << _DataFlowNode->ComputingNode()->Name() ) ;
- RetVal = DataFlowEditor()->Graph()->ObjImpl()->Links( _DataFlowNode->ComputingNode() , NULL ) ;
+ if ( DataFlowNode() ) {
+// MESSAGE( "CNode_Impl::Links " << DataFlowEditor() << " " << DataFlowEditor()->Graph() << " " << DataFlowEditor()->Graph()->ObjImpl() << " " << DataFlowNode()->ComputingNode() << " " << DataFlowNode()->ComputingNode()->Name() ) ;
+ RetVal = ((Graph_Impl * ) DataFlowEditor()->Graph()->ObjImpl())->Links( DataFlowNode()->ComputingNode() , NULL ) ;
}
else {
- RetVal = DataFlowEditor()->Graph()->ObjImpl()->Links( NULL , NULL ) ;
+ RetVal = ((Graph_Impl * ) DataFlowEditor()->Graph()->ObjImpl())->Links( NULL , NULL ) ;
}
MESSAGE( "CNode_Impl::Links " << RetVal->length() << " Links" ) ;
endService( "CNode_Impl::Links" ) ;
SUPERV::ListOfStreamLinks * CNode_Impl::StreamLinks() {
beginService( "CNode_Impl::StreamLinks" ) ;
SUPERV::ListOfStreamLinks_var RetVal = new SUPERV::ListOfStreamLinks ;
- if ( _DataFlowNode && DataFlowEditor()->Graph()->IsDataStreamNode() ) {
- RetVal = ((StreamGraph_Impl *) (DataFlowEditor()->StreamGraph()->ObjImpl()))->StreamLinks( _DataFlowNode->ComputingNode() , NULL ) ;
+ if ( DataFlowNode() && DataFlowEditor()->Graph()->IsDataStreamNode() ) {
+ RetVal = ((StreamGraph_Impl *) (DataFlowEditor()->StreamGraph()->ObjImpl()))->StreamLinks( DataFlowNode()->ComputingNode() , NULL ) ;
}
else if ( DataFlowEditor()->Graph()->IsDataStreamNode() ) {
RetVal = ((StreamGraph_Impl *) (DataFlowEditor()->StreamGraph()->ObjImpl()))->StreamLinks( NULL , NULL ) ;
// beginService( "CNode_Impl::SubGraph" );
long RetVal = 0 ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->SubGraph() ;
+ RetVal = DataFlowNode()->SubGraph() ;
}
// endService( "CNode_Impl::SubGraph" );
return RetVal ;
// beginService( "CNode_Impl::SubStreamGraph" );
long RetVal = 0 ;
if ( _IsNode ) {
- RetVal = _DataFlowNode->SubStreamGraph() ;
+ RetVal = DataFlowNode()->SubStreamGraph() ;
}
// endService( "CNode_Impl::SubStreamGraph" );
return RetVal ;
bool CNode_Impl::IsLinked(const char * ServiceParameterName ) {
beginService( "CNode_Impl::IsLinked" );
- bool RetVal = _DataFlowNode->IsLinked( ServiceParameterName ) ;
+ bool RetVal = DataFlowNode()->IsLinked( ServiceParameterName ) ;
MESSAGE( Name() << "->IsLinked( '" << ServiceParameterName << "' )" ) ;
endService( "CNode_Impl::IsLinked" );
return RetVal ;
bool CNode_Impl::HasInput(const char * ServiceParameterName ) {
// beginService( "CNode_Impl::HasInput" );
- bool RetVal = _DataFlowNode->HasInput( ServiceParameterName ) ;
+ bool RetVal = DataFlowNode()->HasInput( ServiceParameterName ) ;
// endService( "CNode_Impl::HasInput" );
return RetVal ;
}
SUPERV::GraphState CNode_Impl::State() {
// beginService( "CNode_Impl::State" );
SUPERV::GraphState RetVal = SUPERV::EditingState ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor && !_DataFlowEditor->EditedAfterExecution() ) {
- //JR : 12/06/03 if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor && !DataFlowEditor()->EditedAfterExecution() ) {
+ //JR : 12/06/03 if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->State( Name() ) ;
+ RetVal = aDataFlowExecutor->State( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->State() ;
+ RetVal = aDataFlowExecutor->State() ;
}
}
// endService( "CNode_Impl::State" );
long CNode_Impl::Thread() {
// beginService( "CNode_Impl::Thread" );
long RetVal = 0 ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Thread( Name() ) ;
+ RetVal = aDataFlowExecutor->Thread( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->Thread() ;
+ RetVal = aDataFlowExecutor->Thread() ;
}
}
// endService( "CNode_Impl::Thread" );
GraphExecutor::AutomatonState CNode_Impl::AutoState() {
// beginService( "CNode_Impl::AutoState" );
GraphExecutor::AutomatonState RetVal = GraphExecutor::UnKnownState ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->AutomatonState( Name() ) ;
+ RetVal = aDataFlowExecutor->AutomatonState( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->AutomatonState() ;
+ RetVal = aDataFlowExecutor->AutomatonState() ;
}
}
// endService( "CNode_Impl::AutoState" );
SUPERV::ControlState CNode_Impl::Control() {
// beginService( "CNode_Impl::Control" );
SUPERV::ControlState RetVal = SUPERV::VoidState ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->ControlState( Name() ) ;
+ RetVal = aDataFlowExecutor->ControlState( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->ControlState() ;
+ RetVal = aDataFlowExecutor->ControlState() ;
}
}
// endService( "CNode_Impl::Control" );
void CNode_Impl::ControlClear() {
// beginService( "CNode_Impl::ControlClear" );
// SUPERV::ControlState RetVal = SUPERV::VoidState ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- _DataFlowExecutor->ControlClear( Name() ) ;
+ aDataFlowExecutor->ControlClear( Name() ) ;
}
else {
- _DataFlowExecutor->ControlClear() ;
+ aDataFlowExecutor->ControlClear() ;
}
}
// endService( "CNode_Impl::ControlClear" );
bool CNode_Impl::IsReady() {
// beginService( "CNode_Impl::IsReady" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsReady( Name() ) ;
+ RetVal = aDataFlowExecutor->IsReady( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->IsReady() ;
+ RetVal = aDataFlowExecutor->IsReady() ;
}
}
// endService( "CNode_Impl::IsReady" );
bool CNode_Impl::IsWaiting() {
// beginService( "CNode_Impl::IsWaiting" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsWaiting( Name() ) ;
+ RetVal = aDataFlowExecutor->IsWaiting( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->IsWaiting() ;
+ RetVal = aDataFlowExecutor->IsWaiting() ;
}
}
// endService( "CNode_Impl::IsWaiting" );
bool CNode_Impl::IsRunning() {
// beginService( "CNode_Impl::IsRunning" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsRunning( Name() ) ;
+ RetVal = aDataFlowExecutor->IsRunning( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->IsRunning() ;
+ RetVal = aDataFlowExecutor->IsRunning() ;
}
}
// endService( "CNode_Impl::IsRunning" );
bool CNode_Impl::IsDone() {
// beginService( "CNode_Impl::IsDone" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsDone( Name() ) ;
+ RetVal = aDataFlowExecutor->IsDone( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->IsDone() ;
+ RetVal = aDataFlowExecutor->IsDone() ;
}
}
// endService( "CNode_Impl::IsDone" );
bool CNode_Impl::IsSuspended() {
// beginService( "CNode_Impl::IsSuspended" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->IsSuspended( Name() ) ;
+ RetVal = aDataFlowExecutor->IsSuspended( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->IsSuspended() ;
+ RetVal = aDataFlowExecutor->IsSuspended() ;
}
}
// endService( "CNode_Impl::IsSuspended" );
bool CNode_Impl::ReadyW() {
// beginService( "CNode_Impl::ReadyW" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->ReadyWait( Name() ) ;
+ RetVal = aDataFlowExecutor->ReadyWait( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->ReadyWait() ;
+ RetVal = aDataFlowExecutor->ReadyWait() ;
}
}
// endService( "CNode_Impl::ReadyW" );
bool CNode_Impl::RunningW() {
// beginService( "CNode_Impl::RunningW" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->RunningWait( Name() ) ;
+ RetVal = aDataFlowExecutor->RunningWait( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->RunningWait() ;
+ RetVal = aDataFlowExecutor->RunningWait() ;
}
}
// endService( "CNode_Impl::RunningW" );
bool CNode_Impl::DoneW() {
// beginService( "CNode_Impl::DoneW" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->DoneWait( Name() ) ;
+ RetVal = aDataFlowExecutor->DoneWait( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->DoneWait() ;
+ RetVal = aDataFlowExecutor->DoneWait() ;
}
}
// endService( "CNode_Impl::DoneW" );
bool CNode_Impl::SuspendedW() {
// beginService( "CNode_Impl::SuspendedW" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->SuspendedWait( Name() ) ;
+ RetVal = aDataFlowExecutor->SuspendedWait( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->SuspendedWait() ;
+ RetVal = aDataFlowExecutor->SuspendedWait() ;
}
}
// endService( "CNode_Impl::SuspendedW" );
void CNode_Impl::ping() {
// beginService( "CNode_Impl::ping" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Ping( Name() ) ;
+ RetVal = aDataFlowExecutor->Ping( Name() ) ;
}
else {
RetVal = false ;
bool CNode_Impl::ContainerKill() {
beginService( "CNode_Impl::ContainerKill" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor && _DataFlowEditor->IsExecuting() ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor && IsExecuting() ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->ContainerKill( Name() ) ;
+ RetVal = aDataFlowExecutor->ContainerKill( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->ContainerKill() ;
+ RetVal = aDataFlowExecutor->ContainerKill() ;
}
}
endService( "CNode_Impl::ContainerKill" );
bool CNode_Impl::Kill() {
beginService( "CNode_Impl::Kill" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Kill( Name() ) ;
+ RetVal = aDataFlowExecutor->Kill( Name() ) ;
+ MESSAGE( "Node " << Name() << " execution was killed : " << RetVal ) ;
}
else {
- RetVal = _DataFlowExecutor->Kill() ;
- MESSAGE( "Graph execution was killed " << RetVal ) ;
+ RetVal = aDataFlowExecutor->Kill() ;
+ MESSAGE( "Graph execution was killed : " << RetVal ) ;
}
}
endService( "CNode_Impl::Kill" );
bool CNode_Impl::KillDone() {
// beginService( "CNode_Impl::KillDone" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->KillDone( Name() ) ;
+ RetVal = aDataFlowExecutor->KillDone( Name() ) ;
}
}
// endService( "CNode_Impl::KillDone" );
}
bool CNode_Impl::Stop() {
// beginService( "CNode_Impl::Stop" );
- bool RetVal ; // = _DataFlowExecutor->Stop() ;
+ bool RetVal ; // = aDataFlowExecutor->Stop() ;
// endService( "CNode_Impl::Stop" );
return RetVal ;
}
bool CNode_Impl::Suspend() {
beginService( "CNode_Impl::Suspend" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
MESSAGE( "CNode_Impl::Suspend " << Name() ) ;
- RetVal = _DataFlowExecutor->Suspend( Name() ) ;
+ RetVal = aDataFlowExecutor->Suspend( Name() ) ;
}
else {
- MESSAGE( "CNode_Impl::Suspend " << _DataFlowExecutor->Graph()->Name() ) ;
- RetVal = _DataFlowExecutor->Suspend() ;
+ MESSAGE( "CNode_Impl::Suspend " << aDataFlowExecutor->Graph()->Name() ) ;
+ RetVal = aDataFlowExecutor->Suspend() ;
}
}
endService( "CNode_Impl::Suspend" );
bool CNode_Impl::SuspendDone() {
// beginService( "CNode_Impl::SuspendDone" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->SuspendDone( Name() ) ;
+ RetVal = aDataFlowExecutor->SuspendDone( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->SuspendDone() ;
+ RetVal = aDataFlowExecutor->SuspendDone() ;
}
}
// endService( "CNode_Impl::SuspendDone" );
bool CNode_Impl::Resume() {
bool RetVal = false ;
beginService( "CNode_Impl::Resume" );
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
MESSAGE( "CNode_Impl::Resume " << Name() ) ;
- RetVal = _DataFlowExecutor->Resume( Name() ) ;
+ RetVal = aDataFlowExecutor->Resume( Name() ) ;
}
else {
- MESSAGE( "CNode_Impl::Resume " << _DataFlowExecutor->Graph()->Name() ) ;
- RetVal = _DataFlowExecutor->Resume() ;
+ MESSAGE( "CNode_Impl::Resume " << aDataFlowExecutor->Graph()->Name() ) ;
+ RetVal = aDataFlowExecutor->Resume() ;
}
}
endService( "CNode_Impl::Resume" );
return RetVal ;
}
+// Old method used in the past for initial study about GOTO and Loop
+// Should not be used
bool CNode_Impl::Run() {
beginService( "CNode_Impl::Run" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- MESSAGE( "CNode_Impl::Run DataFlowExecutor " << _DataFlowExecutor << Name() << " _IsNode " << _IsNode ) ;
- if ( _DataFlowExecutor ) {
- _DataFlowEditor->EditedAfterExecution( false ) ;
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ MESSAGE( "CNode_Impl::Run DataFlowExecutor " << aDataFlowExecutor << Name() << " _IsNode " << _IsNode ) ;
+ if ( aDataFlowExecutor ) {
+ DataFlowEditor()->EditedAfterExecution( false ) ;
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , Name() , false ) ;
+ RetVal = aDataFlowExecutor->Run( Name() , Name() , false ) ;
}
else {
- RetVal = _DataFlowExecutor->Run( false ) ;
+ RetVal = aDataFlowExecutor->Run( false ) ;
}
}
endService( "CNode_Impl::Run" );
bool CNode_Impl::ReRun() {
beginService( "CNode_Impl::ReRun" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- _DataFlowEditor->EditedAfterExecution( false ) ;
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
+ DataFlowEditor()->EditedAfterExecution( false ) ;
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , Name() , false ) ;
+ RetVal = aDataFlowExecutor->Run( Name() , Name() , false ) ;
}
+// The GUI calls directly that method instead of calling Graph_Impl::Run() :
+// I redirect the call to Graph_Impl::Run()
else if ( DataFlowEditor()->IsEditing() ) {
- // RetVal = _DataFlowExecutor->Run( false ) ;
- return ((Graph_Impl::Graph_Impl *) this)->Graph_Impl::Run() ;
+ RetVal = ((Graph_Impl::Graph_Impl *) this)->Graph_Impl::Run() ;
+ }
+ else {
+ RetVal = aDataFlowExecutor->Run( false ) ;
}
}
endService( "CNode_Impl::ReRun" );
return RetVal ;
}
+// Old method used in the past for initial study about GOTO and Loop
+// Should not be used
bool CNode_Impl::ReRunAt( const char * aNodeName ) {
beginService( "CNode_Impl::ReRunAt" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
- _DataFlowEditor->EditedAfterExecution( false ) ;
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
+ DataFlowEditor()->EditedAfterExecution( false ) ;
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , aNodeName , false ) ;
+ RetVal = aDataFlowExecutor->Run( Name() , aNodeName , false ) ;
}
}
endService( "CNode_Impl::ReRunAt" );
bool CNode_Impl::ReStart() {
beginService( "CNode_Impl::ReStart" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , Name() , true ) ;
+ RetVal = aDataFlowExecutor->Run( Name() , Name() , true ) ;
+ }
+// The GUI calls directly that method instead of calling Graph_Impl::Start() :
+// I redirect the call to Graph_Impl::Start()
+ else if ( DataFlowEditor()->IsEditing() ) {
+ RetVal = ((Graph_Impl::Graph_Impl *) this)->Graph_Impl::Start() ;
}
else {
- RetVal = _DataFlowExecutor->Run( true ) ;
+ RetVal = aDataFlowExecutor->Run( true ) ;
}
}
endService( "CNode_Impl::ReStart" );
return RetVal ;
}
+// Old method used in the past for initial study about GOTO and Loop
+// Should not be used
bool CNode_Impl::ReStartAt( const char * aNodeName ) {
beginService( "CNode_Impl::ReStartAt" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->Run( Name() , aNodeName , true ) ;
+ RetVal = aDataFlowExecutor->Run( Name() , aNodeName , true ) ;
}
}
endService( "CNode_Impl::ReStartAt" );
long CNode_Impl::CpuUsed() {
long RetVal = 0 ;
- GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
- if ( _DataFlowExecutor ) {
+ GraphExecutor::DataFlow * aDataFlowExecutor = DataFlowEditor()->Executor() ;
+ if ( aDataFlowExecutor ) {
if ( _IsNode ) {
- RetVal = _DataFlowExecutor->CpuUsed( Name() ) ;
+ RetVal = aDataFlowExecutor->CpuUsed( Name() ) ;
}
else {
- RetVal = _DataFlowExecutor->CpuUsed() ;
+ RetVal = aDataFlowExecutor->CpuUsed() ;
}
}
return RetVal ;
}
+bool CNode_Impl::IsExecuting() {
+ bool RetVal = false;
+ if ( !IsMacro() && DataFlowEditor() && DataFlowEditor()->Executor() ) {
+ if ( DataFlowEditor()->IsExecuting() && DataFlowEditor()->Executor()->IsDone() )
+ DataFlowEditor()->Executing( false );
+ RetVal = DataFlowEditor()->IsExecuting();
+ }
+ return RetVal;
+}
PortableServer::ObjectId * _ContId ;
GraphEditor::DataFlow * _DataFlowEditor ;
- GraphExecutor::DataFlow * _DataFlowExecutor ;
GraphEditor::InNode * _DataFlowNode ;
- GraphExecutor::InNode * _DataFlowExecutorNode ;
bool _IsNode ;
public:
const char *interfaceName ,
GraphEditor::DataFlow * DataFlowEditor ,
GraphEditor::InNode * DataFlowNode ) ;
- CNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphExecutor::DataFlow * DataFlowExecutor ,
- GraphExecutor::InNode * DataFlowExecutorNode ) ;
virtual ~CNode_Impl() ;
virtual void destroy() ;
virtual bool Delete() ;
_DataFlowEditor = DataFlowEditor ; } ;
virtual GraphEditor::DataFlow * DataFlowEditor() {
return _DataFlowEditor ; } ;
- virtual void DataFlowExecutor( GraphExecutor::DataFlow * DataFlowExecutor ) {
- _DataFlowExecutor = DataFlowExecutor ; } ;
+
virtual GraphExecutor::DataFlow * DataFlowExecutor() {
- return _DataFlowExecutor ; } ;
+ return DataFlowEditor()->Executor(); } ;
+
virtual void DataFlowNode( GraphEditor::InNode * DataFlowNode ) {
_DataFlowNode = DataFlowNode ; } ;
virtual GraphEditor::InNode * DataFlowNode() {
return _DataFlowNode ; } ;
- virtual void DataFlowNode( GraphExecutor::InNode * DataFlowExecutorNode ) {
- _DataFlowExecutorNode = DataFlowExecutorNode ; } ;
- virtual GraphExecutor::InNode * DataFlowExecutorNode() {
- return _DataFlowExecutorNode ; } ;
virtual char * Name() ;
virtual bool SetName( const char * aDataFlowName ) ;
virtual GraphEditor::InNode * DataFlowNode() const {
return _DataFlowNode ; } ;
virtual GraphBase::ComputingNode * BaseNode() {
- return _DataFlowNode->ComputingNode() ; } ;
+ return DataFlowNode()->ComputingNode() ; } ;
virtual SUPERV::CNode_var ObjRef() {
SUPERV::CNode_var iobject = SUPERV::GNode::_nil() ;
- if ( _DataFlowNode && _IsNode ) {
- iobject = SUPERV::CNode::_narrow( _DataFlowNode->ObjRef() ) ;
+ if ( DataFlowNode() && _IsNode ) {
+ iobject = SUPERV::CNode::_narrow( DataFlowNode()->ObjRef() ) ;
}
else {
- iobject = SUPERV::CNode::_narrow( _DataFlowEditor->Graph()->ObjRef() ) ;
+ iobject = SUPERV::CNode::_narrow( DataFlowEditor()->Graph()->ObjRef() ) ;
}
return iobject ; } ;
virtual void SetObjRef(SUPERV::CNode_var aNode ) {
- if ( _DataFlowNode && _IsNode ) {
- _DataFlowNode->SetObjRef( aNode ) ;
+ if ( DataFlowNode() && _IsNode ) {
+ DataFlowNode()->SetObjRef( aNode ) ;
}
else {
- if ( _DataFlowEditor ) {
- _DataFlowEditor->Graph()->SetObjRef( SUPERV::Graph::_narrow( aNode ) ) ;
+ if ( DataFlowEditor() ) {
+ DataFlowEditor()->Graph()->SetObjRef( SUPERV::Graph::_narrow( aNode ) ) ;
}
- if ( _DataFlowExecutor ) {
- _DataFlowExecutor->Graph()->SetObjRef( SUPERV::Graph::_narrow( aNode ) ) ;
+ if ( DataFlowExecutor() ) {
+ DataFlowExecutor()->Graph()->SetObjRef( SUPERV::Graph::_narrow( aNode ) ) ;
+ }
+
+ }
+ } ;
+
+ virtual CNode_Impl * ObjImpl() {
+ CNode_Impl * objimpl = NULL ;
+ if ( DataFlowNode() && _IsNode ) {
+ objimpl = DataFlowNode()->ObjImpl() ;
+ }
+ else {
+ objimpl = DataFlowEditor()->Graph()->ObjImpl() ;
+ }
+ return objimpl ; } ;
+ virtual void SetObjImpl( CNode_Impl * objimpl ) {
+ if ( DataFlowNode() && _IsNode ) {
+ DataFlowNode()->SetObjImpl( objimpl ) ;
+ }
+ else {
+ if ( DataFlowEditor() ) {
+ DataFlowEditor()->Graph()->SetObjImpl( objimpl ) ;
+ }
+ if ( DataFlowExecutor() ) {
+ DataFlowExecutor()->Graph()->SetObjImpl( objimpl ) ;
}
}
virtual long CpuUsed() ;
+ virtual bool IsExecuting();
+
} ;
#endif
}
void ELNode_Impl::destroy() {
-// MESSAGE("--------> ELNode_Impl::destroy() BEGIN");
-// beginService( "ELNode_Impl::Destroy" );
+ beginService( "ELNode_Impl::Destroy" );
if ( DataFlowEditor()->IsEditing() ) {
- MESSAGE("--------> Editing dataflow");
SUPERV::GNode_ptr aCoupled = SUPERV::GNode::_narrow( Coupled() ) ;
if ( Delete() ) {
- MESSAGE("--------> Delete return true");
_poa->deactivate_object(*_id) ;
CORBA::release(_poa) ;
delete(_id) ;
aCoupled->destroy() ;
}
}
-// endService( "ELNode_Impl::Destroy" );
-// MESSAGE("--------> ELNode_Impl::destroy() END");
+ endService( "ELNode_Impl::Destroy" );
}
bool ELNode_Impl::Delete() {
-// beginService( "ELNode_Impl::Delete" );
- MESSAGE("--------> ELNode_Impl::Delete() BEGIN");
+ beginService( "ELNode_Impl::Delete" );
bool RetVal = false ;
if ( DataFlowEditor()->IsEditing() ) {
DeletePorts() ;
- MESSAGE("--------> In Delete: Editing dataflow");
RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
- MESSAGE("--------> RetVal = "<<RetVal);
if ( RetVal ) {
- MESSAGE("--------> Before IsValid");
RetVal = DataFlowEditor()->IsValid() ;
- MESSAGE("--------> After IsValid");
}
}
-// endService( "ELNode_Impl::Delete" );
- MESSAGE("--------> ELNode_Impl::Delete() END");
+ endService( "ELNode_Impl::Delete" );
return RetVal ;
}
bool FNode_Impl::SetComponentName( const char * aComponentName ) {
// beginService( "FNode_Impl::SetComponentName" );
bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
- RetVal = DataFlowNode()->ComponentName( aComponentName ) ;
- }
+ RetVal = DataFlowNode()->ComponentName( aComponentName ) ;
// endService( "FNode_Impl::SetComponentName" );
return RetVal ;
}
bool FNode_Impl::SetInterfaceName( const char * anInterfaceName ) {
// beginService( "FNode_Impl::SetInterfaceName" );
bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() ) {
RetVal = DataFlowNode()->InterfaceName( anInterfaceName ) ;
- }
// endService( "FNode_Impl::SetInterfaceName" );
return RetVal ;
}
bool FNode_Impl::SetContainer( const char * aDataFlowContainer ) {
// beginService( "FNode_Impl::SetContainer" );
bool RetVal = false ;
- GraphExecutor::DataFlow * _DataFlowExecutor = DataFlowEditor()->Executor() ;
- if ( DataFlowEditor()->IsEditing() ) {
+// GraphExecutor::DataFlow * _DataFlowExecutor = DataFlowEditor()->Executor() ;
+// if ( DataFlowEditor()->IsEditing() ) {
RetVal = DataFlowNode()->Computer( aDataFlowContainer ) ;
- }
- else if ( _DataFlowExecutor && ( _DataFlowExecutor->IsSuspended() ||
- _DataFlowExecutor->IsSuspended( DataFlowNode()->Name() ) ) ) {
- if ( _DataFlowExecutor->Graph()->GetChangeGraphNode( DataFlowNode()->Name() ) ) {
- RetVal = ((GraphEditor::InNode * ) _DataFlowExecutor->Graph()->GetChangeGraphNode( DataFlowNode()->Name() )->GetInNode())->Computer( aDataFlowContainer ) ;
- }
- }
+// }
+// else if ( _DataFlowExecutor && ( _DataFlowExecutor->IsSuspended() ||
+// _DataFlowExecutor->IsSuspended( DataFlowNode()->Name() ) ) ) {
+// if ( _DataFlowExecutor->Graph()->GetChangeGraphNode( DataFlowNode()->Name() ) ) {
+// RetVal = ((GraphEditor::InNode * ) _DataFlowExecutor->Graph()->GetChangeGraphNode( DataFlowNode()->Name() )->GetInNode())->Computer( aDataFlowContainer ) ;
+ DataFlowEditor()->UnValid() ;
+// }
+// }
// endService( "FNode_Impl::SetContainer" );
return RetVal ;
}
// endService( "GNode_Impl::GNode_Impl" );
}
-GNode_Impl::GNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphExecutor::DataFlow * aDataFlowExecutor ,
- GraphExecutor::InNode * aDataFlowExecutorNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- INode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowExecutor , aDataFlowExecutorNode ) {
-// beginService( "GNode_Impl::GNode_Impl" );
- if ( DataFlowExecutorNode() && DataFlowExecutorNode()->IsGOTONode() ) {
-// MESSAGE( "GNode_Impl::GNode_Impl " << DataFlowExecutorNode()->Name()
-// << " _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- else {
-// MESSAGE( "GNode_Impl::GNode_Impl NO _poa->activate_object" );
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// endService( "GNode_Impl::GNode_Impl" );
-}
-
GNode_Impl::~GNode_Impl() {
beginService( "GNode_Impl::~GNode_Impl" );
endService( "GNode_Impl::~GNode_Impl" );
beginService( "GNode_Impl::Delete" );
bool RetVal = false ;
if ( DataFlowEditor()->IsEditing() ) {
+ if ( DataFlowNode() ) {
+ GraphBase::GOTONode * aGOTONode = DataFlowNode()->GOTONode() ;
+ if ( aGOTONode ) {
+ GraphBase::GOTONode * aCoupledNode = (GraphBase::GOTONode * ) aGOTONode->CoupledNode() ;
+ if ( aCoupledNode && ( aCoupledNode->IsOneOfGOTONodes() || aCoupledNode->IsDataFlowNode() ||
+ aCoupledNode->IsDataStreamNode() ) ) {
+ aCoupledNode->CoupledNode( NULL ) ;
+ aCoupledNode->MacroObject( SUPERV::Graph::_nil() ) ;
+ aCoupledNode->GraphMacroLevel( 0 ) ;
+ }
+ }
+ }
DeletePorts() ;
RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
if ( RetVal )
return SUPERV::INode::_duplicate( iobject ) ;
}
+bool GNode_Impl::SetCoupled( const char * anInLineNode )
+{
+ GraphBase::InLineNode * CoupledINode = (GraphBase::InLineNode * ) DataFlowEditor()->Graph()->GetGraphNode( anInLineNode ) ;
+ if ( !CoupledINode ) {
+
+ // asv : 2.11.04 : nullify Coupled node if anInLineNode == "" (bug 7113)
+ if ( anInLineNode==NULL || !strlen( anInLineNode ) ) {
+ DataFlowNode()->CoupledNode( NULL );
+ }
+
+ return false;
+ }
+ if ( ( IsGOTO() && ( CoupledINode->IsInLineNode() || CoupledINode->IsLoopNode() || CoupledINode->IsSwitchNode() ) ) ||
+ ( !IsGOTO() && ( IsLoop() || IsSwitch() || IsEndLoop() || IsEndSwitch() ) ) ) {
+ DataFlowNode()->CoupledNode( CoupledINode ) ;
+ if ( CoupledINode && IsSwitch() ) {
+ DataFlowEditor()->AddLink( Name() , "Default" ,CoupledINode->Name() , "Default" ) ;
+ }
+ else if ( CoupledINode && ( IsLoop() || IsEndLoop() ) ) {
+ DataFlowEditor()->AddLink( Name() , "DoLoop" , CoupledINode->Name() , "DoLoop" ) ;
+ }
+ else if ( CoupledINode && IsGOTO() ) {
+ DataFlowEditor()->AddLink( Name() , "OutGate" ,CoupledINode->Name() , "InGate" ) ;
+ }
+ return true ;
+ }
+ return false ;
+}
const char *interfaceName ,
GraphEditor::DataFlow * DataFlowEditor ,
GraphEditor::InNode * DataFlowNode ) ;
- GNode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphExecutor::DataFlow * DataFlowExecutor ,
- GraphExecutor::InNode * DataFlowExecutorNode ) ;
virtual ~GNode_Impl() ;
virtual void destroy() ;
virtual bool Delete() ;
- virtual bool SetCoupled( const char * anInLineNode ) {
- GraphBase::InLineNode * CoupledINode = (GraphBase::InLineNode * ) DataFlowEditor()->Graph()->GetGraphNode( anInLineNode ) ;
-// cout << Name() << ".SetCoupled " << anInLineNode << endl ;
-// if ( CoupledINode && ( IsGOTO() &&
- if ( ( IsGOTO() &&
- ( CoupledINode->IsInLineNode() || CoupledINode->IsLoopNode() ||
- CoupledINode->IsSwitchNode() ) ) ||
- ( !IsGOTO() && ( IsLoop() || IsSwitch() ||
- IsEndLoop() || IsEndSwitch() ) ) ) {
- DataFlowNode()->CoupledNode( CoupledINode ) ;
- if ( CoupledINode && IsSwitch() ) {
- DataFlowEditor()->AddLink( Name() , "Default" ,
- CoupledINode->Name() , "Default" ) ;
- }
- else if ( CoupledINode && ( IsLoop() || IsEndLoop() ) ) {
- DataFlowEditor()->AddLink( Name() , "DoLoop" ,
- CoupledINode->Name() , "DoLoop" ) ;
- }
- else if ( CoupledINode && IsGOTO() ) {
- DataFlowEditor()->AddLink( Name() , "OutGate" ,
- CoupledINode->Name() , "InGate" ) ;
- }
-// cout << "SetCoupled " << CoupledINode->Name() << endl ;
- return true ;
- }
-// cout << Name() << ".SetCoupled ERROR " << anInLineNode << " " << CoupledINode
-// << " of " << Kind() ;
-// if ( CoupledINode ) {
-// cout << " kinfOkCoupled " << CoupledINode->Kind() ;
-// }
-// cout << endl ;
- return false ; } ;
+ virtual bool SetCoupled( const char * anInLineNode );
+
virtual SUPERV::INode_ptr Coupled() ;
virtual GraphBase::GOTONode * BaseNode() {
}
}
string theDataFlowInstanceName = theDataFlowName ;
- if ( !aXmlFile ) {
- theDataFlowInstanceName = theAutomaton->GraphInstanceName( theDataFlowName ) ;
- }
+// if ( !aXmlFile ) {
+// theDataFlowInstanceName = theAutomaton->GraphInstanceName( theDataFlowName ) ;
+// }
dbgfile += theDataFlowInstanceName ;
dbgfile = dbgfile + "_" + theAutomaton->DbgFileNumber() + ".log" ;
SALOME_NamingService * NamingService = new SALOME_NamingService( orb ) ;
aKindOfNode ) ;
MESSAGE( "CreateEditor " << theDataFlowName << " uniquely named " << theDataFlowInstanceName << " created with "
<< dbgfile.c_str() ) ;
+
delete [] theDataFlowName ;
}
-static void CreateEditor( CORBA::ORB_ptr orb ,
+static void CreateExecutor( CORBA::ORB_ptr orb ,
const char *instanceName ,
const char *aDataFlowName ,
const SUPERV::KindOfNode aKindOfNode ,
*aDataFlowExecutor = new GraphExecutor::DataFlow( orb , NamingService ,
theDataFlowInstanceName.c_str() , dbgfile.c_str() ,
aKindOfNode ) ;
- MESSAGE( "CreateEditor " << theDataFlowName << " " << theDataFlowInstanceName << " created with "
+ MESSAGE( "CreateExecutor " << theDataFlowName << " " << theDataFlowInstanceName << " created with "
<< dbgfile.c_str() ) ;
+
delete [] theDataFlowName ;
}
_Orb = CORBA::ORB::_duplicate(orb);
_Poa = poa ;
_ContId = contId ;
+ _DebugFileName = NULL ;
if ( aKindOfNode == SUPERV::DataFlowGraph || aKindOfNode == SUPERV::MacroNode ) {
// MESSAGE( "Graph_Impl::Graph_Impl _poa->activate_object" );
_thisObj = this ;
GraphEditor::DataFlow * aDataFlowEditor ;
CreateEditor( orb , instanceName , aDataFlowName , aKindOfNode ,
dbgfile , &aDataFlowEditor ) ;
+
+ if ( _DebugFileName ) {
+ delete [] _DebugFileName ;
+ }
_DebugFileName = new char[ strlen( dbgfile.c_str() )+1 ] ;
strcpy( _DebugFileName , dbgfile.c_str() ) ;
_NamingService = new SALOME_NamingService( orb ) ;
DataFlowEditor( aDataFlowEditor ) ;
- DataFlowEditor()->Graph()->SetGraphEditor( aDataFlowEditor ) ;
+ DataFlowEditor()->Graph()->GraphEditor( aDataFlowEditor ) ;
DataFlowEditor()->Graph()->SetObjImpl( this ) ;
}
pthread_mutex_init( &_MutexExecutorWait , NULL ) ;
GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
// beginService( "Graph_Impl::Graph_Impl" );
// MESSAGE( aDataFlowEditor->Graph()->Name() << " " );
- if ( aDataFlowEditor->Graph()->IsDataFlowNode() || aDataFlowNode->IsMacroNode() ) {
+ if ( aDataFlowEditor->Graph()->IsDataFlowNode() ||
+ ( aDataFlowNode && aDataFlowNode->IsMacroNode() ) ) {
// MESSAGE( "Graph_Impl::Graph_Impl _poa->activate_object" );
_thisObj = this ;
_id = _poa->activate_object(_thisObj);
_Orb = CORBA::ORB::_duplicate(orb);
_Poa = poa ;
_ContId = contId ;
+ _DebugFileName = NULL ;
DataFlowEditor( aDataFlowEditor ) ;
- DataFlowEditor()->Graph()->SetGraphEditor( aDataFlowEditor ) ;
+ DataFlowEditor()->Graph()->GraphEditor( aDataFlowEditor ) ;
DataFlowEditor()->Graph()->SetObjImpl( this ) ;
pthread_mutex_init( &_MutexExecutorWait , NULL ) ;
// DataFlowExecutor( NULL ) ;
// endService( "Graph_Impl::Graph_Impl" );
}
-Graph_Impl::Graph_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphExecutor::DataFlow * aDataFlowExecutor ,
- GraphExecutor::InNode * aDataFlowExecutorNode ) :
- GNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowExecutor , aDataFlowExecutorNode ) {
-// beginService( "Graph_Impl::Graph_Impl" );
-// MESSAGE( aDataFlowExecutor->Graph()->Name() << " " );
- if ( aDataFlowExecutor->Graph()->IsDataFlowNode() || aDataFlowExecutorNode->IsMacroNode() ) {
-// MESSAGE( "Graph_Impl::Graph_Impl _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- else {
-// MESSAGE( "Graph_Impl::Graph_Impl NO _poa->activate_object " );
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
- DataFlowExecutor( aDataFlowExecutor ) ;
- DataFlowExecutor()->Graph()->SetGraphExecutor( aDataFlowExecutor ) ;
- DataFlowExecutor()->Graph()->SetObjImpl( this ) ;
- pthread_mutex_init( &_MutexExecutorWait , NULL ) ;
-// DataFlowExecutor( NULL ) ;
-// endService( "Graph_Impl::Graph_Impl" );
-}
-
Graph_Impl::Graph_Impl() {
}
void Graph_Impl::destroy() {
beginService( "Graph_Impl::destroy" );
+ if ( DataFlowNode() && DataFlowNode()->ComputingNode()->IsMacroNode() ) {
+ SUPERV::Graph_var aGraph = DataFlowNode()->GOTONode()->MacroObject() ;
+ GNode_Impl::Delete() ;
+ if ( !CORBA::is_nil( aGraph ) ) {
+ aGraph->destroy() ;
+ }
+ }
+ else {
+ SUPERV::Graph_var aGraph = DataFlowEditor()->Graph()->MacroObject() ;
+ GNode_Impl::Delete() ;
+ if ( !CORBA::is_nil( aGraph ) ) {
+ aGraph->destroy() ;
+ }
+ }
_poa->deactivate_object(*_id) ;
CORBA::release(_poa) ;
delete(_id) ;
_thisObj->_remove_ref();
-// endService( "Graph_Impl::destroy" );
+ endService( "Graph_Impl::destroy" );
}
bool RetVal = false ;
if ( DataFlowEditor()->IsEditing() ) {
// RetVal = DataFlowEditor()->LoadDataFlows( aListOfDataFlows ) ;
- RetVal = LoadDataFlows( DataFlowEditor() , aListOfDataFlows , 0 ) ;
+ if ( CORBA::is_nil( LoadDataFlows( DataFlowEditor() , aListOfDataFlows , 0 ) ) ) {
+ RetVal = false ;
+ }
}
endService( "Graph_Impl::LoadGraphs" );
return RetVal ;
RetVal = DataFlowEditor()->LoadXml( aXmlFile , aListOfDataFlows ) ;
if ( RetVal && aXmlFile != NULL ) {
// RetVal = DataFlowEditor()->LoadDataFlows( &aListOfDataFlows ) ;
- RetVal = LoadDataFlows( DataFlowEditor() , &aListOfDataFlows , 0 ) ;
+ if ( CORBA::is_nil( LoadDataFlows( DataFlowEditor() , &aListOfDataFlows , 0 ) ) ) {
+ RetVal = false ;
+ }
}
}
endService( "Graph_Impl::Import" );
myNode->SetObjRef( SUPERV::CNode::_duplicate( iobject ) ) ;
}
}
+ DataFlowEditor()->UnValid() ;
endService( "Graph_Impl::CNode" );
return SUPERV::CNode::_duplicate( iobject ) ;
}
myNode->SetObjRef( SUPERV::FNode::_duplicate( iobject ) ) ;
}
}
+ DataFlowEditor()->UnValid() ;
endService( "Graph_Impl::FNode" );
return SUPERV::FNode::_duplicate( iobject ) ;
}
}
}
}
+ DataFlowEditor()->UnValid() ;
endService( "Graph_Impl::GNode" );
return SUPERV::GNode::_duplicate( iobject ) ;
}
}
}
anEndOfLoop = SUPERV::ELNode::_duplicate( iendobject ) ;
+ DataFlowEditor()->UnValid() ;
endService( "Graph_Impl::LNode" );
return SUPERV::LNode::_duplicate( iobject ) ;
}
}
}
anEndOfSwitch = SUPERV::ESNode::_duplicate( iendobject ) ;
+ DataFlowEditor()->UnValid() ;
endService( "Graph_Impl::SNode" );
return SUPERV::SNode::_duplicate( iobject ) ;
}
// WARNING : THIS IS COMPLICATED :
-bool Graph_Impl::LoadDataFlows( GraphEditor::DataFlow * aDataFlowEditor ,
- GraphBase::ListOfSGraphs * aListOfDataFlows ,
- int index ) {
+SUPERV::Graph_var Graph_Impl::LoadDataFlows( GraphEditor::DataFlow * aDataFlowEditor ,
+ GraphBase::ListOfSGraphs * aListOfDataFlows ,
+ int index ) {
beginService( "Graph_Impl::EditorLoadDataFlows" ) ;
+ MESSAGE("Graph_Impl::LoadDataFlows index " << index << " " << (*aListOfDataFlows)[index].Info.theName.c_str() ) ;
+
SUPERV::Graph_var iobject = SUPERV::Graph::_nil() ;
+// That method is recursive :
+// At first we load the supergraph with index = 0 :
+// (After we load the graph corresponding to each MacroNode :)
if ( !aDataFlowEditor->LoadDataFlow( &(*aListOfDataFlows)[ index ] ) ) {
- MESSAGE("Graph_Impl::LoadDataFlows failed" ) ;
- return false ;
+ MESSAGE("Graph_Impl::LoadDataFlows failed " << (*aListOfDataFlows)[index].Info.theName.c_str() ) ;
+ return SUPERV::Graph::_duplicate( iobject ) ;
}
// That graph is not a StreamGraph :
else if ( !aDataFlowEditor->Graph()->HasDataStream() ) {
aDataFlowEditor->Graph()->Kind( SUPERV::DataFlowGraph ) ;
- aDataFlowEditor->Graph()->SetGraphEditor( aDataFlowEditor ) ;
+// aDataFlowEditor->Graph()->SetGraphEditor( aDataFlowEditor ) ;
Graph_Impl * myGraph ;
// We create a Graph ObjRef for that graph
myGraph = new Graph_Impl( _Orb , _Poa, _ContId,
CORBA::Object_var obj = _poa->id_to_reference(*id) ;
iobject = SUPERV::Graph::_narrow( obj ) ;
myGraph->SetObjRef( SUPERV::Graph::_duplicate( iobject ) ) ;
+ myGraph->SetObjImpl( (CNode_Impl * ) myGraph ) ;
GraphBase::Graph * aGraph = myGraph->DataFlowEditor()->Graph() ;
int i ;
+
+// asv: set Editor for the graph itself and for all its macro nodes
+ aGraph->GraphEditor( aDataFlowEditor );
+
+// For the supergraph or each graph of MacroNodes we search MacroNodes recursively :
for ( i = 0 ; i < aGraph->GraphNodesSize() ; i++ ) {
if ( aGraph->GraphNodes( i )->IsMacroNode() ) {
GraphBase::GOTONode * aMacroNode = (GraphBase::GOTONode * ) aGraph->GraphNodes( i ) ;
+ // asv : 05.11.04 : fix of bug - "insert file" into existing graph with MacroNodes worked incorrectly!
+ // aMacroNode is an "old" node, and here we must analize only "new" nodes, that
+ // came from aListOfDataFlows and were loaded by aDataFlowEditor->LoadDataFlow( &(*aListOfDataFlows)[ index ] )
+ // so here we check if the node is "new" or "old"
+ if ( aMacroNode->GraphEditor() && aMacroNode->CoupledNode() )
+ continue;
+ // asv: set Editor for the graph itself and for all its macro nodes
+ aMacroNode->GraphEditor( aDataFlowEditor );
-// Creation of a GraphMacroNode in the current editor
+ // Creation of a GraphMacroNode ObjRef in the current editor
SUPERV::Graph_var macroiobject = SUPERV::Graph::_nil() ;
- string aMacroNodeName = string( "Macro_" ) + string( myGraph->Name() ) ;
Graph_Impl * myMacroNode ;
myMacroNode = new Graph_Impl( _Orb , _Poa, _ContId,
instanceName() , interfaceName() ,
- aMacroNodeName.c_str() , SUPERV::MacroNode ) ;
+ aMacroNode->Name() , SUPERV::MacroNode ) ;
id = myMacroNode->getId() ;
obj = _poa->id_to_reference(*id);
macroiobject = SUPERV::Graph::_narrow( obj ) ;
- myMacroNode->DataFlowEditor( DataFlowEditor() ) ;
- aMacroNode->SetGraphEditor( DataFlowEditor() ) ;
+ myMacroNode->DataFlowEditor( aDataFlowEditor ) ;
GraphEditor::InNode * aDataFlowNode = (GraphEditor::InNode * ) aMacroNode->GetInNode() ;
myMacroNode->DataFlowNode( aDataFlowNode ) ;
aDataFlowNode->SetObjRef( SUPERV::CNode::_duplicate( SUPERV::CNode::_narrow( obj ) ) ) ;
- aDataFlowNode->SetObjImpl( this ) ;
-
-
-
-
+ aDataFlowNode->SetObjImpl( myMacroNode ) ;
char * aCoupledNodeName = aMacroNode->CoupledNodeName() ;
MESSAGE( "LoadDataFlows MacroNode " << aMacroNode->Name() << " --> " << aCoupledNodeName
<< " to be searched among " << (*aListOfDataFlows).size() << " Graphs" ) ;
int index ;
+ bool found = false ;
for ( index = 0 ; index < (int ) (*aListOfDataFlows).size() ; index++ ) {
+ MESSAGE( "LoadDataFlows Graph" << index << " " << (*aListOfDataFlows)[index].Info.theName.c_str() ) ;
if ( !strcmp( aCoupledNodeName , (*aListOfDataFlows)[index].Info.theName.c_str() ) ) {
+ found = true ;
string dbgfile ;
// At first create the editor and a StreamGraph
GraphEditor::DataFlow * aMacroGraphDataFlowEditor ;
CreateEditor( _Orb , instanceName() , aCoupledNodeName , SUPERV::DataStreamGraph ,
dbgfile , &aMacroGraphDataFlowEditor ) ;
-// if ( !aDataFlowEditor->LoadDataFlow( aDataFlowEditor , aListOfDataFlows , index ) ) {
+
+ if ( _DebugFileName ) {
+ delete [] _DebugFileName ;
+ }
+ _DebugFileName = new char[ strlen( dbgfile.c_str() )+1 ] ;
+ strcpy( _DebugFileName , dbgfile.c_str() ) ;
+
MESSAGE( "RECURSIVE IMPORT OF GRAPHS OF MACRONODES :" << aCoupledNodeName ) ;
- if ( !LoadDataFlows( aMacroGraphDataFlowEditor , aListOfDataFlows , index ) ) {
+ if ( CORBA::is_nil( LoadDataFlows( aMacroGraphDataFlowEditor , aListOfDataFlows , index ) ) ) {
MESSAGE("Graph_Impl::LoadDataFlows failed" ) ;
- return false ;
+ return SUPERV::Graph::_duplicate( iobject ) ;
}
// That graph is not a StreamGraph :
else if ( !aMacroGraphDataFlowEditor->Graph()->HasDataStream() ) {
- aMacroGraphDataFlowEditor->Graph()->Kind( SUPERV::DataFlowGraph ) ;
- aMacroGraphDataFlowEditor->Graph()->SetGraphEditor( aMacroGraphDataFlowEditor ) ;
Graph_Impl * myMacroGraph ;
-// We create a Graph ObjRef for that graph
- myMacroGraph = new Graph_Impl( _Orb , _Poa, _ContId,
- instanceName() , interfaceName() ,
- aMacroGraphDataFlowEditor , NULL ) ;
- PortableServer::ObjectId * id = myMacroGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Graph_var iobject = SUPERV::Graph::_narrow( obj ) ;
- myMacroGraph->SetObjRef( SUPERV::Graph::_duplicate( iobject ) ) ;
+// The Graph ObjRef for that graph was already created
+ myMacroGraph = (Graph_Impl * ) aMacroGraphDataFlowEditor->Graph()->ObjImpl() ;
GraphBase::Graph * aMacroGraph = myMacroGraph->DataFlowEditor()->Graph() ;
+
aMacroGraph->GraphMacroLevel( aGraph->GraphMacroLevel() + 1 ) ;
aMacroGraph->CoupledNode( aMacroNode ) ;
-
- aMacroGraph->MacroObject( SUPERV::Graph::_duplicate( iobject ) ) ;
aMacroGraph->MacroObject( SUPERV::Graph::_duplicate( macroiobject ) ) ;
// Set the GraphMacroNode ObjRef in the MacroNode
+ aMacroNode->GraphMacroLevel( aGraph->GraphMacroLevel() + 1 ) ;
aMacroNode->CoupledNode( aMacroGraph ) ;
- aMacroNode->MacroObject( SUPERV::Graph::_duplicate( iobject ) ) ;
+ aMacroNode->MacroObject( SUPERV::Graph::_narrow( aMacroGraphDataFlowEditor->Graph()->ObjRef() ) ) ;
+ MESSAGE( "LoadDataFlows aMacroGraph " << aMacroGraph << " " << aMacroGraph->Name()
+ << " coupled to " << aMacroGraph->CoupledNode() << " "
+ << aMacroGraph->CoupledNode()->Name() << " Editor " << aMacroGraph->GraphEditor() ) ;
+ MESSAGE( "LoadDataFlows aMacroNode " << aMacroNode << " " << aMacroNode->Name()
+ << " coupled to " << aMacroNode->CoupledNode() << " "
+ << aMacroNode->CoupledNode()->Name() << " Editor " << aMacroNode->GraphEditor() ) ;
+ MESSAGE( "LoadDataFlows current Graph " << aGraph << " " << aGraph->Name()
+ << " coupled to " << aGraph->CoupledNode()
+ << " Editor " << aGraph->GraphEditor() << " " << aGraph->Name() ) ;
}
+ break ;
}
}
+ if ( !found ) {
+ return SUPERV::Graph::_duplicate( SUPERV::Graph::_nil() ) ;
+ }
}
}
}
+ else if ( (*aListOfDataFlows).size() == 1 ) {
+ StreamGraph_Impl * myStreamGraph ;
+// We create a Graph ObjRef for that graph
+ myStreamGraph = new StreamGraph_Impl( _Orb , _Poa, _ContId,
+ instanceName() , interfaceName() ,
+ aDataFlowEditor , NULL ) ;
+ PortableServer::ObjectId * id = myStreamGraph->getId() ;
+ CORBA::Object_var obj = _poa->id_to_reference(*id) ;
+ SUPERV::StreamGraph_var Streamiobject = SUPERV::StreamGraph::_nil() ;
+ Streamiobject = SUPERV::StreamGraph::_narrow( obj ) ;
+ myStreamGraph->SetObjRef( SUPERV::StreamGraph::_duplicate( Streamiobject ) ) ;
+ myStreamGraph->SetObjImpl( (CNode_Impl * ) myStreamGraph ) ;
+// iobject = SUPERV::Graph::_narrow( obj ) ;
+ iobject = SUPERV::Graph::_narrow( Streamiobject ) ;
+ }
+ else {
+ MESSAGE( "Graph_Impl::LoadDataFlows StreamGraph with MacroNodes not yet implemented" ) ;
+ }
endService( "Graph_Impl::EditorLoadDataFlows" );
- return true ;
+ return SUPERV::Graph::_duplicate( iobject ) ;
}
-bool Graph_Impl::LoadDataFlows( GraphExecutor::DataFlow * aDataFlowExecutor ,
- GraphBase::ListOfSGraphs * aListOfDataFlows ,
- int index ) {
+SUPERV::Graph_var Graph_Impl::LoadDataFlows( GraphExecutor::DataFlow * aDataFlowExecutor ,
+ GraphBase::ListOfSGraphs * aListOfDataFlows ,
+ int index ) {
beginService( "Graph_Impl::ExecutorLoadDataFlows" ) ;
- MESSAGE("Graph_Impl::LoadDataFlows index " << index << " " << (*aListOfDataFlows)[index].Info.theName.c_str() ) ;
- SUPERV::Graph_var iobject = SUPERV::Graph::_nil() ;
-// That method is recursive :
-// At first we load the supergraph with index = 0 :
-// (After we load the graph corresponding to each MacroNode :)
+ MESSAGE("Graph_Impl::LoadDataFlows(Executor) index " << index << " " << (*aListOfDataFlows)[index].Info.theName.c_str() << " aDataFlowExecutor " << aDataFlowExecutor ) ;
+
+ // That method is recursive :
+ // At first we load the supergraph with index = 0 :
+ // (After we load the graph corresponding to each MacroNode :)
if ( !aDataFlowExecutor->LoadDataFlow( &(*aListOfDataFlows)[ index ] ) ) {
- MESSAGE("Graph_Impl::LoadDataFlows failed" ) ;
- return false ;
+ MESSAGE("Graph_Impl::LoadDataFlows(Executor) failed, could not LoadDataFlow(supergraph)" ) ;
+ return SUPERV::Graph::_duplicate( SUPERV::Graph::_nil() ) ;
}
-// That graph is not a StreamGraph :
- else if ( !aDataFlowExecutor->Graph()->HasDataStream() ) {
+
+ // That graph is not a StreamGraph :
+ else {
aDataFlowExecutor->Graph()->Kind( SUPERV::DataFlowGraph ) ;
GraphEditor::DataFlow * aDataFlowEditor ;
- aDataFlowEditor = theAutomaton->MapGraph( (*aListOfDataFlows)[index].Info.theName.c_str() )->GraphEditor() ;
+ aDataFlowEditor = DataFlowEditor() ;
+ GraphBase::Graph * anEditorGraph = aDataFlowEditor->Graph() ;
+ GraphBase::Graph * anExecutorGraph = aDataFlowExecutor->Graph() ;
+ if ( aDataFlowEditor->Executor() ) {
+ delete aDataFlowEditor->Executor() ;
+ aDataFlowEditor->Executor( NULL ) ;
+ aDataFlowEditor->Editing() ;
+ }
aDataFlowEditor->Executor( aDataFlowExecutor ) ;
- aDataFlowEditor->Graph()->SetGraphEditor( aDataFlowEditor ) ;
- aDataFlowEditor->Graph()->SetGraphExecutor( aDataFlowExecutor ) ;
- aDataFlowExecutor->Graph()->SetGraphEditor( aDataFlowEditor ) ;
- aDataFlowExecutor->Graph()->SetGraphExecutor( aDataFlowExecutor ) ;
- Graph_Impl * myGraph ;
-// We create a Graph ObjRef for that graph
- myGraph = new Graph_Impl( _Orb , _Poa, _ContId,
- instanceName() , interfaceName() ,
- aDataFlowExecutor , NULL ) ;
- PortableServer::ObjectId * id = myGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id) ;
- iobject = SUPERV::Graph::_narrow( obj ) ;
- myGraph->SetObjRef( SUPERV::Graph::_duplicate( iobject ) ) ;
- myGraph->DataFlowEditor( aDataFlowEditor ) ;
- myGraph->DataFlowExecutor( aDataFlowExecutor ) ;
- MESSAGE("ExecutorLoadDataFlows IsEditing " << myGraph->Name() << " "
- << myGraph->DataFlowEditor() << " " << myGraph->DataFlowEditor()->IsEditing() << " "
- << myGraph->DataFlowEditor()->Graph()->Name() << " "
- << myGraph->DataFlowEditor()->Graph()->GraphEditor() << " "
- << myGraph->DataFlowEditor()->Graph()->GraphEditor()->IsEditing() ) ;
- GraphBase::Graph * aGraph = myGraph->DataFlowExecutor()->Graph() ;
- int i ;
-// For the supergraph or each graph of MacroNodes we search MacroNodes recursively :
- for ( i = 0 ; i < aGraph->GraphNodesSize() ; i++ ) {
- if ( aGraph->GraphNodes( i )->IsMacroNode() ) {
- GraphBase::GOTONode * aMacroNode = (GraphBase::GOTONode * ) aGraph->GraphNodes( i ) ;
-
-
-
-// Creation of a GraphMacroNode ObjRef in the current executor
- SUPERV::Graph_var macroiobject = SUPERV::Graph::_nil() ;
- string aMacroNodeName = string( "Macro_" ) + string( aGraph->Name() ) ;
- Graph_Impl * myMacroNode ;
- myMacroNode = new Graph_Impl( _Orb , _Poa, _ContId,
- instanceName() , interfaceName() ,
- aMacroNodeName.c_str() , SUPERV::MacroNode ) ;
- id = myMacroNode->getId() ;
- obj = _poa->id_to_reference(*id);
- macroiobject = SUPERV::Graph::_narrow( obj ) ;
- myMacroNode->DataFlowEditor( DataFlowEditor() ) ;
- myMacroNode->DataFlowExecutor( DataFlowExecutor() ) ;
- aMacroNode->SetGraphEditor( DataFlowEditor() ) ;
- GraphExecutor::InNode * aDataFlowExecutorNode = (GraphExecutor::InNode * ) aMacroNode->GetInNode() ;
- myMacroNode->DataFlowNode( aDataFlowExecutorNode ) ;
- aDataFlowExecutorNode->SetObjRef( SUPERV::CNode::_duplicate( SUPERV::CNode::_narrow( obj ) ) ) ;
- aDataFlowExecutorNode->SetObjImpl( this ) ;
-
- char * aCoupledNodeName = aMacroNode->CoupledNodeName() ;
- MESSAGE( "LoadDataFlows MacroNode " << aMacroNode->Name() << " --> " << aCoupledNodeName
- << " to be searched among " << (*aListOfDataFlows).size() << " Graphs" ) ;
- int index ;
- for ( index = 0 ; index < (int ) (*aListOfDataFlows).size() ; index++ ) {
- if ( !strcmp( aCoupledNodeName , (*aListOfDataFlows)[index].Info.theName.c_str() ) ) {
- string dbgfile ;
-// At first create the editor and a StreamGraph
- GraphExecutor::DataFlow * aMacroGraphDataFlowExecutor ;
- CreateEditor( _Orb , instanceName() , aCoupledNodeName , SUPERV::DataStreamGraph ,
- dbgfile , &aMacroGraphDataFlowExecutor ) ;
-// if ( !aDataFlowEditor->LoadDataFlow( aDataFlowEditor , aListOfDataFlows , index ) ) {
- MESSAGE( "RECURSIVE IMPORT OF GRAPHS OF MACRONODES :" << aCoupledNodeName ) ;
- if ( !LoadDataFlows( aMacroGraphDataFlowExecutor , aListOfDataFlows , index ) ) {
- MESSAGE("Graph_Impl::LoadDataFlows failed" ) ;
- return false ;
- }
-
-// That graph is not a StreamGraph :
- else if ( !aMacroGraphDataFlowExecutor->Graph()->HasDataStream() ) {
- aMacroGraphDataFlowExecutor->Graph()->Kind( SUPERV::DataFlowGraph ) ;
- aMacroGraphDataFlowExecutor->Graph()->SetGraphExecutor( aMacroGraphDataFlowExecutor ) ;
- GraphEditor::DataFlow * aDataFlow = theAutomaton->MapGraph( aCoupledNodeName )->GraphEditor() ;
- if ( aDataFlow == NULL ) {
- MESSAGE( "ExecutorLoadDataFlows NULL GraphEditor ERROR" ) ;
+ anExecutorGraph->GraphEditor( aDataFlowEditor ) ;
+
+ if ( !aDataFlowExecutor->Graph()->HasDataStream() ) {
+ // For the supergraph or each graph of MacroNodes we search MacroNodes recursively :
+ int i;
+ for ( i = 0 ; i < anExecutorGraph->GraphNodesSize() ; i++ ) {
+ if ( anExecutorGraph->GraphNodes( i )->IsMacroNode() ) {
+ GraphBase::GOTONode * aMacroNode = (GraphBase::GOTONode * ) anExecutorGraph->GraphNodes( i ) ;
+ aMacroNode->GraphEditor( aDataFlowEditor ) ;
+
+ // get the macro node's editor object
+ char * aMacroGraphName = aMacroNode->CoupledNodeName() ;
+ GraphBase::Graph* aMacroGraph = (GraphBase::Graph*)((GraphBase::GOTONode *)anEditorGraph->GetGraphNode( aMacroNode->Name() ))->CoupledNode() ;
+ GraphEditor::DataFlow* aMacroGraphEditor = aMacroGraph->GraphEditor();
+
+ MESSAGE( "LoadDataFlows(Executor) MacroNode " << aMacroNode->Name() << " Coupled to " << aMacroGraphName
+ << " to be searched among " << (*aListOfDataFlows).size() << " Graphs" << endl ) ;
+ int index;
+ bool found = false ;
+ for ( index = 0 ; index < (int ) (*aListOfDataFlows).size() && !found; index++ ) {
+ if ( !strcmp( aMacroGraphName , (*aListOfDataFlows)[index].Info.theName.c_str() ) )
+ found = true;
+ }
+ if ( !found ) {
+ MESSAGE("Graph_Impl::LoadDataFlows(Executor) failed, Macro node's coupled graph \"" << aMacroGraphName << "\" was not found" ) ;
+ return SUPERV::Graph::_duplicate( SUPERV::Graph::_nil() ) ;
+ }
+ index--; // it was incremented in "for ..." before last check ( !found ).
+
+ // At first create the editor and a StreamGraph
+ string dbgfile ;
+ GraphExecutor::DataFlow * aMacroGraphExecutor ;
+ CreateExecutor( _Orb , instanceName() , aMacroGraphName , SUPERV::DataStreamGraph ,
+ dbgfile , &aMacroGraphExecutor );
+
+ // set GraphMacroLevel for Executor's graph
+ GraphBase::Graph* aMacroGraphExe = aMacroGraphExecutor->Graph();
+ aMacroGraphExe->GraphMacroLevel( anExecutorGraph->GraphMacroLevel() + 1 );
+
+ // load data flows in MacroGraph's executor
+ Graph_Impl* aMacroGraphImpl = (Graph_Impl*) aMacroGraphEditor->Graph()->ObjImpl();
+ MESSAGE( "RECURSIVE IMPORT OF GRAPHS OF MACRONODES : " << aMacroGraphName ) ;
+ if ( CORBA::is_nil( aMacroGraphImpl->LoadDataFlows( aMacroGraphExecutor, aListOfDataFlows , index ) ) ) {
+ MESSAGE("Graph_Impl::LoadDataFlows(Executor) failed, could not LoadDataFlow( MacroNodeGraph \"" <<aMacroGraphName << "\" )" ) ;
+ return SUPERV::Graph::_duplicate( SUPERV::Graph::_nil() ) ;
+ }
+
+ // set coupled pair MacroNode <--> MacroGraph
+ aMacroGraphExe->CoupledNode( aMacroNode ) ;
+ aMacroNode->CoupledNode( aMacroGraphExe ) ;
+
+ // initialize MacroNode's InPorts with corresponding "external" values
+ int q ;
+ for ( q = 0 ; q < aMacroNode->GetNodeInPortsSize() ; q++ ) {
+ const GraphBase::InPort * anInPort = aMacroNode->GetNodeInPort( q ) ;
+ if ( anInPort->IsDataConnected() ) {
+ const char* aMacroGraphInPortName = aMacroGraph->GetNodeInPort( q )->PortName();
+ if ( !aMacroGraphExecutor->InputOfAny( aMacroGraphInPortName, *anInPort->GetOutPort()->Value(),false ) ) {
+ return SUPERV::Graph::_duplicate( SUPERV::Graph::_nil() ) ;
}
- aMacroGraphDataFlowExecutor->Graph()->SetGraphEditor( aDataFlow ) ;
- aMacroGraphDataFlowExecutor->Graph()->SetGraphExecutor( aMacroGraphDataFlowExecutor ) ;
- aMacroGraphDataFlowExecutor->Graph()->SetGraphPorts() ;
- Graph_Impl * myMacroGraph ;
-// We create a Graph ObjRef for that graph
- myMacroGraph = new Graph_Impl( _Orb , _Poa, _ContId,
- instanceName() , interfaceName() ,
- aMacroGraphDataFlowExecutor , NULL ) ;
- PortableServer::ObjectId * id = myMacroGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- SUPERV::Graph_var iobject = SUPERV::Graph::_narrow( obj ) ;
- myMacroGraph->SetObjRef( SUPERV::Graph::_duplicate( iobject ) ) ;
- myMacroGraph->DataFlowEditor( aDataFlow ) ;
- aDataFlow->Executor( aMacroGraphDataFlowExecutor ) ;
- myMacroGraph->DebugFileName( (char * ) dbgfile.c_str() ) ;
-
- GraphBase::Graph * aMacroGraph = myMacroGraph->DataFlowExecutor()->Graph() ;
- aMacroGraph->GraphMacroLevel( aGraph->GraphMacroLevel() + 1 ) ;
-
-// Set the MacroNode ObjRef in the GraphMacroNode
- aMacroGraph->CoupledNode( aMacroNode ) ;
- aMacroGraph->MacroObject( SUPERV::Graph::_duplicate( macroiobject ) ) ;
+ else {
+ MESSAGE( "LoadDataFlows(Executor) " << aMacroGraph->Name() << "->InputOfAny( "
+ << aMacroGraphInPortName << " , Value )" ) ;
+ }
+ }
+ } // end of init MacroNode's InPorts
-// Set the GraphMacroNode ObjRef in the MacroNode
- aMacroNode->CoupledNode( aMacroGraph ) ;
- aMacroNode->MacroObject( SUPERV::Graph::_duplicate( iobject ) ) ;
+ aMacroGraphImpl->Run() ;
- iobject->Run() ;
- }
- break ;
- }
- }
- }
+ }
+ } // end of for( get nodes of the graph...)
}
- }
+ } // end of setting initial graph's structure..
endService( "Graph_Impl::ExecutorLoadDataFlows" );
- return true ;
+
+ PortableServer::ObjectId * id = getId();
+ CORBA::Object_var obj = _poa->id_to_reference( *id );
+ SUPERV::Graph_var iobject = SUPERV::Graph::_narrow( obj ) ;
+ return SUPERV::Graph::_duplicate( iobject ) ;
}
SUPERV::Graph_ptr Graph_Impl::MNode( const char * aXmlFileName ) {
beginService( "Graph_Impl::MNode" );
SUPERV::Graph_var iobject = SUPERV::Graph::_nil() ;
- if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() && !IsMacro() ) {
+ MESSAGE( "Graph_Impl::MNode( " << aXmlFileName << " )" ) ;
+ if ( !IsMacro() ) {
GraphBase::ListOfSGraphs aListOfDataFlows ;
string dbgfile ;
// At first create the editor and a StreamGraph with the xml file
GraphEditor::DataFlow * aDataFlowEditor ;
CreateEditor( _Orb , instanceName() , aXmlFileName , SUPERV::DataStreamGraph ,
dbgfile , &aDataFlowEditor ) ;
+
+ if ( _DebugFileName ) {
+ delete [] _DebugFileName ;
+ }
+ _DebugFileName = new char[ strlen( dbgfile.c_str() )+1 ] ;
+ strcpy( _DebugFileName , dbgfile.c_str() ) ;
+
int lenname = strlen( aXmlFileName ) ;
bool loaded = false ;
// Import of the xml file
if ( lenname > 4 && !strcmp( &aXmlFileName[ lenname - 4 ] , ".xml" ) ) {
loaded = aDataFlowEditor->LoadXml( aXmlFileName , aListOfDataFlows ) ;
if ( loaded ) {
- iobject = MNode( aDataFlowEditor , aListOfDataFlows ) ;
+ iobject = MNode( aDataFlowEditor , &aListOfDataFlows ) ;
}
}
}
// WARNING : THIS IS COMPLICATED :
// I should have to remove duplicated code ...
SUPERV::Graph_ptr Graph_Impl::MNode( GraphEditor::DataFlow * aMacroGraphDataFlowEditor ,
- GraphBase::ListOfSGraphs aListOfDataFlows ) {
+ GraphBase::ListOfSGraphs * aListOfDataFlows ) {
beginService( "Graph_Impl::MNode" ) ;
SUPERV::Graph_var iobject = SUPERV::Graph::_nil() ;
SUPERV::Graph_var macroiobject = SUPERV::Graph::_nil() ;
if ( !IsMacro() ) {
- if ( !aMacroGraphDataFlowEditor->LoadDataFlow( &aListOfDataFlows[ 0 ] ) ) {
+ MESSAGE( "Graph_Impl::MNode DataFlowEditor->LoadDataFlow" ) ;
+// if ( !aMacroGraphDataFlowEditor->LoadDataFlow( &aListOfDataFlows[ 0 ] ) ) {
+ iobject = LoadDataFlows( aMacroGraphDataFlowEditor , aListOfDataFlows , 0 ) ;
+ if ( CORBA::is_nil( iobject ) ) {
MESSAGE("Graph_Impl::MNode LoadDataFlow failed" ) ;
return false ;
}
// That graph is not a StreamGraph :
else if ( !aMacroGraphDataFlowEditor->Graph()->HasDataStream() ) {
aMacroGraphDataFlowEditor->Graph()->Kind( SUPERV::DataFlowGraph ) ;
- aMacroGraphDataFlowEditor->Graph()->SetGraphEditor( aMacroGraphDataFlowEditor ) ;
- Graph_Impl * myMacroGraph ;
-// We create a Graph ObjRef for that graph
- myMacroGraph = new Graph_Impl( _Orb , _Poa, _ContId,
- instanceName() , interfaceName() ,
- aMacroGraphDataFlowEditor , NULL ) ;
- PortableServer::ObjectId * id = myMacroGraph->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Graph::_narrow( obj ) ;
- myMacroGraph->SetObjRef( SUPERV::Graph::_duplicate( iobject ) ) ;
-
-
+ aMacroGraphDataFlowEditor->Graph()->GraphEditor( aMacroGraphDataFlowEditor ) ;
+ Graph_Impl * myMacroGraph = (Graph_Impl * ) aMacroGraphDataFlowEditor->Graph()->ObjImpl() ;
// Creation of a GraphMacroNode in the current editor
string aMacroNodeName = string( "Macro_" ) + string( myMacroGraph->Name() ) ;
Graph_Impl * myMacroNode ;
myMacroNode = new Graph_Impl( _Orb , _Poa, _ContId,
instanceName() , interfaceName() ,
aMacroNodeName.c_str() , SUPERV::MacroNode ) ;
- id = myMacroNode->getId() ;
- obj = _poa->id_to_reference(*id);
+ PortableServer::ObjectId * id = myMacroNode->getId() ;
+ CORBA::Object_var obj = _poa->id_to_reference(*id);
macroiobject = SUPERV::Graph::_narrow( obj ) ;
myMacroNode->DataFlowEditor( DataFlowEditor() ) ;
aDataFlowNode->SetObjRef( SUPERV::CNode::_duplicate( SUPERV::CNode::_narrow( obj ) ) ) ;
aDataFlowNode->SetObjImpl( this ) ;
-
-
GraphBase::Graph * aGraph = myMacroGraph->DataFlowEditor()->Graph() ;
GraphBase::Graph * aGraphOfMacroGraph = myMacroNode->DataFlowEditor()->Graph() ;
GraphBase::Graph * aMacroGraph = myMacroNode->DataFlowNode()->GraphMacroNode() ;
aMacroGraph->Kind( SUPERV::MacroNode ) ;
- aMacroGraph->SetGraphEditor( DataFlowEditor() ) ;
+ aMacroGraph->GraphEditor( DataFlowEditor() ) ;
// Creation of the Ports of the MacroNode from the ports of the GraphMacroNode
aMacroGraph->SetMacroPorts( aGraph ) ;
// Valid ==> creation of Service and the ports of the current Graph
aGraph->CoupledNode( aMacroGraph ) ;
aGraph->MacroObject( SUPERV::Graph::_duplicate( macroiobject ) ) ;
// Set the GraphMacroNode ObjRef in the MacroNode
+ aDataFlowNode->GraphMacroNode()->GraphMacroLevel( aGraphOfMacroGraph->GraphMacroLevel() + 1 ) ;
aMacroGraph->CoupledNode( aGraph ) ;
+// aGraphOfMacroGraph->CoupledNode( aGraph ) ;
aMacroGraph->MacroObject( SUPERV::Graph::_duplicate( iobject ) ) ;
+// aGraphOfMacroGraph->MacroObject( SUPERV::Graph::_duplicate( iobject ) ) ;
// aDataFlowNode->CoupledNode( aGraph ) ;
// aDataFlowNode->ComputingNode()->MacroObject( SUPERV::Graph::_duplicate( iobject ) ) ;
// Set the MacroLevel of that graph
aMacroGraph->Coordinates( 0 , 0 ) ;
MESSAGE( "DataFlowNode Graph " << this << " DataFlowEditor " << DataFlowEditor() << " aDataFlowNode "
<< aDataFlowNode << " " << aDataFlowNode->Name() << " created" ) ;
+ MESSAGE( "MNode aGraph " << aGraph << " " << aGraph->Name()
+ << " coupled to " << aGraph->CoupledNode() << " "
+ << aGraph->CoupledNode()->Name() ) ;
+ MESSAGE( "MNode aMacroGraph " << aMacroGraph << " " << aMacroGraph->Name()
+ << " coupled to " << aMacroGraph->CoupledNode() << " "
+ << aMacroGraph->CoupledNode()->Name() ) ;
+ MESSAGE( "MNode aMacroGraph " << myMacroNode->DataFlowEditor()->Graph() << " "
+ << myMacroNode->DataFlowEditor()->Graph()->Name()
+ << " coupled to " << myMacroNode->DataFlowEditor()->Graph()->CoupledNode() ) ;
}
else {
delete aMacroGraphDataFlowEditor ;
return SUPERV::Graph::_duplicate( macroiobject ) ;
}
+// For python supergraph
SUPERV::Graph_ptr Graph_Impl::GraphMNode( SUPERV::Graph_ptr myMacroGraph ) {
SUPERV::Graph_var iobject = myMacroGraph ;
beginService( "Graph_Impl::GraphMNode" ) ;
// Creation of a GraphMacroNode in the current editor
if ( !IsMacro() ) {
string aMacroNodeName = string( "Macro_" ) + string( myMacroGraph->Name() ) ;
+ //string aMacroNodeName = string( myMacroGraph->CoupledName() ) ;
MESSAGE( "GraphMNode( " << myMacroGraph->Name() << " )" ) ;
Graph_Impl * myMacroNode ;
myMacroNode = new Graph_Impl( _Orb , _Poa, _ContId,
aPythonFunction.resize( 1 ) ;
aPythonFunction[0] = &aListOfStrings ;
SALOME_ModuleCatalog::Service * aMacroNodeService = myMacroGraph->Service() ;
- GraphEditor::InNode * aDataFlowNode = DataFlowEditor()->AddNode( *aMacroNodeService , "" , "" ,
- aMacroNodeName.c_str() , SUPERV::MacroNode ,
- aFuncName , aPythonFunction ) ;
+ GraphEditor::InNode * aDataFlowNode ;
+ aDataFlowNode = DataFlowEditor()->AddNode( *aMacroNodeService , "" , "" ,
+ aMacroNodeName.c_str() , SUPERV::MacroNode ,
+ aFuncName , aPythonFunction ) ;
aDataFlowNode->SetPythonFunction( "" , aListOfStrings ) ;
myMacroNode->DataFlowNode( aDataFlowNode ) ;
aDataFlowNode->ComputingNode()->SetService( *aMacroNodeService ) ;
aDataFlowNode->SetObjRef( SUPERV::CNode::_duplicate( SUPERV::CNode::_narrow( obj ) ) ) ;
aDataFlowNode->SetObjImpl( this ) ;
-
-
-// GraphBase::Graph * aGraph = myMacroGraph->DataFlowEditor()->Graph() ;
- GraphBase::Graph * aGraph = DataFlowEditor()->Automaton()->MapGraph( myMacroGraph->Name() ) ;
+// GraphBase::Graph * aGraph = DataFlowEditor()->Automaton()->MapGraph( myMacroGraph->Name() ) ;
+ GraphBase::Graph * aGraph ;
+ //DataFlowEditor()->Automaton()->GraphBase( &aGraph ) ;
+ myMacroGraph->Coupled() ;
GraphBase::Graph * aGraphOfMacroGraph = myMacroNode->DataFlowEditor()->Graph() ;
GraphBase::Graph * aMacroGraph = myMacroNode->DataFlowNode()->GraphMacroNode() ;
aMacroGraph->Kind( SUPERV::MacroNode ) ;
- aMacroGraph->SetGraphEditor( DataFlowEditor() ) ;
+ aMacroGraph->GraphEditor( DataFlowEditor() ) ;
// Creation of the Ports of the MacroNode from the ports of the GraphMacroNode
aMacroGraph->SetMacroPorts( aGraph ) ;
// Valid ==> creation of Service and the ports of the current Graph
aGraph->CoupledNode( aMacroGraph ) ;
aGraph->MacroObject( SUPERV::Graph::_duplicate( macroiobject ) ) ;
// Set the GraphMacroNode ObjRef in the MacroNode
+ aDataFlowNode->GraphMacroNode()->GraphMacroLevel( aGraphOfMacroGraph->GraphMacroLevel() + 1 ) ;
aMacroGraph->CoupledNode( aGraph ) ;
aMacroGraph->MacroObject( SUPERV::Graph::_duplicate( iobject ) ) ;
// aDataFlowNode->CoupledNode( aGraph ) ;
aGraph->GraphMacroLevel( aGraphOfMacroGraph->GraphMacroLevel() + 1 ) ;
aMacroGraph->Coordinates( 0 , 0 ) ;
MESSAGE( aGraph->Name() << "->CoupledNode()->GraphEditor() : " << aGraph->CoupledNode()->GraphEditor() ) ;
- MESSAGE( aMacroGraph->Name() << "->CoupledNode()->GraphEditor() : " << aMacroGraph->CoupledNode()->GraphEditor() ) ;
+ MESSAGE( aMacroGraph->Name() << "->CoupledNode()->GraphEditor() : "
+ << aMacroGraph->CoupledNode()->GraphEditor() ) ;
MESSAGE( "DataFlowNode Graph " << this << " DataFlowEditor " << DataFlowEditor() << " aDataFlowNode "
<< aDataFlowNode << " " << aDataFlowNode->Name() << " created" ) ;
}
SUPERV::Link_ptr Graph_Impl::Link( SUPERV::Port_ptr OutPort ,
SUPERV::Port_ptr InPort ) {
- beginService( "Graph_Impl::Link" );
+// beginService( "Graph_Impl::Link" );
SUPERV::Link_var iobject = SUPERV::Link::_nil() ;
if ( DataFlowEditor()->IsEditing() && !DataFlowEditor()->IsReadOnly() &&
!OutPort->IsDataStream() && !InPort->IsDataStream() && !IsMacro() ) {
- GraphBase::InPort * anInPort = DataFlowEditor()->GetNode( InPort->Node()->Name() )->ComputingNode()->GetChangeInPort( InPort->Name() ) ;
- GraphBase::OutPort * anOutPort = DataFlowEditor()->GetNode( OutPort->Node()->Name() )->ComputingNode()->GetChangeOutPort( OutPort->Name() ) ;
- if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
- const char * DataFlowOutNodeName = OutPort->Node()->Name() ;
- GraphEditor::InNode * DataFlowOutNode = DataFlowEditor()->GetNode( DataFlowOutNodeName ) ;
- const char * DataFlowInNodeName = InPort->Node()->Name() ;
- GraphEditor::InNode * DataFlowInNode = DataFlowEditor()->GetNode( DataFlowInNodeName ) ;
- if ( DataFlowOutNode && DataFlowInNode ) {
- bool Success ;
- Link_Impl * myLink = new Link_Impl( _Orb , _Poa , _ContId ,
- instanceName() , interfaceName() ,
- DataFlowEditor() ,
- DataFlowInNode ,
- InPort->Name() ,
- DataFlowOutNode ,
- OutPort->Name() ,
- true , false , Success ) ;
- if ( Success ) {
- PortableServer::ObjectId * id = myLink->getId() ;
- CORBA::Object_var obj = _poa->id_to_reference(*id);
- iobject = SUPERV::Link::_narrow(obj) ;
- anOutPort->AddInPortObjRef( anInPort , SUPERV::Link::_duplicate( iobject ) ) ;
- }
- }
+ MESSAGE( "Graph_Impl::Link( " << OutPort->Node()->Name() << "( " << OutPort->Name() << " ) --> "
+ << InPort->Node()->Name() << "( " << InPort->Name() << " )" ) ;
+ GraphEditor::InNode * anInNode = DataFlowEditor()->GetNode( InPort->Node()->Name() ) ;
+ GraphEditor::InNode * anOutNode = DataFlowEditor()->GetNode( OutPort->Node()->Name() ) ;
+ if ( anInNode == NULL || anOutNode== NULL ) {
+ MESSAGE( "Graph_Impl::Link( " << OutPort->Node()->Name() << " " << anOutNode << " , "
+ << InPort->Node()->Name() << " " << anInNode << " ) Node(s) not found in " << Name() ) ;
}
else {
- iobject = anOutPort->InPortObjRef( anInPort ) ;
+ GraphBase::InPort * anInPort = anInNode->ComputingNode()->GetChangeInPort( InPort->Name() ) ;
+ GraphBase::OutPort * anOutPort = anOutNode->ComputingNode()->GetChangeOutPort( OutPort->Name() ) ;
+ if ( anInPort == NULL || anOutPort== NULL ) {
+ MESSAGE( "Graph_Impl::Link( " << OutPort->Name() << " " << anOutPort << " , "
+ << InPort->Name() << " " << anInPort << " ) Port(s) not found" ) ;
+ }
+ else if ( CORBA::is_nil( anOutPort->InPortObjRef( anInPort ) ) ) {
+ const char * DataFlowOutNodeName = OutPort->Node()->Name() ;
+ GraphEditor::InNode * DataFlowOutNode = DataFlowEditor()->GetNode( DataFlowOutNodeName ) ;
+ const char * DataFlowInNodeName = InPort->Node()->Name() ;
+ GraphEditor::InNode * DataFlowInNode = DataFlowEditor()->GetNode( DataFlowInNodeName ) ;
+ if ( DataFlowOutNode && DataFlowInNode ) {
+ bool Success ;
+ Link_Impl * myLink = new Link_Impl( _Orb , _Poa , _ContId ,
+ instanceName() , interfaceName() ,
+ DataFlowEditor() ,
+ DataFlowInNode ,
+ InPort->Name() ,
+ DataFlowOutNode ,
+ OutPort->Name() ,
+ true , false , Success ) ;
+ if ( Success ) {
+ PortableServer::ObjectId * id = myLink->getId() ;
+ CORBA::Object_var obj = _poa->id_to_reference(*id);
+ iobject = SUPERV::Link::_narrow(obj) ;
+ anOutPort->AddInPortObjRef( anInPort , SUPERV::Link::_duplicate( iobject ) ) ;
+ }
+ }
+ }
+ else {
+ iobject = anOutPort->InPortObjRef( anInPort ) ;
+ }
}
}
- endService( "Graph_Impl::Link" );
+ DataFlowEditor()->UnValid() ;
+// endService( "Graph_Impl::Link" );
return SUPERV::Link::_duplicate( iobject ) ;
}
GraphBase::InPort * anInPort = anOutPort->ChangeInPorts( k ) ;
// MESSAGE( " --> In" << k << " " << anInPort->NodeName() << " " << anInPort->PortName()
// << " " << anInPort->PortStatus() ) ;
- if ( !anInPort->IsExternConnected() ) {
- GraphEditor::InNode * toNode = (GraphEditor::InNode * ) DataFlowEditor()->Graph()->GetChangeGraphNode( anInPort->NodeName() )->GetInNode() ;
+ if ( anInPort->IsPortConnected() ) {
+ GraphBase::ComputingNode * aComputingNode = DataFlowEditor()->Graph()->GetChangeGraphNode( anInPort->NodeName() ) ;
+ GraphEditor::InNode * toNode = (GraphEditor::InNode * ) aComputingNode->GetInNode() ;
if ( theNode == NULL ||
!strcmp( theNode->Name() , aNode->Name() ) ) {
if ( !anInPort->IsDataStream() ) {
}
bool Graph_Impl::IsEditing() {
-// beginService( "Graph_Impl::IsEditing" );
+/*
bool RetVal = false ;
if ( !IsMacro() ) {
RetVal = DataFlowEditor()->IsEditing() ;
}
-// endService( "Graph_Impl::IsEditing" );
return RetVal ;
+*/
+ if ( IsMacro() )
+ return false;
+ return !IsExecuting();
}
+
bool Graph_Impl::IsExecuting() {
-// beginService( "Graph_Impl::IsExecuting" );
+/*
bool RetVal = false ;
if ( !IsMacro() ) {
RetVal = !DataFlowEditor()->IsEditing() ;
}
-// endService( "Graph_Impl::IsExecuting" );
return RetVal ;
+*/
+ return CNode_Impl::IsExecuting();
}
bool Graph_Impl::IsReadOnly() {
}
if ( DataFlowExecutor() ) {
MESSAGE( "Graph_Impl::Begin " << DataFlowExecutor()->Threads() << " threads" )
- if ( DataFlowExecutor()->Threads() ) {
- DataFlowExecutor()->JoinedWait() ;
- }
+// if ( DataFlowExecutor()->Threads() ) {
+// DataFlowExecutor()->JoinedWait() ;
+// }
delete DataFlowExecutor() ;
- DataFlowExecutor( NULL ) ;
DataFlowEditor()->Executor( NULL ) ;
}
if ( DataFlowEditor()->IsExecutable() ) {
DataFlowEditor()->EditedAfterExecution( false ) ;
- int _ExecNumber = theAutomaton->ExecNumber() ;
- char ExecNumber[30] ;
- sprintf( ExecNumber , "_%d" , _ExecNumber ) ;
- int len = strlen( _DebugFileName ) ;
- char * DebugFileName = new char [ len + strlen( ExecNumber ) + 6 ] ;
- strncpy( DebugFileName , _DebugFileName , len - 4 ) ;
- DebugFileName[ len - 4 ] = '\0' ;
- strcat( DebugFileName , ExecNumber ) ;
- strcat( DebugFileName , "_Exec.log" ) ;
- GraphExecutor::DataFlow * aDataFlowExecutor ;
GraphBase::ListOfSGraphs * myListOfGraphs = DataFlowEditor()->GetDataFlows() ;
- int i ;
- for ( i = 0 ; i < (int ) myListOfGraphs->size() ; i++ ) {
- GraphEditor::DataFlow * aDataFlowEditor ;
- aDataFlowEditor = theAutomaton->MapGraph( (*myListOfGraphs)[ i ].Info.theName.c_str() )->GraphEditor() ;
- MESSAGE("myListOfGraphs" << i << " " << (*myListOfGraphs)[ i ].Info.theName.c_str() << " "
- << aDataFlowEditor << " IsEditing " << aDataFlowEditor->IsEditing() ) ;
-
- }
- aDataFlowExecutor = new GraphExecutor::DataFlow( _Orb , _NamingService ,
- (*myListOfGraphs)[ 0 ].Info.theName.c_str() ,
- DebugFileName , Kind() ) ;
- DataFlowExecutor( aDataFlowExecutor ) ;
+
+ GraphExecutor::DataFlow * aDataFlowExecutor ;
+ string dbgfile ;
+ CreateExecutor( _Orb , instanceName() , (*myListOfGraphs)[ 0 ].Info.theName.c_str() , Kind() ,
+ dbgfile , &aDataFlowExecutor ) ;
+
MESSAGE( "Graph_Impl::Begin : DataFlowExecutor created" );
- RetVal = LoadDataFlows( DataFlowExecutor() , myListOfGraphs , 0 ) ;
- if ( RetVal ) {
+ if ( !CORBA::is_nil( LoadDataFlows( aDataFlowExecutor, myListOfGraphs , 0 ) ) )
+ RetVal = true ;
+
+ if ( RetVal )
DataFlowExecutor()->Graph()->SetObjImpl( DataFlowEditor()->Graph()->ObjImpl() ) ;
- DataFlowEditor()->Executor( DataFlowExecutor() ) ;
- }
+
}
if ( pthread_mutex_unlock( &_MutexExecutorWait ) ) {
perror("pthread_mutex_unlock _MutexExecutorWait") ;
bool Graph_Impl::Run() {
beginService( "Graph_Impl::Run" );
bool RetVal = false ;
- if ( DataFlowEditor()->IsEditing() && !IsMacro() ) {
+ if ( ( DataFlowEditor()->IsEditing() || IsDone() ) && !IsMacro() ) {
MESSAGE( "Graph_Impl::Run " << DataFlowEditor()->Graph()->Name() << " " << DataFlowEditor() << " IsEditing" );
if ( DataFlowEditor()->Graph()->GraphMacroLevel() ) {
MESSAGE( "Graph_Impl::Run " << DataFlowEditor()->Graph()->Name() << " GraphMacroLevel "
RetVal = CNode_Impl::Run() ;
}
}
- else if ( !IsMacro() ) {
- MESSAGE( "Graph_Impl::Run " << DataFlowEditor()->Graph()->Name() << " " << DataFlowEditor()
- << " IsNOTEditing --> CNode_Impl::ReRun" );
- DataFlowEditor()->Executing() ;
- RetVal = CNode_Impl::ReRun() ;
- }
+// It is necessary to reload the dataflow because of ports with input initial values changed
+// during execution to values of outport of EndLoopNode or GOTONode
+// else if ( !IsMacro() && IsDone() ) {
+// MESSAGE( "Graph_Impl::Run " << DataFlowEditor()->Graph()->Name() << " " << DataFlowEditor()
+// << " IsNOTEditing --> CNode_Impl::ReRun" );
+// DataFlowEditor()->Executing() ;
+// RetVal = CNode_Impl::ReRun() ;
+// }
+ MESSAGE( "Graph_Impl::Run " << DataFlowEditor()->Graph()->Name() << " RetVal " << RetVal ) ;
endService( "Graph_Impl::Run" );
return RetVal ;
}
bool Graph_Impl::Start() {
beginService( "Graph_Impl::Start" );
bool RetVal = false ;
- if ( !IsMacro() ) {
- if ( DataFlowEditor()->IsEditing() ) {
- MESSAGE( "Graph_Impl::Start IsEditing" );
- RetVal = Begin() ;
+ if ( ( DataFlowEditor()->IsEditing() || IsDone() ) && !IsMacro() ) {
+ MESSAGE( "Graph_Impl::Start " << DataFlowEditor()->Graph()->Name() << " " << DataFlowEditor() << " IsEditing" );
+ if ( DataFlowEditor()->Graph()->GraphMacroLevel() ) {
+ MESSAGE( "Graph_Impl::Start " << DataFlowEditor()->Graph()->Name() << " GraphMacroLevel "
+ << DataFlowEditor()->Graph()->GraphMacroLevel() ) ;
+ RetVal = true ;
}
else {
- RetVal = true ;
+ MESSAGE( "Graph_Impl::Start " << DataFlowEditor()->Graph()->Name() << " GraphMacroLevel "
+ << DataFlowEditor()->Graph()->GraphMacroLevel() << " --> Begin()" ) ;
+ RetVal = Begin() ;
}
if ( RetVal ) {
- MESSAGE( "Graph_Impl::(Re)Start " );
- // Added by NKV to fix PAL6222 --> to be confirm by JR
+ // Added by NKV to fix PAL6222 --> to be confirm by JR ; JR confirmed
DataFlowEditor()->Executing() ;
// End of NKV's correction
+ MESSAGE( "Graph_Impl::(Re)Start " );
RetVal = ReStart() ;
}
}
+// It is necessary to reload the dataflow because of ports with input initial values changed
+// during execution to values of outport of EndLoopNode or GOTONode
+// else if ( !IsMacro() && IsDone() ) {
+// MESSAGE( "Graph_Impl::Start " << DataFlowEditor()->Graph()->Name() << " " << DataFlowEditor()
+// << " IsNOTEditing --> CNode_Impl::ReStart" );
+// DataFlowEditor()->Executing() ;
+// RetVal = CNode_Impl::ReStart() ;
+// }
+ MESSAGE( "Graph_Impl::Start " << DataFlowEditor()->Graph()->Name() << " RetVal " << RetVal ) ;
endService( "Graph_Impl::Start" );
return RetVal ;
}
const char *interfaceName ,
GraphEditor::DataFlow * DataFlowEditor ,
GraphEditor::InNode * DataFlowNode ) ;
- Graph_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphExecutor::DataFlow * DataFlowExecutor ,
- GraphExecutor::InNode * DataFlowExecutorNode ) ;
virtual SUPERV::Graph_ptr Copy() ;
virtual ~Graph_Impl() ;
const SUPERV::ListOfStrings & PythonFunction ,
SUPERV::INode_out anEndOfSwitch ) ;
- bool LoadDataFlows( GraphEditor::DataFlow * aDataFlowEditor ,
- GraphBase::ListOfSGraphs * aListOfDataFlows ,
- int index ) ;
- bool LoadDataFlows( GraphExecutor::DataFlow * aDataFlowExecutor ,
- GraphBase::ListOfSGraphs * aListOfDataFlows ,
- int index ) ;
+ SUPERV::Graph_var LoadDataFlows( GraphEditor::DataFlow * aDataFlowEditor ,
+ GraphBase::ListOfSGraphs * aListOfDataFlows ,
+ int index ) ;
+ SUPERV::Graph_var LoadDataFlows( GraphExecutor::DataFlow * aDataFlowExecutor ,
+ GraphBase::ListOfSGraphs * aListOfDataFlows ,
+ int index ) ;
virtual SUPERV::Graph_ptr MNode( const char * aXmlFileName ) ;
virtual SUPERV::Graph_ptr MNode( GraphEditor::DataFlow * aDataFlowEditor ,
- GraphBase::ListOfSGraphs aListOfDataFlows ) ;
+ GraphBase::ListOfSGraphs * aListOfDataFlows ) ;
virtual SUPERV::Graph_ptr GraphMNode( SUPERV::Graph_ptr aGraph ) ;
// endService( "INode_Impl::INode_Impl" );
}
-INode_Impl::INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphExecutor::DataFlow * aDataFlowExecutor ,
- GraphExecutor::InNode * aDataFlowExecutorNode ) :
-// Engines_Component_i(orb, poa, contId, instanceName, interfaceName, false, false) {
- CNode_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowExecutor , aDataFlowExecutorNode ) {
-// beginService( "INode_Impl::INode_Impl" );
- if ( DataFlowExecutorNode() && DataFlowExecutorNode()->IsInLineNode() ) {
-// MESSAGE( "INode_Impl::INode_Impl " << DataFlowExecutorNode()->Name()
-// << " _poa->activate_object" );
- _thisObj = this ;
- _id = _poa->activate_object(_thisObj);
- }
- else {
-// MESSAGE( "INode_Impl::INode_Impl NO _poa->activate_object" );
- }
- _Orb = CORBA::ORB::_duplicate(orb);
- _Poa = poa ;
- _ContId = contId ;
-// endService( "INode_Impl::INode_Impl" );
-}
-
INode_Impl::~INode_Impl() {
beginService( "INode_Impl::~INode_Impl" );
endService( "INode_Impl::~INode_Impl" );
const char *interfaceName ,
GraphEditor::DataFlow * DataFlowEditor ,
GraphEditor::InNode * DataFlowNode ) ;
- INode_Impl( CORBA::ORB_ptr orb ,
- PortableServer::POA_ptr poa ,
- PortableServer::ObjectId * contId ,
- const char *instanceName ,
- const char *interfaceName ,
- GraphExecutor::DataFlow * DataFlowExecutor ,
- GraphExecutor::InNode * DataFlowExecutorNode ) ;
virtual ~INode_Impl() ;
virtual void destroy() ;
virtual bool Delete() ;
aCoupled->destroy() ;
}
}
-// endService( "LNode_Impl::Destroy" );
+ endService( "LNode_Impl::Destroy" );
}
bool LNode_Impl::Delete() {
beginService( "LNode_Impl::Delete" );
- bool RetVal = false ;
+ bool RetVal = false ;
if ( DataFlowEditor()->IsEditing() ) {
DeletePorts() ;
RetVal = DataFlowEditor()->RemoveNode( Name() ) ;
CPPFLAGS+= $(PYTHON_INCLUDES) $(QT_MT_INCLUDES) $(VTK_INCLUDES) $(OGL_INCLUDES) $(OCC_INCLUDES) \
-I${KERNEL_ROOT_DIR}/include/salome
-CXXFLAGS += -g -D_DEBUG_ -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
+CXXFLAGS += -g -D__x86__ -D__linux__ -ftemplate-depth-42 -Wall \
-I${KERNEL_ROOT_DIR}/include/salome
LDFLAGS+= -lSalomeSuperVisionEditor -lSalomeSuperVisionExecutor -lSalomeSuperVisionBase \
-lSalomeContainer -lSalomeNotification -lSalomeNS -lSalomeLifeCycleCORBA \
}
else if ( _DataFlowEditor->IsExecuting() ) {
GraphExecutor::DataFlow * _DataFlowExecutor = _DataFlowEditor->Executor() ;
-// if ( _DataFlowExecutor && ( _DataFlowExecutor->IsSuspended() ||
-// _DataFlowExecutor->IsSuspended( _DataFlowNode->Name() ) ) ) {
- if ( _DataFlowExecutor ) {
+
+ // asv: turn off Editor::_Executing flag
+ if ( _DataFlowExecutor->IsDone() ) {
+ _DataFlowEditor->Executing( false );
+ }
+ else {
RetVal = _DataFlowExecutor->ChangeInputData( _DataFlowNode->Name() ,
_DataFlowPort->PortName() ,
*anAny ) ;
SUPERV::ListOfLinks * Port_Impl::Links() {
beginService( "Port_Impl::Links" ) ;
SUPERV::ListOfLinks_var RetVal = new SUPERV::ListOfLinks ;
- RetVal = _DataFlowEditor->Graph()->ObjImpl()->Links( _DataFlowNode->ComputingNode() ,
- _DataFlowPort->PortName() ) ;
+ RetVal = _DataFlowEditor->Graph()->ObjImpl()->Links( /*_DataFlowNode->ComputingNode() ,
+ _DataFlowPort->PortName()*/ ) ;
MESSAGE( "Links of Node " << _DataFlowNode->ComputingNode()->Name()
<< " and of Port " << _DataFlowPort->PortName()
<< " _InputPort " << _InputPort ) ;
SUPERV::ListOfLinks_var Links = new SUPERV::ListOfLinks ;
// cout << "Port_Impl::Link " << _DataFlowNode->Name() << " "
// << _DataFlowPort->PortName() << endl ;
- Links = _DataFlowEditor->Graph()->ObjImpl()->Links( _DataFlowNode->ComputingNode() ,
- _DataFlowPort->PortName() ) ;
+ Links = _DataFlowEditor->Graph()->ObjImpl()->Links( /*_DataFlowNode->ComputingNode() ,
+ _DataFlowPort->PortName()*/ ) ;
if ( Links->length() ) {
iobject = Links[ 0 ] ;
}
GraphEditor::DataFlow * aDataFlowEditor ,
GraphEditor::InNode * aDataFlowNode ) :
Graph_Impl( orb , poa , contId , instanceName , interfaceName , aDataFlowEditor , aDataFlowNode ) {
- MESSAGE( aDataFlowNode->Name() << " " );
beginService( "StreamGraph_Impl::StreamGraph_Impl" );
- if ( aDataFlowNode->IsMacroNode() ) {
+ if ( aDataFlowEditor->Graph()->IsDataStreamNode() ||
+ ( aDataFlowNode && aDataFlowNode->IsMacroNode() ) ) {
MESSAGE( "StreamGraph_Impl::StreamGraph_Impl _poa->activate_object" );
_thisObj = this ;
_id = _poa->activate_object(_thisObj);
import os
import re
from types import *
+import readline
#try :
# SuperVision = SuperV_Swig( len(sys.argv) , sys.argv )
SALOMEDS::ListOfFileNames_var aSeq = new SALOMEDS::ListOfFileNames;
TCollection_AsciiString myStudyName("");
- if (isMultiFile) myStudyName = strdup(SALOMEDS_Tool::GetNameFromPath(theComponent->GetStudy()->URL()));
+ if (isMultiFile) myStudyName = (char*)SALOMEDS_Tool::GetNameFromPath(theComponent->GetStudy()->URL()).c_str();
SALOMEDS::ChildIterator_var anIter = theComponent->GetStudy()->NewChildIterator(theComponent);
TColStd_SequenceOfAsciiString aFileNames;
CORBA::Object_var anObj = _orb->string_to_object(SALOMEDS::AttributeIOR::_narrow(anAttr)->Value()) ;
SUPERV::Graph_var graph = SUPERV::Graph::_narrow(anObj);
if (aTmpDir.Length() == 0)
- aTmpDir = (isMultiFile)?TCollection_AsciiString((char*)theURL):SALOMEDS_Tool::GetTmpDir();
+ aTmpDir = (isMultiFile)?TCollection_AsciiString((char*)theURL):(char*)SALOMEDS_Tool::GetTmpDir().c_str();
graph->Export((aTmpDir + aName).ToCString());
}
}
// MESSAGE("SuperV_Impl::Load : IOR = " << IORSComponent << " , Url = " << aUrlOfFile);
// Get a temporary directory for a file
if (theStream.length() != 0) {
- TCollection_AsciiString aTmpDir = (isMultiFile)?TCollection_AsciiString((char*)theURL):SALOMEDS_Tool::GetTmpDir();
+ TCollection_AsciiString aTmpDir = (isMultiFile)?TCollection_AsciiString((char*)theURL):(char*)SALOMEDS_Tool::GetTmpDir().c_str();
myStrURL = strdup(aTmpDir.ToCString());
SALOMEDS_Tool::PutStreamToFiles(theStream, myStrURL, isMultiFile);
}
if (strcmp(aFatherID, aComponentID)) return CORBA::string_dup(aLocalPersistentID);
string myStudyName("");
- if (isMultiFile) myStudyName = strdup(SALOMEDS_Tool::GetNameFromPath(theSObject->GetStudy()->URL()));
+ if (isMultiFile) myStudyName = SALOMEDS_Tool::GetNameFromPath(theSObject->GetStudy()->URL());
string aStr(myStrURL);
aStr += myStudyName + string(aLocalPersistentID);
}
// Get a temporary directory to store a temporary file
- CORBA::String_var aTmpDir = SALOMEDS_Tool::GetTmpDir();
+ CORBA::String_var aTmpDir = SALOMEDS_Tool::GetTmpDir().c_str();
// Create a list to store names of created files
SALOMEDS::ListOfFileNames_var aSeq = new SALOMEDS::ListOfFileNames;
aSeq->length(1);
return aResultSO._retn();
}
- TCollection_AsciiString aTmpDir = SALOMEDS_Tool::GetTmpDir();
+ TCollection_AsciiString aTmpDir = (char*)SALOMEDS_Tool::GetTmpDir().c_str();
SALOMEDS::ListOfFileNames_var aSeq = SALOMEDS_Tool::PutStreamToFiles(theStream, aTmpDir.ToCString(), false);
TCollection_AsciiString aFullName;
aFullName = aTmpDir+aSeq[0];
#include "Value_Impl.hxx"
+#include "DataFlowExecutor_DataFlow.hxx"
+
Value_Impl::Value_Impl( CORBA::ORB_ptr orb ,
PortableServer::POA_ptr poa ,
PortableServer::ObjectId * contId ,
from batchmode_salome import naming_service
from batchmode_salome import CORBA
from batchmode_salome import myStudy
+ import SALOME_ModuleCatalog
+ import SUPERV
+ import SUPERV_idl
except :
import curses
from LifeCycleCORBA import *
from SALOME_NamingServicePy import *
import SUPERV
import SUPERV_idl
+ import SALOME_ModuleCatalog
from batchmode_salome import *
# try :
# from libSuperVision_Swig import SuperV_Swig
# except :
# SuperV_Swig = None
orb = CORBA.ORB_init([''], CORBA.ORB_ID)
- lcc = LifeCycleCORBA(orb)
+ #lcc = LifeCycleCORBA(orb)
+ while lcc._catalog == None:
+ lcc = LifeCycleCORBA(orb)
naming_service = SALOME_NamingServicePy_i(orb)
+import os
import re
from types import *
+import readline
import SALOMEDS
import SALOMEDS_Attributes_idl
#try :
# print 'Supervision Component loaded'
SuperVision = lcc.FindOrLoadComponent("SuperVisionContainer","SUPERV")
-SuperVision.Swig = 0
+#SuperVision.Swig = 0
-modulecatalog = naming_service.Resolve("/Kernel/ModulCatalog")
+modulecatalog = None
+while modulecatalog == None:
+ modulecatalog = naming_service.Resolve("/Kernel/ModulCatalog")
myBuilder = myStudy.NewBuilder()
father = myStudy.FindComponent("SUPERV")
if self.N.IsFactory() :
print "ComponentName ",self.N.GetComponentName()
print "InterfaceName ",self.N.GetInterfaceName()
+ if self.N.IsStreamGraph() :
+ Timeout,DataStreamTrace,DeltaTime = self.G.StreamParams()
+ print "Timeout",Timeout
+ print "DataStreamTrace",DataStreamTrace
+ print "DeltaTime",DeltaTime
aService = self.N.Service()
print "Service Name ",aService.ServiceName
lenin = len( aService.ServiceinParameter )
# inp = Port( inp , self.N.Verbose )
# outp = Port( outp , self.N.Verbose )
# return sts,inp,outp
+ def InStreamPort( self , aParameterName , aParameterType , aDependency ):
+ aPort = self.N.InStreamPort( aParameterName , aParameterType , aDependency )
+ if aPort != None :
+ myPort = StreamPort( aPort , self.N.Verbose )
+ return myPort
+ if self.N.Verbose :
+ print "Error while creating the Port : ",aParameterName
+ return None
+ def OutStreamPort( self , aParameterName , aParameterType , aDependency ):
+ aPort = self.N.OutStreamPort( aParameterName , aParameterType , aDependency )
+ if aPort != None :
+ myPort = StreamPort( aPort , self.N.Verbose )
+ return myPort
+ if self.N.Verbose :
+ print "Error while creating the Port : ",aParameterName
+ return None
+ def GetInPort( self , aParameterName ):
+ aPort = self.N.GetInPort( aParameterName )
+ if aPort != None :
+ myPort = Port( aPort , self.N.Verbose )
+ return myPort
+ if self.N.Verbose :
+ print "Error while creating the Port : ",aParameterName
+ return None
+ def GetOutPort( self , aParameterName ):
+ aPort = self.N.GetOutPort( aParameterName )
+ if aPort != None :
+ myPort = Port( aPort , self.N.Verbose )
+ return myPort
+ if self.N.Verbose :
+ print "Error while creating the Port : ",aParameterName
+ return None
+ def GetInStreamPort( self , aParameterName ):
+ aPort = self.N.GetInStreamPort( aParameterName )
+ if aPort != None :
+ myPort = StreamPort( aPort , self.N.Verbose )
+ return myPort
+ if self.N.Verbose :
+ print "Error while creating the Port : ",aParameterName
+ return None
+ def GetOutStreamPort( self , aParameterName ):
+ aPort = self.N.GetOutStreamPort( aParameterName )
+ if aPort != None :
+ myPort = StreamPort( aPort , self.N.Verbose )
+ return myPort
+ if self.N.Verbose :
+ print "Error while creating the Port : ",aParameterName
+ return None
def Ports( self ):
ports = self.N.Ports()
i = 0
ports[ i ] = Port( ports[i] , self.N.Verbose )
i = i + 1
return ports
+ def StreamPorts( self ):
+ ports = self.N.StreamPorts()
+ i = 0
+ while i < len( ports ) :
+ ports[ i ] = StreamPort( ports[i] , self.N.Verbose )
+ i = i + 1
+ return ports
+ def AllPorts( self ):
+ allports = self.N.Ports()
+ lenports = len( allports )
+ i = 0
+ while i < lenports :
+ allports[ i ] = Port( allports[i] , self.N.Verbose )
+ i = i + 1
+ ports = self.N.StreamPorts()
+ i = 0
+ while i < len( ports ) :
+ allports.append( StreamPort( ports[i] , self.N.Verbose ) )
+ i = i + 1
+ return allports
def ListPorts( self , *args ):
if len( args ) == 0 :
aName = self.N.Name()
else :
aName = args[ 0 ]
- ports = self.N.Ports()
+ ports = self.AllPorts()
listofports = ""
+ ilst = 0
if len( ports ) :
portsname = ports[ 0 ].Name()
bs = portsname.find('\\')
portsname1,portsname2 = portsname.split('\\')
portsname = portsname1 + portsname2
if ports[ 0 ].IsInput():
- listofports = aName + 'In' + portsname
+ listofports = 'I' + aName + portsname
else :
- listofports = aName + 'Out' + portsname
+ listofports = 'O' + aName + portsname
i = 1
while i < len( ports ) :
portsname = ports[ i ].Name()
portsname1,portsname2 = portsname.split('\\')
portsname = portsname1 + portsname2
if ports[ i ].IsInput():
- listofports = listofports + ',' + aName + 'In' + portsname
+ listofports = listofports + ',' + 'I' + aName + portsname
else :
- listofports = listofports + ',' + aName + 'Out' + portsname
+ listofports = listofports + ',' + 'O' + aName + portsname
i = i + 1
print listofports
if len( ports ) == 1 :
- listofports = "[" + listofports + "] = " + aName + ".Ports()"
+ listofports = "[" + listofports + "] = " + aName + ".AllPorts()"
else :
- listofports = listofports + " = " + aName + ".Ports()"
+ listofports = listofports + " = " + aName + ".AllPorts()"
return listofports
def PrintPorts( self ):
- ports = self.N.Ports()
+ ports = self.AllPorts()
i = 0
while i < len( ports ) :
Direction = "Out"
if ports[ i ].IsInput() :
Direction = "In"
- print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString()
+ if ( ports[ i ].IsDataStream() ) & ( self.N.IsStreamGraph() == 0 ) :
+ if ports[ i ].IsInput() :
+ sts,aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation = ports[ i ].Params()
+ print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString(),ports[ i ].Dependency(),aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation
+ else :
+ numberofvalues = ports[ i ].NumberOfValues()
+ print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString(),ports[ i ].Dependency(),'NumberOfValues',numberofvalues
+ else :
+ print Direction,self.N.Name(),'(',ports[ i ].Name(),ports[ i ].Kind(),ports[ i ].Type(),') = ',ports[ i ].ToString()
i = i + 1
def Links( self ) :
links = self.N.Links()
links[ i ] = Link( links[i] , self.N.Verbose )
i = i + 1
return links
+ def StreamLinks( self ) :
+ links = self.N.StreamLinks()
+ i = 0
+ while i < len( links ) :
+ links[ i ] = StreamLink( links[i] , self.N.Verbose )
+ i = i + 1
+ return links
+ def AllLinks( self ) :
+ alllinks = self.N.Links()
+ lenlinks = len( alllinks )
+ i = 0
+ while i < lenlinks :
+ alllinks[ i ] = Link( alllinks[i] , self.N.Verbose )
+ i = i + 1
+ links = self.N.StreamLinks()
+ i = 0
+ while i < len( links ) :
+ alllinks.append( StreamLink( links[i] , self.N.Verbose ) )
+ i = i + 1
+ return alllinks
+ def ListLinks( self , *args ):
+ links = self.AllLinks()
+ if len( links ) :
+ listoflinks = 'L' + links[ 0 ].OutPort().Node().Name()
+ listoflinks = listoflinks + links[ 0 ].OutPort().Name()
+ listoflinks = listoflinks + links[ 0 ].InPort().Node().Name()
+ listoflinks = listoflinks + links[ 0 ].InPort().Name()
+ i = 1
+ while i < len( links ) :
+ listoflinks = listoflinks + ',' + 'L' + links[ i ].OutPort().Node().Name()
+ listoflinks = listoflinks + links[ i ].OutPort().Name()
+ listoflinks = listoflinks + links[ i ].InPort().Node().Name()
+ listoflinks = listoflinks + links[ i ].InPort().Name()
+ i = i + 1
+ print listoflinks
+ if len( args ) == 0 :
+ aName = self.N.Name()
+ else :
+ aName = args[ 0 ]
+ if len( links ) == 1 :
+ listoflinks = "[" + listoflinks + "] = " + aName + ".AllLinks()"
+ else :
+ listoflinks = listoflinks + " = " + aName + ".AllLinks()"
+ return listoflinks
def PrintLinks( self ):
- links = self.Links()
+ links = self.AllLinks()
i = 0
while i < len( links ) :
links[i].Print()
i = i + 1
+ def IsStreamGraph( self ):
+ return self.N.IsStreamGraph()
def IsGraph( self ):
return self.N.IsGraph()
+ def IsMacro( self ):
+ return self.N.IsMacro()
+ def IsFlowMacro( self ):
+ return self.N.IsFlowMacro()
+ def IsStreamMacro( self ):
+ return self.N.IsStreamMacro()
def IsComputing( self ):
return self.N.IsComputing()
def IsFactory( self ):
return self.N.IsSwitch()
def IsEndSwitch( self ):
return self.N.IsEndSwitch()
+ def GraphLevel( self ) :
+ return self.N.GraphLevel()
def SubGraph( self ):
return self.N.SubGraph()
+ def SubStreamGraph( self ):
+ return self.N.SubStreamGraph()
def Thread( self ):
return self.N.Thread()
def IsWaiting( self ):
return self.N.Control()
def ControlClear( self ):
return self.N.ControlClear()
- def AutoState( self ):
- return self.N.AutoState()
def ReadyW( self ):
return self.N.ReadyW()
def RunningW( self ):
return self.N.PyFunction()
def PyFuncName( self ):
return self.N.PyFuncName()
- def EPyFunc( self ):
- PyFunc = self.N.PyFunction()
- PyFunc = self.Edit( self.N.PyFuncName() , PyFunc )
- self.N.SetPyFunction( self.N.PyFuncName() , PyFunc )
def InPort( self , aParameterName , aParameterType ):
aPort = self.N.InPort( aParameterName ,
aParameterType )
if self.N.Verbose :
print "Error while creating the Port : ",aParameterName
return None
+ def EPyFunc( self ):
+ PyFunc = self.N.PyFunction()
+ PyFunc = self.Edit( self.N.PyFuncName() , PyFunc )
+ self.N.SetPyFunction( self.N.PyFuncName() , PyFunc )
##########################################################
class GNode(INode):
# self.Parametername = aServicesParameter.Parametername
##########################################################
-class Graph(INode):
+class Graph(GNode):
##########################################################
def __init__( self , aName ):
try:
try:
graph = aName.G.Copy()
except:
- graph = None
+ graph = aName
if graph != None :
+ if graph.IsStreamGraph() :
+ aGraph = graph.ToStreamGraph()
+ if aGraph != None :
+ graph = StreamGraph( aGraph )
+ else :
+ print "Graph creation failed"
self.G = graph
self.G.Verbose = 1
self.N = graph
print ErrMsg
return aNode
def Node( self , aComponent , anInterface , aService ):
- if SuperVision.Swig :
- aService = Service_Swig( aService )
+ #if SuperVision.Swig :
+ #aService = Service_Swig( aService )
return self.FNode( aComponent , anInterface , aService )
def FNode( self , aComponent , anInterface , aService ):
NodeComponent = modulecatalog.GetComponent( aComponent )
aService = NodeComponent.GetService( anInterface , aService )
- if SuperVision.Swig :
- aService = Service_Swig( aService )
+ #if SuperVision.Swig :
+ #aService = Service_Swig( aService )
aNode = self.G.FNode( aComponent , anInterface , aService )
if aNode != None :
myNode = FNode( aNode , self.G.Verbose )
# if self.G.Verbose :
# print ErrMsg
# return aNode
+ def MNode( self , aGraphXml ):
+ aMNode = self.G.MNode( aGraphXml )
+ if aMNode != None :
+ myMNode = MNode( aMNode , self.G.Verbose )
+ return myMNode
+ ErrMsg = "Failed to create a MNode"
+ if self.G.Verbose :
+ print ErrMsg
+ return aMNode
+ def GraphMNode( self , aGraph ):
+ aGraphMNode = self.G.GraphMNode( aGraph.G )
+ if aGraphMNode != None :
+ myMNode = MNode( aGraphMNode , self.G.Verbose )
+ return myMNode
+ ErrMsg = "Failed to create a MNode"
+ if self.G.Verbose :
+ print ErrMsg
+ return aGraphMNode
+ def FlowObjRef( self ) :
+ aGraph = self.G.FlowObjRef()
+ if aGraph != None :
+ myGraph = Graph( aGraph )
+ return myGraph
+ return aGraph
+ def StreamObjRef( self ) :
+ aGraph = self.G.StreamObjRef()
+ if aGraph != None :
+ myGraph = StreamGraph( aGraph )
+ return myGraph
+ return aGraph
def PrintService( self , aComponent , anInterface , aService ):
NodeComponent = modulecatalog.GetComponent( aComponent )
aService = NodeComponent.GetService( anInterface , aService )
return self.G.LevelMax()
def ThreadsMax( self ):
return self.G.ThreadsMax()
- def GraphsNumber( self ):
- return self.G.GraphsNumber()
+ def SubGraphsNumber( self ):
+ return self.G.SubGraphsNumber()
def LevelNodes( self , aLevel ):
nodes = self.G.LevelNodes( aLevel )
return self.nodesTuple( nodes )
pynodes.append( GNode( nodes.ESNodes[i] , self.G.Verbose ) )
i = i + 1
j = j + 1
+ n = len( nodes.Graphs )
+ i = 0
+ while i < n :
+ pynodes.append( MNode( nodes.Graphs[i] , self.G.Verbose ) )
+ i = i + 1
+ j = j + 1
return pynodes
def ListNodes( self , *args ):
nodes = self.Nodes()
i = 0
while i < n :
print ' '
- nodes[i].Print()
+ nodes[ i ].Print()
i = i + 1
def PrintThreads( self ):
nodes = self.Nodes()
i = 0
while i < len( nodes ) :
- print nodes[i].Name(),nodes[i].Thread(),nodes[i].State(),nodes[i].Control(),nodes[i].AutoState()
+ print nodes[i].Name(),nodes[i].Thread(),nodes[i].State(),nodes[i].Control(),nodes[i]
i = i + 1
def GLinks( self ):
links = self.G.GLinks()
i = 0
- while i < len( links ) :
+ linkslen = len( links )
+ #print 'GLinks ',linkslen,'Links'
+ while i < linkslen :
links[ i ] = Link( links[i] , self.G.Verbose )
i = i + 1
- return links
+ def GStreamLinks( self ):
+ streamlinks = self.G.GStreamLinks()
+ i = 0
+ #print 'GStreamLinks ',len( streamlinks ),'StreamLinks'
+ while i < len( streamlinks ) :
+ streamlinks[ i ] = StreamLink( streamlinks[i] , self.G.Verbose )
+ i = i + 1
+ return streamlinks
+ def GAllLinks( self ) :
+ alllinks = self.G.GLinks()
+ lenlinks = len( alllinks )
+ i = 0
+ while i < lenlinks :
+ alllinks[ i ] = Link( alllinks[i] , self.N.Verbose )
+ i = i + 1
+ links = self.G.StreamLinks()
+ j = 0
+ while j < len(links) :
+ alllinks.append( StreamLink( links[j] , self.N.Verbose ) )
+ i = i + 1
+ j = j + 1
+ return alllinks
def ListLinks( self , *args ):
- links = self.G.GLinks()
+ links = self.GAllLinks()
if len( links ) :
- listoflinks = links[ 0 ].InPort().Node().Name()
+ listoflinks = 'L' + links[ 0 ].OutPort().Node().Name()
+ listoflinks = listoflinks + links[ 0 ].OutPort().Name()
+ listoflinks = listoflinks + links[ 0 ].InPort().Node().Name()
listoflinks = listoflinks + links[ 0 ].InPort().Name()
i = 1
while i < len( links ) :
- listoflinks = listoflinks + ',' + links[ i ].InPort().Node().Name()
+ listoflinks = listoflinks + ',' + 'L' + links[ i ].OutPort().Node().Name()
+ listoflinks = listoflinks + links[ i ].OutPort().Name()
+ listoflinks = listoflinks + links[ i ].InPort().Node().Name()
listoflinks = listoflinks + links[ i ].InPort().Name()
i = i + 1
print listoflinks
else :
aName = args[ 0 ]
if len( links ) == 1 :
- listoflinks = "[" + listoflinks + "] = " + aName + ".GLinks()"
+ listoflinks = "[" + listoflinks + "] = " + aName + ".GAllLinks()"
else :
- listoflinks = listoflinks + " = " + aName + ".GLinks()"
+ listoflinks = listoflinks + " = " + aName + ".GAllLinks()"
return listoflinks
def PrintLinks( self ):
- links = self.G.GLinks()
+ links = self.GAllLinks()
i = 0
while i < len( links ) :
- Link( links[ i ] , self.G.Verbose ).Print()
+ links[ i ].Print()
i = i + 1
- def Graphs( self ):
- graphs = self.G.Graphs()
+ def SubGraphsNodes( self , ):
+ graphs = self.G.SubGraphsNodes()
outgraphs = graphs
i = 0
while i < len( graphs ) :
if self.G.Verbose :
print ErrMsg
return aCopy
+ def ToStreamGraph( self ):
+ aGraph = self.G.ToStreamGraph()
+ if aGraph != None :
+ return StreamGraph( aGraph )
+ return None
+ def SubGraphsNodes( self , aSubGraphsNumber ):
+ nodes = self.G.SubGraphsNodes( aSubGraphsNumber )
+ return self.nodesTuple( nodes )
def Merge( self , aGraph ):
return self.G.Merge( aGraph.G )
def Destroy( self ):
self.G.Verbose = 1
self.N = graph
self.N.Verbose = 1
+ def ToStreamGraph( self ):
+ aGraph = self.G.ToStreamGraph()
+ if aGraph != None :
+ return StreamGraphE( aGraph )
+ return None
+
+##########################################################
+class MNode(Graph):
+##########################################################
+ def __init__( self , aMNode , Verbose ):
+ self.G = aMNode
+ self.G.Verbose = Verbose
+ self.N = aMNode
+ self.N.Verbose = Verbose
+
+##########################################################
+class StreamGraph(Graph):
+##########################################################
+ def __init__( self , aName ):
+ try:
+ graph = SuperVision.StreamGraph( aName )
+ except:
+ try:
+ graph = aName.G.StreamCopy()
+ except:
+ graph = aName
+ if graph != None :
+ self.G = graph
+ self.G.Verbose = 1
+ self.N = graph
+ self.N.Verbose = 1
+ else :
+ print "StreamGraph creation failed"
+ def StreamCopy( self ):
+ aCopy = self.G.StreamCopy()
+ if aCopy != None:
+ myCopy = StreamGraph( aCopy )
+ return myCopy
+ ErrMsg = "Failed to get a Copy of " + self.G.Name()
+ if self.G.Verbose :
+ print ErrMsg
+ return aCopy
+ def StreamLink( self , anOutStreamPort , anInStreamPort ) :
+ aStreamLink = self.G.StreamLink( anOutStreamPort.P , anInStreamPort.P )
+ if aStreamLink!= None:
+ myStreamLink = StreamLink( aStreamLink , self.G.Verbose )
+ return myStreamLink
+ ErrMsg = "Failed to make a StreamLink in " + self.G.Name()
+ if self.G.Verbose :
+ print ErrMsg
+ return aStreamLink
+ def SetStreamParams( self , Timeout , DataStreamTrace , DeltaTime ):
+ return self.G.SetStreamParams( Timeout , DataStreamTrace , DeltaTime )
+ def StreamParams( self ):
+ Timeout,DataStreamTrace,DeltaTime = self.G.StreamParams()
+ return Timeout,DataStreamTrace,DeltaTime
+ def ToFlowGraph( self ):
+ return self.G.ToFlowGraph()
+ def SubStreamGraphsNumber( self ):
+ return self.G.SubStreamGraphsNumber()
+ def SubStreamGraphsNodes( self , aSubStreamGraphsNumber ):
+ nodes = self.G.SubStreamGraphsNodes( aSubStreamGraphsNumber )
+ return self.nodesTuple( nodes )
+ def StreamMerge( self , aStreamGraph ):
+ return self.G.StreamMerge( aStreamGraph.G )
+
+##########################################################
+class StreamGraphE(StreamGraph):
+##########################################################
+ def __init__( self , aName ):
+ graph = SuperVision.StreamGraphE( aName )
+ self.G = graph
+ self.G.Verbose = 1
+ self.N = graph
+ self.N.Verbose = 1
##########################################################
class Value:
return self.P.IsSwitch()
def IsEndSwitch( self ):
return self.P.IsEndSwitch()
+ def IsDataStream( self ):
+ return self.P.IsDataStream()
# def IsBus( self ):
# return self.P.IsBus()
def Done( self ):
def Destroy( self ):
self.P.destroy()
+##########################################################
+class StreamPort(Port):
+##########################################################
+ def __init__( self , aPort , Verbose ):
+ self.P = aPort
+ self.P.Verbose = Verbose
+ def StreamLink( self ) :
+ return self.P.StreamLink()
+ def Dependency( self ) :
+ return self.P.Dependency()
+ def SetDependency( self , aDependency ) :
+ return self.P.SetDependency( aDependency )
+ def Params( self ) :
+ sts,aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation = self.P.Params()
+ return sts,aKindOfSchema,aKindOfInterpolation,aKindOfExtrapolation
+ def SetParams( self , aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation ) :
+ return self.P.SetParams( aKindOfSchema , aKindOfInterpolation , aKindOfExtrapolation )
+ def NumberOfValues( self ) :
+ return self.P.NumberOfValues()
+ def SetNumberOfValues( self , aNumberOfValues ) :
+ return self.P.SetNumberOfValues( aNumberOfValues )
+
##########################################################
class Link:
##########################################################
return None
def Print( self ):
anOutPort = self.L.OutPort()
+ anOutPortName = anOutPort.Name()
+ anOutPortKind = anOutPort.Kind()
+ anOutPortValue = anOutPort.ToString()
+ anOutNode = anOutPort.Node()
+ anOutNodeName = anOutNode.Name()
anInPort = self.L.InPort()
- print anOutPort.Node().Name(),'(',anOutPort.Name(),' ',anOutPort.Kind(),') =',anOutPort.ToString(),' --> ',anInPort.Node().Name(),'(',anInPort.Name(),')',' ',anInPort.Kind()
+ anInPortName = anInPort.Name()
+ anInPortKind = anInPort.Kind()
+ anInNode = anInPort.Node()
+ anInNodeName = anInNode.Name()
+ print anOutNodeName,'(',anOutPortName,' ',anOutPortKind,') =',anOutPortValue,' --> ',anInNodeName,'(',anInPortName,')',' ',anInPortKind
def CoordsSize( self ):
return self.L.CoordsSize()
def AddCoord( self , index , X , Y ):
self.L.destroy()
+
+##########################################################
+class StreamLink(Link):
+##########################################################
+ def __init__( self , aLink , Verbose ):
+ self.L = aLink
+ self.L.Verbose = Verbose
+ def OutStreamPort( self ):
+ aPort = self.L.OutStreamPort()
+ if aPort != None :
+ myPort = StreamPort( aPort , self.L.Verbose )
+ return myPort
+ if self.L.Verbose :
+ print "Error while getting the Port : "
+ return None
+ def InStreamPort( self ):
+ aPort = self.L.InStreamPort()
+ if aPort != None :
+ myPort = StreamPort( aPort , self.L.Verbose )
+ return myPort
+ if self.L.Verbose :
+ print "Error while getting the Port : "
+ return None