[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