View Issue Details

IDProjectCategoryView StatusLast Update
0025992Open CASCADEOCCT:Modeling Algorithmspublic2015-05-14 16:33
ReporternbvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version6.9.0Fixed in Version6.9.0 
Summary0025992: Method Geom2dAPI_InterCurveCurve::Segment(...) requires detail revision
DescriptionThere are two questions:

1. Is IsOpposite() method used correctly? It seems that "one place" processes it as curves with same orientation, but "other place" processes it as curves with opposite orientation.

2. Case when U1 and U2 parameters are equal is possible. After "Curve1 = new Geom2d_TrimmedCurve(myCurve1, U1, U2)" we will be able to get an exception.

Problem has been detected while fixing bug 0025991
Steps To ReproduceNot required
TagsNo tags attached.
Test case numberNot needed

Relationships

related to 0025991 closedbugmaster Fix cyclic dependency between IntPatch, GeomInt and GeomAPI packages 

Activities

git

2015-04-01 11:15

administrator   ~0039079

Branch CR25992 has been created by nbv.

SHA-1: bf1473c0684ab736b9413b2bfd4a6ccf2af27512


Detailed log of new commits:

Author: nbv
Date: Wed Apr 1 11:15:08 2015 +0300

    0025992: Method Geom2dAPI_InterCurveCurve::Segment(...) requires detail revision
    
    1. Comment for IsOpposite() method has been amended.
    2. Method Geom2dAPI_InterCurveCurve::Segment() has been rewritten in accordance with the Bug description requirements (described problem has been confirmed).

nbv

2015-04-01 11:22

developer   ~0039082

Dear Mikhail!

Please review CR25992 branch.

There are two places in OCCT-code, where IsOpposite() is used:
   1. Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect(...), line # 1048;
   2. void IntImpParGen_Intersector::Perform(...), line # 567.

There IsOpposite is set to TRUE if curves have DIFFERENT orientation. Therefore, it might be good idea to change wrong comment for IsOpposite method.

git

2015-04-01 13:06

administrator   ~0039087

Branch CR25992 has been updated forcibly by nbv.

SHA-1: 0bf21eb2169e713946a8d7775f39e9815989f1b8

msv

2015-04-01 13:14

developer   ~0039088

Reviewed.

mkv

2015-04-01 19:51

tester   ~0039123

Dear BugMaster,
Branch CR25992 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: 0bf21eb2169e713946a8d7775f39e9815989f1b8

Number of compiler warnings:

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

products component :
Linux: 4 (4 on master)
Windows: 0 (0 on master)

Regressions/Differences:
http://occt-tests/CR25992-master-occt-64/Debian60-64/summary.html
....

http://occt-tests/CR25992-master-products-64/Debian60-64/parasolid/doc_3/D2.html
parasolid doc_3 D2: FAILED

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 85453772 / 86758660 [-1.50%]
Total CPU difference: 51544.59999999999 / 53014.41000000025 [-2.77%]
products component :
Total MEMORY difference: 23167235 / 23077069 [+0.39%]
Total CPU difference: 14865.029999999979 / 15581.089999999984 [-4.60%]

Testing on Windows:
occt component :

products component :


There are no differences in images found by testdiff.

git

2015-04-03 10:41

administrator   ~0039188

Branch CR25992 has been updated by nbv.

SHA-1: ca6c17f84e18011914d3af2dd2a10b7ad19c1b6c


Detailed log of new commits:

Author: nbv
Date: Fri Apr 3 10:41:21 2015 +0300

    The reason of the exception has been eliminated

nbv

2015-04-03 10:42

developer   ~0039189

Dear Mikhail!

Please review CR25992 branch.

git

2015-04-03 10:46

administrator   ~0039190

Branch CR25992 has been updated forcibly by nbv.

SHA-1: f31661f2e5d84c845684c5cd3ae62abd290af81b

msv

2015-04-03 11:09

developer   ~0039192

Reviewed.

git

2015-04-06 20:44

administrator   ~0039280

Branch CR25992 has been updated forcibly by mkv.

SHA-1: 73d996448773b90c2a2c8cb3dfafab52133d7099

mkv

2015-04-08 20:16

tester   ~0039404

Dear BugMaster,
Branch CR25992 was rebased on IR-2015-04-06 of occt git-repository.

mkv

2015-04-08 20:16

tester   ~0039405

Last edited: 2015-04-09 15:19

Dear BugMaster,
Branch CR25992 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: 73d996448773b90c2a2c8cb3dfafab52133d7099

Number of compiler warnings:

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

products component :
Linux: 4 (4 on master)
Windows: 0 (0 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 93079383 / 93946480 [-0.92%]
Total CPU difference: 55148.23999999925 / 52005.719999999616 [+6.04%]
products component :
Total MEMORY difference: 23560859 / 23598467 [-0.16%]
Total CPU difference: 16983.799999999952 / 15592.839999999998 [+8.92%]

Testing on Windows:
occt component :
Total MEMORY difference: 57060600 / 57074762 [-0.02%]
Total CPU difference: 16167.662838198974 / 16635.463036899022 [-2.81%]
products component :
Total MEMORY difference: 15324411 / 15311228 [+0.09%]
Total CPU difference: 5838.25942449996 / 6012.5749418999785 [-2.90%]

There are no differences in images found by testdiff.

mkv

2015-04-09 15:20

tester   ~0039498

Dear BugMaster,
Branch CR25992 is TESTED.

git

2015-05-14 16:33

administrator   ~0041052

Branch CR25992 has been deleted by inv.

SHA-1: 73d996448773b90c2a2c8cb3dfafab52133d7099

Related Changesets

occt: master 5b055f07

2015-04-09 14:06:47

nbv


Committer: bugmaster Details Diff
0025992: Method Geom2dAPI_InterCurveCurve::Segment(...) requires detail revision

1. Comment for IsOpposite() method has been amended.
2. Method Geom2dAPI_InterCurveCurve::Segment() has been rewritten in accordance with the Bug description requirements (described problem has been confirmed).

The reason of the exception has been eliminated
Affected Issues
0025992
mod - src/Geom2dAPI/Geom2dAPI_InterCurveCurve.cxx Diff File
mod - src/IntRes2d/IntRes2d_IntersectionSegment.cdl Diff File

Issue History

Date Modified Username Field Change
2015-03-31 11:19 nbv New Issue
2015-03-31 11:19 nbv Assigned To => msv
2015-03-31 11:20 nbv Assigned To msv => nbv
2015-03-31 11:20 nbv Status new => assigned
2015-03-31 11:23 nbv Description Updated
2015-03-31 11:32 nbv Description Updated
2015-03-31 11:33 nbv Relationship added related to 0025991
2015-04-01 11:15 git Note Added: 0039079
2015-04-01 11:22 nbv Note Added: 0039082
2015-04-01 11:22 nbv Assigned To nbv => msv
2015-04-01 11:22 nbv Status assigned => resolved
2015-04-01 11:22 nbv Steps to Reproduce Updated
2015-04-01 13:06 git Note Added: 0039087
2015-04-01 13:14 msv Note Added: 0039088
2015-04-01 13:14 msv Assigned To msv => bugmaster
2015-04-01 13:14 msv Status resolved => reviewed
2015-04-01 14:12 mkv Assigned To bugmaster => mkv
2015-04-01 19:29 mkv Test case number => Not needed
2015-04-01 19:51 mkv Note Added: 0039123
2015-04-01 19:51 mkv Assigned To mkv => bugmaster
2015-04-01 19:51 mkv Status reviewed => assigned
2015-04-03 10:41 git Note Added: 0039188
2015-04-03 10:42 nbv Note Added: 0039189
2015-04-03 10:42 nbv Assigned To bugmaster => msv
2015-04-03 10:42 nbv Status assigned => resolved
2015-04-03 10:46 git Note Added: 0039190
2015-04-03 11:09 msv Note Added: 0039192
2015-04-03 11:09 msv Assigned To msv => bugmaster
2015-04-03 11:09 msv Status resolved => reviewed
2015-04-03 14:42 mkv Assigned To bugmaster => mkv
2015-04-06 20:44 git Note Added: 0039280
2015-04-08 20:16 mkv Note Added: 0039404
2015-04-08 20:16 mkv Note Added: 0039405
2015-04-09 15:19 mkv Note Edited: 0039405
2015-04-09 15:20 mkv Note Added: 0039498
2015-04-09 15:20 mkv Assigned To mkv => bugmaster
2015-04-09 15:20 mkv Status reviewed => tested
2015-04-10 14:09 bugmaster Changeset attached => occt master 5b055f07
2015-04-10 14:09 bugmaster Status tested => verified
2015-04-10 14:09 bugmaster Resolution open => fixed
2015-05-14 15:28 aiv Status verified => closed
2015-05-14 15:31 aiv Fixed in Version => 6.9.0
2015-05-14 16:33 git Note Added: 0041052