Salome HOME
Merging with JR_ASV_2_1_0_deb_with_KERNEL_Head branch, which contains many bug fixes...
[modules/superv.git] / examples / GraphLoop.py
index 8488517c458d0553f6ee099933bec000f4cb16a6..9bb211b618fa786a465d13a28b62601d029a1636 100644 (file)
@@ -2,80 +2,93 @@
 # Generated python file of Graph GraphLoop
 
 from SuperV import *
-# Graph creation 
-GraphLoop = Graph( 'GraphLoop' )
-GraphLoop.SetName( 'GraphLoop' )
-GraphLoop.SetAuthor( '' )
-GraphLoop.SetComment( '' )
-GraphLoop.Coords( 0 , 0 )
 
-# Creation of Factory Nodes
+# Graph creation of GraphLoop
+def DefGraphLoop() :
+    GraphLoop = Graph( 'GraphLoop' )
+    GraphLoop.SetName( 'GraphLoop' )
+    GraphLoop.SetAuthor( '' )
+    GraphLoop.SetComment( '' )
+    GraphLoop.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'def Init(Index,Min,Max,Incr) :   ' )
+    PyInit.append( '    if Min <= Max :   ' )
+    PyInit.append( '        Index = Min   ' )
+    PyInit.append( '    else :   ' )
+    PyInit.append( '        Index = Max   ' )
+    PyInit.append( '    return Index,Min,Max,Incr   ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'import time ' )
+    PyMoreInit.append( 'def More(Index,Min,Max,Incr) :   ' )
+    PyMoreInit.append( '    time.sleep(2) ' )
+    PyMoreInit.append( '    if Index < Max :   ' )
+    PyMoreInit.append( '        DoLoop = 1   ' )
+    PyMoreInit.append( '    else :   ' )
+    PyMoreInit.append( '        DoLoop = 0   ' )
+    PyMoreInit.append( '    return DoLoop,Index,Min,Max,Incr   ' )
+    PyNextInit = []
+    PyNextInit.append( 'def Next(Index,Min,Max,Incr) :   ' )
+    PyNextInit.append( '    Index = Index + Incr   ' )
+    PyNextInit.append( '    return Index,Min,Max,Incr  ' )
+    Init,EndInit = GraphLoop.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( '' )
+    EndInit.SetComment( 'Compute Node' )
+    EndInit.Coords( 366 , 262 )
+    PyEndInit = []
+    EndInit.SetPyFunction( '' , PyEndInit )
+    IInitInitLoop = Init.GetInPort( 'DoLoop' )
+    IInitIndex = Init.InPort( 'Index' , 'long' )
+    IInitMin = Init.InPort( 'Min' , 'long' )
+    IInitMax = Init.InPort( 'Max' , 'long' )
+    IInitIncr = Init.InPort( 'Incr' , 'long' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitIndex = Init.GetOutPort( 'Index' )
+    OInitMin = Init.GetOutPort( 'Min' )
+    OInitMax = Init.GetOutPort( 'Max' )
+    OInitIncr = Init.GetOutPort( 'Incr' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitIndex = EndInit.GetInPort( 'Index' )
+    IEndInitMin = EndInit.GetInPort( 'Min' )
+    IEndInitMax = EndInit.GetInPort( 'Max' )
+    IEndInitIncr = EndInit.GetInPort( 'Incr' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    OEndInitMin = EndInit.GetOutPort( 'Min' )
+    OEndInitMax = EndInit.GetOutPort( 'Max' )
+    OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( '' )
+    Init.SetComment( 'Compute Node' )
+    Init.Coords( 17 , 257 )
+    
+    # Creation of Links
+    LInitIndexEndInitIndex = GraphLoop.Link( OInitIndex , IEndInitIndex )
+    
+    LInitMinEndInitMin = GraphLoop.Link( OInitMin , IEndInitMin )
+    
+    LInitMaxEndInitMax = GraphLoop.Link( OInitMax , IEndInitMax )
+    
+    LInitIncrEndInitIncr = GraphLoop.Link( OInitIncr , IEndInitIncr )
+    
+    # Input datas
+    IInitIndex.Input( 0 )
+    IInitMin.Input( 5 )
+    IInitMax.Input( 10 )
+    IInitIncr.Input( 1 )
+    
+    # Output Ports of the graph
+    #OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    #OEndInitMin = EndInit.GetOutPort( 'Min' )
+    #OEndInitMax = EndInit.GetOutPort( 'Max' )
+    #OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    return GraphLoop
 
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init(Index,Min,Max,Incr) :  ' )
-PyInit.append( '    if Min <= Max :  ' )
-PyInit.append( '        Index = Min  ' )
-PyInit.append( '    else :  ' )
-PyInit.append( '        Index = Max  ' )
-PyInit.append( '    return Index,Min,Max,Incr  ' )
-PyMoreInit = []
-PyMoreInit.append( 'def More(Index,Min,Max,Incr) :  ' )
-PyMoreInit.append( '    if Index < Max :  ' )
-PyMoreInit.append( '        DoLoop = 1  ' )
-PyMoreInit.append( '    else :  ' )
-PyMoreInit.append( '        DoLoop = 0  ' )
-PyMoreInit.append( '    return DoLoop,Index,Min,Max,Incr  ' )
-PyNextInit = []
-PyNextInit.append( 'def Next(Index,Min,Max,Incr) :  ' )
-PyNextInit.append( '    Index = Index + Incr  ' )
-PyNextInit.append( '    return Index,Min,Max,Incr ' )
-Init,EndInit = GraphLoop.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
-EndInit.SetName( 'EndInit' )
-EndInit.SetAuthor( '' )
-EndInit.SetComment( '' )
-EndInit.Coords( 314 , 91 )
-Init.InPort( 'Index' , 'long' )
-Init.InPort( 'Min' , 'long' )
-Init.InPort( 'Max' , 'long' )
-Init.InPort( 'Incr' , 'long' )
-Init.OutPort( 'Index' , 'long' )
-Init.OutPort( 'Min' , 'long' )
-Init.OutPort( 'Max' , 'long' )
-Init.OutPort( 'Incr' , 'long' )
-Init.SetName( 'Init' )
-Init.SetAuthor( '' )
-Init.SetComment( '' )
-Init.Coords( 31 , 74 )
-
-# Creation of Links
-InitIndex = Init.Port( 'Index' )
-EndInitIndex = GraphLoop.Link( InitIndex , EndInit.Port( 'Index' ) )
-
-InitMin = Init.Port( 'Min' )
-EndInitMin = GraphLoop.Link( InitMin , EndInit.Port( 'Min' ) )
-
-InitMax = Init.Port( 'Max' )
-EndInitMax = GraphLoop.Link( InitMax , EndInit.Port( 'Max' ) )
-
-InitIncr = Init.Port( 'Incr' )
-EndInitIncr = GraphLoop.Link( InitIncr , EndInit.Port( 'Incr' ) )
-
-# Creation of Input datas
-InitIndex = Init.Input( 'Index' , 0)
-InitMin = Init.Input( 'Min' , 0)
-InitMax = Init.Input( 'Max' , 1000)
-InitIncr = Init.Input( 'Incr' , 1)
-
-# Creation of Output variables
-EndInitIndex = EndInit.Port( 'Index' )
-EndInitMin = EndInit.Port( 'Min' )
-EndInitMax = EndInit.Port( 'Max' )
-EndInitIncr = EndInit.Port( 'Incr' )
-
-GraphLoop.Run()
-
-GraphLoop.DoneW()
-
-GraphLoop.PrintPorts()
 
+GraphLoop = DefGraphLoop()