occt: master f9990707
|vglukhik||master||2022-10-26 16:59:54||master aba5c241|
|Affected Issues||0033187: Modeling Algorithms - Crash in postprocessing of imported shape|
|Changeset||0033187: Modeling Algorithms - Crash in postprocessing of imported shape
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.
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
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.
|mod - src/BSplCLib/BSplCLib.cxx||Diff File|
|mod - src/BSplCLib/BSplCLib.hxx||Diff File|
|mod - src/Geom2dAdaptor/Geom2dAdaptor_Curve.cxx||Diff File|
|mod - src/GeomAdaptor/GeomAdaptor_Curve.cxx||Diff File|
|add - tests/bugs/modalg_8/bug33187||Diff File|
|mod - tests/hlr/poly_hlr/A1||Diff File|
|mod - tests/hlr/poly_hlr/A2||Diff File|
|mod - tests/hlr/poly_hlr/A3||Diff File|
|mod - tests/hlr/poly_hlr/A4||Diff File|
|mod - tests/hlr/poly_hlr/A5||Diff File|
|mod - tests/hlr/poly_hlr/A6||Diff File|
|mod - tests/hlr/poly_hlr/A7||Diff File|