0026980: Intersection part of Boolean algorithm spends much system time and system memory
Patch for CR26980_2 fix
Small correction of shape name
-----------------------------------------------------------
0026323: Tolerance computing unification
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.
0026383: Incorrect tolerance computing in IntTools_FaceFace::ComputeTolerance()
Projection of points 3d curve on faces deleted from ComputeTolerance().
(cherry picked from commit
260f924fe38a8950dafc89351f0b2481d7858758)
0026565: Compsolid after cut becomes compound of solids
Changed the rules for the types of the arguments for different operations:
1. FUSE: All arguments and tools should have the same dimension;
2. CUT: The MAXIMAL dimension of the ARGUMENTS should be less
or equal to the MINIMAL dimension of the TOOLS;
3. CUT21: The MINIMAL dimension of ARGUMENTS should be grater
or equal to the MAXIMAL dimension of the TOOLS;
4. COMMON: The arguments and tools could have any dimensions.
For the arguments of collection type (WIRE, SHELL, COMPSOLID)
the type will be passed into the result of the operation.
The documentation should be updated according to new behavior.
Documentation has been updated.
Implemented suggestions by MSV and some grammar changes.
Test cases for issue CR26565
Correction of test cases for issue CR26565
Correction of test cases for issue CR26565
(cherry picked from commit
9526aa6a8a2a5b41713211d2f6c2aa58c1344e24)
0026718: Big tolerance value of the edge in the result of General Fuse operation
class BOPTools_AlgoTools2D
method
Standard_Integer BOPTools_AlgoTools2D::AttachExistingPCurve
(const TopoDS_Edge& aE2, // old
const TopoDS_Edge& aE1, // new
const TopoDS_Face& aF,
const Handle(IntTools_Context)& aCtx)
To prevent huge tolerance increasing check the distances between 2d and 3d
curves (through surface) before attaching 2d curve to the edge.
Test case for issue CR26718
Correction of test cases for issue CR26718
(cherry picked from commit
521e1c61912e7b034652be4a6ba85daaf82999af)
0026619: Tolerances of operands are modified using bop
The fix forces creation of new sub-shapes (vertex, edge) when the tolerance of some sub-shape of an argument is to be increased.
This new behavior is turned off by default. It can be turned on using two ways:
1) Setting 'locking' flag of the arguments.
2) Calling the method SetNonDestructive(Standard_True) of the class BOPAlgo_PaveFiller.
(cherry picked from commit
fb42c34bd2bff56e9411ff4b5a993565c4d60baf)