mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-16 10:08:36 +03:00
0025810: Exception in extrema operation.
Fixed computation of number of analytic intersection points. Test case for issue CR25810
This commit is contained in:
parent
e32045fd71
commit
fc0180e5f3
@ -361,9 +361,9 @@ void Extrema_ExtElCS::Perform(const gp_Circ& C,
|
|||||||
// Check whether two objects have intersection points
|
// Check whether two objects have intersection points
|
||||||
IntAna_Quadric aCylQuad(S);
|
IntAna_Quadric aCylQuad(S);
|
||||||
IntAna_IntConicQuad aCircCylInter(C, aCylQuad);
|
IntAna_IntConicQuad aCircCylInter(C, aCylQuad);
|
||||||
Standard_Integer aNbInter = aCircCylInter.NbPoints();
|
Standard_Integer aNbInter = 0;
|
||||||
if (!aCircCylInter.IsDone())
|
if (aCircCylInter.IsDone())
|
||||||
aNbInter = 0;
|
aNbInter = aCircCylInter.NbPoints();
|
||||||
|
|
||||||
// Compute the extremas.
|
// Compute the extremas.
|
||||||
myNbExt = 2*aNbExt + aNbInter;
|
myNbExt = 2*aNbExt + aNbInter;
|
||||||
|
15
tests/bugs/moddata_3/bug25810
Normal file
15
tests/bugs/moddata_3/bug25810
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
puts "============"
|
||||||
|
puts "OCC25810"
|
||||||
|
puts "============"
|
||||||
|
puts ""
|
||||||
|
#######################################################################
|
||||||
|
# Exception in extrema operation.
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
restore [locate_data_file bug25810_e1.brep] b1
|
||||||
|
restore [locate_data_file bug25810_f1.brep] b2
|
||||||
|
|
||||||
|
mkcurve c1 b1
|
||||||
|
mksurface s2 b2
|
||||||
|
|
||||||
|
extrema c1 s2
|
Loading…
x
Reference in New Issue
Block a user