rnc: fixed a problem that in some cases a Box couldn't be created and no explicit error message was displayed

This commit is contained in:
gdd 2011-10-26 09:58:18 +00:00
parent e8dadc7a54
commit 929db5bbb7

View File

@ -37,6 +37,8 @@
#include <StdFail_NotDone.hxx> #include <StdFail_NotDone.hxx>
#include <Precision.hxx>
//======================================================================= //=======================================================================
//function : GetID //function : GetID
//purpose : //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 P1 = BRep_Tool::Pnt(TopoDS::Vertex(aShape1));
gp_Pnt P2 = BRep_Tool::Pnt(TopoDS::Vertex(aShape2)); gp_Pnt P2 = BRep_Tool::Pnt(TopoDS::Vertex(aShape2));
if (P1.X() == P2.X() || P1.Y() == P2.Y() || P1.Z() == P2.Z()) { if (P1.X() - P2.X() < Precision::Confusion() ||
StdFail_NotDone::Raise("Box can not be created, the points belong to the same plane"); 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; return 0;
} }