[Bf-blender-cvs] [27b1129d577] greasepencil-object: Rename of modifiers completed

Antonio Vazquez noreply at git.blender.org
Sun Jul 23 17:54:41 CEST 2017


Commit: 27b1129d577cea7cffa32b43ebe26ab36e9ce674
Author: Antonio Vazquez
Date:   Sun Jul 23 11:19:30 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB27b1129d577cea7cffa32b43ebe26ab36e9ce674

Rename of modifiers completed

Now the old Dupli modifier is named Array and Array named Dupli

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

M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	source/blender/blenkernel/BKE_gpencil.h
M	source/blender/blenkernel/intern/gpencil.c
M	source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
M	source/blender/draw/engines/gpencil/gpencil_engine.c
M	source/blender/draw/engines/gpencil/gpencil_engine.h
M	source/blender/editors/object/object_modifier.c
M	source/blender/makesdna/DNA_modifier_types.h
M	source/blender/makesrna/intern/rna_modifier.c
M	source/blender/modifiers/intern/MOD_gpencilarray.c
M	source/blender/modifiers/intern/MOD_gpencildupli.c

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

diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 63103dcd2a3..00a5f4b73b9 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -1614,22 +1614,20 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         row.prop(md, "create_colors")
 
     def GP_ARRAY(self, layout, ob, md):
-        gpd = ob.grease_pencil
-        layout.prop(md, "count")
+        split = layout.split()
+        col = split.column()
+        col.prop(md, "count")
 
         split = layout.split()
         col = split.column()
         col.label("Offset:")
-        col.prop(md, "constant_offset_displace", text="")
+        col.prop(md, "offset", text="")
 
         col = split.column()
-        col.label("Layer:")
-        row = col.row(align=True)
-        row.prop_search(md, "layer", gpd, "layers", text="", icon="GREASEPENCIL")
-        row.prop(md, "inverse_layers", text="", icon="ARROW_LEFTRIGHT")
+        col.label("Shift:")
+        col.prop(md, "shift", text="")
         row = col.row(align=True)
-        row.prop(md, "passindex", text="Pass")
-        row.prop(md, "inverse_pass", text="", icon="ARROW_LEFTRIGHT")
+        row.prop(md, "lock_axis", expand=True)
 
         row = layout.row()
         split = row.split()
@@ -1650,20 +1648,22 @@ class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
         row.prop(md, "scale_factor", text="")
 
     def GP_DUPLI(self, layout, ob, md):
-        split = layout.split()
-        col = split.column()
-        col.prop(md, "count")
+        gpd = ob.grease_pencil
+        layout.prop(md, "count")
 
         split = layout.split()
         col = split.column()
         col.label("Offset:")
-        col.prop(md, "offset", text="")
+        col.prop(md, "constant_offset_displace", text="")
 
         col = split.column()
-        col.label("Shift:")
-        col.prop(md, "shift", text="")
+        col.label("Layer:")
         row = col.row(align=True)
-        row.prop(md, "lock_axis", expand=True)
+        row.prop_search(md, "layer", gpd, "layers", text="", icon="GREASEPENCIL")
+        row.prop(md, "inverse_layers", text="", icon="ARROW_LEFTRIGHT")
+        row = col.row(align=True)
+        row.prop(md, "passindex", text="Pass")
+        row.prop(md, "inverse_pass", text="", icon="ARROW_LEFTRIGHT")
 
         row = layout.row()
         split = row.split()
diff --git a/source/blender/blenkernel/BKE_gpencil.h b/source/blender/blenkernel/BKE_gpencil.h
index a14e7a91e2a..baee7beb41c 100644
--- a/source/blender/blenkernel/BKE_gpencil.h
+++ b/source/blender/blenkernel/BKE_gpencil.h
@@ -150,7 +150,7 @@ void ED_gpencil_noise_modifier(int id, struct GpencilNoiseModifierData *mmd, str
 void ED_gpencil_subdiv_modifier(int id, struct GpencilSubdivModifierData *mmd, struct bGPDlayer *gpl, struct bGPDstroke *gps);
 void ED_gpencil_thick_modifier(int id, struct GpencilThickModifierData *mmd, struct bGPDlayer *gpl, struct bGPDstroke *gps);
 void ED_gpencil_tint_modifier(int id, struct GpencilTintModifierData *mmd, struct bGPDlayer *gpl, struct bGPDstroke *gps);
-void ED_gpencil_array_modifier(int id, struct GpencilArrayModifierData *mmd, struct bGPDlayer *gpl, struct bGPDframe *gpf);
-void ED_gpencil_dupli_modifier(int id, struct GpencilDupliModifierData *mmd, struct Object *ob, int elem_idx[3], float r_mat[4][4]);
+void ED_gpencil_array_modifier(int id, struct GpencilArrayModifierData *mmd, struct Object *ob, int elem_idx[3], float r_mat[4][4]);
+void ED_gpencil_dupli_modifier(int id, struct GpencilDupliModifierData *mmd, struct bGPDlayer *gpl, struct bGPDframe *gpf);
 
 #endif /*  __BKE_GPENCIL_H__ */
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index 8952a1f7bd1..44dbebcb7ee 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -1904,8 +1904,8 @@ static int gpencil_stroke_cache_compare(const void *a1, const void *a2)
 	return 0;
 }
 
-/* array modifier */
-void ED_gpencil_array_modifier(int id, GpencilArrayModifierData *mmd, bGPDlayer *gpl, bGPDframe *gpf)
+/* dupli modifier */
+void ED_gpencil_dupli_modifier(int id, GpencilDupliModifierData *mmd, bGPDlayer *gpl, bGPDframe *gpf)
 {
 	bGPDspoint *pt;
 	bGPDstroke *gps_dst;
@@ -1931,7 +1931,7 @@ void ED_gpencil_array_modifier(int id, GpencilArrayModifierData *mmd, bGPDlayer
 	for (bGPDstroke *gps = gpf->strokes.first; gps; gps = gps->next) {
 		++stroke;
 		if (!is_stroke_affected_by_modifier(mmd->layername, mmd->passindex, 3, gpl, gps,
-			(int)mmd->flag & GP_ARRAY_INVERSE_LAYER, (int)mmd->flag & GP_ARRAY_INVERSE_PASS)) {
+			(int)mmd->flag & GP_DUPLI_INVERSE_LAYER, (int)mmd->flag & GP_DUPLI_INVERSE_PASS)) {
 			continue;
 		}
 
@@ -1951,7 +1951,7 @@ void ED_gpencil_array_modifier(int id, GpencilArrayModifierData *mmd, bGPDlayer
 			mul_v3_v3fl(offset, mmd->offset, e + 1);
 			ri = mmd->rnd[0];
 			/* rotation */
-			if (mmd->flag & GP_ARRAY_RANDOM_ROT) {
+			if (mmd->flag & GP_DUPLI_RANDOM_ROT) {
 				factor = mmd->rnd_rot * mmd->rnd[ri];
 				mul_v3_v3fl(rot, mmd->rot, factor);
 				add_v3_v3(rot, mmd->rot);
@@ -1960,7 +1960,7 @@ void ED_gpencil_array_modifier(int id, GpencilArrayModifierData *mmd, bGPDlayer
 				copy_v3_v3(rot, mmd->rot);
 			}
 			/* scale */
-			if (mmd->flag & GP_ARRAY_RANDOM_SIZE) {
+			if (mmd->flag & GP_DUPLI_RANDOM_SIZE) {
 				factor = mmd->rnd_size * mmd->rnd[ri];
 				mul_v3_v3fl(scale, mmd->scale, factor);
 				add_v3_v3(scale, mmd->scale);
@@ -1997,8 +1997,8 @@ void ED_gpencil_array_modifier(int id, GpencilArrayModifierData *mmd, bGPDlayer
 	MEM_SAFE_FREE(stroke_cache);
 }
 
-/* duplication modifier */
-void ED_gpencil_dupli_modifier(int UNUSED(id), GpencilDupliModifierData *mmd, Object *UNUSED(ob), int elem_idx[3], float r_mat[4][4])
+/* array modifier */
+void ED_gpencil_array_modifier(int UNUSED(id), GpencilArrayModifierData *mmd, Object *UNUSED(ob), int elem_idx[3], float r_mat[4][4])
 {
 	float offset[3], rot[3], scale[3];
 	float factor;
@@ -2010,7 +2010,7 @@ void ED_gpencil_dupli_modifier(int UNUSED(id), GpencilDupliModifierData *mmd, Ob
 
 	ri = mmd->rnd[0];
 	/* rotation */
-	if (mmd->flag & GP_DUPLI_RANDOM_ROT) {
+	if (mmd->flag & GP_ARRAY_RANDOM_ROT) {
 		factor = mmd->rnd_rot * mmd->rnd[ri];
 		mul_v3_v3fl(rot, mmd->rot, factor);
 		add_v3_v3(rot, mmd->rot);
@@ -2019,7 +2019,7 @@ void ED_gpencil_dupli_modifier(int UNUSED(id), GpencilDupliModifierData *mmd, Ob
 		copy_v3_v3(rot, mmd->rot);
 	}
 	/* scale */
-	if (mmd->flag & GP_DUPLI_RANDOM_SIZE) {
+	if (mmd->flag & GP_ARRAY_RANDOM_SIZE) {
 		factor = mmd->rnd_size * mmd->rnd[ri];
 		mul_v3_v3fl(scale, mmd->scale, factor);
 		add_v3_v3(scale, mmd->scale);
@@ -2041,12 +2041,12 @@ void ED_gpencil_dupli_modifier(int UNUSED(id), GpencilDupliModifierData *mmd, Ob
 void ED_gpencil_reset_modifiers(Object *ob)
 {
 	ModifierData *md;
-	GpencilArrayModifierData *arr;
+	GpencilDupliModifierData *arr;
 
 	for (md = ob->modifiers.first; md; md = md->next) {
 		switch (md->type) {
-		case eModifierType_GpencilArray:
-			arr = (GpencilArrayModifierData *) md;
+		case eModifierType_GpencilDupli:
+			arr = (GpencilDupliModifierData *) md;
 			arr->rnd[0] = 1;
 			break;
 		}
@@ -2058,7 +2058,7 @@ bool ED_gpencil_has_geometry_modifiers(Object *ob)
 {
 	ModifierData *md;
 	for (md = ob->modifiers.first; md; md = md->next) {
-		if (md->type == eModifierType_GpencilArray) {
+		if (md->type == eModifierType_GpencilDupli) {
 			return true;
 		}
 	}
@@ -2106,8 +2106,8 @@ void ED_gpencil_geometry_modifiers(Object *ob, bGPDlayer *gpl, bGPDframe *gpf)
 			((md->mode & eModifierMode_Render) && (G.f & G_RENDER_OGL))) {
 			switch (md->type) {
 				// Array
-			case eModifierType_GpencilArray:
-				ED_gpencil_array_modifier(id, (GpencilArrayModifierData *)md, gpl, gpf);
+			case eModifierType_GpencilDupli:
+				ED_gpencil_dupli_modifier(id, (GpencilDupliModifierData *)md, gpl, gpf);
 				break;
 			}
 		}
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
index 58604107fa1..1065b673278 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
@@ -833,48 +833,52 @@ struct GPUTexture *DRW_gpencil_create_blank_texture(int width, int height)
 	return tex;
 }
 
-/* create instances using duplication modifiers */
-void gpencil_dupli_modifiers(GPENCIL_StorageList *stl, Object *ob)
+/* create instances using array modifiers */
+void gpencil_array_modifiers(GPENCIL_StorageList *stl, Object *ob)
 {
 	ModifierData *md;
-	GpencilDupliModifierData *mmd;
+	GpencilArrayModifierData *mmd;
 	Object *newob = NULL;
-	int x, y, z, e;
+	int x, y, z;
 	int xyz[3];
+	int sh;
 	float mat[4][4];
 
 	for (md = ob->modifiers.first; md; md = md->next) {
-		if (md->type == eModifierType_GpencilDupli) {
-			mmd = (GpencilDupliModifierData *)md;
-			/* reset random */
-			mmd->rnd[0] = 1;
-			for (x = 0; x < mmd->count[0]; ++x) {
-				for (y = 0; y < mmd->count[1]; ++y) {
-					for (z = 0; z < mmd->count[2]; ++z) {
-						ARRAY_SET_ITEMS(xyz, x, y, z);
-						if ((x == 0) && (y == 0) && (z == 0)) {
-							continue;
+		if (((md->mode & eModifierMode_Realtime) && ((G.f & G_RENDER_OGL) == 0)) ||
+			((md->mode & eModifierMode_Render) && (G.f & G_RENDER_OGL))) {
+			if (md->type == eModifierType_GpencilArray) {
+				mmd = (GpencilArrayModifierData *)md;
+				/* reset random */
+				mmd->rnd[0] = 1;
+				for (x = 0; x < mmd->count[0]; ++x) {
+					for (y = 0; y < mmd->count[1]; ++y) {
+						for (z = 0; z < mmd->count[2]; ++z) {
+							ARRAY_SET_ITEMS(xyz, x, y, z);
+							if ((x == 0) && (y == 0) && (z == 0)) {
+								continue;
+							}
+
+							ED_gpencil_array_modifier(0, mmd, ob, xyz, mat);
+							/* add object to cache */
+							newob = MEM_dupallocN(ob);
+							newob->mode = -1; /* use this mark to delete later */
+							mul_m4_m4m4(newob->obmat, mat, ob->obmat);
+							/* apply shift */
+							sh = x;
+							if (mmd->lock_axis == GP_LOCKAXIS_Y) {
+								sh = y;
+							}
+							if (m

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list