0025124: [Feature request] Removal of continuity checks for offset geometries
authornbv <nbv@opencascade.com>
Wed, 10 Dec 2014 13:18:05 +0000 (16:18 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 11 Dec 2014 13:38:14 +0000 (16:38 +0300)
commit3d58dc498b209fa937919a4a69a81a83657ef2f9
treef817248dd7d6eb75119225c5b0e36de22a5e798e
parent68cdb44b0aa49d4672fb43f5c7fae69f9dc7b4b8
0025124: [Feature request] Removal of continuity checks for offset geometries

Sometimes curve or surface, which is defined as C0, has continuity G1 or above. Offset can be built from these shapes.
Therefore, this extended checking was added into SetBasisCurve and SetBasisSurface methods.

Main changes in function BRepOffset_Tool::ExtentFace(...):
*  "return" is added if intersection (in 2D-space) between two edges in a face cannot be found.

Basis curve/surface continuity value found (if G1-checking is OK) is set up as BasisContinuity (see myBasisCurveContinuity and myBasisSurfContinuity members which is returned by GetBasisCurveContinuity and GetBasisSurfContinuity() methods). This fact is used in Geom2dAdaptor and in GeomAdaptor classes.

Possibility is entered, which allows for basis elements of offset curve/surface to avoid of C0-checking.

Test cases were changed according to their new behavior.

Test-cases for issue #25124
33 files changed:
src/BRepFill/BRepFill_OffsetWire.cxx
src/BRepOffset/BRepOffset_Inter3d.cxx
src/BRepOffset/BRepOffset_Tool.cxx
src/BSplCLib/BSplCLib.cxx
src/Geom/Geom_BSplineCurve.cdl
src/Geom/Geom_BSplineCurve_1.cxx
src/Geom/Geom_OffsetCurve.cdl
src/Geom/Geom_OffsetCurve.cxx
src/Geom/Geom_OffsetSurface.cdl
src/Geom/Geom_OffsetSurface.cxx
src/Geom/Geom_OsculatingSurface.cxx
src/Geom2d/Geom2d_BSplineCurve.cdl
src/Geom2d/Geom2d_BSplineCurve_1.cxx
src/Geom2d/Geom2d_OffsetCurve.cdl
src/Geom2d/Geom2d_OffsetCurve.cxx
src/Geom2dAdaptor/Geom2dAdaptor_Curve.cxx
src/GeomAdaptor/GeomAdaptor_Curve.cxx
tests/bugs/modalg_5/bug25124_1 [new file with mode: 0644]
tests/bugs/modalg_5/bug25124_2 [new file with mode: 0644]
tests/bugs/modalg_5/bug25124_3 [new file with mode: 0644]
tests/bugs/modalg_5/bug25124_4 [new file with mode: 0644]
tests/bugs/modalg_5/bug25124_5 [new file with mode: 0644]
tests/bugs/modalg_5/bug25124_6 [new file with mode: 0644]
tests/bugs/modalg_5/bug25124_7 [new file with mode: 0644]
tests/offset/wire_unclosed_outside_0_005/B3
tests/offset/wire_unclosed_outside_0_005/B4
tests/offset/wire_unclosed_outside_0_005/B6
tests/offset/wire_unclosed_outside_0_025/B2
tests/offset/wire_unclosed_outside_0_025/B4
tests/offset/wire_unclosed_outside_0_025/B6
tests/offset/wire_unclosed_outside_0_075/B1
tests/offset/wire_unclosed_outside_0_075/B2
tests/offset/wire_unclosed_outside_0_075/B6