0030670: Modeling Algorithms - Performance improvement of Boolean Operations algorithm

The following improvements have been made in Boolean operations algorithm:
1. Added possibility to update FaceInfo structure for many faces at once which helps to avoid nested loops.
2. Improve Point-Face classification procedure by caching the FaceExplorer for a face.
This commit is contained in:
emv
2019-04-23 12:31:23 +03:00
committed by bugmaster
parent a4d594cbda
commit 47cd8af2d2
11 changed files with 246 additions and 74 deletions

View File

@@ -37,7 +37,7 @@
static
void RefineTolerance(const TopoDS_Face& aF,
const BRepAdaptor_Curve2d& aC,
const Geom2dAdaptor_Curve& aC,
const Standard_Real aT,
Standard_Real& aTolZ);
@@ -72,7 +72,7 @@ void BRepClass_Intersector::Perform(const gp_Lin2d& L,
return;
}
//
BRepAdaptor_Curve2d C(EE, F);
Geom2dAdaptor_Curve C(aC2D, deb, fin);
//
deb = C.FirstParameter();
fin = C.LastParameter();
@@ -185,7 +185,7 @@ void BRepClass_Intersector::LocalGeometry(const BRepClass_Edge& E,
//purpose :
//=======================================================================
void RefineTolerance(const TopoDS_Face& aF,
const BRepAdaptor_Curve2d& aC,
const Geom2dAdaptor_Curve& aC,
const Standard_Real aT,
Standard_Real& aTolZ)
{