[Bf-blender-cvs] [8287a46f844] temp-fracture-modifier-2.8: Merge remote-tracking branch 'refs/remotes/origin/blender2.8' into fracture_modifier-2.8
Martin Felke
noreply at git.blender.org
Fri Aug 24 15:38:11 CEST 2018
Commit: 8287a46f8445073600132e513b21e4d377ebf17e
Author: Martin Felke
Date: Fri Aug 24 14:00:34 2018 +0200
Branches: temp-fracture-modifier-2.8
https://developer.blender.org/rB8287a46f8445073600132e513b21e4d377ebf17e
Merge remote-tracking branch 'refs/remotes/origin/blender2.8' into fracture_modifier-2.8
Conflicts:
build_files/cmake/macros.cmake
release/scripts/addons
release/scripts/addons_contrib
release/scripts/startup/bl_ui/properties_physics_common.py
release/scripts/startup/bl_ui/properties_physics_fluid.py
release/scripts/startup/bl_ui/properties_physics_rigidbody.py
source/blender/blenloader/intern/readfile.c
source/blender/depsgraph/intern/builder/deg_builder_relations.cc
source/tools
===================================================================
===================================================================
diff --cc build_files/cmake/macros.cmake
index 62d2c430420,a4f8d9397aa..e7515f9d14f
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@@ -776,14 -777,6 +777,10 @@@ function(SETUP_BLENDER_SORTED_LIBS
list(APPEND BLENDER_SORTED_LIBS bf_intern_gpudirect)
endif()
+ if(WITH_VORO)
+ list(APPEND BLENDER_SORTED_LIBS extern_voro)
+ endif()
-
- if(WITH_OPENSUBDIV OR WITH_CYCLES_OPENSUBDIV)
- list(APPEND BLENDER_SORTED_LIBS bf_intern_opensubdiv)
- endif()
+
if(WITH_OPENVDB)
list(APPEND BLENDER_SORTED_LIBS bf_intern_openvdb)
endif()
diff --cc release/scripts/startup/bl_ui/properties_physics_common.py
index c44ef07fb24,9653d98d428..11232cd87cd
--- a/release/scripts/startup/bl_ui/properties_physics_common.py
+++ b/release/scripts/startup/bl_ui/properties_physics_common.py
@@@ -74,10 -83,11 +83,12 @@@ class PHYSICS_PT_add(PhysicButtonsPanel
if obj.type == 'MESH':
physics_add(self, col, context.collision, "Collision", 'COLLISION', 'MOD_PHYSICS', False)
physics_add(self, col, context.cloth, "Cloth", 'CLOTH', 'MOD_CLOTH', True)
- physics_add(self, col, context.dynamic_paint, "Dynamic Paint", 'DYNAMIC_PAINT', 'MOD_DYNAMICPAINT', True)
+ physics_add(
+ self, col, context.dynamic_paint, "Dynamic Paint", 'DYNAMIC_PAINT', 'MOD_DYNAMICPAINT', True
+ )
+ physics_add(self, col, context.fracture, "Fracture", 'FRACTURE', 'MOD_EXPLODE', True)
- col = split.column()
+ col = flow.column()
if obj.type in {'MESH', 'LATTICE', 'CURVE', 'SURFACE', 'FONT'}:
physics_add(self, col, context.soft_body, "Soft Body", 'SOFT_BODY', 'MOD_SOFT', True)
diff --cc release/scripts/startup/bl_ui/properties_physics_fracture.py
index 8cbebe4e641,00000000000..e8d051b029f
mode 100644,000000..100644
--- a/release/scripts/startup/bl_ui/properties_physics_fracture.py
+++ b/release/scripts/startup/bl_ui/properties_physics_fracture.py
@@@ -1,340 -1,0 +1,345 @@@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+import bpy
+from bpy.types import Panel, Menu, UIList
+from bpy.app.translations import pgettext_iface as iface_
+
+
+class FRACTURE_MT_presets(Menu):
+ bl_label = "Fracture Presets"
+ preset_subdir = "fracture"
+ preset_operator = "script.execute_preset"
+ draw = Menu.draw_preset
+
+
+class PhysicButtonsPanel():
+ bl_space_type = 'PROPERTIES'
+ bl_region_type = 'WINDOW'
+ bl_context = "physics"
+
+ @classmethod
+ def poll(cls, context):
+ ob = context.object
+ return ob and (ob.type == 'MESH') and context.fracture
+
+class PHYSICS_PT_fracture_anim_mesh(PhysicButtonsPanel, Panel):
+ bl_label = "Animated Mesh"
+ bl_options = {'DEFAULT_CLOSED'}
+ bl_parent_id = 'PHYSICS_PT_fracture'
+
++ def draw_header(self, context):
++ md = context.fracture
++ self.layout.prop(md, "use_animated_mesh", text="")
++
+ def draw(self, context):
+ layout = self.layout
+ md = context.fracture
+ layout.context_pointer_set("modifier", md)
- row = layout.row()
- row.prop(md, "use_animated_mesh")
- row.prop(md, "use_animated_mesh_rotation")
++ layout.active = md.use_animated_mesh
+ row = layout.row()
+ row.prop(md, "animated_mesh_limit")
++ row.prop(md, "use_animated_mesh_rotation")
+ row = layout.row()
+ row.prop(md, "animated_mesh_input")
+ row = layout.row()
+ row.operator("object.fracture_anim_bind", text="Bind", icon="UV_VERTEXSEL")
+
+class PHYSICS_PT_fracture_advanced(PhysicButtonsPanel, Panel):
- bl_label = "Advanced Fracture"
++ bl_label = "Advanced"
+ bl_options = {'DEFAULT_CLOSED'}
+ bl_parent_id = 'PHYSICS_PT_fracture'
+
+ def draw(self, context):
+ layout = self.layout
+ md = context.fracture
+ ob = context.object
+
+ layout.label("Fracture Point Source:")
+ col = layout.column()
+ col.context_pointer_set("modifier", md)
+ col.prop(md, "point_source")
+ if 'GRID' in md.point_source:
+ sub = col.split(0.33)
+ sub.prop(md, "grid_resolution")
+ sub.prop(md, "grid_offset")
+ sub.prop(md, "grid_spacing")
+ #if 'GREASE_PENCIL' in md.point_source:
+ # col.prop(md, "use_greasepencil_edges")
+ # col.prop(md, "grease_offset")
+ # col.prop(md, "grease_decimate")
+ # col.prop(md, "cutter_axis")
+ if {'EXTRA_PARTICLES', 'EXTRA_VERTICES'} in md.point_source:
+ col.prop(md, "extra_group", text="Helpers")
+ if 'CUSTOM' in md.point_source:
+ col.prop(md, "cutter_group")
+ if (md.cutter_group):
+ col.prop(md, "keep_cutter_shards")
+ col.label("Material Index Offset")
+ row = col.row(align=True)
+ row.prop(md, "material_offset_intersect", text="Intersect")
+ row.prop(md, "material_offset_difference", text="Difference")
+ row = col.row()
+ row.prop(md, "dm_group", text="Pack Group")
+ row.prop(md, "use_constraint_group", text="Constraints Only")
+ col.operator("object.fracture_pack", text="Pack", icon="PACKAGE")
+ col.prop(md, "use_particle_birth_coordinates")
+ col.prop(md, "percentage")
+ sub = col.column(align=True)
+ sub.prop_search(md, "thresh_vertex_group", ob, "vertex_groups", text = "Threshold")
+ sub.prop_search(md, "passive_vertex_group", ob, "vertex_groups", text = "Passive")
+ sub.prop_search(md, "inner_vertex_group", ob, "vertex_groups", text = "Inner")
+ sub.prop(md, "inner_crease")
+ if (md.frac_algorithm in {'BISECT_FAST', 'BISECT_FAST_FILL', 'BOOLEAN_FRACTAL'}):
+ col.prop(md, "orthogonality_factor", text="Rectangular Alignment")
+
+class PHYSICS_PT_fracture_dynamic(PhysicButtonsPanel, Panel):
+ bl_label = "Dynamic"
+ bl_parent_id = 'PHYSICS_PT_fracture'
+ bl_options = {'DEFAULT_CLOSED'}
+
+ def draw_header(self, context):
+ md = context.fracture
+ self.layout.prop(md, "use_dynamic", text="")
+
+ def draw(self, context):
+ md = context.fracture
+ layout = self.layout
+ layout.active = md.use_dynamic
+ row = layout.row(align=True)
+ row.prop(md, "dynamic_force")
+ row.prop(md, "dynamic_percentage")
+ col = layout.column(align=True)
+ col.prop(md, "dynamic_new_constraints")
+ row = col.row(align=True)
+ row.prop(md, "limit_impact")
+ row.prop(md, "dynamic_min_size")
+
+class PHYSICS_PT_fracture(PhysicButtonsPanel, Panel):
+ bl_label = "Fracture"
+
+ def draw(self, context):
+ md = context.fracture
+ layout = self.layout
+ layout.label(text="Presets:")
+ sub = layout.row(align=True)
+ sub.menu("FRACTURE_MT_presets", text=bpy.types.FRACTURE_MT_presets.bl_label)
+ sub.operator("fracture.preset_add", text="", icon='ZOOMIN')
+ sub.operator("fracture.preset_add", text="", icon='ZOOMOUT').remove_active = True
+
+ layout.context_pointer_set("modifier", md)
+ row = layout.row()
+ row.operator("object.fracture_refresh", text="Execute Fracture", icon='MOD_EXPLODE').reset = True
+
+class PHYSICS_PT_fracture_basic(PhysicButtonsPanel, Panel):
+ bl_label = "Basic"
+ bl_parent_id = 'PHYSICS_PT_fracture'
+ bl_options = {'DEFAULT_CLOSED'}
+
+ def icon(self, bool):
+ if bool:
+ return 'TRIA_DOWN'
+ else:
+ return 'TRIA_RIGHT'
+
+ def draw(self, context):
+ layout = self.layout
+
+ md = context.fracture
+ ob = context.object
+
+ layout.prop(md, "frac_algorithm")
+ if md.frac_algorithm in {'BOOLEAN', 'BOOLEAN_FRACTAL'}:
+ col = layout.column(align=True)
+ col.prop(md, "boolean_double_threshold")
+ col = layout.column(align=True)
+ col.prop(md, "shard_count")
+ col.prop(md, "point_seed")
+
+ if md.frac_algorithm in {'BOOLEAN', 'BISECT_FILL', 'BISECT_FAST_FILL', 'BOOLEAN_FRACTAL'}:
+ col = layout.column()
+ col.prop(md, "inner_material")
+ col.prop_search(md, "uv_layer", ob.data, "uv_layers")
+ if md.frac_algorithm == 'BOOLEAN_FRACTAL':
+ col = layout.column(align=True)
+ row = col.row(align=True)
+ row.prop(md, "fractal_cuts")
+ row.prop(md, "fractal_iterations")
+ row = col.row(align=True)
+ row.prop(md, "fractal_amount")
+ row.prop(md, "physics_mesh_scale")
+ row = layout.row(align=True)
+ row.prop(md, "splinter_axis")
+ row = layout.row(align=True)
+ row.prop(md, "splinter_length")
+ row = layout.row()
+ row.prop(md, "split_islands")
+ row.prop(md, "use_smooth")
+ row = layout.row()
+ row.prop(md, "auto_execute")
+ row.prop(md, "execute_threaded", text="Threaded (WIP)")
+
+class PHYSICS_PT_fracture_simulation(PhysicButtonsPanel, Panel):
+ bl_label = "Constraints"
+ bl_options = {'DEFAULT_CLOSED'}
+
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list