1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

0033060: [Regression to 7.4.0] Mesh - Sub-precisional links provoke failure on face

Slightly increase exact resolution so to cover links with approximate length equal to resolution itself on sub-resolution differences.
This commit is contained in:
oan
2022-07-08 13:49:11 +03:00
committed by smoskvin
parent b315a85dd7
commit 0acc1ab47c
2 changed files with 21 additions and 2 deletions

View File

@@ -124,10 +124,12 @@ void BRepMesh_DefaultRangeSplitter::computeTolerance(
const Standard_Real aDiffU = myRangeU.second - myRangeU.first;
const Standard_Real aDiffV = myRangeV.second - myRangeV.first;
// Slightly increase exact resolution so to cover links with approximate
// length equal to resolution itself on sub-resolution differences.
const Standard_Real aTolerance = BRep_Tool::Tolerance (myDFace->GetFace());
const Adaptor3d_Surface& aSurface = GetSurface()->Surface();
const Standard_Real aResU = aSurface.UResolution (aTolerance);
const Standard_Real aResV = aSurface.VResolution (aTolerance);
const Standard_Real aResU = aSurface.UResolution (aTolerance) * 1.1;
const Standard_Real aResV = aSurface.VResolution (aTolerance) * 1.1;
const Standard_Real aDeflectionUV = 1.e-05;
myTolerance.first = Max(Min(aDeflectionUV, aResU), 1e-7 * aDiffU);