Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpencil_modifiers/intern/MOD_gpenciloffset.c
| Show First 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
| #include "MOD_gpencil_util.h" | #include "MOD_gpencil_util.h" | ||||
| #include "MOD_gpencil_modifiertypes.h" | #include "MOD_gpencil_modifiertypes.h" | ||||
| static void initData(GpencilModifierData *md) | static void initData(GpencilModifierData *md) | ||||
| { | { | ||||
| OffsetGpencilModifierData *gpmd = (OffsetGpencilModifierData *)md; | OffsetGpencilModifierData *gpmd = (OffsetGpencilModifierData *)md; | ||||
| gpmd->pass_index = 0; | gpmd->pass_index = 0; | ||||
| gpmd->layername[0] = '\0'; | gpmd->layername[0] = '\0'; | ||||
| gpmd->materialname[0] = '\0'; | |||||
| gpmd->vgname[0] = '\0'; | gpmd->vgname[0] = '\0'; | ||||
| ARRAY_SET_ITEMS(gpmd->loc, 0.0f, 0.0f, 0.0f); | ARRAY_SET_ITEMS(gpmd->loc, 0.0f, 0.0f, 0.0f); | ||||
| ARRAY_SET_ITEMS(gpmd->rot, 0.0f, 0.0f, 0.0f); | ARRAY_SET_ITEMS(gpmd->rot, 0.0f, 0.0f, 0.0f); | ||||
| ARRAY_SET_ITEMS(gpmd->scale, 0.0f, 0.0f, 0.0f); | ARRAY_SET_ITEMS(gpmd->scale, 0.0f, 0.0f, 0.0f); | ||||
| } | } | ||||
| static void copyData(const GpencilModifierData *md, GpencilModifierData *target) | static void copyData(const GpencilModifierData *md, GpencilModifierData *target) | ||||
| { | { | ||||
| Show All 11 Lines | static void deformStroke(GpencilModifierData *md, | ||||
| OffsetGpencilModifierData *mmd = (OffsetGpencilModifierData *)md; | OffsetGpencilModifierData *mmd = (OffsetGpencilModifierData *)md; | ||||
| const int def_nr = defgroup_name_index(ob, mmd->vgname); | const int def_nr = defgroup_name_index(ob, mmd->vgname); | ||||
| float mat[4][4]; | float mat[4][4]; | ||||
| float loc[3], rot[3], scale[3]; | float loc[3], rot[3], scale[3]; | ||||
| if (!is_stroke_affected_by_modifier(ob, | if (!is_stroke_affected_by_modifier(ob, | ||||
| mmd->layername, | mmd->layername, | ||||
| mmd->materialname, | |||||
| mmd->pass_index, | mmd->pass_index, | ||||
| mmd->layer_pass, | mmd->layer_pass, | ||||
| 1, | 1, | ||||
| gpl, | gpl, | ||||
| gps, | gps, | ||||
| mmd->flag & GP_OFFSET_INVERT_LAYER, | mmd->flag & GP_OFFSET_INVERT_LAYER, | ||||
| mmd->flag & GP_OFFSET_INVERT_PASS, | mmd->flag & GP_OFFSET_INVERT_PASS, | ||||
| mmd->flag & GP_OFFSET_INVERT_LAYERPASS)) { | mmd->flag & GP_OFFSET_INVERT_LAYERPASS, | ||||
| mmd->flag & GP_OFFSET_INVERT_MATERIAL)) { | |||||
| return; | return; | ||||
| } | } | ||||
| for (int i = 0; i < gps->totpoints; i++) { | for (int i = 0; i < gps->totpoints; i++) { | ||||
| bGPDspoint *pt = &gps->points[i]; | bGPDspoint *pt = &gps->points[i]; | ||||
| MDeformVert *dvert = gps->dvert != NULL ? &gps->dvert[i] : NULL; | MDeformVert *dvert = gps->dvert != NULL ? &gps->dvert[i] : NULL; | ||||
| /* verify vertex group */ | /* verify vertex group */ | ||||
| ▲ Show 20 Lines • Show All 56 Lines • Show Last 20 Lines | |||||