]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Mantis isssue 0021462: [CEA 532] Type problem.
authorjfa <jfa@opencascade.com>
Fri, 13 Jan 2012 11:35:22 +0000 (11:35 +0000)
committerjfa <jfa@opencascade.com>
Fri, 13 Jan 2012 11:35:22 +0000 (11:35 +0000)
src/GEOMAlgo/GEOMAlgo_ShapeInfoFiller_1.cxx

index e021c69682392f8028137bfcb78db218d5b91cc8..194882e7b9530088884f8a27f34bcb43e495344a 100644 (file)
@@ -15,7 +15,6 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
 
 #include <GEOMAlgo_ShapeInfoFiller.ixx>
 
@@ -53,7 +52,7 @@
 
 //=======================================================================
 //function : FillDetails
-//purpose  : 
+//purpose  :
 //=======================================================================
   void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Solid& aSd)
 {
@@ -97,7 +96,7 @@
   for (i=1; i<=aNbF; ++i) {
     const TopoDS_Shape& aF=aMF(i);
     GEOMAlgo_ShapeInfo& aInfoF=myMapInfo.ChangeFromKey(aF);
-    aKNF=aInfoF.KindOfName(); 
+    aKNF=aInfoF.KindOfName();
     if (aKNF==GEOMAlgo_KN_CYLINDER) {
       aFCyl=aF;
       ++aNbCyl;
             aKNF==GEOMAlgo_KN_TRIANGLE ||
             aKNF==GEOMAlgo_KN_QUADRANGLE) {
       ++aNbPgn;
-      
-    } 
+    }
     else if (aKNF==GEOMAlgo_KN_RECTANGLE) {
       ++aNbPgn;
       ++aNbRct;
   if (aNbCyl==1 && aNbCrc==2 && aNbX==aNbF) {
     // cylinder (as they understand it)
     GEOMAlgo_ShapeInfo& aInfoF=myMapInfo.ChangeFromKey(aFCyl);
-    aKNF=aInfoF.KindOfName(); 
+    aKNF=aInfoF.KindOfName();
     aInfo.SetKindOfName(aKNF);
     aInfo.SetLocation(aInfoF.Location());
     aInfo.SetPosition(aInfoF.Position());
   if (aNbCon==1 && (aNbCrc==1 || aNbCrc==2) && aNbX==aNbF) {
     // cone
     GEOMAlgo_ShapeInfo& aInfoF=myMapInfo.ChangeFromKey(aFCon);
-    aKNF=aInfoF.KindOfName(); 
+    aKNF=aInfoF.KindOfName();
     aInfo.SetKindOfName(aKNF);
     aInfo.SetLocation(aInfoF.Location());
     aInfo.SetPosition(aInfoF.Position());
     return;
   }
   //
+  //modified by NIZNHY-PKV Wed Jan 11 11:04:31 2012f
+  if (aNbF!=aNbPgn) {
+    return;// -> GEOMAlgo_KN_UNKNOWN
+  }
+  //modified by NIZNHY-PKV Wed Jan 11 11:04:37 2012t
   if (aNbPgn!=6) {
     aInfo.SetKindOfName(GEOMAlgo_KN_POLYHEDRON);
     return;
   }
+  // aNbPgn==6
   if (aNbPgn!=aNbRct) {
     aInfo.SetKindOfName(GEOMAlgo_KN_POLYHEDRON);
     return;
 }
 //=======================================================================
 //function : FillDetails
-//purpose  : 
+//purpose  :
 //=======================================================================
   void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
                                              const gp_Pln& aPln)
       }
     }
     //
-    // rectangle 
+    // rectangle
     aInfo.SetKindOfName(GEOMAlgo_KN_RECTANGLE);
     //
     // shift location to the center and calc. sizes
     gp_Ax3 aAx3(aAx2);
     aInfo.SetPosition(aAx3);
   }
-  
+
   return;
 }
 //=======================================================================
 //function : FillDetails
-//purpose  : 
+//purpose  :
 //=======================================================================
   void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
                                              const gp_Sphere& )
 {
   Standard_Integer aNbV, aNbE, aNbSE, aNbDE;
-  TopoDS_Edge aE; 
+  TopoDS_Edge aE;
   TopExp_Explorer aExp;
-  TopTools_MapOfShape aM; 
+  TopTools_MapOfShape aM;
   GEOMAlgo_KindOfShape aKS, aKSE;
   //
   GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aF);
 }
 //=======================================================================
 //function : FillDetails
-//purpose  : 
+//purpose  :
 //=======================================================================
   void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
                                              const gp_Cone& )//aCone)
 }
 //=======================================================================
 //function : FillDetails
-//purpose  : 
+//purpose  :
 //=======================================================================
   void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
                                              const gp_Cylinder& aCyl)
   GEOMAlgo_KindOfShape aKS;
   GEOMAlgo_KindOfName aKN, aKNE;
   GEOMAlgo_KindOfClosed aKCE;
-  // 
+  //
   GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aF);
   aKN=GEOMAlgo_KN_UNKNOWN;
   aInfo.SetKindOfName(aKN);
 
 //=======================================================================
 //function : FillDetails
-//purpose  : 
+//purpose  :
 //=======================================================================
   void GEOMAlgo_ShapeInfoFiller::FillDetails(const TopoDS_Face& aF,
                                              const gp_Torus& )
 {
   Standard_Integer aNbV, aNbE, aNbSE;
-  TopoDS_Edge aE; 
+  TopoDS_Edge aE;
   TopExp_Explorer aExp;
-  TopTools_MapOfShape aM; 
+  TopTools_MapOfShape aM;
   GEOMAlgo_KindOfShape aKS;
   //
   GEOMAlgo_ShapeInfo& aInfo=myMapInfo.ChangeFromKey(aF);