Part: Geometry - methods to remove extensions by name and type

This commit is contained in:
Abdullah Tahiri
2019-02-11 16:00:26 +01:00
committed by wmayer
parent 1700760e0b
commit 4d9d3b0c83
4 changed files with 82 additions and 0 deletions

View File

@@ -301,6 +301,28 @@ void Geometry::setExtension(std::unique_ptr<GeometryExtension> && geo)
extensions.push_back(std::move(geo));
}
void Geometry::deleteExtension(Base::Type type)
{
extensions.erase(
std::remove_if( extensions.begin(),
extensions.end(),
[&type](const std::shared_ptr<GeometryExtension>& ext){
return ext->getTypeId() == type;
}),
extensions.end());
}
void Geometry::deleteExtension(std::string name)
{
extensions.erase(
std::remove_if( extensions.begin(),
extensions.end(),
[&name](const std::shared_ptr<GeometryExtension>& ext){
return ext->getName() == name;
}),
extensions.end());
}
void Geometry::createNewTag()
{