]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
rnc: fixed a problem that in some cases a Box couldn't be created and no explicit...
authorgdd <gdd>
Wed, 26 Oct 2011 09:58:18 +0000 (09:58 +0000)
committergdd <gdd>
Wed, 26 Oct 2011 09:58:18 +0000 (09:58 +0000)
src/GEOMImpl/GEOMImpl_BoxDriver.cxx

index 9db586cb080434610c19679019a1e2881db74f03..a3145b83c590771bbf95f3beb98959ed969af51f 100644 (file)
@@ -37,6 +37,8 @@
 
 #include <StdFail_NotDone.hxx>
 
+#include <Precision.hxx>
+
 //=======================================================================
 //function : GetID
 //purpose  :
@@ -89,8 +91,10 @@ Standard_Integer GEOMImpl_BoxDriver::Execute(TFunction_Logbook& log) const
       gp_Pnt P1 = BRep_Tool::Pnt(TopoDS::Vertex(aShape1));
       gp_Pnt P2 = BRep_Tool::Pnt(TopoDS::Vertex(aShape2));
 
-      if (P1.X() == P2.X() || P1.Y() == P2.Y() || P1.Z() == P2.Z()) {
-        StdFail_NotDone::Raise("Box can not be created, the points belong to the same plane");
+      if (P1.X() - P2.X() < Precision::Confusion() || 
+          P1.Y() - P2.Y() < Precision::Confusion() || 
+          P1.Z() - P2.Z() < Precision::Confusion() ) {
+        StdFail_NotDone::Raise("Box can not be created, the points belong both to one of the OXY, OYZ or OZX planes");
         return 0;
       }