[Bf-blender-cvs] [9d55e5f5edd] greasepencil-object: First try to apply Lattice GP modifier in all frames
Antonio Vazquez
noreply at git.blender.org
Sat Aug 19 13:40:06 CEST 2017
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;
}
More information about the Bf-blender-cvs
mailing list