MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0027310Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2016-03-28 09:332016-12-09 16:37
Reporteremv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.0.0 
Target Version[OCCT] 7.1.0Fixed in Version[OCCT] 7.1.0 
Summary0027310: Huge tolerance obtained in the result of intersection of two cylindrical faces
DescriptionThe result of intersection of two attached cylindrical faces has a huge tolerance.
The intersection tolerance obtained in version 680 of OCCT is OK, about 5.05e-7.

The problem has been discovered during analysis of the test case bugs moddata_2 bug496
Steps To ReproduceTest case has already been created and pushed to the branch.

restore bug496_faces.brep cf
explode cf
bopcurves cf_1 cf_2 -2d
# Tolerance Reached=28.00037987240534

restore bug496_faces_2.brep cf
explode cf
bopcurves cf_1 cf_2 -2d
# Tolerance Reached=30.005183963106642
TagsNo tags attached.
Test case numberbugs modalg_6 bug27310_1, bug27310_2
Attached Files? file icon bug496_faces.brep (3,935 bytes) 2016-03-28 09:33
? file icon bug496_faces_2.brep (3,382 bytes) 2016-03-28 09:45

- Relationships
duplicate of 0026771closedbugmaster Boolean intersection gives too large reached tolerance 

-  Notes
(0052048)
emv (developer)
2016-03-28 09:45

One more pair of faces with the same problem has been found in the same test case.
(0052559)
git (administrator)
2016-04-11 09:18

Branch CR27310 has been created by nbv.

SHA-1: c3712e63ff7bb90eb41501779e60618dc1e894c2


Detailed log of new commits:

Author: nbv
Date: Thu Apr 7 13:53:57 2016 +0300

    0027310: Huge tolerance obtained in the result of intersection of two cylindrical faces
    
    Sometimes start point of the intersection line is in the surface boundary strictly. I.e. the parameter of this point in the surface can be equal to both 0 or 2*PI equivalently. It is important to chose correct parameter value.
    
    The algorithm of prediction is based on monotonicity property (see CylCylMonotonicity(...) function in IntPatch_ImpImpIntersection_4.gxx). Now, this function is used wrongly. The fix improves this situation.
    
    Small optimization in the code.
    Creation of test cases .
(0052560)
nbv (developer)
2016-04-11 09:19

Dear Mikhail,

Please review CR27310 branch.
(0053639)
msv (developer)
2016-04-27 16:21

Please correct the logic of returning value by the method BoundariesComputing().
(0053641)
git (administrator)
2016-04-27 16:28

Branch CR27310 has been updated forcibly by nbv.

SHA-1: 2ecd80ebcbd4e8c168b4a329e8817d031bc99c9a
(0053642)
nbv (developer)
2016-04-27 16:28

Dear Mikhail,

Please review the current state of CR27310 branch.
(0053645)
msv (developer)
2016-04-27 16:30

Reviewed.
(0053677)
mkv (tester)
2016-04-28 15:14

Dear BugMaster,
Branch CR27310 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 2ecd80ebcbd4e8c168b4a329e8817d031bc99c9a

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 72 (72 on master)
Windows: 4 (4 on master)
MacOS : 1124

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
http://occt-tests/CR27310-master-OCCT/Debian70-64/bugs/modalg_6/bug27310_1.html [^]
http://occt-tests/CR27310-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27310_1.html [^]
bugs modalg_6 bug27310_1: OK
http://occt-tests/CR27310-master-OCCT/Debian70-64/bugs/modalg_6/bug27310_2.html [^]
http://occt-tests/CR27310-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug27310_2.html [^]
bugs modalg_6 bug27310_2: OK

Testing on Linux:
occt component :
Total MEMORY difference: 88342133 / 88959013 [-0.69%]
Total CPU difference: 19122.64 / 19139.950000000026 [-0.09%]
products component :
Total MEMORY difference: 27942212 / 27891155 [+0.18%]
Total CPU difference: 5366.989999999994 / 5370.249999999996 [-0.06%]

Testing on Windows:
occt component :
Total MEMORY difference: 55686826 / 55717599 [-0.06%]
Total CPU difference: 18626.987402998813 / 17772.835127698927 [+4.81%]
products component :
Total MEMORY difference: 19062934 / 19031321 [+0.17%]
Total CPU difference: 5210.527000599963 / 5185.613640899959 [+0.48%]

There are no differences in images found by testdiff.
(0053678)
mkv (tester)
2016-04-28 15:14

Dear BugMaster,
Branch CR27310 is TESTED.

(0054199)
git (administrator)
2016-05-20 12:22

Branch CR27310 has been deleted by inv.

SHA-1: 2ecd80ebcbd4e8c168b4a329e8817d031bc99c9a

- Related Changesets
occt: master 79997052
Timestamp: 2016-04-07 10:53:57
Author: nbv
Committer: bugmaster
Details ] Diff ]
0027310: Huge tolerance obtained in the result of intersection of two cylindrical faces

Sometimes start point of the intersection line is in the surface boundary strictly. I.e. the parameter of this point in the surface can be equal to both 0 or 2*PI equivalently. It is important to chose correct parameter value.

The algorithm of prediction is based on monotonicity property (see CylCylMonotonicity(...) function in IntPatch_ImpImpIntersection_4.gxx). Now, this function is used wrongly. The fix improves this situation.

Small optimization in the code.
Creation of test cases .

The logic of returning value by the method BoundariesComputing() has been corrected.
mod - src/IntPatch/IntPatch_ImpImpIntersection_4.gxx Diff ] File ]
add - tests/bugs/modalg_6/bug27310_1 Diff ] File ]
add - tests/bugs/modalg_6/bug27310_2 Diff ] File ]

- Issue History
Date Modified Username Field Change
2016-03-28 09:33 emv New Issue
2016-03-28 09:33 emv Assigned To => msv
2016-03-28 09:33 emv File Added: bug496_faces.brep
2016-03-28 09:37 msv Assigned To msv => nbv
2016-03-28 09:37 msv Status new => assigned
2016-03-28 09:37 msv Product Version 7.1.0 => 7.0.0
2016-03-28 09:45 emv Note Added: 0052048
2016-03-28 09:45 emv File Added: bug496_faces_2.brep
2016-03-28 09:46 emv Steps to Reproduce Updated View Revisions
2016-04-08 14:34 nbv Relationship added duplicate of 0026771
2016-04-11 09:18 git Note Added: 0052559
2016-04-11 09:19 nbv Note Added: 0052560
2016-04-11 09:19 nbv Assigned To nbv => msv
2016-04-11 09:19 nbv Status assigned => resolved
2016-04-11 09:19 nbv Steps to Reproduce Updated View Revisions
2016-04-27 16:21 msv Note Added: 0053639
2016-04-27 16:21 msv Status resolved => assigned
2016-04-27 16:22 msv Assigned To msv => nbv
2016-04-27 16:28 git Note Added: 0053641
2016-04-27 16:28 nbv Note Added: 0053642
2016-04-27 16:28 nbv Assigned To nbv => msv
2016-04-27 16:28 nbv Status assigned => resolved
2016-04-27 16:30 msv Note Added: 0053645
2016-04-27 16:30 msv Assigned To msv => bugmaster
2016-04-27 16:30 msv Status resolved => reviewed
2016-04-27 16:37 mkv Assigned To bugmaster => mkv
2016-04-28 15:14 mkv Note Added: 0053677
2016-04-28 15:14 mkv Note Added: 0053678
2016-04-28 15:14 mkv Assigned To mkv => bugmaster
2016-04-28 15:14 mkv Status reviewed => tested
2016-04-28 15:15 mkv Test case number => bugs modalg_6 bug27310_1, bug27310_2
2016-04-29 16:10 bugmaster Changeset attached => occt master 79997052
2016-04-29 16:10 bugmaster Status tested => verified
2016-04-29 16:10 bugmaster Resolution open => fixed
2016-05-20 12:22 git Note Added: 0054199
2016-12-09 16:31 user533 Status verified => closed
2016-12-09 16:37 user533 Fixed in Version => 7.1.0


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker