View Issue Details

IDProjectCategoryView StatusLast Update
0032850CommunityOCCT:Modeling Algorithmspublic2022-11-02 13:53
ReporterManycore Assigned Tosmoskvin  
PrioritynormalSeverityminor 
Status verifiedResolutionfixed 
PlatformWindowsOSVC++ 2015 
Product Version7.7.0 
Target Version7.7.0 
Summary0032850: Modeling Algorithms - Surface Surface Intersect Lost one line
DescriptionImplict-Implict Intersect Lost one line due to lost one IntPatch_Point
Steps To Reproducetest lowalgos intss bug32850

or:
#files cylinder1.brep, cylinder2.brep are attached
restore cylinder1.brep f1
restore cylinder2.brep f2
bopcurves f1 f2
# expect four lines , but return 3 lines

or (original source):

TopoDS_Shape Sh1;
TopoDS_Shape Sh2;
BRep_Builder B;
BRepTools::Read(Sh1, "C:\\Users\\Administrator.3AQY4VP0FVYRFVT\\Desktop\\cylinder1.brep", B);
BRepTools::Read(Sh2, "C:\\Users\\Administrator.3AQY4VP0FVYRFVT\\Desktop\\cylinder2.brep", B);

TopoDS_Face face1 = TopoDS::Face(Sh1);
TopoDS_Face face2 = TopoDS::Face(Sh2);

auto inter = new IntTools_FaceFace();
inter->Perform(face1, face2);
// expect four lines , but return 3 lines
TagsNo tags attached.
Test case numberlowalgos intss bug32850

Attached Files

  • cylinder1.brep (2,388 bytes)
  • cylinder2.brep (2,387 bytes)
  • Imp_Imp_Intersection_lost_one_IntPatch_Point_.png (26,835 bytes)
  • Imp_Imp_Intersection_should_return_4_lines.png (33,481 bytes)
  • enlarge_local.png (11,746 bytes)

Relationships

related to 0000569 closed Open CASCADE Can not intersect trimmed plane and cone surfaces . 

Activities

Manycore

2022-02-21 12:34

developer  

cylinder1.brep (2,388 bytes)
cylinder2.brep (2,387 bytes)

Manycore

2022-02-21 12:39

developer   ~0107006

the first picture shows that only 3 lines return, the second and third pictures show the right result
Imp_Imp_Intersection_lost_one_IntPatch_Point_.png (26,835 bytes)
Imp_Imp_Intersection_should_return_4_lines.png (33,481 bytes)
enlarge_local.png (11,746 bytes)

Manycore

2022-02-28 07:06

developer   ~0107091

fix bug Referenceļ¼š IntTools_EdgeFace::CheckTouch function

git

2022-02-28 08:27

administrator   ~0107092

Branch CR32850 has been created by Manycore.

SHA-1: f9bc720991cb7c3d7c7a1de415800b1e467e46c5


Detailed log of new commits:

Author: gelin
Date: Mon Feb 28 13:25:45 2022 +0800

    Merge branch 'master' of ssh://git.dev.opencascade.org/occt

Author: gelin
Date: Mon Feb 28 12:28:59 2022 +0800

        0032850: Modeling Algorithms - Surface Surface Intersect Lost one line

git

2022-02-28 08:31

administrator   ~0107093

Branch CR32850 has been deleted by Manycore.

SHA-1: f9bc720991cb7c3d7c7a1de415800b1e467e46c5

git

2022-02-28 09:17

administrator   ~0107094

Branch CR32850 has been created by Manycore.

SHA-1: dfbf6b9341d437c6b18fe547871ad41ec270bb1b


Detailed log of new commits:

Author: gelin
Date: Mon Feb 28 14:13:31 2022 +0800

    0032850: Modeling Algorithms - Surface Surface Intersect Lost one line

git

2022-02-28 09:44

administrator   ~0107096

Branch CR32850 has been updated by Manycore.

SHA-1: 3406e87f0aa8823ad3cd627c4b0a1e495b88b014


Detailed log of new commits:

Author: gelin
Date: Mon Feb 28 14:43:54 2022 +0800

    code modified

git

2022-09-08 17:35

administrator   ~0110881

Branch CR32850 has been updated forcibly by ifv.

SHA-1: 6235dbbebfa6caeac1003d3999aea85f594288d9

git

2022-09-15 17:41

administrator   ~0111069

Branch CR32850 has been updated by ifv.

SHA-1: ce8b14e7f824d76396dfcca89228fee07ad01291


Detailed log of new commits:

Author: ifv
Date: Mon Sep 12 12:16:59 2022 +0300

    Improving tangent criteria

git

2022-09-15 17:44

administrator   ~0111070

Branch CR32850 has been updated forcibly by ifv.

SHA-1: 0767db417b2812f50d0e1e05dd0f49af02cbd66e

git

2022-09-16 10:46

administrator   ~0111083

Branch CR32850 has been updated forcibly by ifv.

SHA-1: 1121bbef6244d3427ffed1286d1365af9e741f4c

ifv

2022-09-16 10:52

developer   ~0111084

Branch CR32850 in OCCT repository is ready for review

Test results
http://jenkins-test-08.nnov.opencascade.com/view/CR32850-master-ifv/view/COMPARE/

emv

2022-09-22 07:48

developer   ~0111181

src/BOPDS/BOPDS_DS.cxx
     if (aMP.Add(aPave1)){
+      if (i > aNb)
+        break;
       pPaves(i) = aPave1;
       ++i;
     }

I would propose raising assert here instead of silently skipping the rest of the paves.

tests/lowalgos/intss/bug32850
Please remove empty lines in the new test case (keep only one)

For some reason the result of new test execution is missing in the summary reports.

git

2022-09-26 13:01

administrator   ~0111266

Branch CR32850 has been updated forcibly by ifv.

SHA-1: d998daed56602f1073dabd1255fdfbca553cebbe

ifv

2022-09-27 14:33

developer   ~0111280

Branch CR32850 is updated according to remarks and tested

Test results
http://jenkins-test-08.nnov.opencascade.com/view/CR32850-master-ifv/view/COMPARE/

git

2022-09-28 17:32

administrator   ~0111297

Branch CR32850 has been updated by emv.

SHA-1: 9174f3d41b81769ce64c270321e5b98aefe195f7


Detailed log of new commits:

Author: emv
Date: Wed Sep 28 17:30:29 2022 +0300

    # Change the assert to break in case the abnormal number of paves is created.

emv

2022-09-28 17:32

developer   ~0111298

Last edited: 2022-09-28 17:33

+      Standard_ASSERT_VOID(i > aNb, "Abnormal number of paves");
 


In previous version there was a break if abnormal number of paves is created, currently there is no one. Plus, I think the condition should be changed to i <= aNb, otherwise the assert will be raised in normal case, as it is raised if !condition. So it should be changed to:
      Standard_ASSERT(i <= aNb, "Abnormal number of paves", break);


Plus, another assert in this method should be removed, as we will never add more paves than aNb.

tests/lowalgos/intss/bug32850
There are still lot of empty lines in the test - https://git.dev.opencascade.org/gitweb/?p=occt.git;a=blobdiff;f=src/BOPDS/BOPDS_DS.cxx;h=36090b0caba7ada39670c2ad6b5fe7c57103c3b9;hp=9ad33e6fdd3107ad9d56c89140ba3dfb202fa782;hb=d998daed56602f1073dabd1255fdfbca553cebbe;hpb=b3284f3ba911e4d18477ff1788ace3d7201a8827

I've made the required changes with the additional commit, please rebase and retest.

git

2022-09-29 10:21

administrator   ~0111306

Branch CR32850 has been deleted by ifv.

SHA-1: 9174f3d41b81769ce64c270321e5b98aefe195f7

git

2022-09-29 10:39

administrator   ~0111307

Branch CR32850 has been created by ifv.

SHA-1: adb168e072e617f2dd8e06bf0c43bcc2fdfefda0


Detailed log of new commits:

Author: gelin
Date: Mon Feb 28 09:13:31 2022 +0300

    0032850: Modeling Algorithms - Surface Surface Intersect Lost one line
    
    IntStart_SearchOnBoundaries.gxx - improving tangent criteria

ifv

2022-10-03 13:52

developer   ~0111327

Branch CR32850 is ready for review

Test results
http://jenkins-test-08.nnov.opencascade.com/view/CR32850-master-ifv/view/COMPARE/

emv

2022-10-07 09:40

developer   ~0111422

Reviewed. Please integrate CR32850 into OCCT.

git

2022-11-02 13:53

administrator   ~0111868

Branch CR32850 has been deleted by mnt.

SHA-1: adb168e072e617f2dd8e06bf0c43bcc2fdfefda0

Related Changesets

occt: master 492b09dc

2022-02-28 09:13:31

gelin


Committer: smoskvin Details Diff
0032850: Modeling Algorithms - Surface Surface Intersect Lost one line

IntStart_SearchOnBoundaries.gxx - improving tangent criteria
Affected Issues
0032850
mod - src/IntPatch/IntPatch_ALineToWLine.cxx Diff File
mod - src/IntStart/IntStart_SearchOnBoundaries.gxx Diff File
mod - tests/evolved/voluved/HMC010 Diff File
add - tests/lowalgos/intss/bug32850 Diff File

Issue History

Date Modified Username Field Change
2022-02-21 12:34 Manycore New Issue
2022-02-21 12:34 Manycore Assigned To => Manycore
2022-02-21 12:34 Manycore File Added: cylinder1.brep
2022-02-21 12:34 Manycore File Added: cylinder2.brep
2022-02-21 12:39 Manycore Note Added: 0107006
2022-02-21 12:39 Manycore File Added: Imp_Imp_Intersection_lost_one_IntPatch_Point_.png
2022-02-21 12:39 Manycore File Added: Imp_Imp_Intersection_should_return_4_lines.png
2022-02-21 12:39 Manycore File Added: enlarge_local.png
2022-02-28 05:52 Manycore Relationship added related to 0000569
2022-02-28 07:06 Manycore Note Added: 0107091
2022-02-28 08:27 git Note Added: 0107092
2022-02-28 08:31 git Note Added: 0107093
2022-02-28 09:17 git Note Added: 0107094
2022-02-28 09:44 git Note Added: 0107096
2022-02-28 09:47 Manycore Assigned To Manycore => msv
2022-02-28 09:47 Manycore Status new => resolved
2022-02-28 14:32 msv Assigned To msv => ifv
2022-09-08 17:35 git Note Added: 0110881
2022-09-15 17:41 git Note Added: 0111069
2022-09-15 17:44 git Note Added: 0111070
2022-09-16 10:40 ifv Steps to Reproduce Updated
2022-09-16 10:40 ifv Test case number => lowalgos intss bug32850
2022-09-16 10:46 git Note Added: 0111083
2022-09-16 10:51 ifv Status resolved => assigned
2022-09-16 10:52 ifv Assigned To ifv => msv
2022-09-16 10:52 ifv Status assigned => resolved
2022-09-16 10:52 ifv Note Added: 0111084
2022-09-16 11:40 msv Assigned To msv => emv
2022-09-22 07:48 emv Assigned To emv => ifv
2022-09-22 07:48 emv Status resolved => assigned
2022-09-22 07:48 emv Note Added: 0111181
2022-09-26 13:01 git Note Added: 0111266
2022-09-27 14:33 ifv Assigned To ifv => emv
2022-09-27 14:33 ifv Status assigned => resolved
2022-09-27 14:33 ifv Note Added: 0111280
2022-09-28 17:32 git Note Added: 0111297
2022-09-28 17:32 emv Note Added: 0111298
2022-09-28 17:32 emv Assigned To emv => ifv
2022-09-28 17:32 emv Status resolved => assigned
2022-09-28 17:33 emv Note Edited: 0111298
2022-09-29 10:21 git Note Added: 0111306
2022-09-29 10:39 git Note Added: 0111307
2022-10-03 13:52 ifv Assigned To ifv => emv
2022-10-03 13:52 ifv Status assigned => resolved
2022-10-03 13:52 ifv Note Added: 0111327
2022-10-07 09:40 emv Assigned To emv => bugmaster
2022-10-07 09:40 emv Status resolved => reviewed
2022-10-07 09:40 emv Note Added: 0111422
2022-11-02 13:40 smoskvin Status reviewed => tested
2022-11-02 13:46 smoskvin Changeset attached => occt master 492b09dc
2022-11-02 13:46 smoskvin Assigned To bugmaster => smoskvin
2022-11-02 13:46 smoskvin Status tested => verified
2022-11-02 13:46 smoskvin Resolution open => fixed
2022-11-02 13:53 git Note Added: 0111868