[Bf-blender-cvs] [26efbf16b69] greasepencil-object: GP Modifiers - Change all applyModifier callbacks to bakeModifierGP callbacks

Joshua Leung noreply at git.blender.org
Sat Nov 4 05:48:01 CET 2017


Commit: 26efbf16b691afbc156000e8397ebda54ff81157
Author: Joshua Leung
Date:   Mon Oct 30 16:34:13 2017 +1300
Branches: greasepencil-object
https://developer.blender.org/rB26efbf16b691afbc156000e8397ebda54ff81157

GP Modifiers - Change all applyModifier callbacks to bakeModifierGP callbacks

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

M	source/blender/modifiers/intern/MOD_gpencilarray.c
M	source/blender/modifiers/intern/MOD_gpencilblur.c
M	source/blender/modifiers/intern/MOD_gpencilcolor.c
M	source/blender/modifiers/intern/MOD_gpencildupli.c
M	source/blender/modifiers/intern/MOD_gpencillattice.c
M	source/blender/modifiers/intern/MOD_gpencilnoise.c
M	source/blender/modifiers/intern/MOD_gpencilopacity.c
M	source/blender/modifiers/intern/MOD_gpencilpixel.c
M	source/blender/modifiers/intern/MOD_gpencilsimplify.c
M	source/blender/modifiers/intern/MOD_gpencilsubdiv.c
M	source/blender/modifiers/intern/MOD_gpencilswirl.c
M	source/blender/modifiers/intern/MOD_gpencilthick.c
M	source/blender/modifiers/intern/MOD_gpenciltint.c
M	source/blender/modifiers/intern/MOD_gpencilwave.c

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

diff --git a/source/blender/modifiers/intern/MOD_gpencilarray.c b/source/blender/modifiers/intern/MOD_gpencilarray.c
index b0560956f85..439c46f5082 100644
--- a/source/blender/modifiers/intern/MOD_gpencilarray.c
+++ b/source/blender/modifiers/intern/MOD_gpencilarray.c
@@ -37,7 +37,6 @@
 #include "BLI_utildefines.h"
 #include "BLI_math_vector.h"
 
-#include "BKE_DerivedMesh.h"
 #include "BKE_gpencil.h"
 #include "BKE_context.h"
 #include "BKE_object.h"
@@ -101,14 +100,11 @@ static Object *object_add_type(bContext *C,	int UNUSED(type), const char *UNUSED
 	return ob;
 }
 
-static DerivedMesh *applyModifier(
-        ModifierData *md, const struct EvaluationContext *UNUSED(eval_ctx), Object *ob,
-        DerivedMesh *UNUSED(dm),
-        ModifierApplyFlag UNUSED(flag))
+static void bakeModifierGP(bContext *C, const EvaluationContext *UNUSED(eval_ctx),
+                           ModifierData *md, Object *ob)
 {
 	GpencilArrayModifierData *mmd = (GpencilArrayModifierData *)md;
 	ModifierData *fmd;
-	bContext *C = (bContext *)mmd->C;
 	Main *bmain = CTX_data_main(C);
 	Object *newob = NULL;
 	int xyz[3], sh;
@@ -116,7 +112,7 @@ static DerivedMesh *applyModifier(
 	float rot[3];
 
 	if ((!ob) || (!ob->data)) {
-		return NULL;
+		return;
 	}
 
 	/* reset random */
@@ -132,6 +128,7 @@ static DerivedMesh *applyModifier(
 				mul_m4_m4m4(finalmat, mat, ob->obmat);
 
 				/* create a new object and new gp datablock */
+				// XXX (aligorith): Whether this creates and discards and extra GP datablock instance
 				newob = object_add_type(C, OB_GPENCIL, md->name, ob);
 				id_us_min((ID *)ob->data);
 				newob->data = BKE_gpencil_data_duplicate(bmain, ob->data, false);
@@ -159,7 +156,6 @@ static DerivedMesh *applyModifier(
 			}
 		}
 	}
-	return NULL;
 }
 
 ModifierTypeInfo modifierType_GpencilArray = {
@@ -174,11 +170,11 @@ ModifierTypeInfo modifierType_GpencilArray = {
 	/* deformMatrices */    NULL,
 	/* deformVertsEM */     NULL,
 	/* deformMatricesEM */  NULL,
-	/* applyModifier */     applyModifier,
+	/* applyModifier */     NULL,
 	/* applyModifierEM */   NULL,
 	/* deformStrokes */     NULL,
 	/* generateStrokes */   NULL,
-	/* bakeModifierGP */    NULL,
+	/* bakeModifierGP */    bakeModifierGP,
 	/* initData */          initData,
 	/* requiredDataMask */  NULL,
 	/* freeData */          NULL,
diff --git a/source/blender/modifiers/intern/MOD_gpencilblur.c b/source/blender/modifiers/intern/MOD_gpencilblur.c
index bfffafea881..25cb5bfeb2c 100644
--- a/source/blender/modifiers/intern/MOD_gpencilblur.c
+++ b/source/blender/modifiers/intern/MOD_gpencilblur.c
@@ -35,8 +35,6 @@
 #include "DNA_gpencil_types.h"
 
 #include "BLI_utildefines.h"
-#include "BKE_DerivedMesh.h"
-#include "BKE_gpencil.h"
 
 #include "MOD_modifiertypes.h"
 
diff --git a/source/blender/modifiers/intern/MOD_gpencilcolor.c b/source/blender/modifiers/intern/MOD_gpencilcolor.c
index 9f1b51a6cf8..d2f95953069 100644
--- a/source/blender/modifiers/intern/MOD_gpencilcolor.c
+++ b/source/blender/modifiers/intern/MOD_gpencilcolor.c
@@ -38,10 +38,12 @@
 #include "BLI_ghash.h"
 
 #include "BKE_global.h"
-#include "BKE_DerivedMesh.h"
+#include "BKE_context.h"
 #include "BKE_gpencil.h"
 #include "BKE_paint.h"
 
+#include "DEG_depsgraph.h"
+
 #include "MOD_modifiertypes.h"
 
 static void initData(ModifierData *md)
@@ -58,15 +60,14 @@ static void copyData(ModifierData *md, ModifierData *target)
 	modifier_copyData_generic(md, target);
 }
 
-static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationContext *UNUSED(eval_ctx), Object *ob,
-	DerivedMesh *UNUSED(dm),
-	ModifierApplyFlag UNUSED(flag))
+static void bakeModifierGP(bContext *C, const EvaluationContext *UNUSED(eval_ctx),
+                           ModifierData *md, Object *ob)
 {
 	GpencilColorModifierData *mmd = (GpencilColorModifierData *)md;
 	bGPdata *gpd;
 	Palette *newpalette = NULL;
 	if ((!ob) || (!ob->data)) {
-		return NULL;
+		return;
 	}
 	gpd = ob->data;
 	GHash *gh_layer = BLI_ghash_str_new("GP_Color Layer modifier");
@@ -121,8 +122,6 @@ static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationConte
 		BLI_ghash_free(gh_layer, NULL, NULL);
 		gh_layer = NULL;
 	}
-
-	return NULL;
 }
 
 ModifierTypeInfo modifierType_GpencilColor = {
@@ -137,11 +136,11 @@ ModifierTypeInfo modifierType_GpencilColor = {
 	/* deformMatrices */    NULL,
 	/* deformVertsEM */     NULL,
 	/* deformMatricesEM */  NULL,
-	/* applyModifier */     applyModifier,
+	/* applyModifier */     NULL,
 	/* applyModifierEM */   NULL,
 	/* deformStrokes */     NULL,
 	/* generateStrokes */   NULL,
-	/* bakeModifierGP */    NULL,
+	/* bakeModifierGP */    bakeModifierGP,
 	/* initData */          initData,
 	/* requiredDataMask */  NULL,
 	/* freeData */          NULL,
diff --git a/source/blender/modifiers/intern/MOD_gpencildupli.c b/source/blender/modifiers/intern/MOD_gpencildupli.c
index 4bcf205ad24..dc8244b57d0 100644
--- a/source/blender/modifiers/intern/MOD_gpencildupli.c
+++ b/source/blender/modifiers/intern/MOD_gpencildupli.c
@@ -35,9 +35,11 @@
 #include "DNA_gpencil_types.h"
 
 #include "BLI_utildefines.h"
-#include "BKE_DerivedMesh.h"
+#include "BKE_context.h"
 #include "BKE_gpencil.h"
 
+#include "DEG_depsgraph.h"
+
 #include "MOD_modifiertypes.h"
 
 static void initData(ModifierData *md)
@@ -62,13 +64,12 @@ static void copyData(ModifierData *md, ModifierData *target)
 	modifier_copyData_generic(md, target);
 }
 
-static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationContext *UNUSED(eval_ctx), Object *ob,
-	DerivedMesh *UNUSED(dm),
-	ModifierApplyFlag UNUSED(flag))
+static void bakeModifierGP(bContext *C, const EvaluationContext *UNUSED(eval_ctx),
+                           ModifierData *md, Object *ob)
 {
 	bGPdata *gpd;
 	if ((!ob) || (!ob->data)) {
-		return NULL;
+		return;
 	}
 	gpd = ob->data;
 
@@ -77,8 +78,6 @@ static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationConte
 			BKE_gpencil_dupli_modifier(-1, (GpencilDupliModifierData *)md, ob, gpl, gpf);
 		}
 	}
-
-	return NULL;
 }
 
 ModifierTypeInfo modifierType_GpencilDupli = {
@@ -93,11 +92,11 @@ ModifierTypeInfo modifierType_GpencilDupli = {
 	/* deformMatrices */    NULL,
 	/* deformVertsEM */     NULL,
 	/* deformMatricesEM */  NULL,
-	/* applyModifier */     applyModifier,
+	/* applyModifier */     NULL,
 	/* applyModifierEM */   NULL,
 	/* deformStrokes */     NULL,
 	/* generateStrokes */   NULL,
-	/* bakeModifierGP */    NULL,
+	/* bakeModifierGP */    bakeModifierGP,
 	/* initData */          initData,
 	/* requiredDataMask */  NULL,
 	/* freeData */          NULL,
diff --git a/source/blender/modifiers/intern/MOD_gpencillattice.c b/source/blender/modifiers/intern/MOD_gpencillattice.c
index 70f60b8b88a..c65a6a72df7 100644
--- a/source/blender/modifiers/intern/MOD_gpencillattice.c
+++ b/source/blender/modifiers/intern/MOD_gpencillattice.c
@@ -37,7 +37,6 @@
 #include "BLI_utildefines.h"
 
 #include "BKE_context.h"
-#include "BKE_DerivedMesh.h"
 #include "BKE_gpencil.h"
 #include "BKE_lattice.h"
 #include "BKE_library_query.h"
@@ -67,9 +66,8 @@ static void copyData(ModifierData *md, ModifierData *target)
 	modifier_copyData_generic(md, target);
 }
 
-static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationContext *eval_ctx, Object *ob,
-	DerivedMesh *UNUSED(dm),
-	ModifierApplyFlag UNUSED(flag))
+static void bakeModifierGP(bContext *C, const EvaluationContext *eval_ctx,
+                           ModifierData *md, Object *ob)
 {
 	GpencilLatticeModifierData *mmd = (GpencilLatticeModifierData *)md;
 	LatticeDeformData *ldata = NULL;
@@ -80,12 +78,12 @@ static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationConte
 	int oldframe = CFRA;
 
 	if ((!ob) || (!ob->data)) {
-		return NULL;
+		return;
 	}
 	gpd = ob->data;
 	latob = mmd->object;
 	if ((!latob) || (latob->type != OB_LATTICE)) {
-		return NULL;
+		return;
 	}
 
 	struct EvaluationContext eval_ctx_copy = *eval_ctx;
@@ -109,8 +107,8 @@ static DerivedMesh *applyModifier(ModifierData *md, const struct EvaluationConte
 		mmd->cache_data = NULL;
 	}
 
+	// XXX: needs an extra update?
 	CFRA = oldframe;
-	return NULL;
 }
 
 static void freeData(ModifierData *md)
@@ -165,11 +163,11 @@ ModifierTypeInfo modifierType_GpencilLattice = {
 	/* deformMatrices */    NULL,
 	/* deformVertsEM */     NULL,
 	/* deformMatricesEM */  NULL,
-	/* applyModifier */     applyModifier,
+	/* applyModifier */     NULL,
 	/* applyModifierEM */   NULL,
 	/* deformStrokes */     NULL,
 	/* generateStrokes */   NULL,
-	/* bakeModifierGP */    NULL,
+	/* bakeModifierGP */    bakeModifierGP,
 	/* initData */          initData,
 	/* requiredDataMask */  NULL,
 	/* freeData */          freeData,
diff --git a/source/blender/modifiers/intern/MOD_gpencilnoise.c b/source/blender/modifiers/intern/MOD_gpencilnoise.c
index c5f61241c01..038a3e09cde 100644
--- a/source/blender/modifiers/intern/MOD_gpencilnoise.c
+++ b/source/blender/modifiers/intern/MOD_gpencilnoise.c
@@ -36,9 +36,11 @@
 
 #include "BLI_utildefines.h"
 
-#include "BKE_DerivedMesh.h"
+#include "BKE_context.h"
 #include "BKE_gpencil.h"
 
+#include "DEG_depsgraph.h"
+
 #include "MOD_modifiertypes.h"
 
 static void initData(ModifierData *md)
@@ -63,14 +65,12 @@ static void copyData(ModifierData *md, ModifierData *target)
 	modifier_copyData_generic(md, target);
 }
 
-static DerivedMesh *applyModifier(
-        ModifierData *md, const struct EvaluationContext *UNUSED(eval_ctx), Object *ob,
-        DerivedMesh *UNUSED(dm),
-        ModifierApplyFlag UNUSED(flag))
+static void bakeModifierGP(bContext *C, const EvaluationContext *UNUSED(eval_ctx),
+                           ModifierData *md, Object *ob)
 {
 	bGPdata *gpd;
 	if ((!ob) || (!ob->data)) {
-		return NULL;
+		return;
 	}
 	gpd = ob->data;
 
@@ -81,8 +81,6 @@ static DerivedMesh *applyModifier(
 			}
 		}
 	}
-
-	return NULL;
 }
 
 ModifierTypeInfo modifierType_GpencilNoise = {
@@ -97,11 +95,11 @@ ModifierTypeInfo modifierType_GpencilNoise = {
 	/* deformMatrices */    NULL,
 	/* deformVertsEM */     NULL,
 	/* deformMatricesEM */  NULL,
-	/* applyModifier */     applyModifier,
+	/* applyModifier */     NULL,
 	/* applyModifierEM */   NULL,
 	/* def

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list