Fix #1357. Remove temporary workaround for broadphase tree creation. Thanks aothms!

This commit is contained in:
Dion Moult
2021-08-08 12:06:01 +10:00
parent 0d6cacdd73
commit 70f6857325
3 changed files with 7 additions and 19 deletions
+3 -12
View File
@@ -31,23 +31,14 @@ class Collider:
self.groups[name] = {"elements": {}, "objects": {}}
def create_objects(self, name, ifc_file, iterator, elements):
self.tree.add_iterator(iterator)
self.groups[name]["elements"].update({e.GlobalId: e for e in elements})
# Temporary hack. See #1357.
import multiprocessing
iterator = ifcopenshell.geom.iterator(
ifcopenshell.geom.settings(), ifc_file, multiprocessing.cpu_count(), include=elements
)
valid_file = iterator.initialize()
if not valid_file:
return False
assert iterator.initialize()
while True:
self.tree.add_element(iterator.get_native())
shape = iterator.get()
self.create_object(name, shape.guid, shape)
if not iterator.next():
break
self.groups[name]["elements"].update({e.GlobalId: e for e in elements})
def create_object(self, group_name, id, shape):
obj = hppfcl.CollisionObject(
+1 -1
View File
@@ -34,7 +34,7 @@ from . import collider
class Clasher:
def __init__(self, settings):
self.settings = settings
self.geom_settings = ifcopenshell.geom.settings(DISABLE_TRIANGULATION=True)
self.geom_settings = ifcopenshell.geom.settings()
self.clash_sets = []
self.collider = collider.Collider()
self.selector = ifcopenshell.util.selector.Selector()