0028782: Shape sewing behavior not consistent for the same CAD file
authormsv <msv@opencascade.com>
Thu, 25 May 2017 14:02:07 +0000 (17:02 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 1 Jun 2017 10:55:15 +0000 (13:55 +0300)
commit3f5aa017e73f9308a7a5fa5e0420f32d7305d6c7
tree09800041987a61a04152133ddddde1154ddb2aa8
parent58e5d30edc62f806879b80dbfd062825ba7891f8
0028782: Shape sewing behavior not consistent for the same CAD file

Get rid of iterations on maps with shape key by replacing simple maps with indexed maps. So iteration is done on integer key.

The map containers have been updated to insert into them type definitions of key and value.

The new methods RemoveKey() and RemoveFromIndex() have been added to indexed [data] map to be able to remove an arbitrary key from the map.

All the code in OCCT has been updated where RemoveLast() and Substitute() methods were used to remove a key from indexed [data] map.
16 files changed:
src/BRepAlgo/BRepAlgo_Loop.cxx
src/BRepBuilderAPI/BRepBuilderAPI_Sewing.cxx
src/BRepBuilderAPI/BRepBuilderAPI_Sewing.hxx
src/BRepFill/BRepFill_OffsetWire.cxx
src/BRepOffset/BRepOffset_MakeOffset.cxx
src/BiTgte/BiTgte_Blend.cxx
src/Draft/Draft_Modification.cxx
src/Draft/Draft_Modification_1.cxx
src/LocOpe/LocOpe_WiresOnShape.cxx
src/NCollection/NCollection_DataMap.hxx
src/NCollection/NCollection_DoubleMap.hxx
src/NCollection/NCollection_IndexedDataMap.hxx
src/NCollection/NCollection_IndexedMap.hxx
src/NCollection/NCollection_Map.hxx
src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx
tests/bugs/modalg_6/bug28782 [new file with mode: 0644]