BRepExtrema uses 3d tolerance for checks on U and V

Dear forum supervisor,

in this code (version 6.6.0, file BRepExtrema_ExtPF.cxx, line 60):

void BRepExtrema_ExtPF::Initialize(const TopoDS_Face& TheFace,
const Extrema_ExtFlag TheFlag, const Extrema_ExtAlgo TheAlgo)
// ...
const Standard_Real Tol = BRep_Tool::Tolerance(TheFace);
// ...
myExtPS.Initialize(mySurf, U1, U2, V1, V2, Tol, Tol);

Tol, which is a length in 3d space, is passed to Extrema_ExtPS::Initialize() for the TolU and TolV arguments.

This seems wrong to me, because TolU and TolV are uses to compare increments on U or V parameters:

" TolU et TolV are used to determine the conditions to stop the iterations; at the iteration number n:
(Un - Un-1)


sergey zaritchny's picture

Dear Mauro,
Yes, your statement is correct.
I suggest you to register the issue in Mantis BugTracker which is available via the Collaborative portal -
You are also welcome to develop a corresponding patch and make a contribution via the Collaborative portal.
Best regards
Forum supervisor.