diff --git a/src/App/ComplexGeoData.h b/src/App/ComplexGeoData.h index 0bacdd6229..a7a4fa290c 100644 --- a/src/App/ComplexGeoData.h +++ b/src/App/ComplexGeoData.h @@ -67,6 +67,11 @@ public: virtual std::string getName() const=0; }; +enum ElementMapResetPolicy +{ + AllowNoMap, + ForceEmptyMap +}; /** ComplexGeoData Object */ @@ -265,8 +270,10 @@ public: * * @return Returns the existing element map. */ - virtual ElementMapPtr resetElementMap(ElementMapPtr elementMap=ElementMapPtr(), bool forceEmpty=false) { - if ( ! elementMap && ! forceEmpty ) { + virtual ElementMapPtr resetElementMap(ElementMapPtr elementMap = ElementMapPtr(), + ElementMapResetPolicy forceEmpty = ForceEmptyMap) + { + if (!elementMap && forceEmpty == ForceEmptyMap) { elementMap = std::make_shared(); } _elementMap.swap(elementMap); diff --git a/tests/src/App/ComplexGeoData.cpp b/tests/src/App/ComplexGeoData.cpp index e7dc527e86..269239af10 100644 --- a/tests/src/App/ComplexGeoData.cpp +++ b/tests/src/App/ComplexGeoData.cpp @@ -444,7 +444,7 @@ TEST_F(ComplexGeoDataTest, saveDocFileWithNoElementMap) { // Arrange Base::StringWriter writer; - cgd().resetElementMap(nullptr, true); // Force undefined map + cgd().resetElementMap(nullptr, Data::AllowNoMap); // Force undefined map // Act cgd().SaveDocFile(writer);