mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-10 17:58:20 +00:00
Implement option to get generic inverses from Python
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user