Salome HOME
SMH: 3.0.0 preparation = merged version (POLYWORK + RTVDEBUG01) + adopation for new GUI
[modules/superv.git] / src / GraphBase / DataFlowBase_StreamNode.cxx
index b3048d7998983a8cfc3d8251f2f28a00096e4160..fb0a7a150fb0bbc85b44462528c48069f2c92bc7 100644 (file)
@@ -170,7 +170,8 @@ bool GraphBase::StreamNode::RemoveLinkedNode( GraphBase::StreamNode * ToNode ,
   map< string , int >::iterator aMapOfLinkedNodesIterator ;
   int i = 0 ;
   for ( aMapOfLinkedNodesIterator = _MapOfLinkedNodes.begin() ;
-        aMapOfLinkedNodesIterator != _MapOfLinkedNodes.end() ; aMapOfLinkedNodesIterator++ ) {
+        aMapOfLinkedNodesIterator != _MapOfLinkedNodes.end() && i < _LinkedNodesSize ;
+        aMapOfLinkedNodesIterator++ ) {
     cdebug << "_MapOfLinkedNodes" << i++ << " of " << Name() << " : "
            << aMapOfLinkedNodesIterator->first << " --> " << aMapOfLinkedNodesIterator->second
            << endl ;
@@ -180,7 +181,8 @@ bool GraphBase::StreamNode::RemoveLinkedNode( GraphBase::StreamNode * ToNode ,
   map< string , int >::iterator aMapOfLinkedFromNodesIterator ;
   int ifrom = 0 ;
   for ( aMapOfLinkedFromNodesIterator = ToNode->_MapOfLinkedFromNodes.begin() ;
-        aMapOfLinkedFromNodesIterator != ToNode->_MapOfLinkedFromNodes.end() ; aMapOfLinkedFromNodesIterator++ ) {
+        aMapOfLinkedFromNodesIterator != ToNode->_MapOfLinkedFromNodes.end() &&
+        ifrom < ToNode->_LinkedFromNodesSize ; aMapOfLinkedFromNodesIterator++ ) {
     cdebug << "_MapOfLinkedFromNodes" << ifrom++ << " of " << ToNode->Name() << " : "
            << aMapOfLinkedFromNodesIterator->first << " --> "
            << aMapOfLinkedFromNodesIterator->second << endl ;
@@ -262,22 +264,36 @@ bool GraphBase::StreamNode::RemoveLinkedNode( GraphBase::StreamNode * ToNode ,
   map< string , int >::iterator aMapOfLinkedNodesIterator1 ;
   int ii = 0 ;
   for ( aMapOfLinkedNodesIterator1 = _MapOfLinkedNodes.begin() ;
-        aMapOfLinkedNodesIterator1 != _MapOfLinkedNodes.end() ; aMapOfLinkedNodesIterator1++ ) {
-    cdebug << "_MapOfLinkedNodes" << ii++ << " of " << Name() << " : "
-           << aMapOfLinkedNodesIterator1->first << " --> " << aMapOfLinkedNodesIterator1->second
-           << " " << _LinkedNodes[ aMapOfLinkedNodesIterator1->second - 1 ]->Name() << endl ;
+        aMapOfLinkedNodesIterator1 != _MapOfLinkedNodes.end() && ii < _LinkedNodesSize ;
+        aMapOfLinkedNodesIterator1++ ) {
+    if ( aMapOfLinkedNodesIterator1->second ) {
+      cdebug << "_MapOfLinkedNodes" << ii++ << " of " << Name() << " : "
+             << aMapOfLinkedNodesIterator1->first << " --> " << aMapOfLinkedNodesIterator1->second
+             << " " << _LinkedNodes[ aMapOfLinkedNodesIterator1->second - 1 ]->Name() << endl ;
+    }
+    else {
+      cdebug << "_MapOfLinkedNodes" << ii << " of " << Name() << " : "
+             << aMapOfLinkedNodesIterator1->second - 1 << endl ;
+    }
   }
 #endif
 #if 1
   map< string , int >::iterator aMapOfLinkedFromNodesIterator1 ;
   int iifrom = 0 ;
   for ( aMapOfLinkedFromNodesIterator1 = ToNode->_MapOfLinkedFromNodes.begin() ;
-        aMapOfLinkedFromNodesIterator1 != ToNode->_MapOfLinkedFromNodes.end() ; aMapOfLinkedFromNodesIterator1++ ) {
-    cdebug << "_MapOfLinkedFromNodes" << iifrom++ << " of " << ToNode->Name() << " : "
-           << aMapOfLinkedFromNodesIterator1->first << " --> "
-           << aMapOfLinkedFromNodesIterator1->second << " "
-           << ToNode->_LinkedFromNodes[ aMapOfLinkedFromNodesIterator1->second - 1 ]->Name()
-           << endl ;
+        aMapOfLinkedFromNodesIterator1 != ToNode->_MapOfLinkedFromNodes.end() &&
+        iifrom < ToNode->_LinkedFromNodesSize ; aMapOfLinkedFromNodesIterator1++ ) {
+    if ( aMapOfLinkedFromNodesIterator1->second ) {
+      cdebug << "_MapOfLinkedFromNodes" << iifrom++ << " of " << ToNode->Name() << " : "
+             << aMapOfLinkedFromNodesIterator1->first << " --> "
+             << aMapOfLinkedFromNodesIterator1->second << " "
+             << ToNode->_LinkedFromNodes[ aMapOfLinkedFromNodesIterator1->second - 1 ]->Name()
+             << endl ;
+    }
+    else {
+      cdebug << "_MapOfLinkedFromNodes" << iifrom << " of " << ToNode->Name() << " : "
+             << aMapOfLinkedFromNodesIterator1->second - 1 << endl ;
+    }
   }
 #endif
   cdebug_out << "StreamNode::RemoveLinkedNode between " << Name() << " and " << ToNode->Name()
@@ -288,7 +304,7 @@ bool GraphBase::StreamNode::RemoveLinkedNode( GraphBase::StreamNode * ToNode ,
 void GraphBase::StreamNode::ReNameLinkedNode( const char* OldNodeName ,
                                               const char* NewNodeName ) {
   cdebug_in << Name() << "->GraphBase::StreamNode::ReNameLinkedNode (" << OldNodeName << " , "
-            << NewNodeName << ")" << endl;
+            << NewNodeName << ") _LinkedNodesSize " << _LinkedNodesSize << endl;
   int index = GetLinkedNodeIndex( OldNodeName ) ;
   if ( index >= 0 ) {
 //    _MapOfLinkedNodes.erase( OldNodeName ) ;
@@ -299,13 +315,25 @@ void GraphBase::StreamNode::ReNameLinkedNode( const char* OldNodeName ,
     cdebug << "GraphBase::StreamNode::ReNameLinkedNode ERROR " << OldNodeName << " not found in "
            << Name() << endl ;
   }
+#if 1
+  map< string , int >::iterator aMapOfLinkedNodesIterator1 ;
+  int ii = 0 ;
+  for ( aMapOfLinkedNodesIterator1 = _MapOfLinkedNodes.begin() ;
+        aMapOfLinkedNodesIterator1 != _MapOfLinkedNodes.end() && ii < _LinkedNodesSize ;
+        aMapOfLinkedNodesIterator1++ ) {
+    cdebug << "_MapOfLinkedNodes" << ii++ << " of " << Name() << " : "
+           << aMapOfLinkedNodesIterator1->first << " --> " << aMapOfLinkedNodesIterator1->second
+           << " " << _LinkedNodes[ aMapOfLinkedNodesIterator1->second - 1 ]->Name() << endl ;
+  }
+#endif
   cdebug_out << Name() << "->GraphBase::StreamNode::ReNameLinkedNode" << endl ;
 }
 
 void GraphBase::StreamNode::ReNameLinkedFromNode( const char* OldNodeName ,
                                                   const char* NewNodeName ) {
-  cdebug_in << Name() << "->GraphBase::StreamNode::ReNameLinkedFromNode (" << OldNodeName << " , "
-            << NewNodeName << ")" << endl;
+  cdebug_in << Name() << "->GraphBase::StreamNode::ReNameLinkedFromNode (" << OldNodeName
+            << " , " << NewNodeName << ") _LinkedFromNodesSize " << _LinkedFromNodesSize
+            << endl;
   int index = GetLinkedFromNodeIndex( OldNodeName ) ;
   if ( index >= 0 ) {
 //    _MapOfLinkedFromNodes.erase( OldNodeName ) ;
@@ -316,6 +344,19 @@ void GraphBase::StreamNode::ReNameLinkedFromNode( const char* OldNodeName ,
     cdebug << Name() << "->GraphBase::StreamNode::ReNameLinkedFromNode ERROR " << OldNodeName
            << " not found in " << Name() << endl ;
   }
+#if 1
+  map< string , int >::iterator aMapOfLinkedFromNodesIterator1 ;
+  int iifrom = 0 ;
+  for ( aMapOfLinkedFromNodesIterator1 = _MapOfLinkedFromNodes.begin() ;
+        aMapOfLinkedFromNodesIterator1 != _MapOfLinkedFromNodes.end() &&
+        iifrom < _LinkedFromNodesSize ; aMapOfLinkedFromNodesIterator1++ ) {
+    cdebug << "_MapOfLinkedFromNodes" << iifrom++ << " of " << Name() << " : "
+           << aMapOfLinkedFromNodesIterator1->first << " --> "
+           << aMapOfLinkedFromNodesIterator1->second << " "
+           << _LinkedFromNodes[ aMapOfLinkedFromNodesIterator1->second - 1 ]->Name()
+           << endl ;
+  }
+#endif
   cdebug_out << Name() << "->GraphBase::StreamNode::ReNameLinkedFromNode" << endl ;
 }