Commit: 9d55e5f5eddf46d5adb8d28aedd33bdb33be257d
Author: Antonio Vazquez
Date:   Fri Aug 18 16:21:51 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB9d55e5f5eddf46d5adb8d28aedd33bdb33be257d

First try to apply Lattice GP modifier in all frames

Still not working but define the initial steps to do it.

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

M       source/blender/modifiers/intern/MOD_gpencillattice.c

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

diff --git a/source/blender/modifiers/intern/MOD_gpencillattice.c 
b/source/blender/modifiers/intern/MOD_gpencillattice.c
index 835619f7f8e..6345712361e 100644
--- a/source/blender/modifiers/intern/MOD_gpencillattice.c
+++ b/source/blender/modifiers/intern/MOD_gpencillattice.c
@@ -36,6 +36,7 @@
 
 #include "BLI_utildefines.h"
 
+#include "BKE_context.h"
 #include "BKE_DerivedMesh.h"
 #include "BKE_gpencil.h"
 #include "BKE_lattice.h"
@@ -45,6 +46,8 @@
 
 #include "MOD_modifiertypes.h"
 
+#include "DEG_depsgraph.h"
+
 static void initData(ModifierData *md)
 {
        GpencilLatticeModifierData *gpmd = (GpencilLatticeModifierData *)md;
@@ -71,9 +74,11 @@ static DerivedMesh *applyModifier(ModifierData *md, const 
struct EvaluationConte
        ModifierApplyFlag UNUSED(flag))
 {
        GpencilLatticeModifierData *mmd = (GpencilLatticeModifierData *)md;
-       LatticeDeformData *ldata = (LatticeDeformData *)mmd->cache_data;
+       LatticeDeformData *ldata = NULL;
+       Scene *scene = CTX_data_scene(mmd->C);
        bGPdata *gpd;
        Object *latob = NULL;
+       int oldframe = CFRA;
 
        if ((!ob) || (!ob->gpd)) {
                return NULL;
@@ -87,16 +92,23 @@ static DerivedMesh *applyModifier(ModifierData *md, const 
struct EvaluationConte
        for (bGPDlayer *gpl = gpd->layers.first; gpl; gpl = gpl->next) {
                for (bGPDframe *gpf = gpl->frames.first; gpf; gpf = gpf->next) {
                        for (bGPDstroke *gps = gpf->strokes.first; gps; gps = 
gps->next) {
+                               CFRA = gpf->framenum;
+                               DEG_id_tag_update(&latob->id, OB_RECALC_ALL);
+                               /* recalculate lattice data */
+                               BKE_gpencil_lattice_init(ob);
+
                                BKE_gpencil_lattice_modifier(-1, 
(GpencilLatticeModifierData *)md, ob, gpl, gps);
                        }
                }
        }
 
+       ldata = (LatticeDeformData *)mmd->cache_data;
        if (ldata) {
                end_latt_deform(ldata);
                mmd->cache_data = NULL;
        }
 
+       CFRA = oldframe;
        return NULL;
 }

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

Reply via email to