Fix python wrapper

This commit is contained in:
Thomas Krijnen
2018-01-29 15:02:36 +01:00
parent bc64b339a7
commit 19d834b19e
2 changed files with 9 additions and 8 deletions
+6 -2
View File
@@ -52,8 +52,12 @@ public:
{}
IfcEntityInstanceData(const IfcParse::declaration* type)
: file(0), id_(0), type_(type), attributes_(0)
{}
: file(0), id_(0), type_(type), attributes_(new Argument*[getArgumentCount()])
{
for (size_t i = 0; i < getArgumentCount(); ++i) {
attributes_[i] = 0;
}
}
void load() const;
+3 -6
View File
@@ -543,13 +543,10 @@ static const std::string& helper_fn_declaration_get_name(const IfcParse::declara
const IfcParse::schema_definition* schema = IfcParse::schema_by_name(schema_identifier);
const IfcParse::declaration* decl = schema->declaration_by_name(name);
IfcEntityInstanceData* data = new IfcEntityInstanceData(decl);
size_t attr_count = 1;
if (decl->as_entity()) {
attr_count = decl->as_entity()->attribute_count();
}
data->setArgument(attr_count - 1, new IfcWrite::IfcWriteArgument());
for (size_t i = 0; i < data->getArgumentCount(); ++i) {
data->setArgument(i, new IfcWrite::IfcWriteArgument());
}
if (decl->as_entity()) {
const std::vector<bool>& derived = decl->as_entity()->derived();