cpp changes for latebound schema manipulation from Python

This commit is contained in:
Thomas Krijnen
2020-09-08 14:37:50 +02:00
parent 27f358b314
commit 95a29dec7b
6 changed files with 123 additions and 1 deletions
+14
View File
@@ -1,4 +1,5 @@
#include "IfcSchema.h"
#include "../ifcparse/IfcBaseClass.h"
#include <map>
@@ -62,6 +63,19 @@ IfcParse::schema_definition::~schema_definition() {
}
}
IfcUtil::IfcBaseClass* IfcParse::schema_definition::instantiate(IfcEntityInstanceData * data) const {
if (factory_) {
return (*factory_)(data);
} else {
return new IfcUtil::IfcLateBoundEntity(data->type(), data);
}
}
void IfcParse::register_schema(schema_definition* s) {
schemas.insert({ s->name(), s });
}
#include "../ifcparse/Ifc2x3.h"
#include "../ifcparse/Ifc4.h"
#include "../ifcparse/Ifc4x1.h"