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).
Computing is unified. ComputeFastTol3d() method was deleted.
If intersection result contains 3D- and corresponded two 2D-curves then tolerance will be computed with using BRepLib_CheckCurveOnSurface algorithm (check same-parameter).
If intersection result contains only 3D-curve (getting 2D-curve can be switched off by users) then tolerance will be computed with using GeomAPI_ProjectPointOnSurf algorithm (projects some point of 3D-curve on the surface and finds maximal distance).
Some workarounds have been deleted.
Some test case have been changed.
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
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
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.
Added subgroups volumemaker, gdml_private and gdml_public
Moved scripts from public repository ti test cases
Added more TODOs to unstable test cases
Small corrections for unstable test cases
Changes:
class IntTools_FClass2d
- method:
TopAbs_State IntTools_FClass2d::Perform
(const gp_Pnt2d& _Puv,
const Standard_Boolean RecadreOnPeriodic) const
has been changed.
The value of tolerance
For the value of tolerance for classification,
the minimum (among UResolution, VResolution) value is used.
Test case for issue CR26080
Unstable test cases were reviewed
Modified test cases using checktrend command
Modified test cases for Linux platform
Modified test cases for Debug mode
1. Restriction line is processed in IntTools_FaceFace with using methods of GeomInt_IntSS class.
2. Check, if Restriction- and Walking-lines (or Restriction-Restriction lines) are coincided, has been added in IntPatch_ImpPrmIntersection.cxx (at that RLine is considered to be isoline only).
3. Check, if RLine and GLine are coincided, has been added in IntPatch_ImpImpIntersection.cxx.
4. Create new class IntPatch_PointLine, which is inherited from IntPatch_Line.
5. The reason of exception (in DEBUG MODE) has been eliminated.
New test cases for issue #25416 were added.
tests/bugs/modalg_5/bug24650 was modified.
If Walking-lines are coincided we kept line, which contains more points or has more length (because it is more precisely, most likely).
Test cases for issue CR25828
Some test cases were changed
Updated test-cases from branch CR24255_3
0024255: Regressions in test cases on OCCT vc9 win64 Release
Small refactoring.
Fix for CASE bugs modalg_5 bug25298_09: FAILED (error)
Test-cases correction (bugs modalg_5 bugs25804_1, bug25704_2)
Changes:
class BRepCheck_Solid
method:
void BRepCheck_Solid::Minimum()
has been changed. The treatment of shells with INTERNAL faces has been added.
Added test case bugs/modalg_5/bug25735
Added TODOs in test cases according to issue 25735.
1. The tool of computing the max distance between 3D curve and its 2d representation on the face
has been moved from static methods in BOPTools_AlgoTools class to BRepLib_CheckCurveOnSurface class.
2. The tools has been applied to 2d curves built during Boolean Operation
and to some intersection curves.
3. The functions
Standard_Boolean BOPTools_AlgoTools::ComputeTolerance
(const TopoDS_Face& theFace,
const TopoDS_Edge& theEdge,
Standard_Real& theMaxDist,
Standard_Real& theMaxPar)
and
Standard_Boolean IntTools_Tools::ComputeTolerance
(const Handle(Geom_Curve)& theCurve3D,
const Handle(Geom2d_Curve)& theCurve2D,
const Handle(Geom_Surface)& theSurf,
const Standard_Real theFirst,
const Standard_Real theLast,
Standard_Real& theMaxDist,
Standard_Real& theMaxPar)
have been developed for easy access to BRepLib_CheckCurveOnSurface functionality.
class IntTools_FaceFace
method void IntTools_FaceFace::ComputeTolReached3d()
Case for Plane/BSpline intersection added for treatment.
Test case for issue CR25597
Fix for regression boolean bsection N7.
class BOPAlgo_PaveFiller
method
void BOPAlgo_PaveFiller::UpdateFaceInfo
(BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME,
const BOPCol_DataMapOfIntegerInteger& theDMV)
Updating Face Info information with new vertices created in PostTreatFF.
Correction boolean/bsection/N2
Updated test cases.
Wrong border 1.0e-9 jump has deleted. Added periodicity information when projecting to surface.
Period "jump" bug fixes.
AppCont_LeastSquare conversion to non cdl class.
AppCont_Function + AppCont_FunctionTool combined in one class providing the same functionality and converted to non cdl.
Testcase modification.
Test cases for issue CR24988
Fixed incorrect comparison.
Changes:
class BOPTools_AlgoTools
static function:
Standard_Boolean FindPointInFace(const TopoDS_Face& aF,
const gp_Pnt& aP,
gp_Dir& aDB,
gp_Pnt& aPOut,
Handle(IntTools_Context)& theContext,
GeomAPI_ProjectPointOnSurf& aProjPL,
const Standard_Real aDt,
const Standard_Real aTolE)
Binormal calculation starts from the point located outside the tolerance circle of the edge
Test case for issue CR25432
Correction of test cases for issue CR25432
1. DRAW-commands for curve/surface continuity returning were changed.
2. Output of "distmini" DRAW-command is amended.
3. Function MinMax() was moved from Standard_Real to IntPatch_ImpImpIntersection_4.gxx.
4. Incorrect computing of nbcurveC1 in Geom2dConvert::C0BSplineToC1BSplineCurve(...) function was liquidated.
Test cases were changed.
class BOPAlgo_Builder
method
void BOPAlgo_Builder::FillIn3DParts
(BOPCol_DataMapOfShapeListOfShape& theInParts,
BOPCol_DataMapOfShapeShape& theDraftSolids,
const BOPCol_BaseAllocator&)
Sort faces before its classification relatively to the solid.
Test cases for issue CR25319
Correction of test cases for issue CR25319
1. New status "BRepCheck_InvalidPolygonOnTriangulation" is added.
2. Small correction of output of "checkshape" command result.
Test cases were changed.
Test case for issue CR25109
Some test cases were changed according to their new behavior.
Range of changing of some analytic curves is computed by other methods. It allows computing face's boundaries with more precise.
Tolerance was increased to provide successful work of some algorithms.
Functions BRepOffsetAPI_MiddlePath::Build() and ApproxWithPCurves(...) (file IntTools_FaceFace.cxx) were changed according to new result of algorithm's work.
It is possibly for "outboundaried faces" (see bug#23675) to compute incorrect UV-Bounds, when first parameter is more than last. To avoid it, extended control of computed bounds was added.
Function for fail sameparameter fixing was added to HLRAppli_ReflectLines to avoid creation bad shapes after algorithm's work.
In file ShapeFix_ComposeShell.cxx only text formatting was changed.
Some test cases are changed according to their new behavior.
Added test case bugs/moddata_3/bug23511
class BOPTest
class BOPAlgo_BOP
class BOPAlgo_Builder
class BOPTest
class BRepFeat_Builder
class BRepFeat_MakeCylindricalHole
The format of the command has been changed:
bbop r op [-s -t]
The following options has been added:
-s - run in serial mode
-t - print the CPU time
Test cases for issue CR24825
Main changes are in "IntWalk_IWalking::TestDeflection(...)" function (IntWalk_IWalking_5.gxx).
Some test cases were corrected according to their new behavior.
Fixed creation of extrema curve in debug mode.
Deleted space between ";" and "V" in debug output to make "llength" DRAW funcion work correctly in debug mode.
Deleted TODOs in tests/bugs/modalg_5/bug24327
Deleted TODOs in test cases with improvement in extrema output. Increased cpulimit in de, boolean and perf.
boolean bsection M9 N5
Adjusting test cases in DEBUG mode to current state of master (increase cpulimit and modified TODOs)
bugs modalg_5 bug24327
Added TODO in test case to avoid regression in DEBUG mode caused by integration of 24327
perf bop builface
Increase cpulimit of test case (problem in DEBUG mode)