mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
0027493: [Regression relative to OCCT 7.0.0] Extrema_ExtCC does not set flag "IsParallel" equal to true for the overlapped curves
Check for infinite solutions now starts from two solutions. Test case is added.
This commit is contained in:
parent
264abd72f2
commit
e64622331f
@ -335,8 +335,7 @@ void Extrema_GenExtCC::Perform()
|
||||
|
||||
// Avoid mark parallel case when have duplicates out of tolerance.
|
||||
// Bad conditioned task: bug25635_1, bug23706_10, bug23706_13.
|
||||
const Standard_Integer aMinNbInfSol = 100;
|
||||
if (aPnts.Size() >= aMinNbInfSol)
|
||||
if (aPnts.Size() >= 2)
|
||||
{
|
||||
isParallel = Standard_True;
|
||||
for(Standard_Integer anIdx = aPnts.Lower(); anIdx <= aPnts.Upper() - 1; anIdx++)
|
||||
|
25
tests/bugs/moddata_3/bug27493
Normal file
25
tests/bugs/moddata_3/bug27493
Normal file
@ -0,0 +1,25 @@
|
||||
puts "============"
|
||||
puts "OCC27493"
|
||||
puts "============"
|
||||
puts ""
|
||||
#########################################################################
|
||||
# [Regression relative to OCCT 7.0.0] Extrema_ExtCC does not set flag "IsParallel" equal to true for the overlapped curves
|
||||
#########################################################################
|
||||
|
||||
restore [locate_data_file bug27493.brep] anEdges
|
||||
explode anEdges
|
||||
mkcurve c1 anEdges_1
|
||||
mkcurve c2 anEdges_2
|
||||
|
||||
# Check infinite solutions flag value
|
||||
set info [extrema c1 c2]
|
||||
if { [regexp "Infinite number of extremas" ${info}] != 1 } {
|
||||
puts "Error : Infinite solution flag have incorrect value"
|
||||
}
|
||||
|
||||
# Check extrema distance
|
||||
regexp {distance = +([-0-9.+eE]+)} $info full aDist
|
||||
set absTol 1.0e-9
|
||||
set relTol 0.001
|
||||
set aDist_Exp 0.0
|
||||
checkreal "Distance value check" $aDist $aDist_Exp $absTol $relTol
|
Loading…
x
Reference in New Issue
Block a user