diff options
Diffstat (limited to 'source/blender/modifiers/intern/MOD_simpledeform.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_simpledeform.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index a0bd4e2f20f..ec89176f97e 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -27,6 +27,7 @@ #include "BLT_translation.h" +#include "DNA_defaults.h" #include "DNA_mesh_types.h" #include "DNA_meshdata_types.h" #include "DNA_object_types.h" @@ -378,14 +379,9 @@ static void initData(ModifierData *md) { SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md; - smd->mode = MOD_SIMPLEDEFORM_MODE_TWIST; - smd->axis = 0; - smd->deform_axis = 0; + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(smd, modifier)); - smd->origin = NULL; - smd->factor = DEG2RADF(45.0f); - smd->limit[0] = 0.0f; - smd->limit[1] = 1.0f; + MEMCPY_STRUCT_AFTER(smd, DNA_struct_default_get(SimpleDeformModifierData), modifier); } static void requiredDataMask(Object *UNUSED(ob), @@ -400,10 +396,10 @@ static void requiredDataMask(Object *UNUSED(ob), } } -static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData) +static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData) { SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md; - walk(userData, ob, &smd->origin, IDWALK_CB_NOP); + walk(userData, ob, (ID **)&smd->origin, IDWALK_CB_NOP); } static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx) @@ -540,11 +536,13 @@ ModifierTypeInfo modifierType_SimpleDeform = { /* name */ "SimpleDeform", /* structName */ "SimpleDeformModifierData", /* structSize */ sizeof(SimpleDeformModifierData), + /* srna */ &RNA_SimpleDeformModifier, /* type */ eModifierTypeType_OnlyDeform, /* flags */ eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_AcceptsCVs | eModifierTypeFlag_AcceptsVertexCosOnly | eModifierTypeFlag_SupportsEditmode | eModifierTypeFlag_EnableInEditmode, + /* icon */ ICON_MOD_SIMPLEDEFORM, /* copyData */ BKE_modifier_copydata_generic, @@ -564,8 +562,7 @@ ModifierTypeInfo modifierType_SimpleDeform = { /* updateDepsgraph */ updateDepsgraph, /* dependsOnTime */ NULL, /* dependsOnNormals */ NULL, - /* foreachObjectLink */ foreachObjectLink, - /* foreachIDLink */ NULL, + /* foreachIDLink */ foreachIDLink, /* foreachTexLink */ NULL, /* freeRuntimeData */ NULL, /* panelRegister */ panelRegister, |