0030645: Modeling Algorithms - B-spline segmentation produces wrong parametrization
authorazv <azv@opencascade.com>
Sat, 13 Apr 2019 11:57:39 +0000 (14:57 +0300)
committerbugmaster <bugmaster@opencascade.com>
Tue, 23 Apr 2019 15:17:47 +0000 (18:17 +0300)
commit6fd9bdf2cc6eabbdd31b433eab5bd2ebd7bdbe83
tree3cf33a1cd055a157bf3676c8e16816e6303fd5fa
parentd1775ee9926320b100b1b42ce26b97f823512255
0030645: Modeling Algorithms - B-spline segmentation produces wrong parametrization

Method Segment() of B-spline curve and surface has been extended by parameter theTolerance (theUTolerance and theVTolerance for surface), which defines the proximity between knots of a NURBS and boundaries of cutting segment. The default value of the tolerance is Precision::PConfusion().
Test cases have been added to check segmenting of B-spline surface and curves both 2D and 3D.
12 files changed:
src/BndLib/BndLib_Add3dCurve.cxx
src/Geom/Geom_BSplineCurve.cxx
src/Geom/Geom_BSplineCurve.hxx
src/Geom/Geom_BSplineSurface.cxx
src/Geom/Geom_BSplineSurface.hxx
src/Geom2d/Geom2d_BSplineCurve.cxx
src/Geom2d/Geom2d_BSplineCurve.hxx
src/GeomliteTest/GeomliteTest_CurveCommands.cxx
src/GeomliteTest/GeomliteTest_SurfaceCommands.cxx
tests/bugs/modalg_7/bug30645_1 [new file with mode: 0644]
tests/bugs/modalg_7/bug30645_2 [new file with mode: 0644]
tests/bugs/modalg_7/bug30645_3 [new file with mode: 0644]