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

Antonioya noreply at git.blender.org
Mon Dec 17 18:35:50 CET 2018


Commit: b4d0795be5e3e1aec680d44cc76db8c652bb9343
Author: Antonioya
Date:   Mon Dec 17 18:35:43 2018 +0100
Branches: greasepencil-object
https://developer.blender.org/rBb4d0795be5e3e1aec680d44cc76db8c652bb9343

Merge branch 'blender2.8' into greasepencil-object

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



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

diff --cc source/blender/editors/gpencil/gpencil_primitive.c
index fecf34676f0,5c95dbf2a01..d12f6214470
--- a/source/blender/editors/gpencil/gpencil_primitive.c
+++ b/source/blender/editors/gpencil/gpencil_primitive.c
@@@ -529,67 -519,11 +531,68 @@@ static void gp_primitive_line(tGPDprimi
  		UI_GetThemeColor4fv(TH_REDALERT, color);
  		gp_primitive_set_cp(tgpi, tgpi->start, color, SMALL_SIZE_CTL);
  	}
- 	else
+ 	else {
  		gp_primitive_set_cp(tgpi, tgpi->start, color, BIG_SIZE_CTL);
+ 	}
  }
  
 +/* create a chord */
 +static void gp_primitive_chord(tGPDprimitive *tgpi, tGPspoint *points2D)
 +{
 +	const int totpoints = (tgpi->tot_edges + tgpi->tot_stored_edges);
 +	float cp[2];
 +	float point[2];
 +	float center[2];
 +
 +	copy_v2_v2(cp, tgpi->cp1);
 +	mid_v2_v2v2(tgpi->midpoint, tgpi->start, tgpi->end);
 +	closest_to_line_v2(point, cp, tgpi->start, tgpi->end);
 +
 +	center[0] = tgpi->midpoint[0] + cp[0] - point[0];
 +	center[1] = tgpi->midpoint[1] + cp[1] - point[1];
 +
 +	float cross = cross_tri_v2(tgpi->start, center, tgpi->end);
 +	float stepangle;
 +	float step;
 +
 +	if (!tgpi->flip) {
 +		float fcenter[2];
 +		gp_reflect_point_v2_v2v2v2(fcenter, center, tgpi->start, tgpi->end);
 +		stepangle = angle_v2v2v2(tgpi->start, fcenter, tgpi->end);
 +		if (cross < 0.0f) {
 +			stepangle = (M_PI * 2.0f) - stepangle;
 +		}
 +		step = stepangle / (float)(tgpi->tot_edges - 1);
 +		step = -step;
 +	}
 +	else {
 +		stepangle = angle_v2v2v2(tgpi->start, center, tgpi->end); ;
 +		if (cross > 0.0f) {
 +			stepangle = (M_PI * 2.0f) - stepangle;
 +		}
 +		step = stepangle / (float)(tgpi->tot_edges - 1);
 +	}
 +
 +	float a = tgpi->tot_stored_edges ? step : 0.0f;
 +
 +	for (int i = tgpi->tot_stored_edges; i < totpoints; i++) {
 +		tGPspoint *p2d = &points2D[i];
 +		gp_rotate_v2_v2v2fl(&p2d->x, tgpi->start, center, a);
 +		a += step;
 +	}
 +	float color[4];
 +	UI_GetThemeColor4fv(TH_ACTIVE_VERT, color);
 +	gp_primitive_set_cp(tgpi, tgpi->end, color, BIG_SIZE_CTL);
 +	if (tgpi->tot_stored_edges) {
 +		UI_GetThemeColor4fv(TH_REDALERT, color);
 +		gp_primitive_set_cp(tgpi, tgpi->start, color, SMALL_SIZE_CTL);
 +	}
 +	else
 +		gp_primitive_set_cp(tgpi, tgpi->start, color, BIG_SIZE_CTL);
 +	UI_GetThemeColor4fv(TH_GP_VERTEX_SELECT, color);
 +	gp_primitive_set_cp(tgpi, center, color, BIG_SIZE_CTL * 0.9f);
 +}
 +
  /* create an arc */
  static void gp_primitive_arc(tGPDprimitive *tgpi, tGPspoint *points2D)
  {



More information about the Bf-blender-cvs mailing list