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.

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