occt: master 3306fdd9

Author Committer Branch Timestamp Parent
nbv bugmaster master 2018-05-25 08:05:58 master d9d3107d
Affected Issues  0029807: [Regression to 7.0.0] Impossible to cut cone from prism
Changeset 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.


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

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.
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