Optimise object placement change checking, so medium sized project exports are 5 seconds faster at minimum, but can be much higher since false positives are culled.

This commit is contained in:
Dion Moult
2021-11-11 17:31:16 +11:00
parent f5f88f4b97
commit 6f55cd5169
8 changed files with 46 additions and 27 deletions
+9 -1
View File
@@ -18,7 +18,7 @@
import bpy
import math
import numpy
import numpy as np
import ifcopenshell
import blenderbim.core.tool
import blenderbim.tool as tool
@@ -352,6 +352,14 @@ class TestLink(NewFile):
assert obj.BIMMeshProperties.ifc_definition_id == element.id()
class TestRecordObjectPosition(NewFile):
def test_run(self):
obj = bpy.data.objects.new("Object", None)
subject.record_object_position(obj)
assert obj.BIMObjectProperties.location_checksum == repr(np.array(obj.matrix_world.translation).tobytes())
assert obj.BIMObjectProperties.rotation_checksum == repr(np.array(obj.matrix_world.to_3x3()).tobytes())
class TestRenameObject(NewFile):
def test_run(self):
obj = bpy.data.meshes.new("Mesh")