Salome HOME
Join modifications from branch OCC_debug_for_3_2_0b1 BR_DEBUG_3_2_0b1 T3_2_0b1 T3_2_0b2 V3_2_0 V3_2_0b1 V3_2_0b2 V3_2_0rc
authorjfa <jfa@opencascade.com>
Sat, 6 May 2006 08:57:14 +0000 (08:57 +0000)
committerjfa <jfa@opencascade.com>
Sat, 6 May 2006 08:57:14 +0000 (08:57 +0000)
16 files changed:
Superv/Graphs/GeomGraph_py.xml
Superv/Graphs/GraphGeomEssai_py.xml
Superv/Graphs/GraphInconsistencyTypes.xml [new file with mode: 0644]
Superv/Graphs/GraphNoEqualInPortsNumber.xml [new file with mode: 0644]
Superv/Graphs/GraphNoInputData.xml [new file with mode: 0644]
Superv/Graphs/GraphNotClosedChainInsideLoop.xml [new file with mode: 0644]
Superv/Graphs/GraphNotClosedChainInsideSwitch.xml [new file with mode: 0644]
Superv/Graphs/GraphPythonSyntaxError.xml [new file with mode: 0644]
Superv/Graphs/MacroWithGeom_py.xml
Superv/Graphs/NewGraphGeomEssai_py.xml
Superv/Python/GraphInconsistencyTypes.py [new file with mode: 0644]
Superv/Python/GraphNoEqualInPortsNumber.py [new file with mode: 0644]
Superv/Python/GraphNoInputData.py [new file with mode: 0644]
Superv/Python/GraphNotClosedChainInsideLoop.py [new file with mode: 0644]
Superv/Python/GraphNotClosedChainInsideSwitch.py [new file with mode: 0644]
Superv/Python/GraphPythonSyntaxError.py [new file with mode: 0644]

index d6ea4e92d51d6f66d9df761694449669d790860d..fa64447c1834dfd64909bc51a768e5dddb491649 100644 (file)
       <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[    if aSession == None : ]]></PyFunc>
+      <PyFunc><![CDATA[      aStudyId = 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></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>
index 52ca0b5128190f18269e9a442853f60c143d7c34..686ab10c58e66226eb56136e914f4bbbf2c6f09f 100644 (file)
       <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[    if aSession == None : ]]></PyFunc>
+      <PyFunc><![CDATA[      aStudyId = 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></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>
diff --git a/Superv/Graphs/GraphInconsistencyTypes.xml b/Superv/Graphs/GraphInconsistencyTypes.xml
new file mode 100644 (file)
index 0000000..ceadfe3
--- /dev/null
@@ -0,0 +1,114 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>aNewDataFlow_4</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>aNewDataFlow_4</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>double</inParameter-type>
+       <inParameter-name>MulNode__a</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>double</inParameter-type>
+       <inParameter-name>MulNode__b</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>string</outParameter-type>
+       <outParameter-name>MulNode__c</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/4/2006 - 15:16:9</creation-date>
+    <lastmodification-date>14/4/2006 - 15:16:12</lastmodification-date>
+    <editor-release>3.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>MulNode</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>MulNode</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>string</outParameter-type>
+       <outParameter-name>c</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>MulNode</FuncName>
+      <PyFunc><![CDATA[def MulNode(a,b): ]]></PyFunc>
+      <PyFunc><![CDATA[    c = a*b ]]></PyFunc>
+      <PyFunc><![CDATA[    return c ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:16:12</creation-date>
+    <lastmodification-date>14/4/2006 - 15:16:12</lastmodification-date>
+    <editor-release>3.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>
+   </node>
+  </node-list>
+  <link-list/>
+  <data-list>
+   <data>
+    <fromnode-name>aNewDataFlow_4</fromnode-name>
+    <fromserviceparameter-name>MulNode__a</fromserviceparameter-name>
+    <tonode-name>MulNode</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <data-value>
+     <value-type>7</value-type>
+     <value>10.5</value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>aNewDataFlow_4</fromnode-name>
+    <fromserviceparameter-name>MulNode__b</fromserviceparameter-name>
+    <tonode-name>MulNode</tonode-name>
+    <toserviceparameter-name>b</toserviceparameter-name>
+    <data-value>
+     <value-type>7</value-type>
+     <value>2</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/Superv/Graphs/GraphNoEqualInPortsNumber.xml b/Superv/Graphs/GraphNoEqualInPortsNumber.xml
new file mode 100644 (file)
index 0000000..e85ee18
--- /dev/null
@@ -0,0 +1,95 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>aNewDataFlow_3</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>aNewDataFlow_3</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>double</inParameter-type>
+       <inParameter-name>MulNode__a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>MulNode__c</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/4/2006 - 15:8:0</creation-date>
+    <lastmodification-date>14/4/2006 - 15:11:16</lastmodification-date>
+    <editor-release>3.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>MulNode</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>MulNode</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>c</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>MulNode</FuncName>
+      <PyFunc><![CDATA[def MulNode(a,b): ]]></PyFunc>
+      <PyFunc><![CDATA[    c = a*b ]]></PyFunc>
+      <PyFunc><![CDATA[    return c ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:11:16</creation-date>
+    <lastmodification-date>14/4/2006 - 15:11:16</lastmodification-date>
+    <editor-release>3.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>
+   </node>
+  </node-list>
+  <link-list/>
+  <data-list>
+   <data>
+    <fromnode-name>aNewDataFlow_3</fromnode-name>
+    <fromserviceparameter-name>MulNode__a</fromserviceparameter-name>
+    <tonode-name>MulNode</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <data-value>
+     <value-type>7</value-type>
+     <value>10.5</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/Superv/Graphs/GraphNoInputData.xml b/Superv/Graphs/GraphNoInputData.xml
new file mode 100644 (file)
index 0000000..8d933f0
--- /dev/null
@@ -0,0 +1,104 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <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>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>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>Add__z</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/4/2006 - 14:54:2</creation-date>
+    <lastmodification-date>14/4/2006 - 14:54:16</lastmodification-date>
+    <editor-release>3.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>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>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/4/2006 - 14:54:16</creation-date>
+    <lastmodification-date>14/4/2006 - 14:54:16</lastmodification-date>
+    <editor-release>3.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Add from AddComponent</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>
+   </node>
+  </node-list>
+  <link-list/>
+  <data-list>
+   <data>
+    <fromnode-name>aNewDataFlow_1</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.4</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/Superv/Graphs/GraphNotClosedChainInsideLoop.xml b/Superv/Graphs/GraphNotClosedChainInsideLoop.xml
new file mode 100644 (file)
index 0000000..67a7d45
--- /dev/null
@@ -0,0 +1,433 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitch</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>GraphSwitch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfSwitch__a</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>14/4/2006 - 15:47:47</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>IsOdd</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+     <service-name>InitLoopSwitch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>
+     </PyFunction>
+     <PyFunction>
+      <FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index <= Max :   ]]></PyFunc>
+      <PyFunc><![CDATA[                DoLoop = 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        else :     ]]></PyFunc>
+      <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
+      <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>
+     </PyFunction>
+     <PyFunction>
+      <FuncName>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+     <service-name>EndOfInitLoopSwitch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>776</x-position>
+    <y-position>170</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+     <service-name>Switch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>129</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+     <service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>582</x-position>
+    <y-position>170</y-position>
+   </node>
+  </node-list>
+  <link-list>
+   <link>
+    <fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>564</x>
+      <y>201</y>
+     </coord>
+     <coord>
+      <x>564</x>
+      <y>134</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>371</x>
+      <y>136</y>
+     </coord>
+     <coord>
+      <x>371</x>
+      <y>200</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>
+   </link>
+  </link-list>
+  <data-list>
+   <data>
+    <fromnode-name>GraphSwitch</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>0</value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphSwitch</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>0</value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphSwitch</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>35</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/Superv/Graphs/GraphNotClosedChainInsideSwitch.xml b/Superv/Graphs/GraphNotClosedChainInsideSwitch.xml
new file mode 100644 (file)
index 0000000..47db5ad
--- /dev/null
@@ -0,0 +1,428 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitch</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>GraphSwitch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>EndOfSwitch__a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>IsOdd__a</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:25</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>IsOdd</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+     <service-name>InitLoopSwitch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>
+     </PyFunction>
+     <PyFunction>
+      <FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index <= Max :   ]]></PyFunc>
+      <PyFunc><![CDATA[                DoLoop = 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        else :     ]]></PyFunc>
+      <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
+      <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>
+     </PyFunction>
+     <PyFunction>
+      <FuncName>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+     <service-name>EndOfInitLoopSwitch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>776</x-position>
+    <y-position>170</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+     <service-name>Switch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>129</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+     <service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:42:11</creation-date>
+    <lastmodification-date>14/4/2006 - 15:42:11</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>582</x-position>
+    <y-position>170</y-position>
+   </node>
+  </node-list>
+  <link-list>
+   <link>
+    <fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>371</x>
+      <y>136</y>
+     </coord>
+     <coord>
+      <x>371</x>
+      <y>200</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>
+   </link>
+  </link-list>
+  <data-list>
+   <data>
+    <fromnode-name>GraphSwitch</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>0</value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphSwitch</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>0</value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphSwitch</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>35</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/Superv/Graphs/GraphPythonSyntaxError.xml b/Superv/Graphs/GraphPythonSyntaxError.xml
new file mode 100644 (file)
index 0000000..6ffa52c
--- /dev/null
@@ -0,0 +1,113 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>aNewDataFlow_2</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>aNewDataFlow_2</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>boolean</inParameter-type>
+       <inParameter-name>ErrorNode__a</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>boolean</inParameter-type>
+       <inParameter-name>ErrorNode__b</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>boolean</outParameter-type>
+       <outParameter-name>ErrorNode__c</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/4/2006 - 14:55:17</creation-date>
+    <lastmodification-date>14/4/2006 - 15:0:48</lastmodification-date>
+    <editor-release>3.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>ErrorNode</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>ErrorNode</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>boolean</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>boolean</inParameter-type>
+       <inParameter-name>b</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>boolean</outParameter-type>
+       <outParameter-name>c</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>ErrorNode</FuncName>
+      <PyFunc><![CDATA[def ErrorNode(a,b) ]]></PyFunc>
+      <PyFunc><![CDATA[  return a&b ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>14/4/2006 - 15:0:48</creation-date>
+    <lastmodification-date>14/4/2006 - 15:0:48</lastmodification-date>
+    <editor-release>3.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>
+   </node>
+  </node-list>
+  <link-list/>
+  <data-list>
+   <data>
+    <fromnode-name>aNewDataFlow_2</fromnode-name>
+    <fromserviceparameter-name>ErrorNode__a</fromserviceparameter-name>
+    <tonode-name>ErrorNode</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>1</value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>aNewDataFlow_2</fromnode-name>
+    <fromserviceparameter-name>ErrorNode__b</fromserviceparameter-name>
+    <tonode-name>ErrorNode</tonode-name>
+    <toserviceparameter-name>b</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>0</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
index f73d9350c42bab1291a1b8432ef2e6b5d791d241..236bb99a527ae91da52f6d33509b00e565350133 100644 (file)
       <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[    if aSession == None : ]]></PyFunc>
+      <PyFunc><![CDATA[      aStudyId = 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></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>
index 17ad7ca1b92e20d2af53553f51915a5808b8aed8..1a8c0247ac15d63979d5845ae9a86ccc3895cb0c 100644 (file)
       <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[    if aSession == None : ]]></PyFunc>
+      <PyFunc><![CDATA[      aStudyId = 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></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>
diff --git a/Superv/Python/GraphInconsistencyTypes.py b/Superv/Python/GraphInconsistencyTypes.py
new file mode 100644 (file)
index 0000000..e87435d
--- /dev/null
@@ -0,0 +1,41 @@
+
+# Generated python file of Graph aNewDataFlow_4
+
+from SuperV import *
+
+# Graph creation of aNewDataFlow_4
+def DefaNewDataFlow_4() :
+    aNewDataFlow_4 = Graph( 'aNewDataFlow_4' )
+    aNewDataFlow_4.SetName( 'aNewDataFlow_4' )
+    aNewDataFlow_4.SetAuthor( '' )
+    aNewDataFlow_4.SetComment( '' )
+    aNewDataFlow_4.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyMulNode = []
+    PyMulNode.append( 'def MulNode(a,b): ' )
+    PyMulNode.append( '    c = a*b ' )
+    PyMulNode.append( '    return c ' )
+    MulNode = aNewDataFlow_4.INode( 'MulNode' , PyMulNode )
+    MulNode.SetName( 'MulNode' )
+    MulNode.SetAuthor( '' )
+    MulNode.SetComment( 'Compute Node' )
+    MulNode.Coords( 0 , 0 )
+    IMulNodea = MulNode.InPort( 'a' , 'double' )
+    IMulNodeb = MulNode.InPort( 'b' , 'double' )
+    IMulNodeGate = MulNode.GetInPort( 'Gate' )
+    OMulNodec = MulNode.OutPort( 'c' , 'string' )
+    OMulNodeGate = MulNode.GetOutPort( 'Gate' )
+    
+    # Input datas
+    IMulNodea.Input( 10.5 )
+    IMulNodeb.Input( 2 )
+    
+    # Output Ports of the graph
+    #OMulNodec = MulNode.GetOutPort( 'c' )
+    return aNewDataFlow_4
+
+
+aNewDataFlow_4 = DefaNewDataFlow_4()
diff --git a/Superv/Python/GraphNoEqualInPortsNumber.py b/Superv/Python/GraphNoEqualInPortsNumber.py
new file mode 100644 (file)
index 0000000..1279671
--- /dev/null
@@ -0,0 +1,39 @@
+
+# Generated python file of Graph aNewDataFlow_3
+
+from SuperV import *
+
+# Graph creation of aNewDataFlow_3
+def DefaNewDataFlow_3() :
+    aNewDataFlow_3 = Graph( 'aNewDataFlow_3' )
+    aNewDataFlow_3.SetName( 'aNewDataFlow_3' )
+    aNewDataFlow_3.SetAuthor( '' )
+    aNewDataFlow_3.SetComment( '' )
+    aNewDataFlow_3.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyMulNode = []
+    PyMulNode.append( 'def MulNode(a,b): ' )
+    PyMulNode.append( '    c = a*b ' )
+    PyMulNode.append( '    return c ' )
+    MulNode = aNewDataFlow_3.INode( 'MulNode' , PyMulNode )
+    MulNode.SetName( 'MulNode' )
+    MulNode.SetAuthor( '' )
+    MulNode.SetComment( 'Compute Node' )
+    MulNode.Coords( 0 , 0 )
+    IMulNodea = MulNode.InPort( 'a' , 'double' )
+    IMulNodeGate = MulNode.GetInPort( 'Gate' )
+    OMulNodec = MulNode.OutPort( 'c' , 'double' )
+    OMulNodeGate = MulNode.GetOutPort( 'Gate' )
+    
+    # Input datas
+    IMulNodea.Input( 10.5 )
+    
+    # Output Ports of the graph
+    #OMulNodec = MulNode.GetOutPort( 'c' )
+    return aNewDataFlow_3
+
+
+aNewDataFlow_3 = DefaNewDataFlow_3()
diff --git a/Superv/Python/GraphNoInputData.py b/Superv/Python/GraphNoInputData.py
new file mode 100644 (file)
index 0000000..fcfdfd5
--- /dev/null
@@ -0,0 +1,41 @@
+
+# Generated python file of Graph aNewDataFlow_1
+
+from SuperV import *
+
+# 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
+    
+    Add = aNewDataFlow_1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add.SetName( 'Add' )
+    Add.SetAuthor( '' )
+    Add.SetContainer( 'localhost/FactoryServer' )
+    Add.SetComment( 'Add from AddComponent' )
+    Add.Coords( 0 , 0 )
+    IAddx = Add.GetInPort( 'x' )
+    IAddy = Add.GetInPort( 'y' )
+    IAddGate = Add.GetInPort( 'Gate' )
+    OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    OAddz = Add.GetOutPort( 'z' )
+    OAddGate = Add.GetOutPort( 'Gate' )
+    
+    # Input datas
+    IAddx.Input( 0.4 )
+    
+    # Input Ports of the graph
+    #IAddy = Add.GetInPort( 'y' )
+    
+    # Output Ports of the graph
+    #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    #OAddz = Add.GetOutPort( 'z' )
+    return aNewDataFlow_1
+
+
+aNewDataFlow_1 = DefaNewDataFlow_1()
diff --git a/Superv/Python/GraphNotClosedChainInsideLoop.py b/Superv/Python/GraphNotClosedChainInsideLoop.py
new file mode 100644 (file)
index 0000000..33dbd4f
--- /dev/null
@@ -0,0 +1,142 @@
+
+# Generated python file of Graph GraphSwitch
+
+from SuperV import *
+
+# Graph creation of GraphSwitch
+def DefGraphSwitch() :
+    GraphSwitch = Graph( 'GraphSwitch' )
+    GraphSwitch.SetName( 'GraphSwitch' )
+    GraphSwitch.SetAuthor( '' )
+    GraphSwitch.SetComment( '' )
+    GraphSwitch.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitch.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max     ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :   ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1     ' )
+    PyMoreInitLoopSwitch.append( '     else :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0     ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1     ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max     ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitch.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 776 , 170 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    OInitLoopSwitchGate = InitLoopSwitch.GetOutPort( 'Gate' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphSwitch.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 582 , 170 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 129 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitch.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 564 , 201 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 564 , 134 )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitch.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitch.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitch.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitch.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphSwitch.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 371 , 136 )
+    LSwitchaIsOdda.AddCoord( 2 , 371 , 200 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitch.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 0 )
+    IInitLoopSwitchMax.Input( 35 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    #OEndOfSwitcha = EndOfSwitch.GetOutPort( 'a' )
+    return GraphSwitch
+
+
+GraphSwitch = DefGraphSwitch()
diff --git a/Superv/Python/GraphNotClosedChainInsideSwitch.py b/Superv/Python/GraphNotClosedChainInsideSwitch.py
new file mode 100644 (file)
index 0000000..c7524f5
--- /dev/null
@@ -0,0 +1,143 @@
+
+# Generated python file of Graph GraphSwitch
+
+from SuperV import *
+
+# Graph creation of GraphSwitch
+def DefGraphSwitch() :
+    GraphSwitch = Graph( 'GraphSwitch' )
+    GraphSwitch.SetName( 'GraphSwitch' )
+    GraphSwitch.SetAuthor( '' )
+    GraphSwitch.SetComment( '' )
+    GraphSwitch.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitch.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max     ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :   ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1     ' )
+    PyMoreInitLoopSwitch.append( '     else :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0     ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1     ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max     ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitch.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 776 , 170 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    OInitLoopSwitchGate = InitLoopSwitch.GetOutPort( 'Gate' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphSwitch.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 582 , 170 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 129 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LInitLoopSwitchIndexSwitcha = GraphSwitch.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitch.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitch.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitch.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphSwitch.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 371 , 136 )
+    LSwitchaIsOdda.AddCoord( 2 , 371 , 200 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitch.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitch.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 0 )
+    IInitLoopSwitchMax.Input( 35 )
+    
+    # Input Ports of the graph
+    #IEndOfSwitcha = EndOfSwitch.GetInPort( 'a' )
+    
+    # Output Ports of the graph
+    #OIsOdda = IsOdd.GetOutPort( 'a' )
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    return GraphSwitch
+
+
+GraphSwitch = DefGraphSwitch()
diff --git a/Superv/Python/GraphPythonSyntaxError.py b/Superv/Python/GraphPythonSyntaxError.py
new file mode 100644 (file)
index 0000000..626d8d6
--- /dev/null
@@ -0,0 +1,40 @@
+
+# Generated python file of Graph aNewDataFlow_2
+
+from SuperV import *
+
+# Graph creation of aNewDataFlow_2
+def DefaNewDataFlow_2() :
+    aNewDataFlow_2 = Graph( 'aNewDataFlow_2' )
+    aNewDataFlow_2.SetName( 'aNewDataFlow_2' )
+    aNewDataFlow_2.SetAuthor( '' )
+    aNewDataFlow_2.SetComment( '' )
+    aNewDataFlow_2.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyErrorNode = []
+    PyErrorNode.append( 'def ErrorNode(a,b) ' )
+    PyErrorNode.append( '  return a&b ' )
+    ErrorNode = aNewDataFlow_2.INode( 'ErrorNode' , PyErrorNode )
+    ErrorNode.SetName( 'ErrorNode' )
+    ErrorNode.SetAuthor( '' )
+    ErrorNode.SetComment( 'Compute Node' )
+    ErrorNode.Coords( 0 , 0 )
+    IErrorNodea = ErrorNode.InPort( 'a' , 'boolean' )
+    IErrorNodeb = ErrorNode.InPort( 'b' , 'boolean' )
+    IErrorNodeGate = ErrorNode.GetInPort( 'Gate' )
+    OErrorNodec = ErrorNode.OutPort( 'c' , 'boolean' )
+    OErrorNodeGate = ErrorNode.GetOutPort( 'Gate' )
+    
+    # Input datas
+    IErrorNodea.Input( 1 )
+    IErrorNodeb.Input( 0 )
+    
+    # Output Ports of the graph
+    #OErrorNodec = ErrorNode.GetOutPort( 'c' )
+    return aNewDataFlow_2
+
+
+aNewDataFlow_2 = DefaNewDataFlow_2()