From 929db5bbb78459a0b6974659f9799d86d00c447c Mon Sep 17 00:00:00 2001 From: gdd Date: Wed, 26 Oct 2011 09:58:18 +0000 Subject: [PATCH] rnc: fixed a problem that in some cases a Box couldn't be created and no explicit error message was displayed --- src/GEOMImpl/GEOMImpl_BoxDriver.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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; } -- 2.39.2