GPv3: Opacity modifier #116946
|
@ -801,4 +801,11 @@
|
|||
.mat_ofs = 0, \
|
||||
}
|
||||
|
||||
#define _DNA_DEFAULT_GreasePencilOpacityModifierData \
|
||||
{ \
|
||||
.color_mode = MOD_GREASE_PENCIL_COLOR_BOTH, \
|
||||
.color_factor = 1.0f, \
|
||||
.hardness_factor = 1.0f, \
|
||||
}
|
||||
|
||||
/* clang-format off */
|
||||
|
|
|
@ -322,6 +322,7 @@ SDNA_DEFAULT_DECL_STRUCT(DashGpencilModifierData);
|
|||
SDNA_DEFAULT_DECL_STRUCT(DashGpencilModifierSegment);
|
||||
SDNA_DEFAULT_DECL_STRUCT(ShrinkwrapGpencilModifierData);
|
||||
SDNA_DEFAULT_DECL_STRUCT(EnvelopeGpencilModifierData);
|
||||
SDNA_DEFAULT_DECL_STRUCT(GreasePencilOpacityModifierData);
|
||||
|
||||
#undef SDNA_DEFAULT_DECL_STRUCT
|
||||
|
||||
|
@ -566,6 +567,7 @@ const void *DNA_default_table[SDNA_TYPE_MAX] = {
|
|||
SDNA_DEFAULT_DECL(DashGpencilModifierSegment),
|
||||
SDNA_DEFAULT_DECL(ShrinkwrapGpencilModifierData),
|
||||
SDNA_DEFAULT_DECL(EnvelopeGpencilModifierData),
|
||||
SDNA_DEFAULT_DECL(GreasePencilOpacityModifierData),
|
||||
};
|
||||
#undef SDNA_DEFAULT_DECL
|
||||
#undef SDNA_DEFAULT_DECL_EX
|
||||
|
|
|
@ -51,15 +51,7 @@ static void init_data(ModifierData *md)
|
|||
|
||||
BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(omd, modifier));
|
||||
|
||||
// XXX Why is this crashing, but the expanded code below works fine?!?
|
||||
// MEMCPY_STRUCT_AFTER(omd, DNA_struct_default_get(GreasePencilOpacityModifierData), modifier);
|
||||
{
|
||||
CHECK_TYPE_NONCONST(omd);
|
||||
memcpy((char *)(omd) + OFFSETOF_STRUCT_AFTER(omd, modifier),
|
||||
(const char *)(md) + OFFSETOF_STRUCT_AFTER(omd, modifier),
|
||||
sizeof(*(omd)) - OFFSETOF_STRUCT_AFTER(omd, modifier));
|
||||
}
|
||||
|
||||
MEMCPY_STRUCT_AFTER(omd, DNA_struct_default_get(GreasePencilOpacityModifierData), modifier);
|
||||
greasepencil::init_influence_data(&omd->influence, true);
|
||||
}
|
||||
|
||||
|
@ -81,14 +73,6 @@ static void free_data(ModifierData *md)
|
|||
greasepencil::free_influence_data(&omd->influence);
|
||||
}
|
||||
|
||||
static void required_data_mask(ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
|
||||
{
|
||||
GreasePencilOpacityModifierData *omd = (GreasePencilOpacityModifierData *)md;
|
||||
|
||||
// TODO
|
||||
UNUSED_VARS(omd, r_cddata_masks);
|
||||
}
|
||||
|
||||
static void foreach_ID_link(ModifierData *md, Object *ob, IDWalkFunc walk, void *user_data)
|
||||
{
|
||||
GreasePencilOpacityModifierData *omd = (GreasePencilOpacityModifierData *)md;
|
||||
|
@ -352,7 +336,7 @@ ModifierTypeInfo modifierType_GreasePencilOpacity = {
|
|||
/*modify_geometry_set*/ blender::modify_geometry_set,
|
||||
|
||||
/*init_data*/ blender::init_data,
|
||||
/*required_data_mask*/ blender::required_data_mask,
|
||||
/*required_data_mask*/ nullptr,
|
||||
/*free_data*/ blender::free_data,
|
||||
/*is_disabled*/ nullptr,
|
||||
/*update_depsgraph*/ nullptr,
|
||||
|
|
Loading…
Reference in New Issue