]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Additional fix for IPAL10226.
authormzn <mzn@opencascade.com>
Thu, 1 Dec 2005 12:55:30 +0000 (12:55 +0000)
committermzn <mzn@opencascade.com>
Thu, 1 Dec 2005 12:55:30 +0000 (12:55 +0000)
src/BasicGUI/BasicGUI_PointDlg.cxx

index da52b79f8f51c5eb805899c60f738022dd440d0e..e21f745ece36b8a7c206181f2acfe9a32a235ef4 100644 (file)
@@ -343,26 +343,31 @@ void BasicGUI_PointDlg::SelectionIntoArgument()
              TopoDS_Shape aShape = myGeometryGUI->GetShapeReader().GetShape( myGeometryGUI->GetGeomGen(), aSelectedObject );
              if ( aShape.IsNull() )
                return;
-               
-             TColStd_IndexedMapOfInteger aMap;
              
-             ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr()->GetIndexes( anIO, aMap );
-             
-             if ( aMap.Extent() == 1 )
+             if ( aShape.ShapeType() != TopAbs_VERTEX )
                {
-                 int anIndex = aMap( 1 );
-                 TopTools_IndexedMapOfShape aShapes;
-                 TopExp::MapShapes( aShape, aShapes );
-                 aShape = aShapes.FindKey( anIndex );
+                 TColStd_IndexedMapOfInteger aMap;
                  
-                 if ( aShape.IsNull() || aShape.ShapeType() != TopAbs_VERTEX )
-                   return;
+                 ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr()->GetIndexes( anIO, aMap );
                  
-                 gp_Pnt aPnt = BRep_Tool::Pnt( TopoDS::Vertex( aShape ) );
-                 GroupXYZ->SpinBox_DX->SetValue( aPnt.X() );
-                 GroupXYZ->SpinBox_DY->SetValue( aPnt.Y() );
-                 GroupXYZ->SpinBox_DZ->SetValue( aPnt.Z() );
+                 if ( aMap.Extent() == 1 )
+                   {
+                     int anIndex = aMap( 1 );
+                     TopTools_IndexedMapOfShape aShapes;
+                     TopExp::MapShapes( aShape, aShapes );
+                     aShape = aShapes.FindKey( anIndex );
+
+                     if ( aShape.IsNull() || aShape.ShapeType() != TopAbs_VERTEX )
+                       return;
+                   }
+                 else
+                   return;
                }
+
+             gp_Pnt aPnt = BRep_Tool::Pnt( TopoDS::Vertex( aShape ) );
+             GroupXYZ->SpinBox_DX->SetValue( aPnt.X() );
+             GroupXYZ->SpinBox_DY->SetValue( aPnt.Y() );
+             GroupXYZ->SpinBox_DZ->SetValue( aPnt.Z() );
            }
          else if ( id == 1 )
            {