mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-03 17:56:21 +03:00
Problem: Desynchronization of behaviors of GeomAdaptor_Curve::NbIntervals and GeomAdaptor_Curve::Intervals functions. First calculates number of intervals, then array is created and second fills the array. In some cases the size of array is less than need for filling. Change: 1. Added function BSplCLib::Intervals that calculates number of interval and fills the array with its (if needed). 2. Simplified the algorithm of intervals calculation. 3. GeomAdaptor_Curve::NbIntervals/Intervals and Geom2dAdaptor_Curve::NbIntervals/Intervals use BSplCLib::Intervals. 4. When creating an adapter for the base curve, the boundaries of the adapter for the offset curve are applied. 5. Test for problem shape was created: bugs modalg_8 bug33187. Result: The new approach eliminates the problem of writing outside the array bounds.