diff options
Diffstat (limited to 'source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c')
-rw-r--r-- | source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c index 0c5f47eb9d4..b9fadea7fd0 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c @@ -10,7 +10,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, + * along with this program; if not, write to the Free Software Foundation, * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * The Original Code is Copyright (C) 2017, Blender Foundation @@ -37,6 +37,8 @@ #include "BKE_deform.h" #include "BKE_gpencil.h" #include "BKE_gpencil_modifier.h" +#include "BKE_lib_query.h" +#include "BKE_modifier.h" #include "DEG_depsgraph.h" @@ -49,9 +51,7 @@ static void initData(GpencilModifierData *md) gpmd->pass_index = 0; gpmd->thickness_fac = 1.0f; gpmd->thickness = 30; - gpmd->layername[0] = '\0'; - gpmd->materialname[0] = '\0'; - gpmd->vgname[0] = '\0'; + gpmd->material = NULL; gpmd->curve_thickness = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f); if (gpmd->curve_thickness) { BKE_curvemapping_initialize(gpmd->curve_thickness); @@ -77,7 +77,7 @@ static void copyData(const GpencilModifierData *md, GpencilModifierData *target) tgmd->curve_thickness = NULL; } - BKE_gpencil_modifier_copyData_generic(md, target); + BKE_gpencil_modifier_copydata_generic(md, target); tgmd->curve_thickness = BKE_curvemapping_copy(gmd->curve_thickness); } @@ -95,7 +95,7 @@ static void deformStroke(GpencilModifierData *md, if (!is_stroke_affected_by_modifier(ob, mmd->layername, - mmd->materialname, + mmd->material, mmd->pass_index, mmd->layer_pass, 1, @@ -139,7 +139,7 @@ static void deformStroke(GpencilModifierData *md, pt->pressure = interpf(target, pt->pressure, weight); - CLAMP_MIN(pt->pressure, 0.1f); + CLAMP_MIN(pt->pressure, 0.0f); } } @@ -159,6 +159,13 @@ static void bakeModifier(struct Main *UNUSED(bmain), } } +static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData) +{ + ThickGpencilModifierData *mmd = (ThickGpencilModifierData *)md; + + walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER); +} + GpencilModifierTypeInfo modifierType_Gpencil_Thick = { /* name */ "Thickness", /* structName */ "ThickGpencilModifierData", @@ -179,6 +186,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Thick = { /* updateDepsgraph */ NULL, /* dependsOnTime */ NULL, /* foreachObjectLink */ NULL, - /* foreachIDLink */ NULL, + /* foreachIDLink */ foreachIDLink, /* foreachTexLink */ NULL, }; |