0024682: Move out B-spline cache from curves and surfaces to dedicated classes BSplCL...
authorazv <azv@opencascade.com>
Thu, 28 May 2015 10:36:57 +0000 (13:36 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 28 May 2015 10:38:22 +0000 (13:38 +0300)
commit94f71cad33414ee106f5980abbdfa61621f8b22a
treea4d00f27e8c8bb35e5c4cdf420ca464524a0ef1e
parent9176540c641849473cd0d65688a39fd9b91815a8
0024682: Move out B-spline cache from curves and surfaces to dedicated classes BSplCLib_Cache and BSplSLib_Cache

1. B-spline cache was moved into separated classes: BSplCLib_Cache for 2D and 3D curves and BSplSLib_Cache for surfaces.

2. The cache is used now in corresponding adaptor classes (Geom2dAdaptor_Curve, GeomAdaptor_Curve and GeomAdaptor_Surface) when the curve or surface is a B-spline.

3. Algorithms were changed to use adaptors for B-spline calculations instead of curves or surfaces.

4. Precised calculation of derivatives of surface of revolution is implemented for the points of surface placed on the axis of revolution (Geom_SurfaceOfRevolution.cxx)

5. Small modifications are made to adjust algorithms to new behavior of B-spline calculation.

6. Test cases were modified according to the modern behavior.

7. Changes in BOPAlgo_WireSplitter, BOPTools_AlgoTools, BRepLib_CheckCurveOnSurface and ShapeAnalysis_Wire to use adaptors instead of geometric entities

8. Allow Geom2dAdaptor and GeomAdaptor in case of offset curve to use corresponding adaptor for basis curve

Modification of test-cases according to the new behavior.
137 files changed:
src/Adaptor3d/Adaptor3d_TopolTool.cxx
src/BOPAlgo/BOPAlgo_WireSplitter_1.cxx
src/BOPTools/BOPTools_AlgoTools.cxx
src/BOPTools/BOPTools_AlgoTools_1.cxx
src/BOPTools/BOPTools_AlgoTools_2.cxx
src/BRepCheck/BRepCheck_Wire.cxx
src/BRepFill/BRepFill_OffsetWire.cxx
src/BRepLib/BRepLib_CheckCurveOnSurface.cxx
src/BRepLib/BRepLib_MakeEdge.cxx
src/BSplCLib/BSplCLib.cdl
src/BSplCLib/BSplCLib.cxx
src/BSplCLib/BSplCLib_Cache.cxx [new file with mode: 0644]
src/BSplCLib/BSplCLib_Cache.hxx [new file with mode: 0644]
src/BSplCLib/BSplCLib_CurveComputation.gxx
src/BSplCLib/FILES
src/BSplSLib/BSplSLib.cdl
src/BSplSLib/BSplSLib.cxx
src/BSplSLib/BSplSLib_Cache.cxx [new file with mode: 0644]
src/BSplSLib/BSplSLib_Cache.hxx [new file with mode: 0644]
src/BSplSLib/FILES
src/CSLib/CSLib.cxx
src/CSLib/CSLib_Offset.cxx [new file with mode: 0644]
src/CSLib/CSLib_Offset.hxx [new file with mode: 0644]
src/CSLib/FILES [new file with mode: 0644]
src/Extrema/Extrema_GExtPC.gxx
src/Geom/Geom_BSplineCurve.cdl
src/Geom/Geom_BSplineCurve.cxx
src/Geom/Geom_BSplineCurve_1.cxx
src/Geom/Geom_BSplineSurface.cdl
src/Geom/Geom_BSplineSurface.cxx
src/Geom/Geom_BSplineSurface_1.cxx
src/Geom/Geom_OffsetCurve.cxx
src/Geom/Geom_SurfaceOfRevolution.cxx
src/Geom2d/Geom2d_BSplineCurve.cdl
src/Geom2d/Geom2d_BSplineCurve.cxx
src/Geom2d/Geom2d_BSplineCurve_1.cxx
src/Geom2d/Geom2d_OffsetCurve.cxx
src/Geom2dAdaptor/Geom2dAdaptor.cdl
src/Geom2dAdaptor/Geom2dAdaptor_Curve.cdl
src/Geom2dAdaptor/Geom2dAdaptor_Curve.cxx
src/GeomAdaptor/GeomAdaptor.cdl
src/GeomAdaptor/GeomAdaptor_Curve.cdl
src/GeomAdaptor/GeomAdaptor_Curve.cxx
src/GeomAdaptor/GeomAdaptor_Surface.cdl
src/GeomAdaptor/GeomAdaptor_Surface.cxx
src/GeomInt/GeomInt_IntSS_1.cxx
src/GeomLib/GeomLib.cxx
src/IntCurve/IntCurve_IntPolyPolyGen.gxx
src/IntPatch/IntPatch_ImpPrmIntersection.cxx
src/IntWalk/IntWalk_PWalking.cxx
src/ShapeAnalysis/ShapeAnalysis_Curve.cxx
src/ShapeAnalysis/ShapeAnalysis_Wire.cxx
src/ShapeFix/ShapeFix_EdgeProjAux.cxx
src/ShapeFix/ShapeFix_Face.cxx
src/ShapeFix/ShapeFix_IntersectionTool.cxx
src/ShapeFix/ShapeFix_Wire.cxx
src/StepToTopoDS/StepToTopoDS_TranslateEdge.cxx
src/math/math_FunctionRoots.cxx
src/math/math_TrigonometricFunctionRoots.cxx
tests/boolean/bfuse_complex/F5
tests/boolean/bfuse_complex/Q2
tests/boolean/bsection/M9
tests/boolean/bsection/N4
tests/boolean/volumemaker/F8
tests/bugs/modalg_2/bug5805_21
tests/bugs/modalg_2/bug5805_22
tests/bugs/modalg_2/bug5805_23
tests/bugs/modalg_2/bug5805_24
tests/bugs/modalg_2/bug5805_41
tests/bugs/modalg_2/bug5805_43
tests/bugs/modalg_4/bug714
tests/bugs/modalg_5/bug24200
tests/bugs/modalg_5/bug24303
tests/bugs/modalg_5/bug25175
tests/bugs/modalg_6/bug25908
tests/bugs/moddata_1/bug16119
tests/bugs/moddata_1/bug22759
tests/bugs/moddata_2/bug36
tests/bugs/moddata_2/bug498
tests/bugs/moddata_3/bug25207
tests/de/iges_1/F9
tests/de/iges_1/J2
tests/de/iges_1/J3
tests/de/iges_1/J9
tests/de/iges_1/K3
tests/de/iges_1/L8
tests/de/iges_1/M7
tests/de/iges_1/O3
tests/de/iges_1/O4
tests/de/iges_1/P5
tests/de/iges_1/P7
tests/de/iges_1/P9
tests/de/iges_1/R8
tests/de/iges_2/A9
tests/de/iges_2/B6
tests/de/iges_2/B8
tests/de/iges_2/C2
tests/de/iges_2/D8
tests/de/iges_2/F1
tests/de/iges_2/H9
tests/de/iges_3/A2
tests/de/iges_3/A4
tests/de/iges_3/B2
tests/de/step_1/A3
tests/de/step_1/D9
tests/de/step_1/G9
tests/de/step_1/J6
tests/de/step_1/J8
tests/de/step_2/B5
tests/de/step_2/B6
tests/de/step_2/E7
tests/de/step_2/F4
tests/de/step_2/M4
tests/de/step_2/N8
tests/de/step_2/R2
tests/de/step_2/S1
tests/de/step_2/T1
tests/de/step_2/T9
tests/de/step_2/U8
tests/de/step_2/Y5
tests/de/step_3/A4
tests/de/step_3/A8
tests/de/step_3/A9
tests/de/step_3/B9
tests/de/step_3/C5
tests/de/step_3/D3
tests/de/step_3/D8
tests/de/step_3/E6
tests/de/step_5/A1
tests/de/step_5/A4
tests/heal/split_angle/F2
tests/heal/split_closed_faces/G5
tests/offset/wire_closed_inside_0_005/D1
tests/offset/wire_closed_inside_0_075/E8
tests/offset/wire_closed_outside_0_005/D1
tests/offset/wire_closed_outside_0_005/E8
tests/offset/wire_closed_outside_0_075/E8