]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Compilation fix. Validator fix.
authordbv <dbv@opencascade.com>
Thu, 7 Apr 2016 09:35:18 +0000 (12:35 +0300)
committerdbv <dbv@opencascade.com>
Thu, 7 Apr 2016 09:35:18 +0000 (12:35 +0300)
src/GeomAlgoAPI/GeomAlgoAPI_Prism.cpp
src/GeomValidators/GeomValidators_ZeroOffset.cpp

index b9d9a670efbe6b4957b3b599ab028b7a5e5e5721..69ab07cefd54d01cbe77054473ffc226826f23be 100644 (file)
@@ -21,6 +21,7 @@
 #include <BRepBndLib.hxx>
 #include <BRepBuilderAPI_FindPlane.hxx>
 #include <BRepBuilderAPI_Transform.hxx>
+#include <BRepTools.hxx>
 #include <Geom_Curve.hxx>
 #include <Geom2d_Curve.hxx>
 #include <BRepLib_CheckCurveOnSurface.hxx>
@@ -37,7 +38,7 @@
 #include <TopoDS_Solid.hxx>
 #include <TopTools_ListIteratorOfListOfShape.hxx>
 
-#include <BRepTools.hxx>
+#include <limits>
 
 //=================================================================================================
 GeomAlgoAPI_Prism::GeomAlgoAPI_Prism(const GeomShapePtr theBaseShape,
index 3d08e9fd95817006dd9de5983b8865e88ab65539..1ba9664d992f2a58501d8cf8bb0d41056daa0e62 100644 (file)
@@ -46,7 +46,9 @@ bool GeomValidators_ZeroOffset::isValid(const std::shared_ptr<ModelAPI_Feature>&
       int aSketchFacesNum = aConstruction->facesNum();
       for(int aFaceIndex = 0; aFaceIndex < aSketchFacesNum; aFaceIndex++) {
         std::shared_ptr<GeomAPI_Shape> aFace = std::dynamic_pointer_cast<GeomAPI_Shape>(aConstruction->face(aFaceIndex));
-        aFacesList.push_back(aFace);
+        if(aFace->isFace() && aFace->isPlanar()) {
+          aFacesList.push_back(aFace);
+        }
       }
     }
   } else if(theFeature->selectionList(*anIt)) {
@@ -55,7 +57,9 @@ bool GeomValidators_ZeroOffset::isValid(const std::shared_ptr<ModelAPI_Feature>&
       AttributeSelectionPtr aFaceSel = aFacesSelectionList->value(anIndex);
       std::shared_ptr<GeomAPI_Shape> aFaceShape = aFaceSel->value();
       if(aFaceShape.get() && !aFaceShape->isNull()) { // Getting face.
-        aFacesList.push_back(aFaceShape);
+        if(aFaceShape->isFace() && aFaceShape->isPlanar()) {
+          aFacesList.push_back(aFaceShape);
+        }
       } else { // This may be the whole sketch result selected, check and get faces.
         ResultPtr aContext = aFaceSel->context();
         std::shared_ptr<GeomAPI_Shape> aContextShape = aContext->shape();
@@ -69,7 +73,9 @@ bool GeomValidators_ZeroOffset::isValid(const std::shared_ptr<ModelAPI_Feature>&
         int aFacesNum = aConstruction->facesNum();
         for(int aFaceIndex = 0; aFaceIndex < aFacesNum || aFacesNum == -1; aFaceIndex++) {
           aFaceShape = std::dynamic_pointer_cast<GeomAPI_Shape>(aConstruction->face(aFaceIndex));
-          aFacesList.push_back(aFaceShape);
+          if(aFaceShape->isFace() && aFaceShape->isPlanar()) {
+            aFacesList.push_back(aFaceShape);
+          }
         }
       }
     }