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

Bastien Montagne noreply at git.blender.org
Wed Jun 13 15:36:42 CEST 2018


Commit: 1bcf9217eba9a5c10ee72bdd41f59ed94f6614ef
Author: Bastien Montagne
Date:   Wed Jun 13 15:36:24 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB1bcf9217eba9a5c10ee72bdd41f59ed94f6614ef

Merge branch 'master' into blender2.8

Conflicts:
	source/blender/blenkernel/BKE_pointcache.h
	source/blender/blenkernel/intern/object.c
	source/blender/blenkernel/intern/pointcache.c
	source/blender/editors/include/ED_particle.h
	source/blender/editors/physics/particle_edit.c
	source/blender/editors/physics/particle_edit_undo.c
	source/blender/editors/physics/particle_object.c
	source/blender/editors/physics/physics_intern.h
	source/blender/editors/physics/physics_pointcache.c
	source/blender/editors/space_time/space_time.c
	source/blender/editors/space_view3d/drawobject.c
	source/blender/editors/space_view3d/view3d_edit.c
	source/blender/editors/transform/transform_conversions.c
	source/blender/editors/transform/transform_generics.c
	source/blender/editors/transform/transform_manipulator.c
	source/blender/makesrna/intern/rna_object.c
	source/blender/makesrna/intern/rna_object_force.c
	source/blender/makesrna/intern/rna_sculpt_paint.c
	source/blenderplayer/bad_level_call_stubs/stubs.c

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



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

diff --cc source/blender/blenkernel/BKE_pointcache.h
index 501c9964aa3,88e5a25958d..8daef0348b9
--- a/source/blender/blenkernel/BKE_pointcache.h
+++ b/source/blender/blenkernel/BKE_pointcache.h
@@@ -277,8 -274,8 +277,9 @@@ void BKE_ptcache_id_from_smoke(PTCacheI
  void BKE_ptcache_id_from_dynamicpaint(PTCacheID *pid, struct Object *ob, struct DynamicPaintSurface *surface);
  void BKE_ptcache_id_from_rigidbody(PTCacheID *pid, struct Object *ob, struct RigidBodyWorld *rbw);
  
 +PTCacheID BKE_ptcache_id_find(struct Object *ob, struct Scene *scene, struct PointCache *cache);
- void BKE_ptcache_ids_from_object(struct ListBase *lb, struct Object *ob, struct Scene *scene, int duplis);
+ void BKE_ptcache_ids_from_object(
 -        struct Main *bmain, struct ListBase *lb, struct Object *ob, struct Scene *scene, int duplis);
++        struct ListBase *lb, struct Object *ob, struct Scene *scene, int duplis);
  
  /***************** Global funcs ****************************/
  void BKE_ptcache_remove(void);
diff --cc source/blender/editors/physics/particle_edit.c
index 359e9365ea7,41310f86807..a87719aed57
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@@ -55,9 -54,9 +55,10 @@@
  #include "BKE_DerivedMesh.h"
  #include "BKE_global.h"
  #include "BKE_object.h"
 +#include "BKE_library.h"
+ #include "BKE_main.h"
  #include "BKE_mesh.h"
 +#include "BKE_mesh_runtime.h"
  #include "BKE_modifier.h"
  #include "BKE_particle.h"
  #include "BKE_report.h"
@@@ -114,10 -105,10 +115,10 @@@ int PE_hair_poll(bContext *C
  	Object *ob= CTX_data_active_object(C);
  	PTCacheEdit *edit;
  
 -	if (!scene || !ob || !(ob->mode & OB_MODE_PARTICLE_EDIT))
 +	if (!scene || !ob || !(ob->mode & OB_MODE_PARTICLE_EDIT)) {
  		return 0;
 -
 -	edit= PE_get_current(bmain, scene, ob);
 +	}
- 	edit= PE_get_current(scene, ob);
++	edit = PE_get_current(scene, ob);
  
  	return (edit && edit->psys);
  }
@@@ -362,15 -331,14 +363,16 @@@ static int pe_x_mirror(Object *ob
  
  typedef struct PEData {
  	ViewContext vc;
 -	bglMats mats;
  
 +	const bContext *context;
+ 	Main *bmain;
  	Scene *scene;
 +	ViewLayer *view_layer;
  	Object *ob;
 -	DerivedMesh *dm;
 +	Mesh *mesh;
  	PTCacheEdit *edit;
  	BVHTreeFromMesh shape_bvh;
 +	Depsgraph *depsgraph;
  
  	const int *mval;
  	rcti *rect;
@@@ -400,11 -368,10 +402,12 @@@ static void PE_set_data(bContext *C, PE
  {
  	memset(data, 0, sizeof(*data));
  
+ 	data->bmain = CTX_data_main(C);
 -	data->scene= CTX_data_scene(C);
 -	data->ob= CTX_data_active_object(C);
 -	data->edit= PE_get_current(data->bmain, data->scene, data->ob);
 +	data->scene = CTX_data_scene(C);
 +	data->view_layer = CTX_data_view_layer(C);
 +	data->ob = CTX_data_active_object(C);
 +	data->depsgraph = CTX_data_depsgraph(C);
 +	data->edit = PE_get_current(data->scene, data->ob);
  }
  
  static void PE_set_view3d_data(bContext *C, PEData *data)
@@@ -1657,9 -1624,7 +1658,7 @@@ static int select_random_exec(bContext 
  
  	PE_set_data(C, &data);
  	data.select_action = SEL_SELECT;
- 	scene = CTX_data_scene(C);
- 	ob = CTX_data_active_object(C);
- 	edit = PE_get_current(scene, ob);
 -	edit = PE_get_current(data.bmain, data.scene, data.ob);
++	edit = PE_get_current(data.scene, data.ob);
  
  	rng = BLI_rng_new_srandom(seed);
  
@@@ -3798,8 -3751,8 +3797,9 @@@ static int brush_edit_init(bContext *C
  
  static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
  {
+ 	Main *bmain = CTX_data_main(C);
  	BrushEdit *bedit= op->customdata;
 +	Depsgraph *depsgraph = CTX_data_depsgraph(C);
  	Scene *scene= bedit->scene;
  	Object *ob= bedit->ob;
  	PTCacheEdit *edit= bedit->edit;
@@@ -4678,8 -4603,7 +4678,7 @@@ static int unify_length_exec(bContext *
  	}
  	scale_points_to_length(edit, average_length);
  
- 
 -	PE_update_object(bmain, scene, ob, 1);
 +	PE_update_object(depsgraph, scene, ob, 1);
  	if (edit->psys) {
  		WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
  	}
diff --cc source/blender/editors/physics/particle_edit_undo.c
index 6576d692f70,3d17b1a20c1..fdf765e4557
--- a/source/blender/editors/physics/particle_edit_undo.c
+++ b/source/blender/editors/physics/particle_edit_undo.c
@@@ -44,13 -44,13 +44,13 @@@
  #include "BLI_string.h"
  #include "BLI_utildefines.h"
  
+ #include "BKE_context.h"
 -#include "BKE_depsgraph.h"
 -#include "BKE_main.h"
  #include "BKE_particle.h"
  #include "BKE_pointcache.h"
- #include "BKE_context.h"
  #include "BKE_undo_system.h"
  
 +#include "DEG_depsgraph.h"
 +
  #include "ED_object.h"
  #include "ED_particle.h"
  #include "ED_physics.h"
diff --cc source/blender/editors/transform/transform_conversions.c
index 2f95b9a6322,2836ed0699d..8a2bf1a63dd
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@@ -2119,52 -2025,49 +2119,51 @@@ static void createTransParticleVerts(bC
  
  void flushTransParticles(TransInfo *t)
  {
 -	Main *bmain = CTX_data_main(t->context);
 -	Scene *scene = t->scene;
 -	Object *ob = OBACT;
 -	PTCacheEdit *edit = PE_get_current(bmain, scene, ob);
 -	ParticleSystem *psys = edit->psys;
 -	ParticleSystemModifierData *psmd = NULL;
 -	PTCacheEditPoint *point;
 -	PTCacheEditKey *key;
 -	TransData *td;
 -	float mat[4][4], imat[4][4], co[3];
 -	int i, k;
 -	const bool is_prop_edit = (t->flag & T_PROP_EDIT) != 0;
 -
 -	if (psys)
 -		psmd = psys_get_modifier(ob, psys);
 -
 -	/* we do transform in world space, so flush world space position
 -	 * back to particle local space (only for hair particles) */
 -	td = t->data;
 -	for (i = 0, point = edit->points; i < edit->totpoint; i++, point++, td++) {
 -		if (!(point->flag & PEP_TRANSFORM)) continue;
 -
 -		if (psys && !(psys->flag & PSYS_GLOBAL_HAIR)) {
 -			psys_mat_hair_to_global(ob, psmd->dm_final, psys->part->from, psys->particles + i, mat);
 -			invert_m4_m4(imat, mat);
 -
 -			for (k = 0, key = point->keys; k < point->totkey; k++, key++) {
 -				copy_v3_v3(co, key->world_co);
 -				mul_m4_v3(imat, co);
 -
 -
 -				/* optimization for proportional edit */
 -				if (!is_prop_edit || !compare_v3v3(key->co, co, 0.0001f)) {
 -					copy_v3_v3(key->co, co);
 -					point->flag |= PEP_EDIT_RECALC;
 +	FOREACH_TRANS_DATA_CONTAINER (t, tc) {
- 
 +		Scene *scene = t->scene;
 +		ViewLayer *view_layer = t->view_layer;
 +		Object *ob = OBACT(view_layer);
 +		PTCacheEdit *edit = PE_get_current(scene, ob);
 +		ParticleSystem *psys = edit->psys;
 +		ParticleSystemModifierData *psmd = NULL;
 +		PTCacheEditPoint *point;
 +		PTCacheEditKey *key;
 +		TransData *td;
 +		float mat[4][4], imat[4][4], co[3];
 +		int i, k;
 +		const bool is_prop_edit = (t->flag & T_PROP_EDIT) != 0;
 +
 +		if (psys)
 +			psmd = psys_get_modifier(ob, psys);
 +
 +		/* we do transform in world space, so flush world space position
 +		 * back to particle local space (only for hair particles) */
 +		td = tc->data;
 +		for (i = 0, point = edit->points; i < edit->totpoint; i++, point++, td++) {
 +			if (!(point->flag & PEP_TRANSFORM)) continue;
 +
 +			if (psys && !(psys->flag & PSYS_GLOBAL_HAIR)) {
 +				psys_mat_hair_to_global(ob, psmd->mesh_final, psys->part->from, psys->particles + i, mat);
 +				invert_m4_m4(imat, mat);
 +
 +				for (k = 0, key = point->keys; k < point->totkey; k++, key++) {
 +					copy_v3_v3(co, key->world_co);
 +					mul_m4_v3(imat, co);
 +
 +
 +					/* optimization for proportional edit */
 +					if (!is_prop_edit || !compare_v3v3(key->co, co, 0.0001f)) {
 +						copy_v3_v3(key->co, co);
 +						point->flag |= PEP_EDIT_RECALC;
 +					}
  				}
  			}
 +			else
 +				point->flag |= PEP_EDIT_RECALC;
  		}
 -		else
 -			point->flag |= PEP_EDIT_RECALC;
 -	}
  
 -	PE_update_object(bmain, scene, OBACT, 1);
 +		PE_update_object(t->depsgraph, scene, OBACT(view_layer), 1);
 +	}
  }
  
  /* ********************* mesh ****************** */
diff --cc source/blender/makesrna/intern/rna_sculpt_paint.c
index be52a3ffca7,11610c35b34..b89b2185a38
--- a/source/blender/makesrna/intern/rna_sculpt_paint.c
+++ b/source/blender/makesrna/intern/rna_sculpt_paint.c
@@@ -103,13 -104,14 +104,13 @@@ const EnumPropertyItem rna_enum_symmetr
  #include "MEM_guardedalloc.h"
  
  #include "BKE_context.h"
 -#include "BKE_depsgraph.h"
  #include "BKE_DerivedMesh.h"
- #include "BKE_pointcache.h"
 -#include "BKE_global.h"
  #include "BKE_particle.h"
 -#include "BKE_pointcache.h"
  #include "BKE_pbvh.h"
++#include "BKE_pointcache.h"
 +#include "BKE_object.h"
  
 -#include "GPU_buffers.h"
 +#include "DEG_depsgraph.h"
  
  #include "ED_particle.h"



More information about the Bf-blender-cvs mailing list