[Bf-blender-cvs] [dd38a712778] blender2.8: Merge branch 'master' into blender2.8

Campbell Barton noreply at git.blender.org
Mon Jul 30 08:27:06 CEST 2018


Commit: dd38a712778e633c48fa71d2d72c8ae69b67af55
Author: Campbell Barton
Date:   Mon Jul 30 16:26:29 2018 +1000
Branches: blender2.8
https://developer.blender.org/rBdd38a712778e633c48fa71d2d72c8ae69b67af55

Merge branch 'master' into blender2.8

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



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

diff --cc source/blender/blenkernel/intern/scene.c
index 0574eef1a0f,1eb65519596..b50dc37af81
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@@ -1207,14 -1204,59 +1207,24 @@@ char *BKE_scene_find_last_marker_name(S
  	return best_marker ? best_marker->name : NULL;
  }
  
+ int BKE_scene_frame_snap_by_seconds(Scene *scene, double interval_in_seconds, int cfra)
+ {
+ 	const int fps = round_db_to_int(FPS * interval_in_seconds);
+ 	const int second_prev = cfra - mod_i(cfra, fps);
+ 	const int second_next = second_prev + fps;
+ 	const int delta_prev = cfra - second_prev;
+ 	const int delta_next = second_next - cfra;
+ 	return (delta_prev < delta_next) ? second_prev : second_next;
+ }
+ 
 -
 -Base *BKE_scene_base_add(Scene *sce, Object *ob)
 -{
 -	Base *b = MEM_callocN(sizeof(*b), __func__);
 -	BLI_addhead(&sce->base, b);
 -
 -	b->object = ob;
 -	b->flag = ob->flag;
 -	b->lay = ob->lay;
 -
 -	return b;
 -}
 -
 -void BKE_scene_base_unlink(Scene *sce, Base *base)
 +void BKE_scene_remove_rigidbody_object(struct Main *bmain, Scene *scene, Object *ob)
  {
  	/* remove rigid body constraint from world before removing object */
 -	if (base->object->rigidbody_constraint)
 -		BKE_rigidbody_remove_constraint(sce, base->object);
 +	if (ob->rigidbody_constraint)
 +		BKE_rigidbody_remove_constraint(scene, ob);
  	/* remove rigid body object from world before removing object */
 -	if (base->object->rigidbody_object)
 -		BKE_rigidbody_remove_object(sce, base->object);
 -
 -	BLI_remlink(&sce->base, base);
 -	if (sce->basact == base)
 -		sce->basact = NULL;
 -}
 -
 -void BKE_scene_base_deselect_all(Scene *sce)
 -{
 -	Base *b;
 -
 -	for (b = sce->base.first; b; b = b->next) {
 -		b->flag &= ~SELECT;
 -		b->object->flag = b->flag;
 -	}
 -}
 -
 -void BKE_scene_base_select(Scene *sce, Base *selbase)
 -{
 -	selbase->flag |= SELECT;
 -	selbase->object->flag = selbase->flag;
 -
 -	sce->basact = selbase;
 +	if (ob->rigidbody_object)
 +		BKE_rigidbody_remove_object(bmain, scene, ob);
  }
  
  /* checks for cycle, returns 1 if it's all OK */



More information about the Bf-blender-cvs mailing list