Add IFC4X3_ADD2 schema

This commit is contained in:
Thomas Krijnen
2023-10-13 11:50:55 +02:00
parent a47c57c22c
commit 94db9ec522
12 changed files with 94762 additions and 4 deletions
+9
View File
@@ -124,6 +124,9 @@ void IfcParse::register_schema(schema_definition* s) {
#ifdef HAS_SCHEMA_4x3_add1
#include "../ifcparse/Ifc4x3_add1.h"
#endif
#ifdef HAS_SCHEMA_4x3_add2
#include "../ifcparse/Ifc4x3_add2.h"
#endif
const IfcParse::schema_definition* IfcParse::schema_by_name(const std::string& name) {
// TODO: initialize automatically somehow
@@ -160,6 +163,9 @@ const IfcParse::schema_definition* IfcParse::schema_by_name(const std::string& n
#ifdef HAS_SCHEMA_4x3_add1
Ifc4x3_add1::get_schema();
#endif
#ifdef HAS_SCHEMA_4x3_add2
Ifc4x3_add2::get_schema();
#endif
std::map<std::string, const IfcParse::schema_definition*>::const_iterator it = schemas.find(boost::to_upper_copy(name));
if (it == schemas.end()) {
@@ -217,6 +223,9 @@ void IfcParse::clear_schemas() {
#ifdef HAS_SCHEMA_4x3_add1
Ifc4x3_add1::clear_schema();
#endif
#ifdef HAS_SCHEMA_4x3_add2
Ifc4x3_add2::clear_schema();
#endif
// clear any remaining registered schemas
// we pop schemas until map is empty, because map iteration is invalidated after each erasure