ifcparse refactoring (#190)

Unify attribute containers, provide latebound attribute access on IfcBaseEntity, more basic tests on Travis
This commit is contained in:
Thomas Krijnen
2017-06-05 17:26:58 +02:00
committed by GitHub
parent 9a43658716
commit 5e0da9725a
49 changed files with 9228 additions and 9416 deletions
+7 -8
View File
@@ -19,10 +19,8 @@
/********************************************************************************
* *
* This file has been generated from *
* http://www.buildingsmart-tech.org/ifc/IFC4/Add1/IFC4_ADD1.exp *
* Do not make modifications but instead modify the Python script that has been *
* used to generate this. *
* This file has been generated from IFC4.exp. Do not make modifications *
* but instead modify the python script that has been used to generate this. *
* *
********************************************************************************/
@@ -34,8 +32,7 @@
#include "../ifcparse/Ifc4-latebound.h"
#include "../ifcparse/IfcException.h"
#include "../ifcparse/IfcWrite.h"
#include "../ifcparse/IfcWritableEntity.h"
#include "../ifcparse/IfcUtil.h"
#include "../ifcparse/IfcBaseClass.h"
#include "../ifcparse/IfcEntityDescriptor.h"
using namespace Ifc4;
@@ -5013,12 +5010,14 @@ std::set<std::string> Type::GetInverseAttributeNames(Enum t) {
return return_value;
}
void Type::PopulateDerivedFields(IfcWrite::IfcWritableEntity* e) {
void Type::PopulateDerivedFields(IfcEntityInstanceData* e) {
if (derived_map.empty()) ::InitDerivedMap();
std::map<Type::Enum, std::set<int> >::const_iterator i = derived_map.find(e->type());
if (i != derived_map.end()) {
for (std::set<int>::const_iterator it = i->second.begin(); it != i->second.end(); ++it) {
e->setArgumentDerived(*it);
IfcWrite::IfcWriteArgument* attr = new IfcWrite::IfcWriteArgument();
attr->set(IfcWrite::IfcWriteArgument::Derived());
e->setArgument(*it, attr);
}
}
}