[Bf-blender-cvs] [3e972fb5825] greasepencil-object: Merge branch 'blender2.8' into greasepencil-object

Antonio Vazquez noreply at git.blender.org
Wed Aug 23 13:29:09 CEST 2017


Commit: 3e972fb5825b82b4c77ab1bae725236e7194f1a1
Author: Antonio Vazquez
Date:   Wed Aug 23 12:58:46 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB3e972fb5825b82b4c77ab1bae725236e7194f1a1

Merge branch 'blender2.8' into greasepencil-object

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



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

diff --cc source/blender/blenkernel/intern/deform.c
index 3fcabf47df6,1fc83b69bfe..b91bdf6b6f7
--- a/source/blender/blenkernel/intern/deform.c
+++ b/source/blender/blenkernel/intern/deform.c
@@@ -74,9 -74,7 +74,9 @@@ bDeformGroup *BKE_defgroup_new(Object *
  	BLI_addtail(&ob->defbase, defgroup);
  	defgroup_unique_name(defgroup, ob);
  
 -	BKE_mesh_batch_cache_dirty(ob->data, BKE_MESH_BATCH_DIRTY_ALL);
 +	if (ob->type != OB_GPENCIL) {
- 		BKE_mesh_batch_cache_dirty(ob->data, BKE_MESH_BATCH_DIRTY_NOCHECK);
++		BKE_mesh_batch_cache_dirty(ob->data, BKE_MESH_BATCH_DIRTY_ALL);
 +	}
  
  	return defgroup;
  }
diff --cc source/blender/blenkernel/intern/object_deform.c
index 21377c4a8ba,81fa25b1b03..b25b2baa791
--- a/source/blender/blenkernel/intern/object_deform.c
+++ b/source/blender/blenkernel/intern/object_deform.c
@@@ -403,17 -402,12 +403,16 @@@ static void object_defgroup_remove_edit
   */
  void BKE_object_defgroup_remove(Object *ob, bDeformGroup *defgroup)
  {
 -	if (BKE_object_is_in_editmode_vgroup(ob))
 -		object_defgroup_remove_edit_mode(ob, defgroup);
 -	else
 -		object_defgroup_remove_object_mode(ob, defgroup);
 +	if ((ob) && (ob->type == OB_GPENCIL)) {
 +		BKE_gpencil_vgroup_remove(ob, defgroup);
 +	}
 +	else {
 +		if (BKE_object_is_in_editmode_vgroup(ob))
 +			object_defgroup_remove_edit_mode(ob, defgroup);
 +		else
 +			object_defgroup_remove_object_mode(ob, defgroup);
  
- 		BKE_mesh_batch_cache_dirty(ob->data, BKE_MESH_BATCH_DIRTY_NOCHECK);
- 	}
+ 	BKE_mesh_batch_cache_dirty(ob->data, BKE_MESH_BATCH_DIRTY_ALL);
  }
  
  /**
diff --cc source/blender/editors/gpencil/gpencil_interpolate.c
index 80ac2903b80,4bcc9f7b811..d0f78591a55
--- a/source/blender/editors/gpencil/gpencil_interpolate.c
+++ b/source/blender/editors/gpencil/gpencil_interpolate.c
@@@ -287,9 -283,10 +287,11 @@@ static void gp_interpolate_set_points(b
  			/* create new stroke */
  			new_stroke = MEM_dupallocN(gps_from);
  			new_stroke->points = MEM_dupallocN(gps_from->points);
 +			BKE_gpencil_stroke_weights_duplicate(gps_from, new_stroke);
  			new_stroke->triangles = MEM_dupallocN(gps_from->triangles);
- 			
+ 			new_stroke->tot_triangles = 0;
+ 			new_stroke->flag |= GP_STROKE_RECALC_CACHES;
+ 
  			if (valid) {
  				/* if destination stroke is smaller, resize new_stroke to size of gps_to stroke */
  				if (gps_from->totpoints > gps_to->totpoints) {
@@@ -994,17 -988,12 +997,19 @@@ static int gpencil_interpolate_seq_exec
  				/* create new stroke */
  				new_stroke = MEM_dupallocN(gps_from);
  				new_stroke->points = MEM_dupallocN(gps_from->points);
 +				BKE_gpencil_stroke_weights_duplicate(gps_from, new_stroke);
  				new_stroke->triangles = MEM_dupallocN(gps_from->triangles);
- 				
+ 				new_stroke->tot_triangles = 0;
+ 				new_stroke->flag |= GP_STROKE_RECALC_CACHES;
+ 
  				/* if destination stroke is smaller, resize new_stroke to size of gps_to stroke */
  				if (gps_from->totpoints > gps_to->totpoints) {
 +					/* free weights of removed points */
 +					for (int i = gps_to->totpoints; i < gps_from->totpoints; ++i) {
 +						bGPDspoint *pt = &gps_from->points[i];
 +						BKE_gpencil_free_point_weights(pt);
 +					}
 +
  					new_stroke->points = MEM_recallocN(new_stroke->points, sizeof(*new_stroke->points) * gps_to->totpoints);
  					new_stroke->totpoints = gps_to->totpoints;
  					new_stroke->tot_triangles = 0;



More information about the Bf-blender-cvs mailing list