From 14abe5dc8181e514f3dc7adb328a95fa4f489f53 Mon Sep 17 00:00:00 2001 From: szy Date: Thu, 28 Dec 2017 16:53:41 +0300 Subject: [PATCH] 0029385: OCAF - TDataStd_IntPackedMap lacks interface to set map as TColStd_PackedMapOfInteger Added method ChangeMap (const TColStd_PackedMapOfInteger& theMap). --- src/TDataStd/TDataStd_IntPackedMap.cxx | 15 +++++++++++++++ src/TDataStd/TDataStd_IntPackedMap.hxx | 2 ++ 2 files changed, 17 insertions(+) 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; }