Salome HOME
Merge branch 'BR_v14_rc' of ssh://git.salome-platform.org/modules/hydro into BR_v14_rc
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ImportLandcoverOp.cxx
index 79179eb31500dd7aa075eb3954f6ec2ea83bb4ed..5151349cb6d608d0cdc1fbd428b8f9154069add2 100644 (file)
@@ -224,6 +224,8 @@ void HYDROGUI_ImportLandCoverOp::ProcessSHP(SHPObject* anObj, int i, TopoDS_Face
     {
       gp_Pnt P1 (anObj->padfX[k], anObj->padfY[k], 0);
       gp_Pnt P2 (anObj->padfX[k+1], anObj->padfY[k+1], 0);
+      if (P1.Distance(P2) < Precision::Confusion())
+        continue;
       BRepBuilderAPI_MakeEdge aMakeEdge(P1, P2);
       aBuilder.Add(TopoDS::Edge(aMakeEdge.Shape()));
     }
@@ -236,7 +238,8 @@ void HYDROGUI_ImportLandCoverOp::ProcessSHP(SHPObject* anObj, int i, TopoDS_Face
 
   aFBuilder.Build();
   TopoDS_Face DF = aFBuilder.Face();
-  BRepLib::BuildCurves3d(DF);
+  BRepLib::BuildCurves3d(DF);  
+  bool IsInf = DF.Infinite();
   if(!DF.IsNull()) 
   {
     //sfs->Init ( DF );
@@ -277,8 +280,8 @@ void HYDROGUI_ImportLandCoverOp::onFileSelected()
     
     startDocOperation();
     QStringList aPolygonsList;
-    for (int i = 1; i < mySHPObjects.size(); i++)
-      aPolygonsList.append("polygon_" + QString::number(i));
+    for (int i = 0; i < mySHPObjects.size(); i++)
+      aPolygonsList.append("polygon_" + QString::number(i + 1));
     aPanel->setPolygonNames(aPolygonsList);
 
     SalomeApp_Study* aStudy = dynamic_cast<SalomeApp_Study*>( module()->getApp()->activeStudy() );