Commit: fe6e5123c0a7de70f63493afc3289ddcdc62fd57 Author: Martin Felke Date: Mon Aug 6 21:37:11 2018 +0200 Branches: temp-fracture-modifier-2.8 https://developer.blender.org/rBfe6e5123c0a7de70f63493afc3289ddcdc62fd57
Merge branch 'fracture_modifier' into fracture_modifier-2.8 =================================================================== =================================================================== diff --cc CMakeLists.txt index 708e5192c19,6d055fe4f0a..803d1e18d7e --- a/CMakeLists.txt +++ b/CMakeLists.txt @@@ -230,7 -235,15 +230,8 @@@ option(WITH_FFTW3 "Enable FFTW option(WITH_BULLET "Enable Bullet (Physics Engine)" ON) option(WITH_SYSTEM_BULLET "Use the systems bullet library (currently unsupported due to missing features in upstream!)" ) mark_as_advanced(WITH_SYSTEM_BULLET) -option(WITH_GAMEENGINE "Enable Game Engine" ${_init_GAMEENGINE}) -if(APPLE) - set(WITH_GAMEENGINE_DECKLINK OFF) -else() - option(WITH_GAMEENGINE_DECKLINK "Support BlackMagicDesign DeckLink cards in the Game Engine" ON) -endif() -option(WITH_PLAYER "Build Player" OFF) option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ${_init_OPENCOLORIO}) + option(WITH_VORO "Enable Voronoi Fracture based on Voro++" ON) # Compositor option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON) diff --cc intern/cycles/render/image.cpp index 2865b0e5e97,595eb46319a..932c8fb2912 --- a/intern/cycles/render/image.cpp +++ b/intern/cycles/render/image.cpp @@@ -536,13 -537,12 +536,17 @@@ bool ImageManager::file_load_image(Imag pixels = &pixels_storage[0]; } else { - pixels = (StorageType*)tex_img.resize(width, height, depth); + thread_scoped_lock device_lock(device_mutex); + pixels = (StorageType*)tex_img.alloc(width, height, depth); + } + if(pixels == NULL) { + /* Could be that we've run out of memory. */ + return false; } + if(pixels == NULL) { + /* Could be that we've run out of memory. */ + return false; + } bool cmyk = false; const size_t num_pixels = ((size_t)width) * height * depth; if(in) { diff --cc intern/rigidbody/RBI_api.h index eec94bcea50,a73faf4d87c..8727c375e93 --- a/intern/rigidbody/RBI_api.h +++ b/intern/rigidbody/RBI_api.h @@@ -268,8 -300,8 +300,9 @@@ rbConstraint *RB_constraint_new_slider( rbConstraint *RB_constraint_new_piston(float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2); rbConstraint *RB_constraint_new_6dof(float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2); rbConstraint *RB_constraint_new_6dof_spring(float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2); +rbConstraint *RB_constraint_new_6dof_spring2(float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2); rbConstraint *RB_constraint_new_motor(float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2); + rbConstraint *RB_constraint_new_compound(rbRigidBody *rb1, rbRigidBody *rb2); /* ............ */ diff --cc intern/rigidbody/rb_bullet_api.cpp index 6a50c5c93ee,a0f22a23b01..8d150ea22fb --- a/intern/rigidbody/rb_bullet_api.cpp +++ b/intern/rigidbody/rb_bullet_api.cpp @@@ -955,24 -1968,17 +1968,31 @@@ rbConstraint *RB_constraint_new_6dof_sp make_constraint_transforms(transform1, transform2, body1, body2, pivot, orn); btTypedConstraint *con = new btGeneric6DofSpringConstraint(*body1, *body2, transform1, transform2, true); - - return (rbConstraint *)con; + + rbConstraint *rbc = new rbConstraint(); + rbc->con = con; + con->setUserConstraintPtr(rbc); + + btVector3 vec(pivot[0], pivot[1], pivot[2]); + rbc->pivot.setOrigin(vec); + + return rbc; } +rbConstraint *RB_constraint_new_6dof_spring2(float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2) +{ + btRigidBody *body1 = rb1->body; + btRigidBody *body2 = rb2->body; + btTransform transform1; + btTransform transform2; + + make_constraint_transforms(transform1, transform2, body1, body2, pivot, orn); + + btTypedConstraint *con = new btGeneric6DofSpring2Constraint(*body1, *body2, transform1, transform2); + + return (rbConstraint *)con; +} + rbConstraint *RB_constraint_new_motor(float pivot[3], float orn[4], rbRigidBody *rb1, rbRigidBody *rb2) { btRigidBody *body1 = rb1->body; diff --cc release/scripts/addons index 371960484a3,2609a1018e4..9ca218bf425 --- a/release/scripts/addons +++ b/release/scripts/addons @@@ -1,1 -1,1 +1,1 @@@ - Subproject commit 371960484a38fc64e0a2635170a41a0d8ab2f6bd -Subproject commit 2609a1018e469dde627cfe2147ef993ee9c90f8f ++Subproject commit 9ca218bf4252869dda11b44029cdebfcbff9aad1 diff --cc release/scripts/addons_contrib index 47470215783,a8515cfdfe9..15b25a42783 --- a/release/scripts/addons_contrib +++ b/release/scripts/addons_contrib @@@ -1,1 -1,1 +1,1 @@@ - Subproject commit 474702157831f1a58bb50f5240ab8b1b02b6ba37 -Subproject commit a8515cfdfe9a98127b592f36fcbe51b7e23b969a ++Subproject commit 15b25a42783d1e516b5298d70b582fae2559ae17 diff --cc release/scripts/modules/bpy/path.py index 6af78bbb4c0,0bfb14e4e0d..facbc61266c --- a/release/scripts/modules/bpy/path.py +++ b/release/scripts/modules/bpy/path.py @@@ -225,17 -221,16 +225,26 @@@ def display_name(name) name = _clean_utf8(name) return name + def display_name_to_filepath(name): + """ + Performs the reverse of display_name using literal versions of characters + which aren't supported in a filepath. + """ + for disp_value, file_value in _display_name_literals.items(): + name = name.replace(disp_value, file_value) + return name + +def display_name_to_filepath(name): + """ + Performs the reverse of display_name using literal versions of characters + which aren't supported in a filepath. + """ + for disp_value, file_value in _display_name_literals.items(): + name = name.replace(disp_value, file_value) + return name + + def display_name_from_filepath(name): """ Returns the path stripped of directory and extension, diff --cc release/scripts/startup/bl_operators/rigidbody.py index 6b76fb96b62,213e6a37670..1e71aae9e92 --- a/release/scripts/startup/bl_operators/rigidbody.py +++ b/release/scripts/startup/bl_operators/rigidbody.py @@@ -124,10 -132,13 +132,11 @@@ class BakeToKeyframes(Operator) frames_step = range(self.frame_start, self.frame_end + 1, self.step) frames_full = range(self.frame_start, self.frame_end + 1) + constraints = [] # filter objects selection for obj in context.selected_objects: - if (not obj.rigid_body or obj.rigid_body.type != 'ACTIVE' or self.has_fracture_modifier(obj, True)): - obj.select = False - if (obj.rigid_body_constraint): - constraints.append(obj) + if not obj.rigid_body or obj.rigid_body.type != 'ACTIVE': + obj.select_set(action='DESELECT') objects = context.selected_objects diff --cc release/scripts/startup/bl_ui/properties_data_modifier.py index 7eeb45cc52e,4467d44ee0f..da618a10132 --- a/release/scripts/startup/bl_ui/properties_data_modifier.py +++ b/release/scripts/startup/bl_ui/properties_data_modifier.py @@@ -168,11 -161,17 +168,15 @@@ class DATA_PT_modifiers(ModifierButtons col.label(text="Object:") col.prop(md, "object", text="") - split = layout.split() - split.column().label(text="Solver:") - split.column().prop(md, "solver", text="") + layout.prop(md, "double_threshold") - if solver == 'BMESH': - layout.prop(md, "double_threshold") + if bpy.app.debug: + layout.prop(md, "debug_options") + if bpy.app.debug: + layout.prop(md, "debug_options") + + def BUILD(self, layout, ob, md): split = layout.split() diff --cc release/scripts/startup/bl_ui/properties_physics_rigidbody.py index d121b6a389d,127436d5d56..7e4982c0b0e --- a/release/scripts/startup/bl_ui/properties_physics_rigidbody.py +++ b/release/scripts/startup/bl_ui/properties_physics_rigidbody.py @@@ -72,22 -72,20 +72,22 @@@ class PHYSICS_PT_rigid_body_collisions( ob = context.object rbo = ob.rigid_body + layout.use_property_split = True - row = layout.row() - row.prop(rbo, "is_ghost") - row.prop(rbo, "propagate_trigger") - row = layout.row() - row.prop(rbo, "constraint_dissolve") - row.prop(rbo, "dynamic_trigger") - row = layout.row() - row.prop(rbo, "plastic_dissolve") - row.prop(rbo, "stop_trigger") + layout.prop(rbo, "collision_shape", text="Shape") -class PHYSICS_PT_rigid_body_collisions(PHYSICS_PT_rigidbody_panel, Panel): - bl_label = "Rigid Body Collisions" - COMPAT_ENGINES = {'BLENDER_RENDER'} + if rbo.collision_shape in {'MESH', 'CONVEX_HULL'}: + layout.prop(rbo, "mesh_source", text="Source") + - if rbo.collision_shape == 'MESH' and rbo.mesh_source == 'DEFORM': ++ if rbo.collision_shape == 'MESH' and rbo.mesh_source in {'DEFORM', 'FINAL', 'FINAL_SOLID'}: + layout.prop(rbo, "use_deform", text="Deforming") + + +class PHYSICS_PT_rigid_body_collisions_surface(PHYSICS_PT_rigidbody_panel, Panel): + bl_label = "Surface Response" + bl_parent_id = 'PHYSICS_PT_rigid_body_collisions' + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'} @classmethod def poll(cls, context): @@@ -100,62 -98,35 +100,64 @@@ ob = context.object rbo = ob.rigid_body + layout.use_property_split = True - layout.prop(rbo, "collision_shape", text="Shape") + col = layout.column() + col.prop(rbo, "friction") + col.prop(rbo, "restitution", text="Bounciness") - if rbo.collision_shape in {'MESH', 'CONVEX_HULL'}: - layout.prop(rbo, "mesh_source", text="Source") - if rbo.collision_shape == 'MESH' and rbo.mesh_source in {'DEFORM', 'FINAL', 'FINAL_SOLID'}: - layout.prop(rbo, "use_deform", text="Deforming") +class PHYSICS_PT_rigid_body_collisions_sensitivity(PHYSICS_PT_rigidbody_panel, Panel): + bl_label = "Sensitivity" + bl_parent_id = 'PHYSICS_PT_rigid_body_collisions' + bl_options = {'DEFAULT_CLOSED'} + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_OPENGL'} + + @classmethod + def poll(cls, context): + obj = context.object + return (obj and obj.rigid_body and + (context. @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs