From: PKV <> Date: Wed, 7 Sep 2011 14:33:20 +0000 (+0000) Subject: 0022653: Bad performance of Open CASCADE libraries that are used by Partition Algorithm X-Git-Tag: V6_5_2~34 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=aa396061a38cd5566902465fbb8b2bd64b944c88;p=occt-copy.git 0022653: Bad performance of Open CASCADE libraries that are used by Partition Algorithm --- diff --git a/src/Bnd/Bnd_Box.cxx b/src/Bnd/Bnd_Box.cxx index 6bdb10e4c3..ea39cec9be 100755 --- a/src/Bnd/Bnd_Box.cxx +++ b/src/Bnd/Bnd_Box.cxx @@ -2,7 +2,7 @@ // Created: Fri Mar 8 11:07:06 1991 // Author: Christophe MARION // - +// #include #define VoidMask 0x01 @@ -748,7 +748,22 @@ Standard_Boolean Bnd_Box::IsOut (const gp_Lin& L) const //======================================================================= Standard_Boolean Bnd_Box::IsOut (const Bnd_Box& Other) const -{ +{ + //modified by NIZNHY-PKV Fri Jul 08 11:03:43 2011f + if (!Flags && !Other.Flags) { + Standard_Boolean bRet; + Standard_Real delta; + // + delta = Other.Gap + Gap; + bRet=((Xmin - Other.Xmax > delta) || + (Other.Xmin - Xmax > delta) || + (Ymin - Other.Ymax > delta) || + (Other.Ymin - Ymax > delta) || + (Zmin - Other.Zmax > delta) || + (Other.Zmin - Zmax > delta)); + return bRet; + } + //modified by NIZNHY-PKV Fri Jul 08 11:03:46 2011t if (IsVoid()) return Standard_True; if (Other.IsVoid()) return Standard_True; if (IsWhole()) return Standard_False;