[Bf-blender-cvs] [72b709c4a4c] greasepencil-object: Cleanup: Reorganize code

Antonio Vazquez noreply at git.blender.org
Tue Aug 8 11:19:09 CEST 2017


Commit: 72b709c4a4c0efc42bca0e26e2878650c2673fdf
Author: Antonio Vazquez
Date:   Sat Aug 5 18:20:14 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB72b709c4a4c0efc42bca0e26e2878650c2673fdf

Cleanup: Reorganize code

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

M	source/blender/blenkernel/intern/gpencil_modifier.c

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

diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index 9b397cdc001..ff98c926f61 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -697,115 +697,6 @@ void BKE_gpencil_lattice_modifier(int UNUSED(id), GpencilLatticeModifierData *mm
 	}
 }
 
-/* reset modifiers */
-void BKE_gpencil_reset_modifiers(Object *ob)
-{
-	ModifierData *md;
-	GpencilDupliModifierData *arr;
-
-	for (md = ob->modifiers.first; md; md = md->next) {
-		switch (md->type) {
-		case eModifierType_GpencilDupli:
-			arr = (GpencilDupliModifierData *) md;
-			arr->rnd[0] = 1;
-			break;
-		}
-	}
-}
-
-/* verify if exist geometry modifiers */
-bool BKE_gpencil_has_geometry_modifiers(Object *ob)
-{
-	ModifierData *md;
-	for (md = ob->modifiers.first; md; md = md->next) {
-		if (md->type == eModifierType_GpencilDupli) {
-			return true;
-		}
-	}
-	return false;
-}
-
-/* apply stroke modifiers */
-void BKE_gpencil_stroke_modifiers(Object *ob, bGPDlayer *gpl, bGPDframe *gpf, bGPDstroke *gps)
-{
-	ModifierData *md;
-	bGPdata *gpd = ob->gpd;
-	bool is_edit = (bool)((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)));
-
-	int id = 0;
-	for (md = ob->modifiers.first; md; md = md->next) {
-		if (((md->mode & eModifierMode_Realtime) && ((G.f & G_RENDER_OGL) == 0)) ||
-			((md->mode & eModifierMode_Render) && (G.f & G_RENDER_OGL))) {
-
-			if (((md->mode & eModifierMode_Editmode) == 0) && (is_edit)) {
-				continue;
-			}
-
-			switch (md->type) {
-				// Noise Modifier
-			case eModifierType_GpencilNoise:
-				BKE_gpencil_noise_modifier(id, (GpencilNoiseModifierData *)md, ob, gpl, gps);
-				break;
-				// Subdiv Modifier
-			case eModifierType_GpencilSubdiv:
-				BKE_gpencil_subdiv_modifier(id, (GpencilSubdivModifierData *)md, ob, gpl, gps);
-				break;
-				// Simplify Modifier
-			case eModifierType_GpencilSimplify:
-				BKE_gpencil_simplify_modifier(id, (GpencilSimplifyModifierData *)md, ob, gpl, gps);
-				break;
-				// Thickness
-			case eModifierType_GpencilThick:
-				BKE_gpencil_thick_modifier(id, (GpencilThickModifierData *)md, ob, gpl, gps);
-				break;
-				// Tint
-			case eModifierType_GpencilTint:
-				BKE_gpencil_tint_modifier(id, (GpencilTintModifierData *)md, ob, gpl, gps);
-				break;
-				// Opacity
-			case eModifierType_GpencilOpacity:
-				BKE_gpencil_opacity_modifier(id, (GpencilOpacityModifierData *)md, ob, gpl, gps);
-				break;
-				// Color Correction
-			case eModifierType_GpencilColor:
-				BKE_gpencil_color_modifier(id, (GpencilColorModifierData *)md, ob, gpl, gps);
-				break;
-				// Lattice
-			case eModifierType_GpencilLattice:
-				BKE_gpencil_lattice_modifier(id, (GpencilLatticeModifierData *)md, ob, gpl, gps);
-				break;
-			}
-		}
-		++id;
-	}
-}
-
-/* apply stroke geometry modifiers */
-void BKE_gpencil_geometry_modifiers(Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
-{
-	ModifierData *md;
-	bGPdata *gpd = ob->gpd;
-	bool is_edit = (bool)((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)));
-
-	int id = 0;
-	for (md = ob->modifiers.first; md; md = md->next) {
-		if (((md->mode & eModifierMode_Realtime) && ((G.f & G_RENDER_OGL) == 0)) ||
-			((md->mode & eModifierMode_Render) && (G.f & G_RENDER_OGL))) {
-
-			if (((md->mode & eModifierMode_Editmode) == 0) && (is_edit)) {
-				continue;
-			}
-
-			switch (md->type) {
-				// Array
-			case eModifierType_GpencilDupli:
-				BKE_gpencil_dupli_modifier(id, (GpencilDupliModifierData *)md, ob, gpl, gpf);
-				break;
-			}
-		}
-		++id;
-	}
-}
 
 /* Get points of stroke always flat to view not affected by camera view or view position */
 static void gpencil_stroke_project_2d(const bGPDspoint *points, int totpoints, tbGPDspoint *points2d)
@@ -842,7 +733,7 @@ static void gpencil_stroke_project_2d(const bGPDspoint *points, int totpoints, t
 
 		/* Get local space using first point as origin */
 		sub_v3_v3v3(loc, &pt->x, &pt0->x);
-		
+
 		tbGPDspoint *point = &points2d[i];
 		point->p2d[0] = dot_v3v3(loc, locx);
 		point->p2d[1] = dot_v3v3(loc, locy);
@@ -851,15 +742,15 @@ static void gpencil_stroke_project_2d(const bGPDspoint *points, int totpoints, t
 }
 
 /* --------------------------------------------------------------------------
- * Reduces a series of points to a simplified version, but
- * maintains the general shape of the series
- *
- * Ramer - Douglas - Peucker algorithm
- * by http ://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm
- * -------------------------------------------------------------------------- */
+* Reduces a series of points to a simplified version, but
+* maintains the general shape of the series
+*
+* Ramer - Douglas - Peucker algorithm
+* by http ://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm
+* -------------------------------------------------------------------------- */
 void gpencil_rdp_stroke(bGPDstroke *gps, tbGPDspoint *points2d, float epsilon)
 {
-	tbGPDspoint *old_points2d =points2d;
+	tbGPDspoint *old_points2d = points2d;
 	int totpoints = gps->totpoints;
 	char *marked = NULL;
 	char work;
@@ -933,7 +824,7 @@ void gpencil_rdp_stroke(bGPDstroke *gps, tbGPDspoint *points2d, float epsilon)
 
 	/* adding points marked */
 	bGPDspoint *old_points = MEM_dupallocN(gps->points);
-	
+
 	/* resize gps */
 	gps->flag |= GP_STROKE_RECALC_CACHES;
 	gps->tot_triangles = 0;
@@ -957,7 +848,7 @@ void gpencil_rdp_stroke(bGPDstroke *gps, tbGPDspoint *points2d, float epsilon)
 	MEM_SAFE_FREE(marked);
 }
 
- /* simplify stroke using Ramer-Douglas-Peucker algorithm */
+/* simplify stroke using Ramer-Douglas-Peucker algorithm */
 void BKE_gpencil_simplify_modifier(int UNUSED(id), GpencilSimplifyModifierData *mmd, Object *UNUSED(ob), bGPDlayer *gpl, bGPDstroke *gps)
 {
 	int direction = 0;
@@ -971,8 +862,118 @@ void BKE_gpencil_simplify_modifier(int UNUSED(id), GpencilSimplifyModifierData *
 	tbGPDspoint *points2d = MEM_mallocN(sizeof(tbGPDspoint) * gps->totpoints, "GP Stroke temp 2d points");
 
 	gpencil_stroke_project_2d(gps->points, gps->totpoints, points2d);
-	
+
 	gpencil_rdp_stroke(gps, points2d, mmd->factor);
 
 	MEM_SAFE_FREE(points2d);
 }
+
+/* reset modifiers */
+void BKE_gpencil_reset_modifiers(Object *ob)
+{
+	ModifierData *md;
+	GpencilDupliModifierData *arr;
+
+	for (md = ob->modifiers.first; md; md = md->next) {
+		switch (md->type) {
+		case eModifierType_GpencilDupli:
+			arr = (GpencilDupliModifierData *) md;
+			arr->rnd[0] = 1;
+			break;
+		}
+	}
+}
+
+/* verify if exist geometry modifiers */
+bool BKE_gpencil_has_geometry_modifiers(Object *ob)
+{
+	ModifierData *md;
+	for (md = ob->modifiers.first; md; md = md->next) {
+		if (md->type == eModifierType_GpencilDupli) {
+			return true;
+		}
+	}
+	return false;
+}
+
+/* apply stroke modifiers */
+void BKE_gpencil_stroke_modifiers(Object *ob, bGPDlayer *gpl, bGPDframe *gpf, bGPDstroke *gps)
+{
+	ModifierData *md;
+	bGPdata *gpd = ob->gpd;
+	bool is_edit = (bool)((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)));
+
+	int id = 0;
+	for (md = ob->modifiers.first; md; md = md->next) {
+		if (((md->mode & eModifierMode_Realtime) && ((G.f & G_RENDER_OGL) == 0)) ||
+			((md->mode & eModifierMode_Render) && (G.f & G_RENDER_OGL))) {
+
+			if (((md->mode & eModifierMode_Editmode) == 0) && (is_edit)) {
+				continue;
+			}
+
+			switch (md->type) {
+				// Noise Modifier
+			case eModifierType_GpencilNoise:
+				BKE_gpencil_noise_modifier(id, (GpencilNoiseModifierData *)md, ob, gpl, gps);
+				break;
+				// Subdiv Modifier
+			case eModifierType_GpencilSubdiv:
+				BKE_gpencil_subdiv_modifier(id, (GpencilSubdivModifierData *)md, ob, gpl, gps);
+				break;
+				// Simplify Modifier
+			case eModifierType_GpencilSimplify:
+				BKE_gpencil_simplify_modifier(id, (GpencilSimplifyModifierData *)md, ob, gpl, gps);
+				break;
+				// Thickness
+			case eModifierType_GpencilThick:
+				BKE_gpencil_thick_modifier(id, (GpencilThickModifierData *)md, ob, gpl, gps);
+				break;
+				// Tint
+			case eModifierType_GpencilTint:
+				BKE_gpencil_tint_modifier(id, (GpencilTintModifierData *)md, ob, gpl, gps);
+				break;
+				// Opacity
+			case eModifierType_GpencilOpacity:
+				BKE_gpencil_opacity_modifier(id, (GpencilOpacityModifierData *)md, ob, gpl, gps);
+				break;
+				// Color Correction
+			case eModifierType_GpencilColor:
+				BKE_gpencil_color_modifier(id, (GpencilColorModifierData *)md, ob, gpl, gps);
+				break;
+				// Lattice
+			case eModifierType_GpencilLattice:
+				BKE_gpencil_lattice_modifier(id, (GpencilLatticeModifierData *)md, ob, gpl, gps);
+				break;
+			}
+		}
+		++id;
+	}
+}
+
+/* apply stroke geometry modifiers */
+void BKE_gpencil_geometry_modifiers(Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
+{
+	ModifierData *md;
+	bGPdata *gpd = ob->gpd;
+	bool is_edit = (bool)((gpd->flag & (GP_DATA_STROKE_EDITMODE | GP_DATA_STROKE_SCULPTMODE | GP_DATA_STROKE_WEIGHTMODE)));
+
+	int id = 0;
+	for (md = ob->modifiers.first; md; md = md->next) {
+		if (((md->mode & eModifierMode_Realtime) && ((G.f & G_RENDER_OGL) == 0)) ||
+			((md->mode & eModifierMode_Render) && (G.f & G_RENDER_OGL))) {
+
+			if (((md->mode & eModifierMode_Editmode) == 0) && (is_edit)) {
+				continue;
+			}
+
+			switch (md->type) {
+				// Array
+			case eModifierType_GpencilDupli:
+				BKE_gpencil_dupli_modifier(id, (GpencilDupliModifierData *)md, ob, gpl, gpf);
+				break;
+			}
+		}
+		++id;
+	}
+}




More information about the Bf-blender-cvs mailing list