diff --git a/src/TDataStd/TDataStd_IntPackedMap.cxx b/src/TDataStd/TDataStd_IntPackedMap.cxx index 74db1b6821..4dab87c275 100644 --- a/src/TDataStd/TDataStd_IntPackedMap.cxx +++ b/src/TDataStd/TDataStd_IntPackedMap.cxx @@ -84,6 +84,21 @@ Standard_Boolean TDataStd_IntPackedMap::ChangeMap (const Handle(TColStd_HPackedM } return Standard_False; } + +//======================================================================= +//function : ChangeMap +//purpose : +//======================================================================= +Standard_Boolean TDataStd_IntPackedMap::ChangeMap (const TColStd_PackedMapOfInteger& theMap) +{ + if (!myMap->Map().IsEqual(theMap)) + { + Backup(); + myMap->ChangeMap().Assign(theMap); + return Standard_True; + } + return Standard_False; +} //======================================================================= //function : Clear //purpose : diff --git a/src/TDataStd/TDataStd_IntPackedMap.hxx b/src/TDataStd/TDataStd_IntPackedMap.hxx index a7e7b007c3..2aab1adb68 100644 --- a/src/TDataStd/TDataStd_IntPackedMap.hxx +++ b/src/TDataStd/TDataStd_IntPackedMap.hxx @@ -60,6 +60,8 @@ public: Standard_EXPORT Standard_Boolean ChangeMap (const Handle(TColStd_HPackedMapOfInteger)& theMap); + Standard_EXPORT Standard_Boolean ChangeMap (const TColStd_PackedMapOfInteger& theMap); + const TColStd_PackedMapOfInteger& GetMap() const { return myMap->Map(); } const Handle(TColStd_HPackedMapOfInteger)& GetHMap() const { return myMap; }