From: gdd Date: Wed, 26 Oct 2011 09:58:18 +0000 (+0000) Subject: rnc: fixed a problem that in some cases a Box couldn't be created and no explicit... X-Git-Tag: V6_4_0a1~6 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=929db5bbb78459a0b6974659f9799d86d00c447c;p=modules%2Fgeom.git rnc: fixed a problem that in some cases a Box couldn't be created and no explicit error message was displayed --- diff --git a/src/GEOMImpl/GEOMImpl_BoxDriver.cxx b/src/GEOMImpl/GEOMImpl_BoxDriver.cxx index 9db586cb0..a3145b83c 100644 --- a/src/GEOMImpl/GEOMImpl_BoxDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_BoxDriver.cxx @@ -37,6 +37,8 @@ #include +#include + //======================================================================= //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; }