From 98725f69d13b74b8764f964046c3735f56ef3dae Mon Sep 17 00:00:00 2001 From: AU Date: Tue, 6 Jul 2021 08:40:06 +0200 Subject: [PATCH] Try building for OCCT 7.5.2 (#52) * Try building for OCCT 7.5.2 * Update headers --- env.yml | 2 +- opencascade/Extrema_FuncExtCS.hxx | 23 +++++++++----- opencascade/ShapeUpgrade_UnifySameDomain.hxx | 33 +++++++++++++++++++- opencascade/Standard_Version.hxx | 4 +-- 4 files changed, 50 insertions(+), 12 deletions(-) diff --git a/env.yml b/env.yml index cfeff574..6d7992af 100644 --- a/env.yml +++ b/env.yml @@ -6,7 +6,7 @@ channels: - defaults dependencies: - clangdev=10.0.1 - - occt=7.5.1 + - occt=7.5.2 - freeimage=3.18.0 - pybind11=2.6.* - python=3.7 diff --git a/opencascade/Extrema_FuncExtCS.hxx b/opencascade/Extrema_FuncExtCS.hxx index 4a07792a..b257492f 100644 --- a/opencascade/Extrema_FuncExtCS.hxx +++ b/opencascade/Extrema_FuncExtCS.hxx @@ -84,14 +84,21 @@ public: //! Return the Nth extremum on S. Standard_EXPORT const Extrema_POnSurf& PointOnSurface (const Standard_Integer N) const; - - - -protected: - - - - + //! Change Sequence of SquareDistance + TColStd_SequenceOfReal& SquareDistances() + { + return mySqDist; + } + //! Change Sequence of PointOnCurv + Extrema_SequenceOfPOnCurv& PointsOnCurve() + { + return myPoint1; + } + //! Change Sequence of PointOnSurf + Extrema_SequenceOfPOnSurf& PointsOnSurf() + { + return myPoint2; + } private: diff --git a/opencascade/ShapeUpgrade_UnifySameDomain.hxx b/opencascade/ShapeUpgrade_UnifySameDomain.hxx index a3a983eb..0e2a83e5 100644 --- a/opencascade/ShapeUpgrade_UnifySameDomain.hxx +++ b/opencascade/ShapeUpgrade_UnifySameDomain.hxx @@ -21,12 +21,13 @@ #include #include -#include +#include #include #include #include #include #include +#include #include #include class ShapeBuild_ReShape; @@ -64,6 +65,13 @@ DEFINE_STANDARD_HANDLE(ShapeUpgrade_UnifySameDomain, Standard_Transient) //! The algorithm provides a place holder for the history and collects the //! history by default. //! To avoid collecting of the history the place holder should be set to null handle. + +struct SubSequenceOfEdges +{ + TopTools_SequenceOfShape SeqsEdges; + TopoDS_Edge UnionEdges; +}; + class ShapeUpgrade_UnifySameDomain : public Standard_Transient { @@ -166,6 +174,27 @@ protected: void IntUnifyFaces(const TopoDS_Shape& theInpShape, TopTools_IndexedDataMapOfShapeListOfShape& theGMapEdgeFaces); + //! Splits the sequence of edges into the sequence of chains + Standard_Boolean MergeEdges(TopTools_SequenceOfShape& SeqEdges, + const TopTools_IndexedDataMapOfShapeListOfShape& theVFmap, + NCollection_Sequence& SeqOfSubSeqOfEdges, + const TopTools_MapOfShape& NonMergVrt); + + //! Tries to unify the sequence of edges with the set of + //! another edges which lies on the same geometry + Standard_Boolean MergeSeq(TopTools_SequenceOfShape& SeqEdges, + const TopTools_IndexedDataMapOfShapeListOfShape& theVFmap, + const TopTools_MapOfShape& nonMergVert); + + //! Merges a sequence of edges into one edge if possible + Standard_Boolean MergeSubSeq(const TopTools_SequenceOfShape& theChain, + const TopTools_IndexedDataMapOfShapeListOfShape& theVFmap, + TopoDS_Edge& OutEdge); + + //! Unifies the pcurve of the chain into one pcurve of the edge + void UnionPCurves(const TopTools_SequenceOfShape& theChain, + TopoDS_Edge& theEdge); + //! Fills the history of the modifications during the operation. Standard_EXPORT void FillHistory(); @@ -183,6 +212,8 @@ private: Handle(ShapeBuild_ReShape) myContext; TopTools_MapOfShape myKeepShapes; DataMapOfFacePlane myFacePlaneMap; + TopTools_IndexedDataMapOfShapeListOfShape myEFmap; + TopTools_DataMapOfShapeShape myFaceNewFace; Handle(BRepTools_History) myHistory; //!< The history. }; diff --git a/opencascade/Standard_Version.hxx b/opencascade/Standard_Version.hxx index fdb1be73..ff26c7e0 100644 --- a/opencascade/Standard_Version.hxx +++ b/opencascade/Standard_Version.hxx @@ -35,7 +35,7 @@ // Primary definitions #define OCC_VERSION_MAJOR 7 #define OCC_VERSION_MINOR 5 -#define OCC_VERSION_MAINTENANCE 1 +#define OCC_VERSION_MAINTENANCE 2 //! This macro must be commented in official release, and set to non-empty //! string in other situations, to identify specifics of the version, e.g.: @@ -47,7 +47,7 @@ // Derived (manually): version as real and string (major.minor) #define OCC_VERSION 7.5 #define OCC_VERSION_STRING "7.5" -#define OCC_VERSION_COMPLETE "7.5.1" +#define OCC_VERSION_COMPLETE "7.5.2" //! Derived: extended version as string ("major.minor.maintenance.dev") #ifdef OCC_VERSION_DEVELOPMENT