diff options
Diffstat (limited to 'source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c')
-rw-r--r-- | source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c b/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c index 594c9f8ff9f..6a630cbf978 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpenciltexture.c @@ -29,6 +29,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_gpencil_modifier_types.h" #include "DNA_gpencil_types.h" #include "DNA_meshdata_types.h" @@ -60,15 +61,10 @@ static void initData(GpencilModifierData *md) { TextureGpencilModifierData *gpmd = (TextureGpencilModifierData *)md; - gpmd->fit_method = GP_TEX_CONSTANT_LENGTH; - gpmd->fill_rotation = 0.0f; - gpmd->fill_scale = 1.0f; - gpmd->fill_offset[0] = 0.0f; - gpmd->fill_offset[1] = 0.0f; - gpmd->uv_offset = 0.0f; - gpmd->uv_scale = 1.0f; - gpmd->pass_index = 0; - gpmd->material = NULL; + + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(gpmd, modifier)); + + MEMCPY_STRUCT_AFTER(gpmd, DNA_struct_default_get(TextureGpencilModifierData), modifier); } static void copyData(const GpencilModifierData *md, GpencilModifierData *target) @@ -101,7 +97,7 @@ static void deformStroke(GpencilModifierData *md, mmd->flag & GP_TEX_INVERT_MATERIAL)) { return; } - if ((mmd->mode == FILL) || (mmd->mode == STROKE_AND_FILL)) { + if (ELEM(mmd->mode, FILL, STROKE_AND_FILL)) { gps->uv_rotation += mmd->fill_rotation; gps->uv_translation[0] += mmd->fill_offset[0]; gps->uv_translation[1] += mmd->fill_offset[1]; @@ -109,7 +105,7 @@ static void deformStroke(GpencilModifierData *md, BKE_gpencil_stroke_geometry_update(gps); } - if ((mmd->mode == STROKE) || (mmd->mode == STROKE_AND_FILL)) { + if (ELEM(mmd->mode, STROKE, STROKE_AND_FILL)) { float totlen = 1.0f; if (mmd->fit_method == GP_TEX_FIT_STROKE) { totlen = 0.0f; @@ -131,6 +127,7 @@ static void deformStroke(GpencilModifierData *md, pt->uv_fac /= totlen; pt->uv_fac *= mmd->uv_scale; pt->uv_fac += mmd->uv_offset; + pt->uv_rot += mmd->alignment_rotation; } } } @@ -175,6 +172,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel) col = uiLayoutColumn(layout, false); uiItemR(col, ptr, "fit_method", 0, IFACE_("Stroke Fit Method"), ICON_NONE); uiItemR(col, ptr, "uv_offset", 0, NULL, ICON_NONE); + uiItemR(col, ptr, "alignment_rotation", 0, NULL, ICON_NONE); uiItemR(col, ptr, "uv_scale", 0, IFACE_("Scale"), ICON_NONE); } @@ -224,7 +222,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Texture = { /* isDisabled */ NULL, /* updateDepsgraph */ NULL, /* dependsOnTime */ NULL, - /* foreachObjectLink */ NULL, /* foreachIDLink */ foreachIDLink, /* foreachTexLink */ NULL, /* panelRegister */ panelRegister, |