I ComputePurgedWLine() function:
Excess points in walking line are deleted when:
1) Distance between neighboring points too small.
2) Points lie in one pipe without big jump on chord length.
III
Fixed problem with extremaPC with too close knot distribution to [minParam, maxParam] borders.
IV ApproxInt_Approx.gxx
New division criteria in intersection approximator.
III Test case
Test cases update to the new behavior.
Test case for CR21564
Correction of test cases for issue CR21564
class BOPAlgo_PaveFiller
method void BOPAlgo_PaveFiller::PutPaveOnCurve
(const Standard_Integer nV,
const Standard_Real aTolR3D,
BOPDS_Curve& aNC,
const BOPCol_MapOfInteger& aMI,
BOPCol_DataMapOfIntegerReal& aMVTol,
const Standard_Integer iCheckExtend)
Do not put the pave on the curve in case if there is already one with the same parameter.
Update tolerance of the existing vertex to reach the new one.
Added test case bugs/modalg_6/bug26444.
Test boolean/volumemaker/G1 is stable now (deleted TODOs), test offset/faces_type_i/C9 is bad (offset is done with wrong result).
DRAW commands bmodified, bisdeleted, bgenerated have been implemented to track
the history of shapes modifications in Boolean and General Fuse operations.
Test-case for issue #26393
1. JoinWLines algorithm has been improved.
2. Reference to the V-boundaries is deleted when computing step.
3. Decreasing the tolerance when computing parameters of WLine.
4. Adding boundary point is forbidden if it lies in prolongation of found ones.
5. Possible reason of exception has been eliminated.
6. Processing of critical point has been improved.
Test cases for this issue have been created.
Correction of some test case(s).
Test case bugs/modalg_6/bug26310_4 is added
Update of test-cases for issue #26310
Performance improvements and regression elimination.
Handling of degenerated case added.
Update of test-case offset faces_type_a A2 according to the new behavior
Test-case for issue #26418
1. class BOPAlgo_ShellSplitter
static method void RefineShell(TopoDS_Shell& theShell,
BOPCol_ListOfShape& aLShX)
Added protection from INTERNAL edges.
2. class BOPAlgo_MakerVolume
method void BOPAlgo_MakerVolume::MakeBox(BOPCol_MapOfShape& theBoxFaces)
Creation of the overlapping box of proper size.
Test-cases for issue #26379
1. Divide B-spline curve on sub-intervals (bounded by knots values).
2. Class BRepLib_CheckCurveOnSurface_TargetFunc has been optimized for future implementation to checkshape algorithm (Adaptors are used instead of Geom_Curve(Surface)).
3. Parallelization of new algorithm.
The algorithm is based on math_PSO class.
Test cases for issue 25613 have been created.
Changes in accordance with the last remarks
Check the validity of the intersection point between Faces.
Test case for issue CR26316
Correction of the test case for the issue.
Small correction of test case for issue CR26316
Upgrade method of computing vertex tolerance.
Update function, which used the old method.
Test case for issue CR26241
Delete obsolete variables.
Small correction of test cases for issue CR26241
1. Methods IntPolyh_MaillageAffinage::GetMinDeflection() and IntPolyh_MaillageAffinage::GetMaxDeflection() have been created (see cdl-file for more detail information).
2. Extended check, if starting point of WLine is a tangent point, has been implemented in IntWalk_PWalking::Perform(...) method.
Test cases for issue CR26151
Classifier has been corrected to not take into account a probing point if the probing line appears to be tangent to the boundary at this point.
But allow to use tangent point if all points on the edge are tangent.
Modify bad test cases.
Test case for issue CR26206
In method Approx_SameParameter::Build() for case when 2D and 3D curves is not same parameter calculation of maximal deviation is modified by following way :
Projection is considered as done only if parameter projected point falls within the current interval of parameters.
In the Approx_SameParameter considering tolerance after static method ProjectPointOnCurve was added.
In BRepAlgoAPI_Sewing catch of exception was added and computation of tolerance of edge if same parameter was changed in according to check in BRepCheck_Analyzer
In method Approx_SameParameter::Build() for case when 2D and 3D curves is not same parameter calculation of maximal deviation is modified by following way :
Modification in order to avoid warning
Test case for issue CR24357
1. Conditions for adjusting and for breaking Walking-lines have been amended.
2. Processing of case when WLine should be broken has been changed.
Test cases for issues 26193 and 26208 have been added
Cosmetic correction of test-cases
Modification of test-case according to the new behavior.
Replace BOPCol_MapOfShape by BOPCol_IndexedMapOfShape to provide
the same order of shells in the result
Test case for issue CR26253
Correction of test case for issue CR26253
1. B-spline cache was moved into separated classes: BSplCLib_Cache for 2D and 3D curves and BSplSLib_Cache for surfaces.
2. The cache is used now in corresponding adaptor classes (Geom2dAdaptor_Curve, GeomAdaptor_Curve and GeomAdaptor_Surface) when the curve or surface is a B-spline.
3. Algorithms were changed to use adaptors for B-spline calculations instead of curves or surfaces.
4. Precised calculation of derivatives of surface of revolution is implemented for the points of surface placed on the axis of revolution (Geom_SurfaceOfRevolution.cxx)
5. Small modifications are made to adjust algorithms to new behavior of B-spline calculation.
6. Test cases were modified according to the modern behavior.
7. Changes in BOPAlgo_WireSplitter, BOPTools_AlgoTools, BRepLib_CheckCurveOnSurface and ShapeAnalysis_Wire to use adaptors instead of geometric entities
8. Allow Geom2dAdaptor and GeomAdaptor in case of offset curve to use corresponding adaptor for basis curve
Modification of test-cases according to the new behavior.
Correct the algorithm to get right Start point for extension of the walking line.
Test case for issue CR26197
Correction of test case bugs/modalg_6/bug26197
Changes:
class BOPTools_AlgoTools2D
- method:
Standard_Integer BOPTools_AlgoTools2D::AttachExistingPCurve
(const TopoDS_Edge& aE2,
const TopoDS_Edge& aE1,
const TopoDS_Face& aF,
const Handle(IntTools_Context)& aCtx)
has been changed.
The treatment of the curves that need to be reversed has been modified
taking into account reversed parameter
Test case for issue CR26224
class BOPAlgo_PaveFiller
1. method
void BOPAlgo_PaveFiller::MakeBlocks()
Update of FaceInfo IN information before filling the maps.
2. methods
void BOPAlgo_PaveFiller::UpdateFaceInfo
(BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME,
const BOPCol_DataMapOfIntegerInteger& theDMV)
void BOPAlgo_PaveFiller::ProcessExistingPaveBlocks
(const Standard_Integer theInt,
const BOPDS_IndexedMapOfPaveBlock& aMPBOnIn,
const BOPCol_DataMapOfIntegerListOfInteger& aDMBV,
BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& aMSCPB,
BOPCol_DataMapOfShapeInteger& aMVI,
BOPDS_MapOfPaveBlock& aMPB)
Small changes in treatment of existing pave blocks when making new ones from intersection curves.
Test case for issue CR26218
Correction of test case for issue CR26218
1. Function IntImp_Int2S::ChangePoint() has been added (see cdl for detail information).
2. Attempt to forbidden break WLine if it goes along surface boundary.
Code optimization.
2nd optimization
Test case for issue CR25890