View Issue Details

IDProjectCategoryView StatusLast Update
0029807Open CASCADEOCCT:Modeling Algorithmspublic2020-10-14 10:27
Reporterazv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.3.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0029807: [Regression to 7.0.0] Impossible to cut cone from prism
DescriptionThe cone is cutting from the prism with cylindrical hole. The cone and the hole axes are parallel and the cone's apex is placed on the cylinder.

CUT operation returns a solid without any error message. The solid is topologically valid, but the cone is not cut, just intersecting faces are split.

The result of cutting on OCCT 7.0.0 was valid. The problem appears since 7.1.0.
Steps To Reproduce
brestore bug29807-obj.brep obj
brestore bug29807-tool.brep tool
bcut res obj tool
TagsNo tags attached.
Test case numberbugs/modalg_7/bug23972,bugs/modalg_7/bug25542,bugs/modalg_7/bug29807_b*,bugs/modalg_7/bug29807_i*,bugs/modalg_7/bug29807_sc01,bugs/modalg_7/bug29807_svm01,bugs/modalg_7/bug29807_svm02,bugs/modalg_7/bug29824

Attached Files

  • bug29807-obj.brep (142,945 bytes)
  • bug29807-tool.brep (338,960 bytes)
  • bug29807-wrong-result.png (11,544 bytes)
  • additional cones.7z (1,281 bytes)
  • Test bugs modalg_2 bug20964_5.png (124,796 bytes)

Relationships

parent of 0029922 newmsv Open CASCADE Boolean operation with conical argument loses degenerated edge 
parent of 0031850 closedbugmaster Community Modeling Algorithms - boolean cut and common generate unexpected result 
related to 0025542 closedbugmaster Community Boolean operation failure for Cylinder and Cone in critical location. 
related to 0029860 assignedemv Open CASCADE Modeling Algorithms - BOPAlgo_BuilderFace cannot build new faces correctly 
related to 0028503 closedbugmaster Open CASCADE Incomplete result of making volume operation due to incorrect intersection of conical faces 
related to 0029893 newmsv Open CASCADE IntPatch_TheSOnBounds cannot find precise solution 
Not all the children of this issue are yet resolved or closed.

Activities

azv

2018-05-23 17:11

administrator  

bug29807-obj.brep (142,945 bytes)

azv

2018-05-23 17:11

administrator  

bug29807-tool.brep (338,960 bytes)

azv

2018-05-23 17:12

administrator  

bug29807-wrong-result.png (11,544 bytes)

emv

2018-05-24 08:19

developer   ~0076207

Last edited: 2018-05-24 14:36

The problem here in incorrect section curves produced by the intersection algorithm between cone and cylinder. First, the curves have a big tolerance; second, one of the curves has a returning point and overlaps itself.
restore bug29807-obj.brep b1
restore bug29807-tool.brep b2
explode b1 f
explode b2 f
bopcurves b1_5 b2_2 -2d


In OCCT 7.0.0 the tolerance is also high enough, but both curves are valid (no overlapping).

git

2018-05-25 16:30

administrator   ~0076334

Branch CR29807 has been created by nbv.

SHA-1: 95980ee5189bcd068f33215c4f41c3acdc2a0cd9


Detailed log of new commits:

Author: nbv
Date: Fri May 25 11:05:58 2018 +0300

    0029807: [Regression to 7.0.0] Impossible to cut cone from prism
    
    Case has been processed while the intersection line goes through the cone apex.

git

2018-05-28 17:18

administrator   ~0076367

Branch CR29807 has been updated forcibly by nbv.

SHA-1: 64ee0348d1c02d92f213fbf1d6d47d743aa3d812

git

2018-05-29 16:03

administrator   ~0076401

Branch CR29807 has been updated forcibly by nbv.

SHA-1: 3679afc6481de9fb4a4004684d8f19ff6aa1615f

git

2018-05-29 18:13

administrator   ~0076418

Branch CR29807 has been updated forcibly by nbv.

SHA-1: a98c77930f2cba37cc05336d727a54711c3d68a1

git

2018-05-29 18:15

administrator   ~0076420

Branch CR29807 has been updated forcibly by nbv.

SHA-1: 93805c8d144a06c665d61d3a18bb29290adc2d70

git

2018-05-30 17:12

administrator   ~0076447

Branch CR29807_1 has been created by nbv.

SHA-1: 33a5550bd6eb9fa6281237c0f2532c08c3824304


Detailed log of new commits:

Author: nbv
Date: Fri May 25 11:05:58 2018 +0300

    0029807: [Regression to 7.0.0] Impossible to cut cone from prism
    
    Case has been processed while the intersection line goes through the cone apex.

nbv

2018-05-30 18:10

developer   ~0076451

DC,

The branch CR29807_1 fixes the initial problem completely.

However, there are some problems in the intersection algorithm itself. Namely while vertices computation in case when the intersection curve goes through the singular point (cone apex). In my view the main problem is in IntPatch_RstInt algorithm.

Briefly the class IntPatch_SpecialPoints processes any singular points but it demands all these points must be marked as vertex. If it is not done these points will be ignored by IntPatch_SpecialPoints class.

So, in the regression case the computed vertex is already quite far from the apex. As result, I have to increase the input tolerance for class IntPatch_ALineToWLine (see changes in IntPatch_Intersection.cxx file). After that, the algorithm IntPatch_SpecialPoints is called and processes the cone apex correctly. However, this tolerance increasing leads to some regressions (see test results).

Additionally, I have obtained other cones (by rotation of the b2_2 face - see message 0029807:0076207 - around some axes going through the apex). These faces are in "additional cones.7z" attached archive.

E.g. in case of intersection shape1 with the cylinder b1_5, all vertices (4 vertices are found) found by IntPatch_RstInt algorithm are in distance greater than 0.1 from the cone apex. As result, IntPatch_SpecialPoints is not called at all but it must be called. However, boolean operation works properly in this case (i.e. it is not a regression):

   Draw[]> trotate b2 +23.85857157145715500000 +12.00000000000000000000 +5.50000000000000000000 7 -7.14142842854285 0 5
   Draw[]> bcut rr b1 b2

rr is an appropriate result.

Having summarized, we need to find exact locations of the vertex and avoid increasing tolerance in IntPatch_Intersection.cxx file. So, I am going to continue the fix and to try to eliminate the observed problem in IntPatch_RstInt algorithm.

nbv

2018-05-30 18:13

developer  

additional cones.7z (1,281 bytes)

git

2018-06-01 18:11

administrator   ~0076529

Branch CR29807_2 has been created by nbv.

SHA-1: 1909cce37fb7cbdbada341c5535e8ef6daf74b03


Detailed log of new commits:

Author: nbv
Date: Fri May 25 11:05:58 2018 +0300

    0029807: [Regression to 7.0.0] Impossible to cut cone from prism
    
    1. Case has been processed while the intersection line goes through the cone apex.
    
    2. All special points are put to the ALine forcefully (if they are true intersection point). Currently this step has not been implemented yet.
    
    3. Now the tolerance of IntPatch_Point (put into ALine) is computed in order to cover the distance between it and the correspond ALine.
    
    4. Test cases have been created.

git

2018-06-04 10:27

administrator   ~0076561

Branch CR29807_2 has been updated forcibly by nbv.

SHA-1: c93e04ec8e3a39853c85248d3ee2e656a4064c06

git

2018-06-05 17:51

administrator   ~0076627

Branch CR29807_2 has been updated forcibly by nbv.

SHA-1: 582fe8b4faf6c4d58799819fa3ed925cf55e6899

git

2018-06-08 13:57

administrator   ~0076678

Branch CR29807_tmp has been created by nbv.

SHA-1: cfdfa9128ba7102a2f98c4f2db59a374462bf7f4


Detailed log of new commits:

Author: nbv
Date: Wed Jun 6 12:01:55 2018 +0300

    IntPatch_SpecialPoints::ContinueAfterSpecialPoint(...) method.

git

2018-06-08 16:13

administrator   ~0076684

Branch CR29807_tmp has been deleted by nbv.

SHA-1: cfdfa9128ba7102a2f98c4f2db59a374462bf7f4

git

2018-06-09 17:17

administrator   ~0076707

Branch CR29807_2 has been updated forcibly by nbv.

SHA-1: e009c54c070997ef45ec8c47a798691b4364f2df

git

2018-06-13 17:24

administrator   ~0076747

Branch CR29807_3 has been created by nbv.

SHA-1: 85451b6ce10ba99439e51c0618c150f2efc9e291


Detailed log of new commits:

Author: nbv
Date: Fri May 25 11:05:58 2018 +0300

    0029807: [Regression to 7.0.0] Impossible to cut cone from prism
    
    1. Case has been processed while the intersection line goes through the cone apex.
    
    2. All special points are put to the ALine forcefully (if they are true intersection point). Currently this step has not been implemented yet.
    
    3. Now the tolerance of IntPatch_Point (put into ALine) is computed in order to cover the distance between it and the correspond ALine.
    
    4. Test cases have been created.

git

2018-06-13 17:41

administrator   ~0076748

Branch CR29807_3 has been updated forcibly by nbv.

SHA-1: c5ec97d1bc21a8d68b664371d1ed047a88ab6bcc

git

2018-06-14 09:43

administrator   ~0076757

Branch CR29807_3 has been updated forcibly by nbv.

SHA-1: d57bd640de574295d135828705ac51519148b690

git

2018-06-14 11:08

administrator   ~0076763

Branch CR29807_3 has been updated forcibly by nbv.

SHA-1: d6137e752f8ebac58b71559b13a381b7191680ab

git

2018-06-14 14:34

administrator   ~0076771

Branch CR29807_3 has been updated forcibly by nbv.

SHA-1: 4a3cbc7aa29a2c4b008979b9df7138a0fca6e96d

git

2018-06-14 17:09

administrator   ~0076774

Branch CR29807_3 has been updated forcibly by nbv.

SHA-1: 5cf32d3ce4699514b66576ee769e56f04b6678e6

git

2018-06-14 18:38

administrator   ~0076785

Branch CR29807_3 has been updated forcibly by nbv.

SHA-1: 62fff36a49821b00177ec90c9f28c3f9f20e5c7a

git

2018-06-15 12:27

administrator   ~0076796

Branch CR29807_3 has been updated forcibly by nbv.

SHA-1: 2eadd7ac6fb831128e9426dd014a1a4925fda46b

git

2018-06-15 15:40

administrator   ~0076797

Branch CR29807 has been deleted by nbv.

SHA-1: 93805c8d144a06c665d61d3a18bb29290adc2d70

git

2018-06-15 15:40

administrator   ~0076798

Branch CR29807_1 has been deleted by nbv.

SHA-1: 33a5550bd6eb9fa6281237c0f2532c08c3824304

git

2018-06-15 15:40

administrator   ~0076799

Branch CR29807_2 has been deleted by nbv.

SHA-1: e009c54c070997ef45ec8c47a798691b4364f2df

git

2018-06-15 16:53

administrator   ~0076801

Branch CR29807_4 has been created by nbv.

SHA-1: e59903829016bb32f0b744d6a52ad4a51ef80ccc


Detailed log of new commits:

Author: nbv
Date: Fri May 25 11:05:58 2018 +0300

    0029807: [Regression to 7.0.0] Impossible to cut cone from prism
    
    1. Case has been processed while the intersection line goes through the cone apex.
    
    2. All special points are put to the ALine forcefully (if they are true intersection point). Currently this step has not been implemented yet.
    
    3. Now the tolerance of IntPatch_Point (put into ALine) is computed in order to cover the distance between it and the correspond ALine.
    
    4. Test cases have been created.

git

2018-06-18 13:20

administrator   ~0076809

Branch CR29807_4 has been updated forcibly by nbv.

SHA-1: 32a379d6081023db27d7c1a86df7cf11d2919522

git

2018-06-18 15:18

administrator   ~0076815

Branch CR29807_4 has been updated forcibly by nbv.

SHA-1: 671240c073813ce2cbf40b4ff8b8e451844037f6

git

2018-06-18 17:57

administrator   ~0076823

Branch CR29807_5 has been created by nbv.

SHA-1: d437695bc2832f14410de63343a582d6e4a62549


Detailed log of new commits:

Author: nbv
Date: Fri May 25 11:05:58 2018 +0300

    0029807: [Regression to 7.0.0] Impossible to cut cone from prism
    
    1. Case has been processed while the intersection line goes through the cone apex.
    
    2. All special points are put to the ALine forcefully (if they are true intersection point). Currently this step has not been implemented yet.
    
    3. Now the tolerance of IntPatch_Point (put into ALine) is computed in order to cover the distance between it and the correspond ALine.
    
    4. Test cases have been created.

git

2018-06-19 10:53

administrator   ~0076829

Branch CR29807_5 has been updated forcibly by nbv.

SHA-1: 78111a61622700ab02efb010e485c19b61d60cef

git

2018-06-19 11:06

administrator   ~0076830

Branch CR29807_5 has been updated forcibly by nbv.

SHA-1: 143566af4b4d3381859dd69bdb0a29a59f03f428

git

2018-06-19 14:13

administrator   ~0076835

Branch CR29807_5 has been updated forcibly by nbv.

SHA-1: b940ac5fb045c25344dc5ca8ddc5482c827b14a9

git

2018-06-19 18:13

administrator   ~0076838

Branch CR29807_5 has been updated forcibly by nbv.

SHA-1: 36a78b20995cce1110c4901ba995015f5eb9f963

git

2018-06-20 10:42

administrator   ~0076841

Branch CR29807_5 has been updated forcibly by nbv.

SHA-1: d71d0138408c5dc425baefa01feed8069f6700ed

git

2018-06-20 14:34

administrator   ~0076847

Branch CR29807_5 has been updated forcibly by nbv.

SHA-1: 14a3ad726d1e4e29486bbea33d495c264a0e0e03

git

2018-06-20 16:54

administrator   ~0076853

Branch CR29807_3 has been deleted by nbv.

SHA-1: 2eadd7ac6fb831128e9426dd014a1a4925fda46b

git

2018-06-20 16:54

administrator   ~0076854

Branch CR29807_4 has been deleted by nbv.

SHA-1: 671240c073813ce2cbf40b4ff8b8e451844037f6

git

2018-06-22 09:52

administrator   ~0076881

Branch CR29807_5 has been updated forcibly by nbv.

SHA-1: 049d71bd642ea3856e7228848c1c12ad7e10c30a

git

2018-06-22 15:48

administrator   ~0076889

Branch CR29807 has been created by nbv.

SHA-1: 374f283596a21708fd2f6a50225d5fb9f0c2165a


Detailed log of new commits:

Author: nbv
Date: Fri May 25 11:05:58 2018 +0300

    0029807: [Regression to 7.0.0] Impossible to cut cone from prism
    
    1. Case has been processed while the intersection line goes through the cone apex.
    
    2. All special points are put to the ALine forcefully (if they are true intersection point). Currently this step has not been implemented yet.
    
    3. Now the tolerance of IntPatch_Point (put into ALine) is computed in order to cover the distance between it and the correspond ALine.
    
    4. Test cases have been created.
    
    ------------------
    1) tests/boolean/volumemaker/C5
       tests/boolean/volumemaker/C6
       tests/boolean/volumemaker/E7
    
    They are real IMPROVEMENTS. In the FIX (in compare with MASTER), section result between pairs of faces f2&f6 (C5), f3&f7 (C6) and f1&f5 (E7) is closed. Separated test cases have been created in order to focus on the problem with section. Bug 0028503 has been fixed.

git

2018-06-25 17:03

administrator   ~0077043

Branch CR29807 has been updated forcibly by nbv.

SHA-1: 668c48ebd2d818e3e9794196d971b8f8f3593f33

git

2018-06-26 18:50

administrator   ~0077065

Branch CR29807 has been updated forcibly by nbv.

SHA-1: 0dd9e4b6d801912918b5d771761b505428b7fbb1

git

2018-06-27 18:44

administrator   ~0077079

Branch CR29807_5 has been deleted by nbv.

SHA-1: 049d71bd642ea3856e7228848c1c12ad7e10c30a

git

2018-06-27 18:45

administrator   ~0077080

Branch CR29807 has been updated forcibly by nbv.

SHA-1: 5fd97b4c77d18ec05708a58d843fda35b455dbdb

git

2018-06-28 14:31

administrator   ~0077093

Branch CR29807 has been updated forcibly by nbv.

SHA-1: 42c0467a8c954a0a3bf224ae0c06d8baea37c343

git

2018-06-28 16:13

administrator   ~0077106

Branch CR29807 has been updated forcibly by nbv.

SHA-1: c6024a405cac16e3ddbf4b53c9c56c3eed460398

git

2018-06-28 19:29

administrator   ~0077109

Branch CR29807 has been updated forcibly by nbv.

SHA-1: 473302a104ae30cd73f3db7e4e13c5afd8866cb2

git

2018-06-29 10:05

administrator   ~0077110

Branch CR29807 has been updated forcibly by nbv.

SHA-1: 14811d67b9c098fc130115dbeb3ddf4e348a78a9

git

2018-07-02 12:32

administrator   ~0077195

Branch CR29807_1 has been created by nbv.

SHA-1: e2c44bb2c578faa0b081a9eb9723aec46ee23a54


Detailed log of new commits:

Author: nbv
Date: Fri May 25 11:05:58 2018 +0300

    0029807: [Regression to 7.0.0] Impossible to cut cone from prism
    
    Case has been processed while the intersection line goes through the cone apex. As result, currently we have good intersection lines and cut-result is built.
    
    <!break>
    
    1. All special points are put to the ALine forcefully (if they are true intersection point). Currently this step has not been implemented yet.
    
    2. Now the tolerance of IntPatch_Point (put into ALine) is computed in order to cover the distance between it and the correspond ALine.
    
    3. Test cases have been created.
    
    4. Procedure of trimming IntAna_Curve has been improved.
    
    5. Criterion when the discriminant of IntAna_Curve can be considered to be equal to 0 has been improved.
    
    6. Methods IntAna_Curve::FindParameter(...) (and IntPatch_ALine::FindParameter(...)) currently returns list of all parameters corresponding the given point (IntAna_Curve can be self-interfered curve). Before the fix, this method always returned only one (randomly chosen) parameter.
    
    7. Interfaces of the following methods have been changed: IntAna_Curve::FindParameter(...), IntPatch_ALine::FindParameter(...), IntPatch_ALine::ChangeVertex(...), IntPatch_SpecialPoints::AddPointOnUorVIso(...), IntPatch_SpecialPoints::AddSingularPole(...), IntPatch_WLineTool::ExtendTwoWLines().
    
    8. Following methods have been added: IntAna_Quadric::SpecialPoints(...), IntPatch_ALineToWLine::GetSectionRadius(...), IntPatch_SpecialPoints::ProcessSphere(...), IntPatch_SpecialPoints::ProcessCone(...), IntPatch_SpecialPoints::GetTangentToIntLineForCone(...).
    
    ------------------
    1) tests/boolean/volumemaker/C5
       tests/boolean/volumemaker/C6
       tests/boolean/volumemaker/E7
    
    They are real IMPROVEMENTS. In the FIX (in compare with MASTER), section result between pairs of faces f2&f6 (C5), f3&f7 (C6) and f1&f5 (E7) is closed. Separated test cases have been created in order to focus on the problem with section. Bug 0028503 has been fixed.

nbv

2018-07-02 13:45

developer   ~0077200

Dear Mikhail,

Please review the branches CR29807_1 (for OCCT) and CR29807prod1 for OCCT-products.

Test results are here: http://jenkins-test-11.nnov.opencascade.com/view/CR29807-CR29807prod_NBV/

msv

2018-07-02 15:47

developer   ~0077202

Please explain differences:

IMAGE boolean volumemaker E7: E7.png differs
IMAGE bugs modalg_2 bug20964_5: bug20964_5.png differs
IMAGE parasolid doc_3 A4: A4.png differs

nbv

2018-07-02 15:52

developer   ~0077203

IMAGE boolean volumemaker E7
IMAGE parasolid doc_3 A4

Are explained in the commit messages.

msv

2018-07-02 20:03

developer   ~0077217

tests/bugs/modalg_7/bug23972
- 2: "Excep-tion"

tests/bugs/modalg_7/bug25542
- put bug summary into output

src/BRepTest/BRepTest_CheckCommands.cxx
- 337: please output the reason of error (expected and actual number of alone vertices).

src/IntAna/IntAna_Curve.cxx
- 428: use TColStd_ListOfReal.
- Returned value bool is not needed, use void.

src/IntAna/IntAna_Quadric.hxx
- 84: use NCollection_List.

src/IntAna/IntAna_Quadric.cxx
- 90: replace implementation with call to SetQuadric(const gp_Cone& Cone).
- 110: the same for a sphere.

src/IntPatch/IntPatch_ALine.hxx
- 106: use TColStd_ListOfReal.

src/IntPatch/IntPatch_ImpImpIntersection_0.gxx
- 1208: it seems the condition here requires to be inverted.

git

2018-07-03 10:58

administrator   ~0077222

Branch CR29807_2 has been created by nbv.

SHA-1: afad1f92d3d8524c599f8be585d7e27ec1de749d


Detailed log of new commits:

Author: nbv
Date: Fri May 25 11:05:58 2018 +0300

    0029807: [Regression to 7.0.0] Impossible to cut cone from prism
    
    Case has been processed while the intersection line goes through the cone apex. As result, currently we have good intersection lines and cut-result is built.
    
    <!break>
    
    1. All special points are put to the ALine forcefully (if they are true intersection point). Currently this step has not been implemented yet.
    
    2. Now the tolerance of IntPatch_Point (put into ALine) is computed in order to cover the distance between it and the correspond ALine.
    
    3. Test cases have been created.
    
    4. Procedure of trimming IntAna_Curve has been improved.
    
    5. Criterion when the discriminant of IntAna_Curve can be considered to be equal to 0 has been improved.
    
    6. Methods IntAna_Curve::FindParameter(...) (and IntPatch_ALine::FindParameter(...)) currently returns list of all parameters corresponding the given point (IntAna_Curve can be self-interfered curve). Before the fix, this method always returned only one (randomly chosen) parameter.
    
    7. Interfaces of the following methods have been changed: IntAna_Curve::FindParameter(...), IntPatch_ALine::FindParameter(...), IntPatch_ALine::ChangeVertex(...), IntPatch_SpecialPoints::AddPointOnUorVIso(...), IntPatch_SpecialPoints::AddSingularPole(...), IntPatch_WLineTool::ExtendTwoWLines().
    
    8. Following methods have been added: IntAna_Quadric::SpecialPoints(...), IntPatch_ALineToWLine::GetSectionRadius(...), IntPatch_SpecialPoints::ProcessSphere(...), IntPatch_SpecialPoints::ProcessCone(...), IntPatch_SpecialPoints::GetTangentToIntLineForCone(...).
    
    ------------------
    1) tests/boolean/volumemaker/C5
       tests/boolean/volumemaker/C6
       tests/boolean/volumemaker/E7
    
    They are real IMPROVEMENTS. In the FIX (in compare with MASTER), section result between pairs of faces f2&f6 (C5), f3&f7 (C6) and f1&f5 (E7) is closed. Separated test cases have been created in order to focus on the problem with section. Bug 0028503 has been fixed.

nbv

2018-07-03 11:27

developer   ~0077223

Last edited: 2018-07-03 12:21

IMAGE bugs modalg_2 bug20964_5: bug20964_5.png differs

New behavior is really IMPROVEMENT (see "Test bugs modalg_2 bug20964_5.png" attached picture). The result of Boolean operation (TUC) is highlighted by red.

On the bottom side, the p-curve of problem face is shown.

nbv

2018-07-03 12:20

developer  

Test bugs modalg_2 bug20964_5.png (124,796 bytes)

git

2018-07-03 13:48

administrator   ~0077230

Branch CR29807_2 has been updated by nbv.

SHA-1: 78b8617f465fb48990b36b61b6bd6a54a4279047


Detailed log of new commits:

Author: nbv
Date: Tue Jul 3 13:43:13 2018 +0300

    Correction in test cases.

nbv

2018-07-03 16:01

developer   ~0077237

Dear Mikhail,

Please review the current state of the branches CR29807_2 (for OCCT) and CR29807prod1 (for OCCT-products).

Test results are here: http://jenkins-test-11.nnov.opencascade.com/view/CR29807-CR29807prod_NBV/

git

2018-07-03 17:15

administrator   ~0077240

Branch CR29807_2 has been updated by nbv.

SHA-1: 50c5ac84f37793c81171f36fada3a8fc6c8d546b


Detailed log of new commits:

Author: nbv
Date: Tue Jul 3 17:13:11 2018 +0300

    # Corrections according to remarks

msv

2018-07-03 18:56

developer   ~0077243

Reviewed.

bugmaster

2018-07-03 19:37

administrator   ~0077245

Combination -
OCCT branch : CR29807_2 SHA - 50c5ac84f37793c81171f36fada3a8fc6c8d546b
Products branch : CR29807prod1 SHA - 93d875a9bd178db9c6f0614241b2c92375b8facd
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian70-64:
OCCT
Total CPU difference: 17180.660000000033 / 17168.50999999987 [+0.07%]
Products
Total CPU difference: 7498.390000000029 / 7526.93000000002 [-0.38%]
Windows-64-VC10:
OCCT
Total CPU difference: 16848.170400398598 / 16935.000556998602 [-0.51%]
Products
Total CPU difference: 8264.886179699877 / 8215.262261599859 [+0.60%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

bugmaster

2018-07-04 17:47

administrator   ~0077271

Changes in pictures has been discussed with NBV

git

2018-07-08 12:00

administrator   ~0077357

Branch CR29807_2 has been deleted by inv.

SHA-1: 50c5ac84f37793c81171f36fada3a8fc6c8d546b

git

2018-07-08 12:00

administrator   ~0077362

Branch CR29807_1 has been deleted by inv.

SHA-1: e2c44bb2c578faa0b081a9eb9723aec46ee23a54

git

2018-07-08 12:00

administrator   ~0077363

Branch CR29807 has been deleted by inv.

SHA-1: 14811d67b9c098fc130115dbeb3ddf4e348a78a9

Related Changesets

occt: master 3306fdd9

2018-05-25 08:05:58

nbv


Committer: bugmaster Details Diff
0029807: [Regression to 7.0.0] Impossible to cut cone from prism

The algorithm has been improved for the cases when the intersection line goes through the cone apex.

<!break>

1. All special points are put to the ALine forcefully (if they are true intersection point). Currently this step has not been implemented yet.

2. Now the tolerance of IntPatch_Point (put into ALine) is computed in order to cover the distance between it and the correspond ALine.

3. Test cases have been created.

4. Procedure of trimming IntAna_Curve has been improved.

5. Criterion when the discriminant of IntAna_Curve can be considered to be equal to 0 has been improved.

6. Methods IntAna_Curve::FindParameter(...) (and IntPatch_ALine::FindParameter(...)) currently returns list of all parameters corresponding the given point (IntAna_Curve can be self-interfered curve). Before the fix, this method always returned only one (randomly chosen) parameter.

7. Interfaces of the following methods have been changed: IntAna_Curve::FindParameter(...), IntPatch_ALine::FindParameter(...), IntPatch_ALine::ChangeVertex(...), IntPatch_SpecialPoints::AddPointOnUorVIso(...), IntPatch_SpecialPoints::AddSingularPole(...), IntPatch_WLineTool::ExtendTwoWLines().

8. Following methods have been added: IntAna_Quadric::SpecialPoints(...), IntPatch_ALineToWLine::GetSectionRadius(...), IntPatch_SpecialPoints::ProcessSphere(...), IntPatch_SpecialPoints::ProcessCone(...), IntPatch_SpecialPoints::GetTangentToIntLineForCone(...).

------------------
1) tests/boolean/volumemaker/C5
tests/boolean/volumemaker/C6
tests/boolean/volumemaker/E7

They are real IMPROVEMENTS. In the FIX (in compare with MASTER), section result between pairs of faces f2&f6 (C5), f3&f7 (C6) and f1&f5 (E7) is closed. Separated test cases have been created in order to focus on the problem with section. Bug 0028503 has been fixed.

Correction in test cases.
Affected Issues
0029807
mod - src/BRepTest/BRepTest_CheckCommands.cxx Diff File
mod - src/Geom/Geom_ConicalSurface.hxx Diff File
mod - src/gp/gp_Cone.hxx Diff File
mod - src/IntAna/IntAna_Curve.cxx Diff File
mod - src/IntAna/IntAna_Curve.hxx Diff File
mod - src/IntAna/IntAna_IntQuadQuad.cxx Diff File
mod - src/IntAna/IntAna_Quadric.cxx Diff File
mod - src/IntAna/IntAna_Quadric.hxx Diff File
mod - src/IntPatch/IntPatch_ALine.hxx Diff File
mod - src/IntPatch/IntPatch_ALine.lxx Diff File
mod - src/IntPatch/IntPatch_ALineToWLine.cxx Diff File
mod - src/IntPatch/IntPatch_ALineToWLine.hxx Diff File
mod - src/IntPatch/IntPatch_ImpImpIntersection_0.gxx Diff File
mod - src/IntPatch/IntPatch_ImpImpIntersection_2.gxx Diff File
mod - src/IntPatch/IntPatch_ImpImpIntersection_4.gxx Diff File
mod - src/IntPatch/IntPatch_ImpPrmIntersection.cxx Diff File
mod - src/IntPatch/IntPatch_Intersection.cxx Diff File
mod - src/IntPatch/IntPatch_Point.cxx Diff File
mod - src/IntPatch/IntPatch_Point.hxx Diff File
mod - src/IntPatch/IntPatch_PointLine.cxx Diff File
mod - src/IntPatch/IntPatch_SpecialPoints.cxx Diff File
mod - src/IntPatch/IntPatch_SpecialPoints.hxx Diff File
mod - src/IntPatch/IntPatch_WLineTool.cxx Diff File
mod - src/IntPatch/IntPatch_WLineTool.hxx Diff File
mod - src/IntStart/IntStart_SearchOnBoundaries.gxx Diff File
mod - src/QABugs/QABugs_19.cxx Diff File
mod - src/QABugs/QABugs_20.cxx Diff File
mod - tests/boolean/volumemaker/C5 Diff File
mod - tests/boolean/volumemaker/C6 Diff File
mod - tests/boolean/volumemaker/E7 Diff File
rm - tests/bugs/fclasses/bug23972 Diff File
mod - tests/bugs/modalg_2/bug20964_1 Diff File
mod - tests/bugs/modalg_2/bug20964_2 Diff File
mod - tests/bugs/modalg_2/bug20964_3 Diff File
mod - tests/bugs/modalg_2/bug20964_4 Diff File
mod - tests/bugs/modalg_2/bug20964_5 Diff File
mod - tests/bugs/modalg_6/bug27269 Diff File
mod - tests/bugs/modalg_6/bug27282_2 Diff File
mod - tests/bugs/modalg_6/bug28626_1 Diff File
mod - tests/bugs/modalg_6/bug28626_2 Diff File
mod - tests/bugs/modalg_6/bug28626_3 Diff File
mod - tests/bugs/modalg_7/bug23176 Diff File
add - tests/bugs/modalg_7/bug23972 Diff File
add - tests/bugs/modalg_7/bug25542 Diff File
add - tests/bugs/modalg_7/bug29807_b1 Diff File
add - tests/bugs/modalg_7/bug29807_b2 Diff File
add - tests/bugs/modalg_7/bug29807_b3a Diff File
add - tests/bugs/modalg_7/bug29807_b3b Diff File
add - tests/bugs/modalg_7/bug29807_b4a Diff File
add - tests/bugs/modalg_7/bug29807_b4b Diff File
add - tests/bugs/modalg_7/bug29807_b5a Diff File
add - tests/bugs/modalg_7/bug29807_b5b Diff File
add - tests/bugs/modalg_7/bug29807_i1001 Diff File
add - tests/bugs/modalg_7/bug29807_i1002 Diff File
add - tests/bugs/modalg_7/bug29807_i1003 Diff File
add - tests/bugs/modalg_7/bug29807_i1004 Diff File
add - tests/bugs/modalg_7/bug29807_i1005 Diff File
add - tests/bugs/modalg_7/bug29807_i1006 Diff File
add - tests/bugs/modalg_7/bug29807_i2001 Diff File
add - tests/bugs/modalg_7/bug29807_i2002 Diff File
add - tests/bugs/modalg_7/bug29807_i2003 Diff File
add - tests/bugs/modalg_7/bug29807_i2004 Diff File
add - tests/bugs/modalg_7/bug29807_i2005 Diff File
add - tests/bugs/modalg_7/bug29807_i2006 Diff File
add - tests/bugs/modalg_7/bug29807_i3001 Diff File
add - tests/bugs/modalg_7/bug29807_i3002 Diff File
add - tests/bugs/modalg_7/bug29807_i3003 Diff File
add - tests/bugs/modalg_7/bug29807_i3004 Diff File
add - tests/bugs/modalg_7/bug29807_i3005 Diff File
add - tests/bugs/modalg_7/bug29807_i4001 Diff File
add - tests/bugs/modalg_7/bug29807_i4002 Diff File
add - tests/bugs/modalg_7/bug29807_i4003 Diff File
add - tests/bugs/modalg_7/bug29807_i4004 Diff File
add - tests/bugs/modalg_7/bug29807_i4005 Diff File
add - tests/bugs/modalg_7/bug29807_i5001 Diff File
add - tests/bugs/modalg_7/bug29807_i5002 Diff File
add - tests/bugs/modalg_7/bug29807_sc01 Diff File
add - tests/bugs/modalg_7/bug29807_svm01 Diff File
add - tests/bugs/modalg_7/bug29807_svm02 Diff File
add - tests/bugs/modalg_7/bug29824 Diff File
mod - tests/bugs/moddata_2/bug565 Diff File

Issue History

Date Modified Username Field Change
2018-05-23 17:10 azv New Issue
2018-05-23 17:10 azv Assigned To => msv
2018-05-23 17:11 azv File Added: bug29807-obj.brep
2018-05-23 17:11 azv File Added: bug29807-tool.brep
2018-05-23 17:12 azv Steps to Reproduce Updated
2018-05-23 17:12 azv File Added: bug29789-original-shapes.png
2018-05-23 17:12 azv File Deleted: bug29789-original-shapes.png
2018-05-23 17:12 azv File Added: bug29807-wrong-result.png
2018-05-24 08:19 emv Note Added: 0076207
2018-05-24 08:19 emv Assigned To msv => nbv
2018-05-24 08:19 emv Status new => assigned
2018-05-24 14:36 emv Note Edited: 0076207
2018-05-25 16:30 git Note Added: 0076334
2018-05-28 17:18 git Note Added: 0076367
2018-05-29 16:03 git Note Added: 0076401
2018-05-29 18:13 git Note Added: 0076418
2018-05-29 18:15 git Note Added: 0076420
2018-05-30 17:12 git Note Added: 0076447
2018-05-30 18:10 nbv Note Added: 0076451
2018-05-30 18:13 nbv File Added: additional cones.7z
2018-06-01 18:11 git Note Added: 0076529
2018-06-04 10:27 git Note Added: 0076561
2018-06-04 16:14 nbv Relationship added related to 0025542
2018-06-05 17:51 git Note Added: 0076627
2018-06-08 13:57 git Note Added: 0076678
2018-06-08 16:13 git Note Added: 0076684
2018-06-09 17:17 git Note Added: 0076707
2018-06-13 10:26 nbv Relationship added related to 0029860
2018-06-13 17:24 git Note Added: 0076747
2018-06-13 17:41 git Note Added: 0076748
2018-06-14 09:43 git Note Added: 0076757
2018-06-14 11:08 git Note Added: 0076763
2018-06-14 14:34 git Note Added: 0076771
2018-06-14 17:09 git Note Added: 0076774
2018-06-14 18:38 git Note Added: 0076785
2018-06-15 12:27 git Note Added: 0076796
2018-06-15 15:40 git Note Added: 0076797
2018-06-15 15:40 git Note Added: 0076798
2018-06-15 15:40 git Note Added: 0076799
2018-06-15 16:53 git Note Added: 0076801
2018-06-18 13:20 git Note Added: 0076809
2018-06-18 15:18 git Note Added: 0076815
2018-06-18 17:57 git Note Added: 0076823
2018-06-19 10:38 nbv Relationship added related to 0024772
2018-06-19 10:53 git Note Added: 0076829
2018-06-19 11:06 git Note Added: 0076830
2018-06-19 13:10 nbv Relationship deleted related to 0024772
2018-06-19 14:13 git Note Added: 0076835
2018-06-19 14:20 nbv Relationship added related to 0028503
2018-06-19 18:13 git Note Added: 0076838
2018-06-20 10:42 git Note Added: 0076841
2018-06-20 14:34 git Note Added: 0076847
2018-06-20 16:54 git Note Added: 0076853
2018-06-20 16:54 git Note Added: 0076854
2018-06-22 09:52 git Note Added: 0076881
2018-06-22 14:24 nbv Relationship added related to 0029893
2018-06-22 15:48 git Note Added: 0076889
2018-06-25 17:03 git Note Added: 0077043
2018-06-26 18:50 git Note Added: 0077065
2018-06-27 18:44 git Note Added: 0077079
2018-06-27 18:45 git Note Added: 0077080
2018-06-28 14:31 git Note Added: 0077093
2018-06-28 16:13 git Note Added: 0077106
2018-06-28 19:29 git Note Added: 0077109
2018-06-29 10:05 git Note Added: 0077110
2018-07-02 12:32 git Note Added: 0077195
2018-07-02 13:45 nbv Note Added: 0077200
2018-07-02 13:45 nbv Assigned To nbv => msv
2018-07-02 13:45 nbv Status assigned => resolved
2018-07-02 15:47 msv Note Added: 0077202
2018-07-02 15:52 nbv Note Added: 0077203
2018-07-02 16:29 nbv Relationship added parent of 0029922
2018-07-02 20:03 msv Note Added: 0077217
2018-07-02 20:03 msv Assigned To msv => nbv
2018-07-02 20:03 msv Status resolved => assigned
2018-07-03 10:58 git Note Added: 0077222
2018-07-03 11:25 nbv File Added: Test bugs modalg_2 bug20964_5.png
2018-07-03 11:27 nbv Note Added: 0077223
2018-07-03 12:20 nbv File Deleted: Test bugs modalg_2 bug20964_5.png
2018-07-03 12:20 nbv File Added: Test bugs modalg_2 bug20964_5.png
2018-07-03 12:21 nbv Note Edited: 0077223
2018-07-03 13:48 git Note Added: 0077230
2018-07-03 16:01 nbv Note Added: 0077237
2018-07-03 16:01 nbv Assigned To nbv => msv
2018-07-03 16:01 nbv Status assigned => resolved
2018-07-03 17:15 git Note Added: 0077240
2018-07-03 18:56 msv Note Added: 0077243
2018-07-03 18:56 msv Assigned To msv => bugmaster
2018-07-03 18:56 msv Status resolved => reviewed
2018-07-03 19:33 bugmaster Test case number => bugs/modalg_7/bug23972,bugs/modalg_7/bug25542,bugs/modalg_7/bug29807_b*,bugs/modalg_7/bug29807_i*,bugs/modalg_7/bug29807_sc01,bugs/modalg_7/bug29807_svm01,bugs/modalg_7/bug29807_svm02,bugs/modalg_7/bug29824
2018-07-03 19:37 bugmaster Note Added: 0077245
2018-07-04 17:47 bugmaster Note Added: 0077271
2018-07-04 17:47 bugmaster Status reviewed => tested
2018-07-08 11:37 bugmaster Changeset attached => occt master 3306fdd9
2018-07-08 11:37 bugmaster Status tested => verified
2018-07-08 11:37 bugmaster Resolution open => fixed
2018-07-08 12:00 git Note Added: 0077357
2018-07-08 12:00 git Note Added: 0077362
2018-07-08 12:00 git Note Added: 0077363
2020-10-14 10:27 kgv Relationship added parent of 0031850