]> OCCT Git - occt-copy.git/commit
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)
committermsv <msv@opencascade.com>
Wed, 31 May 2017 15:09:22 +0000 (18:09 +0300)
commit079b936861e94266b00ed6e86d6a88fc7d946523
tree9cb8efb7a18bc9df0c06512ae71356dd4d4fc1d8
parent58940aef4e8476ff84e4682c65f24831a821943c
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]