occt: master 94f71cad

Author Committer Branch Timestamp Parent
azv bugmaster master 2015-05-28 10:36:57 master 9176540c
Affected Issues  0024682: Move out B-spline cache from curves and surfaces to dedicated classes BSplCLib_Cache and BSplSLib_Cache
Changeset 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.
mod - src/Adaptor3d/Adaptor3d_TopolTool.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_WireSplitter_1.cxx Diff File
mod - src/BOPTools/BOPTools_AlgoTools.cxx Diff File
mod - src/BOPTools/BOPTools_AlgoTools_1.cxx Diff File
mod - src/BOPTools/BOPTools_AlgoTools_2.cxx Diff File
mod - src/BRepCheck/BRepCheck_Wire.cxx Diff File
mod - src/BRepFill/BRepFill_OffsetWire.cxx Diff File
mod - src/BRepLib/BRepLib_CheckCurveOnSurface.cxx Diff File
mod - src/BRepLib/BRepLib_MakeEdge.cxx Diff File
mod - src/BSplCLib/BSplCLib.cdl Diff File
mod - src/BSplCLib/BSplCLib.cxx Diff File
add - src/BSplCLib/BSplCLib_Cache.cxx Diff File
add - src/BSplCLib/BSplCLib_Cache.hxx Diff File
mod - src/BSplCLib/BSplCLib_CurveComputation.gxx Diff File
mod - src/BSplCLib/FILES Diff File
mod - src/BSplSLib/BSplSLib.cdl Diff File
mod - src/BSplSLib/BSplSLib.cxx Diff File
add - src/BSplSLib/BSplSLib_Cache.cxx Diff File
add - src/BSplSLib/BSplSLib_Cache.hxx Diff File
mod - src/BSplSLib/FILES Diff File
mod - src/CSLib/CSLib.cxx Diff File
add - src/CSLib/CSLib_Offset.cxx Diff File
add - src/CSLib/CSLib_Offset.hxx Diff File
add - src/CSLib/FILES Diff File
mod - src/Extrema/Extrema_GExtPC.gxx Diff File
mod - src/Geom/Geom_BSplineCurve.cdl Diff File
mod - src/Geom/Geom_BSplineCurve.cxx Diff File
mod - src/Geom/Geom_BSplineCurve_1.cxx Diff File
mod - src/Geom/Geom_BSplineSurface.cdl Diff File
mod - src/Geom/Geom_BSplineSurface.cxx Diff File
mod - src/Geom/Geom_BSplineSurface_1.cxx Diff File
mod - src/Geom/Geom_OffsetCurve.cxx Diff File
mod - src/Geom/Geom_SurfaceOfRevolution.cxx Diff File
mod - src/Geom2d/Geom2d_BSplineCurve.cdl Diff File
mod - src/Geom2d/Geom2d_BSplineCurve.cxx Diff File
mod - src/Geom2d/Geom2d_BSplineCurve_1.cxx Diff File
mod - src/Geom2d/Geom2d_OffsetCurve.cxx Diff File
mod - src/Geom2dAdaptor/Geom2dAdaptor.cdl Diff File
mod - src/Geom2dAdaptor/Geom2dAdaptor_Curve.cdl Diff File
mod - src/Geom2dAdaptor/Geom2dAdaptor_Curve.cxx Diff File
mod - src/GeomAdaptor/GeomAdaptor.cdl Diff File
mod - src/GeomAdaptor/GeomAdaptor_Curve.cdl Diff File
mod - src/GeomAdaptor/GeomAdaptor_Curve.cxx Diff File
mod - src/GeomAdaptor/GeomAdaptor_Surface.cdl Diff File
mod - src/GeomAdaptor/GeomAdaptor_Surface.cxx Diff File
mod - src/GeomInt/GeomInt_IntSS_1.cxx Diff File
mod - src/GeomLib/GeomLib.cxx Diff File
mod - src/IntCurve/IntCurve_IntPolyPolyGen.gxx Diff File
mod - src/IntPatch/IntPatch_ImpPrmIntersection.cxx Diff File
mod - src/IntWalk/IntWalk_PWalking.cxx Diff File
mod - src/math/math_FunctionRoots.cxx Diff File
mod - src/math/math_TrigonometricFunctionRoots.cxx Diff File
mod - src/ShapeAnalysis/ShapeAnalysis_Curve.cxx Diff File
mod - src/ShapeAnalysis/ShapeAnalysis_Wire.cxx Diff File
mod - src/ShapeFix/ShapeFix_EdgeProjAux.cxx Diff File
mod - src/ShapeFix/ShapeFix_Face.cxx Diff File
mod - src/ShapeFix/ShapeFix_IntersectionTool.cxx Diff File
mod - src/ShapeFix/ShapeFix_Wire.cxx Diff File
mod - src/StepToTopoDS/StepToTopoDS_TranslateEdge.cxx Diff File
mod - tests/boolean/bfuse_complex/F5 Diff File
mod - tests/boolean/bfuse_complex/Q2 Diff File
mod - tests/boolean/bsection/M9 Diff File
mod - tests/boolean/bsection/N4 Diff File
mod - tests/boolean/volumemaker/F8 Diff File
mod - tests/bugs/modalg_2/bug5805_21 Diff File
mod - tests/bugs/modalg_2/bug5805_22 Diff File
mod - tests/bugs/modalg_2/bug5805_23 Diff File
mod - tests/bugs/modalg_2/bug5805_24 Diff File
mod - tests/bugs/modalg_2/bug5805_41 Diff File
mod - tests/bugs/modalg_2/bug5805_43 Diff File
mod - tests/bugs/modalg_4/bug714 Diff File
mod - tests/bugs/modalg_5/bug24200 Diff File
mod - tests/bugs/modalg_5/bug24303 Diff File
mod - tests/bugs/modalg_5/bug25175 Diff File
mod - tests/bugs/modalg_6/bug25908 Diff File
mod - tests/bugs/moddata_1/bug16119 Diff File
mod - tests/bugs/moddata_1/bug22759 Diff File
mod - tests/bugs/moddata_2/bug36 Diff File
mod - tests/bugs/moddata_2/bug498 Diff File
mod - tests/bugs/moddata_3/bug25207 Diff File
mod - tests/de/iges_1/F9 Diff File
mod - tests/de/iges_1/J2 Diff File
mod - tests/de/iges_1/J3 Diff File
mod - tests/de/iges_1/J9 Diff File
mod - tests/de/iges_1/K3 Diff File
mod - tests/de/iges_1/L8 Diff File
mod - tests/de/iges_1/M7 Diff File
mod - tests/de/iges_1/O3 Diff File
mod - tests/de/iges_1/O4 Diff File
mod - tests/de/iges_1/P5 Diff File
mod - tests/de/iges_1/P7 Diff File
mod - tests/de/iges_1/P9 Diff File
mod - tests/de/iges_1/R8 Diff File
mod - tests/de/iges_2/A9 Diff File
mod - tests/de/iges_2/B6 Diff File
mod - tests/de/iges_2/B8 Diff File
mod - tests/de/iges_2/C2 Diff File
mod - tests/de/iges_2/D8 Diff File
mod - tests/de/iges_2/F1 Diff File
mod - tests/de/iges_2/H9 Diff File
mod - tests/de/iges_3/A2 Diff File
mod - tests/de/iges_3/A4 Diff File
mod - tests/de/iges_3/B2 Diff File
mod - tests/de/step_1/A3 Diff File
mod - tests/de/step_1/D9 Diff File
mod - tests/de/step_1/G9 Diff File
mod - tests/de/step_1/J6 Diff File
mod - tests/de/step_1/J8 Diff File
mod - tests/de/step_2/B5 Diff File
mod - tests/de/step_2/B6 Diff File
mod - tests/de/step_2/E7 Diff File
mod - tests/de/step_2/F4 Diff File
mod - tests/de/step_2/M4 Diff File
mod - tests/de/step_2/N8 Diff File
mod - tests/de/step_2/R2 Diff File
mod - tests/de/step_2/S1 Diff File
mod - tests/de/step_2/T1 Diff File
mod - tests/de/step_2/T9 Diff File
mod - tests/de/step_2/U8 Diff File
mod - tests/de/step_2/Y5 Diff File
mod - tests/de/step_3/A4 Diff File
mod - tests/de/step_3/A8 Diff File
mod - tests/de/step_3/A9 Diff File
mod - tests/de/step_3/B9 Diff File
mod - tests/de/step_3/C5 Diff File
mod - tests/de/step_3/D3 Diff File
mod - tests/de/step_3/D8 Diff File
mod - tests/de/step_3/E6 Diff File
mod - tests/de/step_5/A1 Diff File
mod - tests/de/step_5/A4 Diff File
mod - tests/heal/split_angle/F2 Diff File
mod - tests/heal/split_closed_faces/G5 Diff File
mod - tests/offset/wire_closed_inside_0_005/D1 Diff File
mod - tests/offset/wire_closed_inside_0_075/E8 Diff File
mod - tests/offset/wire_closed_outside_0_005/D1 Diff File
mod - tests/offset/wire_closed_outside_0_005/E8 Diff File
mod - tests/offset/wire_closed_outside_0_075/E8 Diff File