Anonymous | Login 2019-05-19 13:25 MSK Project: All Projects Community Open CASCADE
 My View | View Issues | Change Log | Roadmap

 View Revisions: Issue #27896 Summary 0027896: Prm-Prm intersection algo returns wrong result if it is called with start intersection point, which lies in the domain boundary Revision 2016-10-12 09:30 by nbv Description Test bugs modalg_5 bug25319_1(2).     Draw[]> explode b1 f     Draw[]> explode b2 f     Draw[]> don b1_8 b2_17 Without any start point     Draw[]> bopcurves b1_8 b2_17 -2d # Tolerance Reached=2.4122298283916123e-006 ==> OK With start point:     Draw[]> bopcurves b1_8 b2_17 -2d -p +1.09444207768950010000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639710000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000 # Tolerance Reached=2.2611960020325053e-007 ==> OK However, small shifting the start point (by the distance < 1.0e-13):     Draw[]> bopcurves b1_8 b2_17 -2d -p +1.09444207768949960000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639750000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000 # Tolerance Reached=0.015634546636864411 ==> WRONG. Additional information: 1. In both cases initial points are true intersection points (it has been checked with computation of distances). 2. In both (!) cases one initial point is ON UV-bounds of the intersected face. However, behavior of intersection algorithm is slight different. 3. If we extend UV-bounds of the face by 1.0e-7 (in order to be for initial point IN the domain (not ON) then intersection result will be OK. Revision 2016-09-22 16:42 by nbv Description Test bugs modalg_5 bug25319_1(2).     Draw[]> explode b1 f     Draw[]> explode b2 f     Draw[]> don b1_8 b2_17 Without any start point     Draw[]> bopcurves b1_8 b2_17 -2d # Tolerance Reached=2.4122298283916123e-006 ==> OK With start point:     Draw[]> bopcurves b1_8 b2_17 -2d -p +1.09444207768950010000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639710000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000 # Tolerance Reached=2.2611960020325053e-007 ==> OK However, small shifting the start point (by the distance < 1.0e-13):     Draw[]> bopcurves b1_8 b2_17 -2d -p +1.09444207768949960000 +29.00000000000000000000 +0.17740001678466785000 +2.79671571032639750000 -p +0.00000000000000000000 +26.87779254288926400000 +0.17767342824312710000 +2.80622040022304510000 # Tolerance Reached=0.015634546636864411 ==> WRONG. Additional information: 1. In both cases initial points are true intersection points (it has been checked with computation of distances). 2. In both (!) cases one initial point is in UV-bounds of the intersected face. However, behavior of intersection algorithm is slight different. 3. If we extend UV-bounds of the face by 1.0e-7 (in order to be for initial point IN the domain (not ON) then intersection result will be OK.