Implement option to get generic inverses from Python

This commit is contained in:
Thomas Krijnen
2016-07-18 14:47:32 +02:00
parent 4a85e5e7a5
commit b7f23ee701
2 changed files with 10 additions and 2 deletions
+6 -2
View File
@@ -49,8 +49,12 @@ class file(object):
return entity_instance(self.wrapped_data.add(inst.wrapped_data))
def by_type(self, type):
return [entity_instance(e) for e in self.wrapped_data.by_type(type)]
def traverse(self, inst):
return [entity_instance(e) for e in self.wrapped_data.traverse(inst.wrapped_data)]
def traverse(self, inst, max_levels=None):
if max_levels is None:
max_levels = -1
return [entity_instance(e) for e in self.wrapped_data.traverse(inst.wrapped_data, max_levels)]
def get_inverse(self, inst):
return [entity_instance(e) for e in self.wrapped_data.get_inverse(inst.wrapped_data)]
def remove(self, inst):
return self.wrapped_data.remove(inst.wrapped_data)
def __iter__(self):
+4
View File
@@ -82,6 +82,10 @@ namespace IfcUtil {
IfcEntityList::ptr traverse(IfcParse::IfcLateBoundEntity* e, int max_level=-1) {
return $self->traverse(e, max_level);
}
IfcEntityList::ptr get_inverse(IfcParse::IfcLateBoundEntity* e) {
return $self->getInverse(e->id(), IfcSchema::Type::UNDEFINED, -1);
}
void write(const std::string& fn) {
std::ofstream f(fn.c_str());
f << (*$self);