]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
Fix for the #trefs 106 - Edit polyline Modification mode - rows in table change their...
authornds <nds@opencascade.com>
Thu, 21 Nov 2013 11:30:31 +0000 (11:30 +0000)
committernds <nds@opencascade.com>
Thu, 21 Nov 2013 11:30:31 +0000 (11:30 +0000)
src/HYDROCurveCreator/CurveCreator_Widget.cxx

index 3cf3975e1ea1cb802678b31ea8431805548cf452..b054e983fbdcb7ce31105719a243489e44eeb7d6 100644 (file)
@@ -1361,31 +1361,38 @@ void CurveCreator_Widget::setSelectedPonts( const CurveCreator_Widget::SectionTo
 
   AIS_ListOfInteractive aDisplayedList;
   ic->DisplayedObjects( aDisplayedList );
-  for ( AIS_ListIteratorOfListOfInteractive it( aDisplayedList ); it.More(); it.Next() )
-  {
-    Handle(AIS_InteractiveObject) anAIS = it.Value();
-    if ( anAIS.IsNull() )
-      continue;
-    Handle(AIS_Point) anAISPoint = Handle(AIS_Point)::DownCast( anAIS );
-    if ( anAISPoint.IsNull() )
-      continue;
 
-    TopoDS_Vertex aVertex = TopoDS::Vertex( anAISPoint->Vertex() );
+  SectionToPointList::const_iterator anIt = thePoints.begin(), aLast = thePoints.end();
+  SectionToPoint aSToPoint;
+  for( ; anIt != aLast; anIt++ ) {
+    aSToPoint = *anIt;
 
-    if ( aVertex.IsNull() )
-      continue;
+    for ( AIS_ListIteratorOfListOfInteractive it( aDisplayedList ); it.More(); it.Next() )
+    {
+      Handle(AIS_InteractiveObject) anAIS = it.Value();
+      if ( anAIS.IsNull() )
+        continue;
+      Handle(AIS_Point) anAISPoint = Handle(AIS_Point)::DownCast( anAIS );
+      if ( anAISPoint.IsNull() )
+        continue;
+
+      TopoDS_Vertex aVertex = TopoDS::Vertex( anAISPoint->Vertex() );
+
+      if ( aVertex.IsNull() )
+        continue;
 
-    gp_Pnt aPnt = BRep_Tool::Pnt( aVertex );
+      gp_Pnt aPnt = BRep_Tool::Pnt( aVertex );
 
-    SectionToPointList aPoints;
-    findSectionsToPoints( aPnt.X(), aPnt.Y(), aPoints );
+      SectionToPointList aPoints;
+      findSectionsToPoints( aPnt.X(), aPnt.Y(), aPoints );
 
-    SectionToPointList::const_iterator anIt = aPoints.begin(), aLast = aPoints.end();
-    SectionToPoint aPoint;
-    for ( ; anIt != aLast; anIt++ ) {
-      aPoint = *anIt;
-      if ( contains( thePoints, aPoint ) )
-        aListToSelect.Append( anAIS );
+      SectionToPointList::const_iterator anIt = aPoints.begin(), aLast = aPoints.end();
+      SectionToPoint aPoint;
+      for ( ; anIt != aLast; anIt++ ) {
+        aPoint = *anIt;
+        if ( aPoint.first == aSToPoint.first && aPoint.second == aSToPoint.second )
+          aListToSelect.Append( anAIS );
+      }
     }
   }