[Bf-blender-cvs] [0a59c01] fracture_modifier: Merge remote-tracking branch 'refs/remotes/origin/master' into fracture_modifier

Martin Felke noreply at git.blender.org
Sat Nov 8 13:00:40 CET 2014


Commit: 0a59c0132e884a08615e2efeb060b2d07006a7dd
Author: Martin Felke
Date:   Sat Nov 8 12:58:48 2014 +0100
Branches: fracture_modifier
https://developer.blender.org/rB0a59c0132e884a08615e2efeb060b2d07006a7dd

Merge remote-tracking branch 'refs/remotes/origin/master' into fracture_modifier

Conflicts:
	source/blender/blenkernel/intern/pointcache.c
	source/blender/blenkernel/intern/rigidbody.c

===================================================================



===================================================================

diff --cc source/blender/blenkernel/intern/rigidbody.c
index e91f9bd,2f6ac6c..adbcd69
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@@ -1033,26 -483,24 +1033,27 @@@ void BKE_rigidbody_validate_sim_shard_s
  		height = size[2];
  	}
  	else if (rbo->shape == RB_SHAPE_SPHERE) {
- 		/* take radius to the the largest dimension to try and encompass everything */
- 		radius = MAX3(size[0], size[1], size[2]);
++
+ 		/* take radius to the largest dimension to try and encompass everything */
+ 		radius = max_fff(size[0], size[1], size[2]) * 0.5f;
  	}
 -
 -	/* calculate volume as appropriate  */
 +	
 +	/* create new shape */
  	switch (rbo->shape) {
  		case RB_SHAPE_BOX:
 -			volume = size[0] * size[1] * size[2];
 +			new_shape = RB_shape_new_box(size[0], size[1], size[2]);
  			break;
 -
 +	
  		case RB_SHAPE_SPHERE:
 -			volume = 4.0f / 3.0f * (float)M_PI * radius * radius * radius;
 +			new_shape = RB_shape_new_sphere(radius);
  			break;
 -
 -		/* for now, assume that capsule is close enough to a cylinder... */
 +	
  		case RB_SHAPE_CAPSULE:
 +			capsule_height = (height - radius) * 2.0f;
 +			new_shape = RB_shape_new_capsule(radius, (capsule_height > 0.0f) ? capsule_height : 0.0f);
 +			break;
  		case RB_SHAPE_CYLINDER:
 -			volume = (float)M_PI * radius * radius * height;
 +			new_shape = RB_shape_new_cylinder(radius, height);
  			break;
  
  		case RB_SHAPE_CONE:
diff --cc source/blender/makesrna/intern/rna_rigidbody.c
index 590ec47,86a8b16..2c324af
--- a/source/blender/makesrna/intern/rna_rigidbody.c
+++ b/source/blender/makesrna/intern/rna_rigidbody.c
@@@ -975,9 -805,10 +986,9 @@@ static void rna_def_rigidbody_object(Bl
  	prop = RNA_def_property(srna, "collision_shape", PROP_ENUM, PROP_NONE);
  	RNA_def_property_enum_sdna(prop, NULL, "shape");
  	RNA_def_property_enum_items(prop, rigidbody_object_shape_items);
 -	RNA_def_property_enum_funcs(prop, NULL, "rna_RigidBodyOb_shape_set", NULL);
  	RNA_def_property_ui_text(prop, "Collision Shape", "Collision Shape of object in Rigid Body Simulations");
  	RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
- 	RNA_def_property_update(prop, NC_OBJECT | ND_POINTCACHE, "rna_RigidBodyOb_reset");
+ 	RNA_def_property_update(prop, NC_OBJECT | ND_POINTCACHE, "rna_RigidBodyOb_shape_update");
  	
  	prop = RNA_def_property(srna, "kinematic", PROP_BOOLEAN, PROP_NONE);
  	RNA_def_property_boolean_sdna(prop, NULL, "flag", RBO_FLAG_KINEMATIC);




More information about the Bf-blender-cvs mailing list