0027531: Modeling Algorithms - Make the algorithm Approx_SameParameter more clear...
authorifv <ifv@opencascade.com>
Fri, 31 May 2019 13:36:44 +0000 (16:36 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 6 Mar 2020 12:54:46 +0000 (15:54 +0300)
commitfffc249f21b71690bc500e5854c3a5da6a128e46
treee1c9bdcd52c0eaf00d0142d76d2fc5e35c39a1f7
parent739c7e596882c975cd279f113f1c4b1f555dd81d
0027531: Modeling Algorithms - Make the algorithm Approx_SameParameter more clear and robust

Approx/Approx_SameParameter.cxx,hxx:
Class Approx_SameParameter refactoring. Logic is changed in many places to unify usage, simplify maintenance.
Method Curve2d() is changed to return Geom2d_Curve instead of Geom2d_BSplineCurve. Corresponding message is added to the upgrade guide.
.lxx file is merged into .hxx.
Tangent computation is extracted into special method.
Comparing number of sample points after CheckSameParameter(...) is added to define cases with projection fails.
Undesirable behavior when curves are not same parameterized is fixed.

Geom2dAdaptor/Geom2dAdaptor.cxx: treatment of offset curve is added

Adaptor3d/Adaptor3d_TopolTool.cxx: minor improvement of performance for BSpline surfaces with huge number of knots

Tests were modified according to new behavior of sameparameter algorithm
63 files changed:
src/Adaptor3d/Adaptor3d_TopolTool.cxx
src/Approx/Approx_SameParameter.cxx
src/Approx/Approx_SameParameter.hxx
src/Approx/Approx_SameParameter.lxx [deleted file]
src/Approx/FILES
src/Geom2dAdaptor/Geom2dAdaptor.cxx
tests/blend/simple/X4
tests/bugs/iges/bug306
tests/bugs/modalg_1/buc60905
tests/bugs/modalg_2/bug22770_10
tests/bugs/modalg_2/bug22770_11
tests/bugs/modalg_2/bug22770_13
tests/bugs/modalg_2/bug22770_15
tests/bugs/modalg_2/bug22770_18
tests/bugs/modalg_2/bug22770_20
tests/bugs/modalg_2/bug22770_23
tests/bugs/modalg_2/bug22770_24
tests/bugs/modalg_2/bug22770_25
tests/bugs/modalg_2/bug22770_26
tests/bugs/modalg_2/bug22770_27
tests/bugs/modalg_2/bug22770_28
tests/bugs/modalg_2/bug22770_3
tests/bugs/modalg_2/bug22770_30
tests/bugs/modalg_2/bug22770_5
tests/bugs/modalg_2/bug22770_8
tests/bugs/modalg_2/bug22770_9
tests/bugs/modalg_2/bug22804
tests/bugs/modalg_4/bug714
tests/bugs/modalg_5/bug25175
tests/bugs/modalg_6/bug27015
tests/bugs/modalg_7/bug29663
tests/bugs/moddata_2/bug343
tests/bugs/moddata_2/bug42
tests/bugs/xde/bug6491
tests/de/step_1/ZH1
tests/heal/data/advanced/K2
tests/heal/data/advanced/V2
tests/heal/surface_to_revolution_advanced/end
tests/hlr/poly_hlr/Plate
tests/mkface/after_extsurf_and_offset/B3
tests/mkface/after_extsurf_and_offset/C6
tests/mkface/after_extsurf_and_offset/C7
tests/mkface/after_extsurf_and_offset/C8
tests/mkface/after_extsurf_and_offset/C9
tests/offset/with_intersect_80/L6
tests/offset/with_intersect_80/N7
tests/sewing/tol_0_01/F1
tests/sewing/tol_0_01/F8
tests/sewing/tol_1/S5
tests/sewing/tol_100/C5
tests/sewing/tol_100/D3
tests/sewing/tol_100/I6
tests/sewing/tol_100/I9
tests/sewing/tol_100/J1
tests/sewing/tol_100/J2
tests/sewing/tol_100/J3
tests/sewing/tol_100/J5
tests/sewing/tol_100/J6
tests/sewing/tol_100/K1
tests/sewing/tol_100/K3
tests/sewing/tol_100/T8
tests/sewing/tol_100/U1
tests/sewing/tol_100/Y7