Salome HOME
SMH: 3.0.0 preparation = merged version (POLYWORK + RTVDEBUG01) + adopation for new GUI
[modules/superv.git] / src / GraphBase / DataFlowBase_EndOfSwitchNode.hxx
index f36263455430534af9b16bb0f61141f72a507db1..93e2599d10b372258434fc874bcf7fc72656f6e7 100644 (file)
@@ -19,6 +19,9 @@ namespace GraphBase {
   class EndOfSwitchNode : public GOTONode {
 
     private:
+
+      int  _EndSwitchInPortLinkedNumber ; // For Check from Branches to EndOfSwitch links
+      bool _SwitchWithGOTO ;
     
     public:
 
@@ -41,6 +44,20 @@ namespace GraphBase {
                   ofstream * Graph_fdebug = NULL ) ;
       virtual ~EndOfSwitchNode() ;
 
+      void InitEndSwitchInPortLinked() { // without StreamInPorts and Default
+           _EndSwitchInPortLinkedNumber = GetNodeInPortsSize() - DataStreamInPortsNumber() - 1 ;
+           _SwitchWithGOTO = false ;
+           int i ;
+           for ( i = 0 ; i < GetNodeInPortsSize()-1 ; i++ ) {
+             GetChangeNodeInPort( i )->BranchOfSwitchLinked( false ) ;
+          } } ;
+      bool DecrEndSwitchInPortLinked( GraphBase::InPort * anInPort ) ;
+      void SetSwitchWithGOTO() {
+           _SwitchWithGOTO = true ; } ;
+      bool SwitchWithGOTO() {
+           return _SwitchWithGOTO ; } ;
+      bool CheckEndSwitchInPortsLinked() ;
+
   };
   
 };