diff options
Diffstat (limited to 'object_fracture_cell/process/cell_main.py')
-rw-r--r-- | object_fracture_cell/process/cell_main.py | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/object_fracture_cell/process/cell_main.py b/object_fracture_cell/process/cell_main.py index 8283b5a2..eefa18c9 100644 --- a/object_fracture_cell/process/cell_main.py +++ b/object_fracture_cell/process/cell_main.py @@ -19,7 +19,7 @@ def main_object(context, original, level, **kw): source_particle_child = kw_copy.pop("source_particle_child") source_pencil = kw_copy.pop("source_pencil") source_random = kw_copy.pop("source_random") - + use_recenter = kw_copy.pop("use_recenter") recursion = kw_copy.pop("recursion") recursion_source_limit = kw_copy.pop("recursion_source_limit") @@ -48,12 +48,12 @@ def main_object(context, original, level, **kw): if kw_copy["use_debug_redraw"]: original_display_type_prev = original.display_type original.display_type = 'WIRE' - + original_mesh = original.data original_matrix = original.matrix_world.copy() - original_verts = [original_matrix @ v.co for v in original_mesh.vertices] + original_verts = [original_matrix @ v.co for v in original_mesh.vertices] original_xyz_minmax = cell_functions.original_minmax(original_verts) - + cells = [] points = cell_functions.points_from_object(original, original_xyz_minmax, source_vert_own=source_vert_own, @@ -61,9 +61,9 @@ def main_object(context, original, level, **kw): source_particle_own=source_particle_own, source_particle_child=source_particle_child, source_pencil=source_pencil, - source_random=source_random) + source_random=source_random) - cells = cell_functions.points_to_cells(context, original, original_xyz_minmax, points, **kw_copy) + cells = cell_functions.points_to_cells(context, original, original_xyz_minmax, points, **kw_copy) cells = cell_functions.cell_boolean(context, original, cells, use_island_split=use_island_split, use_interior_hide=(use_interior_vgroup or use_sharp_edges), @@ -76,7 +76,7 @@ def main_object(context, original, level, **kw): if use_recenter: bpy.ops.object.origin_set({"selected_editable_objects": cells}, type='ORIGIN_GEOMETRY', center='MEDIAN') - + #-------------- # Recursion. if level == 0: @@ -99,10 +99,10 @@ def main_object(context, original, level, **kw): (ob_pair[1].location - c).length_squared) if recursion_chance_select == 'CURSOR_MAX': objects_recurse_input.reverse() - + objects_recurse_input[int(recursion_chance * len(objects_recurse_input)):] = [] objects_recurse_input.sort() - + # reverse index values so we can remove from original list. objects_recurse_input.reverse() @@ -120,7 +120,7 @@ def main_object(context, original, level, **kw): if recursion_clamp and len(cells) > recursion_clamp: break - + #-------------- # Level Options if level == 0: @@ -131,25 +131,25 @@ def main_object(context, original, level, **kw): use_sharp_edges=use_sharp_edges, use_sharp_edges_apply=use_sharp_edges_apply, ) - + if cell_relocate: for cell in cells: cell.location.x += (original_xyz_minmax["x"][1] - original_xyz_minmax["x"][0]) + 1 - + if kw_copy["use_debug_redraw"]: original.display_type = original_display_type_prev - + return cells - + def main(context, original, **kw): ''' import time t = time.time() - ''' + ''' kw_copy = kw.copy() - + # Pre_Simplify pre_simplify = kw_copy.pop("pre_simplify") # collection @@ -157,31 +157,31 @@ def main(context, original, **kw): new_collection = kw_copy.pop("new_collection") collection_name = kw_copy.pop("collection_name") # object visibility - original_hide = kw_copy.pop("original_hide") + original_hide = kw_copy.pop("original_hide") # mass use_mass = kw_copy.pop("use_mass") mass_name = kw_copy.pop("mass_name") mass_mode = kw_copy.pop("mass_mode") mass = kw_copy.pop("mass") - + cells = [] - + if original.type == 'MESH': if pre_simplify > 0.0: cell_functions.simplify_original(original=original, pre_simplify=pre_simplify) - + cells += main_object(context, original, 0, **kw_copy) - + if pre_simplify > 0.0: cell_functions.desimplify_original(original=original) else: assert obj.type == 'MESH', "No MESH object selected." bpy.ops.object.select_all(action='DESELECT') - + for cell in cells: cell.select_set(True) - + cell_functions.post_process(cells, use_collection=use_collection, new_collection=new_collection, @@ -190,19 +190,19 @@ def main(context, original, **kw): mass=mass, mass_mode=mass_mode, mass_name=mass_name, - ) + ) # To avoid select both original object and cells in EDIT mode. bpy.context.view_layer.objects.active = cells[0] - + # de-hide all objects and meshes. bpy.ops.object.mode_set(mode='EDIT') - bpy.ops.mesh.reveal() + bpy.ops.mesh.reveal() bpy.ops.object.mode_set(mode='OBJECT') - + if original_hide: original.hide_set(True) #print("Done! %d objects in %.4f sec" % (len(cells), time.time() - t)) - #print("Done!") + #print("Done!") return (original, cells)
\ No newline at end of file |