Unify GeometrySerializers' object ID logic. Fixes #397.

This commit is contained in:
Stinkfist0
2018-06-07 14:34:25 +03:00
committed by Thomas Krijnen
parent bd5e25889a
commit 505d234ea2
5 changed files with 41 additions and 58 deletions
+8
View File
@@ -82,6 +82,14 @@ public:
const SerializerSettings& settings() const { return settings_; }
SerializerSettings& settings() { return settings_; }
/// Returns ID for the object depending on the used setting.
virtual std::string object_id(const IfcGeom::Element<real_t>* o)
{
if (settings_.get(SerializerSettings::USE_ELEMENT_GUIDS)) return o->guid();
if (settings_.get(SerializerSettings::USE_ELEMENT_NAMES)) return o->name();
return o->unique_id();
}
protected:
SerializerSettings settings_;
};