mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-22 04:37:23 +08:00
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:
@@ -21,16 +21,18 @@
|
||||
#include <Standard_DefineAlloc.hxx>
|
||||
#include <Standard_Handle.hxx>
|
||||
|
||||
#include <BRepClass_FaceExplorer.hxx>
|
||||
#include <BRepTopAdaptor_SeqOfPtr.hxx>
|
||||
#include <TColStd_SequenceOfInteger.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <TopoDS_Face.hxx>
|
||||
#include <Standard_Boolean.hxx>
|
||||
#include <TopAbs_State.hxx>
|
||||
#include <memory>
|
||||
|
||||
class TopoDS_Face;
|
||||
class gp_Pnt2d;
|
||||
|
||||
|
||||
//! Class provides an algorithm to classify a 2d Point
|
||||
//! in 2d space of face using boundaries of the face.
|
||||
class IntTools_FClass2d
|
||||
@@ -108,6 +110,15 @@ private:
|
||||
Standard_Real Vmax;
|
||||
Standard_Boolean myIsHole;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#if _MSC_VER < 1600
|
||||
mutable std::auto_ptr<BRepClass_FaceExplorer> myFExplorer;
|
||||
#else
|
||||
mutable std::unique_ptr<BRepClass_FaceExplorer> myFExplorer;
|
||||
#endif
|
||||
#else
|
||||
mutable std::unique_ptr<BRepClass_FaceExplorer> myFExplorer;
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user