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. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to