Fix bug where copying an instance did not auto link the meshes.

This commit is contained in:
Dion Moult
2021-11-03 19:03:48 +11:00
parent 8545d870c0
commit 901318b73b
5 changed files with 20 additions and 0 deletions
+4
View File
@@ -33,6 +33,8 @@ class TestCopyClass:
root.get_element_type("element").should_be_called().will_return("type")
root.does_type_have_representations("type").should_be_called().will_return(True)
ifc.run("type.map_type_representations", related_object="element", relating_type="type").should_be_called()
ifc.get_object("type").should_be_called().will_return("type_obj")
root.link_object_data("type_obj", "obj").should_be_called()
collector.assign("obj").should_be_called()
root.is_opening_element("element").should_be_called().will_return(False)
subject.copy_class(ifc, collector, geometry, root, obj="obj")
@@ -78,6 +80,8 @@ class TestCopyClass:
root.get_element_type("element").should_be_called().will_return("type")
root.does_type_have_representations("type").should_be_called().will_return(True)
ifc.run("type.map_type_representations", related_object="element", relating_type="type").should_be_called()
ifc.get_object("type").should_be_called().will_return("type_obj")
root.link_object_data("type_obj", "obj").should_be_called()
collector.assign("obj").should_be_called()
root.is_opening_element("element").should_be_called().will_return(True)
root.add_dynamic_opening_voids("element", "obj").should_be_called()
+10
View File
@@ -100,6 +100,16 @@ class TestIsOpeningElement(NewFile):
assert subject.is_opening_element(ifc.createIfcOpeningElement()) is True
class TestLinkObjectData(NewFile):
def test_run(self):
data = bpy.data.meshes.new("Mesh")
source = bpy.data.objects.new("Object", data)
destination = bpy.data.objects.new("Object", bpy.data.meshes.new("Mesh"))
subject.link_object_data(source, destination)
assert source.data == data
assert source.data == destination.data
class TestRunGeometryAddRepresntation(NewFile):
def test_nothing(self):
pass