[Bf-blender-cvs] [bce787aa6e2] temp-greasepencil-object-stacksplit: WIP: More compiler fixes

Antonio Vazquez noreply at git.blender.org
Sat Jun 16 16:19:57 CEST 2018


Commit: bce787aa6e2025ca5a41ad9751e9c1dc6c309ffc
Author: Antonio Vazquez
Date:   Sat Jun 16 16:19:43 2018 +0200
Branches: temp-greasepencil-object-stacksplit
https://developer.blender.org/rBbce787aa6e2025ca5a41ad9751e9c1dc6c309ffc

WIP: More compiler fixes

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

M	source/blender/blenkernel/BKE_gpencil.h
M	source/blender/blenkernel/BKE_gpencil_modifier.h
M	source/blender/blenkernel/CMakeLists.txt
M	source/blender/blenkernel/intern/gpencil_modifier.c
M	source/blender/draw/engines/gpencil/gpencil_draw_utils.c
M	source/blender/gpencil_modifiers/CMakeLists.txt
M	source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c
M	source/blender/makesrna/intern/rna_greasepencil_modifier.c
M	source/blender/makesrna/intern/rna_object.c

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

diff --git a/source/blender/blenkernel/BKE_gpencil.h b/source/blender/blenkernel/BKE_gpencil.h
index 35af7d47e80..6291d9b1694 100644
--- a/source/blender/blenkernel/BKE_gpencil.h
+++ b/source/blender/blenkernel/BKE_gpencil.h
@@ -173,8 +173,6 @@ void BKE_gpencil_geometry_modifiers(
 		struct Depsgraph *depsgraph, struct Object *ob, 
 		struct bGPDlayer *gpl, struct bGPDframe *gpf, bool is_render);
 
-void BKE_gpencil_instance_modifier_instance_tfm(struct InstanceGreasePencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4]);
-
 void BKE_gpencil_lattice_init(struct Object *ob);
 void BKE_gpencil_lattice_clear(struct Object *ob);
 
@@ -193,8 +191,4 @@ bool BKE_gpencil_smooth_stroke_uv(struct bGPDstroke *gps, int point_index, float
 void BKE_gpencil_get_range_selected(struct bGPDlayer *gpl, int *r_initframe, int *r_endframe);
 float BKE_gpencil_multiframe_falloff_calc(struct bGPDframe *gpf, int actnum, int f_init, int f_end, struct CurveMapping *cur_falloff);
 
-/* modifiers */
-
-bool gpencil_modifier_unique_name(struct ListBase *modifiers, struct GreasePencilModifierData *gmd);
-
 #endif /*  __BKE_GPENCIL_H__ */
diff --git a/source/blender/blenkernel/BKE_gpencil_modifier.h b/source/blender/blenkernel/BKE_gpencil_modifier.h
index 0007cd0d71c..0ceebd2a0ca 100644
--- a/source/blender/blenkernel/BKE_gpencil_modifier.h
+++ b/source/blender/blenkernel/BKE_gpencil_modifier.h
@@ -240,6 +240,8 @@ typedef struct GreasePencilModifierTypeInfo {
 	                       TexWalkFunc walk, void *userData);
 } GreasePencilModifierTypeInfo;
 
+void BKE_gpencil_instance_modifier_instance_tfm(struct InstanceGreasePencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4]);
+
 /* Initialize modifier's global data (type info and some common global storages). */
 void BKE_gpencil_modifier_init(void);
 
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 356115397a5..53b3267e454 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -38,6 +38,7 @@ set(INC
 	../makesrna
 	../bmesh
 	../modifiers
+	../gpencil_modifiers
 	../nodes
 	../physics
 	../render/extern/include
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index e2c42604b4b..0fd61a47466 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -56,7 +56,9 @@
 #include "DEG_depsgraph.h"
 #include "DEG_depsgraph_query.h"
 
-static GreasePencilModifierTypeInfo *modifier_types[NUM_GREASEPENCIL_MODIFIER_TYPES] = { NULL };
+#include "MOD_gpencil_modifiertypes.h"
+
+static GreasePencilModifierTypeInfo *modifier_gpencil_types[NUM_GREASEPENCIL_MODIFIER_TYPES] = { NULL };
 
 /* *************************************************** */
 /* Geometry Utilities */
@@ -457,7 +459,7 @@ void BKE_gpencil_eval_geometry(Depsgraph *depsgraph,
 void BKE_gpencil_modifier_init(void)
 {
 	/* Initialize modifier types */
-	gpencil_modifier_type_init(modifier_types); /* MOD_gpencil_utils.c */
+	gpencil_modifier_type_init(modifier_gpencil_types); /* MOD_gpencil_utils.c */
 }
 
 GreasePencilModifierData *BKE_gpencil_modifier_new(int type)
@@ -525,8 +527,8 @@ bool BKE_gpencil_modifier_unique_name(ListBase *modifiers, GreasePencilModifierD
 const GreasePencilModifierTypeInfo *BKE_gpencil_modifierType_getInfo(GreasePencilModifierType type)
 {
 	/* type unsigned, no need to check < 0 */
-	if (type < NUM_GREASEPENCIL_MODIFIER_TYPES && modifier_types[type]->name[0] != '\0') {
-		return modifier_types[type];
+	if (type < NUM_GREASEPENCIL_MODIFIER_TYPES && modifier_gpencil_types[type]->name[0] != '\0') {
+		return modifier_gpencil_types[type];
 	}
 	else {
 		return NULL;
@@ -600,3 +602,43 @@ GreasePencilModifierData *BKE_gpencil_modifiers_findByName(Object *ob, const cha
 	return BLI_findstring(&(ob->greasepencil_modifiers), name, offsetof(GreasePencilModifierData, name));
 }
 
+/* helper function for per-instance positioning */
+void BKE_gpencil_instance_modifier_instance_tfm(InstanceGreasePencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4])
+{
+	float offset[3], rot[3], scale[3];
+	int ri = mmd->rnd[0];
+	float factor;
+
+	offset[0] = mmd->offset[0] * elem_idx[0];
+	offset[1] = mmd->offset[1] * elem_idx[1];
+	offset[2] = mmd->offset[2] * elem_idx[2];
+
+	/* rotation */
+	if (mmd->flag & GP_INSTANCE_RANDOM_ROT) {
+		factor = mmd->rnd_rot * mmd->rnd[ri];
+		mul_v3_v3fl(rot, mmd->rot, factor);
+		add_v3_v3(rot, mmd->rot);
+	}
+	else {
+		copy_v3_v3(rot, mmd->rot);
+	}
+
+	/* scale */
+	if (mmd->flag & GP_INSTANCE_RANDOM_SIZE) {
+		factor = mmd->rnd_size * mmd->rnd[ri];
+		mul_v3_v3fl(scale, mmd->scale, factor);
+		add_v3_v3(scale, mmd->scale);
+	}
+	else {
+		copy_v3_v3(scale, mmd->scale);
+	}
+
+	/* advance random index */
+	mmd->rnd[0]++;
+	if (mmd->rnd[0] > 19) {
+		mmd->rnd[0] = 1;
+	}
+
+	/* calculate matrix */
+	loc_eul_size_to_mat4(r_mat, offset, rot, scale);
+}
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
index 4831e42cb26..09479c1881c 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_utils.c
@@ -30,6 +30,7 @@
 
 #include "BKE_brush.h"
 #include "BKE_gpencil.h"
+#include "BKE_gpencil_modifier.h"
 #include "BKE_image.h"
 #include "BKE_material.h"
 
@@ -753,7 +754,7 @@ static void gpencil_draw_strokes(
 	copy_m4_m4(derived_gpf->runtime.viewmatrix, viewmatrix);
 
 	/* apply geometry modifiers */
-	if ((cache->is_dirty) && (ob->modifiers.first) && (!is_multiedit)) {
+	if ((cache->is_dirty) && (ob->greasepencil_modifiers.first) && (!is_multiedit)) {
 		if (!stl->storage->simplify_modif) {
 			if (BKE_gpencil_has_geometry_modifiers(ob)) {
 				BKE_gpencil_geometry_modifiers(depsgraph, ob, gpl, derived_gpf, stl->storage->is_render);
@@ -834,7 +835,7 @@ static void gpencil_draw_strokes(
 			copy_v4_v4(gps->runtime.tmp_fill_rgba, gp_style->fill_rgba);
 
 			/* apply modifiers (only modify geometry, but not create ) */
-			if ((cache->is_dirty) && (ob->modifiers.first) && (!is_multiedit)) {
+			if ((cache->is_dirty) && (ob->greasepencil_modifiers.first) && (!is_multiedit)) {
 				if (!stl->storage->simplify_modif) {
 					BKE_gpencil_stroke_modifiers(depsgraph, ob, gpl, derived_gpf, gps, stl->storage->is_render);
 				}
@@ -1175,7 +1176,7 @@ void DRW_gpencil_populate_datablock(GPENCIL_e_data *e_data, void *vedata, Scene
 
 	/* init general modifiers data */
 	if (!stl->storage->simplify_modif) {
-		if ((cache->is_dirty) && (ob->modifiers.first)) {
+		if ((cache->is_dirty) && (ob->greasepencil_modifiers.first)) {
 			BKE_gpencil_lattice_init(ob);
 		}
 	}
@@ -1228,7 +1229,7 @@ void DRW_gpencil_populate_datablock(GPENCIL_e_data *e_data, void *vedata, Scene
 	}
 
 	/* clear any lattice data */
-	if ((cache->is_dirty) && (ob->modifiers.first)) {
+	if ((cache->is_dirty) && (ob->greasepencil_modifiers.first)) {
 		BKE_gpencil_lattice_clear(ob);
 	}
 
@@ -1297,7 +1298,7 @@ void gpencil_instance_modifiers(GPENCIL_StorageList *stl, Object *ob)
 		}
 	}
 
-	for (GreasePencilModifierData *md = ob->modifiers.first; md; md = md->next) {
+	for (GreasePencilModifierData *md = ob->greasepencil_modifiers.first; md; md = md->next) {
 		if (((md->mode & eGreasePencilModifierMode_Realtime) && (stl->storage->is_render == false)) ||
 		    ((md->mode & eGreasePencilModifierMode_Render) && (stl->storage->is_render == true)))
 		{
diff --git a/source/blender/gpencil_modifiers/CMakeLists.txt b/source/blender/gpencil_modifiers/CMakeLists.txt
index 52388f3d8c9..d5c5d8f9e75 100644
--- a/source/blender/gpencil_modifiers/CMakeLists.txt
+++ b/source/blender/gpencil_modifiers/CMakeLists.txt
@@ -45,8 +45,6 @@ set(INC_SYS
 )
 
 set(SRC
-
-	MOD_gpencil_modifiertypes.h
 	intern/MOD_gpencil_util.h
 
 	intern/MOD_gpencil_util.c
@@ -63,6 +61,8 @@ set(SRC
 	intern/MOD_gpencilsmooth.c
 	intern/MOD_gpencilhook.c
 	intern/MOD_gpenciloffset.c
+
+	MOD_gpencil_modifiertypes.h
 )
 
 if(WITH_INTERNATIONAL)
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c
index 0627fa5656b..b6e51ed1f14 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilinstance.c
@@ -90,49 +90,6 @@ static void copyData(const GreasePencilModifierData *md, GreasePencilModifierDat
 
 /* -------------------------------- */
 
-/* helper function for per-instance positioning */
-void BKE_gpencil_instance_modifier_instance_tfm(InstanceGreasePencilModifierData *mmd, const int elem_idx[3], float r_mat[4][4])
-{
-	float offset[3], rot[3], scale[3];
-	int ri = mmd->rnd[0];
-	float factor;
-	
-	offset[0] = mmd->offset[0] * elem_idx[0];
-	offset[1] = mmd->offset[1] * elem_idx[1];
-	offset[2] = mmd->offset[2] * elem_idx[2];
-	
-	/* rotation */
-	if (mmd->flag & GP_INSTANCE_RANDOM_ROT) {
-		factor = mmd->rnd_rot * mmd->rnd[ri];
-		mul_v3_v3fl(rot, mmd->rot, factor);
-		add_v3_v3(rot, mmd->rot);
-	}
-	else {
-		copy_v3_v3(rot, mmd->rot);
-	}
-	
-	/* scale */
-	if (mmd->flag & GP_INSTANCE_RANDOM_SIZE) {
-		factor = mmd->rnd_size * mmd->rnd[ri];
-		mul_v3_v3fl(scale, mmd->scale, factor);
-		add_v3_v3(scale, mmd->scale);
-	}
-	else {
-		copy_v3_v3(scale, mmd->scale);
-	}
-	
-	/* advance random index */
-	mmd->rnd[0]++;
-	if (mmd->rnd[0] > 19) {
-		mmd->rnd[0] = 1;
-	}
-	
-	/* calculate matrix */
-	loc_eul_size_to_mat4(r_mat, offset, rot, scale);
-}
-
-/* -------------------------------- */
-
 /* array modifier - generate geometry callback (for viewport/rendering) */
 /* TODO: How to skip this for the simplify options?   -->  !GP_SIMPLIFY_MODIF(ts, playing) */
 static void generate_geometry(
diff --git a/source/blender/makesrna/intern/rna_greasepencil_modifier.c b/source/blender/makesrna/intern/rna_greasepencil_modifier.c
index ed9c0b3e54f..5546eda01b6 100644
--- a/source/blender/makesrna/intern/rna_greasepencil_modifier.c
+++ b/source/blender/makesrna/intern/rna_greasepencil_modifier.c
@@ -50,6 +50,7 @@
 #include "BKE_mesh_remap.h"
 #include "BKE_multires.h"
 #inc

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list