mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0025880: fuzzy booleans with multiple tools
New features: class BOPTools_AlgoTools2D method: Standard_Integer BOPTools_AlgoTools2D::AttachExistingPCurve (const TopoDS_Edge& aEold, const TopoDS_Edge& aEnew, const TopoDS_Face& aF, const Handle(IntTools_Context)& aCtx) has been added. Purpose: To attach P-Curve on surface of the face <aF> from the edge <aEold> to the edge <aEnew> It returns 0 in case of success. Changes: 1. class BOPTools_AlgoTools method: Standard_Boolean BOPTools_AlgoTools::IsSplitToReverse (const TopoDS_Face& theFSp, const TopoDS_Face& theFSr, Handle(IntTools_Context)& theContext) The condition for a point on the surface of a face has been changed. 2. class BOPAlgo_PaveFiller method: void BOPAlgo_PaveFiller::MakePCurves() The treatment of E/E common bocks has been changed to use mechanism of attacment P-Curves [ I.1 ] Test case for issue CR25880
This commit is contained in:
@@ -952,18 +952,9 @@ void GeomLib::SameRange(const Standard_Real Tolerance,
|
||||
else { // On segmente le resultat
|
||||
Handle(Geom2d_TrimmedCurve) TC =
|
||||
new Geom2d_TrimmedCurve( CurvePtr, FirstOnCurve, LastOnCurve );
|
||||
|
||||
Standard_Real newFirstOnCurve = TC->FirstParameter(), newLastOnCurve = TC->LastParameter();
|
||||
|
||||
//
|
||||
Handle(Geom2d_BSplineCurve) BS =
|
||||
Geom2dConvert::CurveToBSplineCurve(TC);
|
||||
|
||||
if (BS->IsPeriodic())
|
||||
BS->Segment( newFirstOnCurve, newLastOnCurve) ;
|
||||
else
|
||||
BS->Segment( Max(newFirstOnCurve, BS->FirstParameter()),
|
||||
Min(newLastOnCurve, BS->LastParameter()) );
|
||||
|
||||
TColStd_Array1OfReal Knots(1,BS->NbKnots());
|
||||
BS->Knots(Knots);
|
||||
|
||||
|
Reference in New Issue
Block a user