]> SALOME platform Git repositories - modules/superv.git/blobdiff - src/GraphBase/DataFlowBase_ComputingNode.hxx
Salome HOME
Merging with JR_ASV_2_1_0_deb_with_KERNEL_Head branch, which contains many bug fixes...
[modules/superv.git] / src / GraphBase / DataFlowBase_ComputingNode.hxx
index f11309c57ce94158c3702774266e68605e0c9dc0..35145a84a72047c0422f52d69e9f37e89392075b 100644 (file)
@@ -24,6 +24,9 @@ namespace GraphBase {
 
   class InLineNode ;
 
+  class LoopNode ;
+  class EndOfLoopNode ;
+
   class ComputingNode : public StreamNode {
 
     private:
@@ -225,10 +228,11 @@ namespace GraphBase {
                   << " + 1 Service " << ServiceName() << endl ;
            ToNode->IncrConnectedInPortsNumber() ; } ;
 
-      bool RemoveLinkedNode( GraphBase::ComputingNode * ToNode ) {
-           bool RetVal = GraphBase::StreamNode::RemoveLinkedNode( ToNode ) ;
+      bool RemoveLinkedNode( GraphBase::ComputingNode * ToNode ,
+                             bool DoLinkedFromNode = true ) {
+           bool RetVal = GraphBase::StreamNode::RemoveLinkedNode( ToNode , DoLinkedFromNode ) ;
            if ( RetVal ) {
-             cdebug << "GraphBase::StreamNode::RemoveLinkedNode to " << ToNode->Name() << " from "
+             cdebug << "ComputingNode::RemoveLinkedNode to " << ToNode->Name() << " from "
                     << Name() << " ConnectedInPortsNumber "
                     << ToNode->ConnectedInPortsNumber() - 1 << endl ;
              ToNode->DecrConnectedInPortsNumber() ;
@@ -240,7 +244,7 @@ namespace GraphBase {
            GraphBase::StreamNode::ReNameLinkedNode( OldNodeName , NewNodeName ) ; } ;
 
       void IncrConnectedInPortsNumber() {
-           cdebug << "IncrConnectedInPortsNumber " << Name() << " -> "
+           cdebug << "ComputingNode::IncrConnectedInPortsNumber " << Name() << " -> "
                   << _ConnectedInPortsNumber+1 << endl ;
            _ConnectedInPortsNumber++ ; } ;
       void DecrConnectedInPortsNumber() {
@@ -262,6 +266,11 @@ namespace GraphBase {
           }
            return false ; } ;
 
+      bool CheckLoop(GraphBase::LoopNode * aLoopNode ,
+                     GraphBase::EndOfLoopNode * anEndLoopNode ) const ;
+      bool CheckEndLoop(GraphBase::LoopNode * aLoopNode ,
+                        GraphBase::EndOfLoopNode * anEndLoopNode ) const ;
+
 //      const GraphBase::ListOfParameters * GetListOfParameters() const ;
 
       const long CpuUsed() ;