Guarantee schemas are initialized for serialization and tesselation

This commit is contained in:
Thomas Krijnen
2020-04-08 15:04:17 +02:00
parent a59633ae0b
commit 8bf8cdf51b
2 changed files with 15 additions and 6 deletions
@@ -11,7 +11,13 @@ namespace IfcGeom {
template <typename Fn, typename T>
IfcUtil::IfcBaseClass* execute_based_on_schema(Fn fn1, Fn fn2, const std::string& schema_name, const TopoDS_Shape& shape, T t) {
// @todo an ugly hack to guarantee schemas are initialised.
try {
IfcParse::schema_by_name("IFC2X3");
} catch (IfcParse::IfcException&) {}
const std::string schema_name_lower = boost::to_lower_copy(schema_name);
if (schema_name_lower == "ifc2x3") {
return fn1(shape, t);
} else if (schema_name_lower == "ifc4") {