示例#1
0
 def test_removing_an_unused_mapped_representation(self, ifc, geometry):
     ifc.get_entity("obj").should_be_called().will_return("element")
     geometry.is_mapped_representation("mapped_rep").should_be_called().will_return(True)
     geometry.get_element_type("element").should_be_called().will_return("type")
     geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation")
     geometry.get_representation_data("representation").should_be_called().will_return(None)
     ifc.run("geometry.unassign_representation", product="type", representation="representation").should_be_called()
     ifc.run("geometry.remove_representation", representation="representation").should_be_called()
     subject.remove_representation(ifc, geometry, obj="obj", representation="mapped_rep")
示例#2
0
 def test_switching_to_non_dynamic_baked_voids(self, geometry):
     geometry.is_edited("obj").should_be_called().will_return(False)
     geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation")
     geometry.get_representation_data("representation").should_be_called().will_return("data")
     geometry.change_object_data("obj", "data", is_global=False).should_be_called()
     geometry.clear_modifiers("obj").should_be_called()
     subject.switch_representation(
         geometry,
         obj="obj",
         representation="mapped_rep",
         should_reload=False,
         enable_dynamic_voids=False,
         is_global=False,
         should_sync_changes_first=True,
     )
示例#3
0
 def test_removing_an_actively_used_mapped_representation_by_remapping_usages_to_an_empty(self, ifc, geometry):
     ifc.get_entity("obj").should_be_called().will_return("element")
     geometry.is_mapped_representation("mapped_rep").should_be_called().will_return(False)
     geometry.is_type_product("element").should_be_called().will_return(True)
     geometry.get_element_type("element").should_be_called().will_return("type")
     geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation")
     geometry.get_representation_data("representation").should_be_called().will_return("data")
     geometry.has_data_users("data").should_be_called().will_return(True)
     geometry.get_elements_of_type("type").should_be_called().will_return(["element"])
     ifc.get_object("element").should_be_called().will_return("obj")
     geometry.replace_object_with_empty("obj").should_be_called()
     ifc.get_object("type").should_be_called().will_return("type_obj")
     geometry.replace_object_with_empty("type_obj").should_be_called()
     ifc.run("geometry.unassign_representation", product="type", representation="representation").should_be_called()
     ifc.run("geometry.remove_representation", representation="representation").should_be_called()
     subject.remove_representation(ifc, geometry, obj="obj", representation="mapped_rep")
示例#4
0
 def test_updating_a_representation_if_the_blender_object_has_been_edited_prior_to_switching(self, geometry):
     geometry.is_edited("obj").should_be_called().will_return(True)
     geometry.is_box_representation("mapped_rep").should_be_called().will_return(False)
     geometry.get_representation_id("mapped_rep").should_be_called().will_return("representation_id")
     geometry.run_geometry_update_representation(obj="obj").should_be_called()
     geometry.does_representation_id_exist("representation_id").should_be_called().will_return(True)
     geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation")
     geometry.get_representation_data("representation").should_be_called().will_return("data")
     geometry.change_object_data("obj", "data", is_global=False).should_be_called()
     geometry.clear_modifiers("obj").should_be_called()
     subject.switch_representation(
         geometry,
         obj="obj",
         representation="mapped_rep",
         should_reload=False,
         enable_dynamic_voids=False,
         is_global=False,
         should_sync_changes_first=True,
     )
示例#5
0
 def test_switching_to_a_freshly_loaded_representation(self, geometry):
     geometry.is_edited("obj").should_be_called().will_return(False)
     geometry.resolve_mapped_representation("mapped_rep").should_be_called().will_return("representation")
     geometry.get_representation_data("representation").should_be_called().will_return(None)
     geometry.import_representation(
         "obj", "representation", enable_dynamic_voids=True
     ).should_be_called().will_return("new_data")
     geometry.get_representation_name("representation").should_be_called().will_return("name")
     geometry.rename_object("new_data", "name").should_be_called()
     geometry.link("representation", "new_data").should_be_called()
     geometry.change_object_data("obj", "new_data", is_global=True).should_be_called()
     geometry.clear_modifiers("obj").should_be_called()
     geometry.is_body_representation("representation").should_be_called().will_return(True)
     geometry.create_dynamic_voids("obj").should_be_called()
     subject.switch_representation(
         geometry,
         obj="obj",
         representation="mapped_rep",
         should_reload=True,
         enable_dynamic_voids=True,
         is_global=True,
         should_sync_changes_first=True,
     )