remove foreachObjectLink callback

This removes `foreachObjectLink` from `ModifierTypeInfo`, `GpencilModifierTypeInfo`
and `ShaderFxTypeInfo`. There is no need to have both, `foreachObjectLink` and `foreachIDLink`.
There is not code that actually depends on `foreachObjectLink`.

Reviewers: brecht

Differential Revision: https://developer.blender.org/D9078
This commit is contained in:
Jacques Lucke 2020-10-01 18:05:23 +02:00
parent cbbd5283a3
commit ec723ad25c
90 changed files with 90 additions and 406 deletions

View File

@ -82,11 +82,6 @@ typedef enum {
eGpencilModifierTypeFlag_NoApply = (1 << 6),
} GpencilModifierTypeFlag;
/* IMPORTANT! Keep ObjectWalkFunc and IDWalkFunc signatures compatible. */
typedef void (*GreasePencilObjectWalkFunc)(void *userData,
struct Object *ob,
struct Object **obpoin,
int cb_flag);
typedef void (*GreasePencilIDWalkFunc)(void *userData,
struct Object *ob,
struct ID **idpoin,
@ -218,26 +213,13 @@ typedef struct GpencilModifierTypeInfo {
*/
bool (*dependsOnTime)(struct GpencilModifierData *md);
/**
* Should call the given walk function on with a pointer to each Object
* pointer that the modifier data stores. This is used for linking on file
* load and for unlinking objects or forwarding object references.
*
* This function is optional.
*/
void (*foreachObjectLink)(struct GpencilModifierData *md,
struct Object *ob,
GreasePencilObjectWalkFunc walk,
void *userData);
/**
* Should call the given walk function with a pointer to each ID
* pointer (i.e. each data-block pointer) that the modifier data
* stores. This is used for linking on file load and for
* unlinking data-blocks or forwarding data-block references.
*
* This function is optional. If it is not present, foreachObjectLink
* will be used.
* This function is optional.
*/
void (*foreachIDLink)(struct GpencilModifierData *md,
struct Object *ob,

View File

@ -115,11 +115,6 @@ typedef enum {
eModifierTypeFlag_AcceptsBMesh = (1 << 11),
} ModifierTypeFlag;
/* IMPORTANT! Keep ObjectWalkFunc and IDWalkFunc signatures compatible. */
typedef void (*ObjectWalkFunc)(void *userData,
struct Object *ob,
struct Object **obpoin,
int cb_flag);
typedef void (*IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin, int cb_flag);
typedef void (*TexWalkFunc)(void *userData,
struct Object *ob,
@ -331,26 +326,13 @@ typedef struct ModifierTypeInfo {
*/
bool (*dependsOnNormals)(struct ModifierData *md);
/**
* Should call the given walk function on with a pointer to each Object
* pointer that the modifier data stores. This is used for linking on file
* load and for unlinking objects or forwarding object references.
*
* This function is optional.
*/
void (*foreachObjectLink)(struct ModifierData *md,
struct Object *ob,
ObjectWalkFunc walk,
void *userData);
/**
* Should call the given walk function with a pointer to each ID
* pointer (i.e. each data-block pointer) that the modifier data
* stores. This is used for linking on file load and for
* unlinking data-blocks or forwarding data-block references.
*
* This function is optional. If it is not present, foreachObjectLink
* will be used.
* This function is optional.
*/
void (*foreachIDLink)(struct ModifierData *md,
struct Object *ob,
@ -449,7 +431,6 @@ void BKE_modifier_set_error(struct ModifierData *md, const char *format, ...)
ATTR_PRINTF_FORMAT(2, 3);
bool BKE_modifier_is_preview(struct ModifierData *md);
void BKE_modifiers_foreach_object_link(struct Object *ob, ObjectWalkFunc walk, void *userData);
void BKE_modifiers_foreach_ID_link(struct Object *ob, IDWalkFunc walk, void *userData);
void BKE_modifiers_foreach_tex_link(struct Object *ob, TexWalkFunc walk, void *userData);

View File

@ -62,11 +62,6 @@ typedef enum {
eShaderFxTypeFlag_NoUserAdd = (1 << 5),
} ShaderFxTypeFlag;
/* IMPORTANT! Keep ObjectWalkFunc and IDWalkFunc signatures compatible. */
typedef void (*ShaderFxObjectWalkFunc)(void *userData,
struct Object *ob,
struct Object **obpoin,
int cb_flag);
typedef void (*ShaderFxIDWalkFunc)(void *userData,
struct Object *ob,
struct ID **idpoin,
@ -134,24 +129,12 @@ typedef struct ShaderFxTypeInfo {
*/
bool (*dependsOnTime)(struct ShaderFxData *fx);
/* Should call the given walk function on with a pointer to each Object
* pointer that the effect data stores. This is used for linking on file
* load and for unlinking objects or forwarding object references.
*
* This function is optional.
*/
void (*foreachObjectLink)(struct ShaderFxData *fx,
struct Object *ob,
ShaderFxObjectWalkFunc walk,
void *userData);
/* Should call the given walk function with a pointer to each ID
* pointer (i.e. each data-block pointer) that the effect data
* stores. This is used for linking on file load and for
* unlinking data-blocks or forwarding data-block references.
*
* This function is optional. If it is not present, foreachObjectLink
* will be used.
* This function is optional.
*/
void (*foreachIDLink)(struct ShaderFxData *fx,
struct Object *ob,

View File

@ -333,10 +333,6 @@ void BKE_gpencil_modifier_free_ex(GpencilModifierData *md, const int flag)
if (mti->foreachIDLink) {
mti->foreachIDLink(md, NULL, modifier_free_data_id_us_cb, NULL);
}
else if (mti->foreachObjectLink) {
mti->foreachObjectLink(
md, NULL, (GreasePencilObjectWalkFunc)modifier_free_data_id_us_cb, NULL);
}
}
if (mti->freeData) {
@ -473,10 +469,6 @@ void BKE_gpencil_modifier_copydata_ex(GpencilModifierData *md,
if (mti->foreachIDLink) {
mti->foreachIDLink(target, NULL, gpencil_modifier_copy_data_id_us_cb, NULL);
}
else if (mti->foreachObjectLink) {
mti->foreachObjectLink(
target, NULL, (GreasePencilObjectWalkFunc)gpencil_modifier_copy_data_id_us_cb, NULL);
}
}
}
@ -544,11 +536,6 @@ void BKE_gpencil_modifiers_foreach_ID_link(Object *ob, GreasePencilIDWalkFunc wa
if (mti->foreachIDLink) {
mti->foreachIDLink(md, ob, walk, userData);
}
else if (mti->foreachObjectLink) {
/* each Object can masquerade as an ID, so this should be OK */
GreasePencilObjectWalkFunc fp = (GreasePencilObjectWalkFunc)walk;
mti->foreachObjectLink(md, ob, fp, userData);
}
}
}

View File

@ -177,9 +177,6 @@ void BKE_modifier_free_ex(ModifierData *md, const int flag)
if (mti->foreachIDLink) {
mti->foreachIDLink(md, NULL, modifier_free_data_id_us_cb, NULL);
}
else if (mti->foreachObjectLink) {
mti->foreachObjectLink(md, NULL, (ObjectWalkFunc)modifier_free_data_id_us_cb, NULL);
}
}
if (mti->freeData) {
@ -278,19 +275,6 @@ void BKE_modifiers_clear_errors(Object *ob)
}
}
void BKE_modifiers_foreach_object_link(Object *ob, ObjectWalkFunc walk, void *userData)
{
ModifierData *md = ob->modifiers.first;
for (; md; md = md->next) {
const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);
if (mti->foreachObjectLink) {
mti->foreachObjectLink(md, ob, walk, userData);
}
}
}
void BKE_modifiers_foreach_ID_link(Object *ob, IDWalkFunc walk, void *userData)
{
ModifierData *md = ob->modifiers.first;
@ -301,11 +285,6 @@ void BKE_modifiers_foreach_ID_link(Object *ob, IDWalkFunc walk, void *userData)
if (mti->foreachIDLink) {
mti->foreachIDLink(md, ob, walk, userData);
}
else if (mti->foreachObjectLink) {
/* each Object can masquerade as an ID, so this should be OK */
ObjectWalkFunc fp = (ObjectWalkFunc)walk;
mti->foreachObjectLink(md, ob, fp, userData);
}
}
}
@ -374,9 +353,6 @@ void BKE_modifier_copydata_ex(ModifierData *md, ModifierData *target, const int
if (mti->foreachIDLink) {
mti->foreachIDLink(target, NULL, modifier_copy_data_id_us_cb, NULL);
}
else if (mti->foreachObjectLink) {
mti->foreachObjectLink(target, NULL, (ObjectWalkFunc)modifier_copy_data_id_us_cb, NULL);
}
}
if (flag & LIB_ID_CREATE_NO_MAIN) {

View File

@ -116,9 +116,6 @@ void BKE_shaderfx_free_ex(ShaderFxData *fx, const int flag)
if (fxi->foreachIDLink) {
fxi->foreachIDLink(fx, NULL, shaderfx_free_data_id_us_cb, NULL);
}
else if (fxi->foreachObjectLink) {
fxi->foreachObjectLink(fx, NULL, (ShaderFxObjectWalkFunc)shaderfx_free_data_id_us_cb, NULL);
}
}
if (fxi->freeData) {
@ -222,10 +219,6 @@ void BKE_shaderfx_copydata_ex(ShaderFxData *fx, ShaderFxData *target, const int
if (fxi->foreachIDLink) {
fxi->foreachIDLink(target, NULL, shaderfx_copy_data_id_us_cb, NULL);
}
else if (fxi->foreachObjectLink) {
fxi->foreachObjectLink(
target, NULL, (ShaderFxObjectWalkFunc)shaderfx_copy_data_id_us_cb, NULL);
}
}
}
@ -270,11 +263,6 @@ void BKE_shaderfx_foreach_ID_link(Object *ob, ShaderFxIDWalkFunc walk, void *use
if (fxi->foreachIDLink) {
fxi->foreachIDLink(fx, ob, walk, userData);
}
else if (fxi->foreachObjectLink) {
/* each Object can masquerade as an ID, so this should be OK */
ShaderFxObjectWalkFunc fp = (ShaderFxObjectWalkFunc)walk;
fxi->foreachObjectLink(fx, ob, fp, userData);
}
}
}

View File

@ -185,14 +185,11 @@ static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgra
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Armature Modifier");
}
static void foreachObjectLink(GpencilModifierData *md,
Object *ob,
ObjectWalkFunc walk,
void *userData)
static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
ArmatureGpencilModifierData *mmd = (ArmatureGpencilModifierData *)md;
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -245,8 +242,7 @@ GpencilModifierTypeInfo modifierType_Gpencil_Armature = {
/* isDisabled */ isDisabled,
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,
};

View File

@ -325,23 +325,12 @@ static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgra
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Array Modifier");
}
static void foreachObjectLink(GpencilModifierData *md,
Object *ob,
ObjectWalkFunc walk,
void *userData)
{
ArrayGpencilModifierData *mmd = (ArrayGpencilModifierData *)md;
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
}
static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
ArrayGpencilModifierData *mmd = (ArrayGpencilModifierData *)md;
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -492,7 +481,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Array = {
/* isDisabled */ NULL,
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -639,7 +639,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Build = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ dependsOnTime,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -251,7 +251,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Color = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -340,23 +340,12 @@ static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgra
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Hook Modifier");
}
static void foreachObjectLink(GpencilModifierData *md,
Object *ob,
ObjectWalkFunc walk,
void *userData)
{
HookGpencilModifierData *mmd = (HookGpencilModifierData *)md;
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
}
static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
HookGpencilModifierData *mmd = (HookGpencilModifierData *)md;
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -451,7 +440,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Hook = {
/* isDisabled */ isDisabled,
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -203,23 +203,12 @@ static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgra
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Lattice Modifier");
}
static void foreachObjectLink(GpencilModifierData *md,
Object *ob,
ObjectWalkFunc walk,
void *userData)
{
LatticeGpencilModifierData *mmd = (LatticeGpencilModifierData *)md;
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
}
static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
LatticeGpencilModifierData *mmd = (LatticeGpencilModifierData *)md;
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -288,7 +277,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Lattice = {
/* isDisabled */ isDisabled,
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -216,23 +216,12 @@ static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgra
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Mirror Modifier");
}
static void foreachObjectLink(GpencilModifierData *md,
Object *ob,
ObjectWalkFunc walk,
void *userData)
{
MirrorGpencilModifierData *mmd = (MirrorGpencilModifierData *)md;
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
}
static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
MirrorGpencilModifierData *mmd = (MirrorGpencilModifierData *)md;
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -287,7 +276,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Mirror = {
/* isDisabled */ isDisabled,
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -394,7 +394,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Multiply = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -362,7 +362,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Noise = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ dependsOnTime,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -198,7 +198,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Offset = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -296,7 +296,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Opacity = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -202,7 +202,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Simplify = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -244,7 +244,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Smooth = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -169,7 +169,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Subdiv = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -224,7 +224,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Texture = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -235,7 +235,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Thick = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -276,7 +276,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Time = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -325,23 +325,12 @@ static void updateDepsgraph(GpencilModifierData *md, const ModifierUpdateDepsgra
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Vertexcolor Modifier");
}
static void foreachObjectLink(GpencilModifierData *md,
Object *ob,
ObjectWalkFunc walk,
void *userData)
{
TintGpencilModifierData *mmd = (TintGpencilModifierData *)md;
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
}
static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
TintGpencilModifierData *mmd = (TintGpencilModifierData *)md;
walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -412,7 +401,6 @@ GpencilModifierTypeInfo modifierType_Gpencil_Tint = {
/* isDisabled */ isDisabled,
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* panelRegister */ panelRegister,

View File

@ -104,11 +104,11 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
return !amd->object || amd->object->type != OB_ARMATURE;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
ArmatureModifierData *amd = (ArmatureModifierData *)md;
walk(userData, ob, &amd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&amd->object, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -305,8 +305,7 @@ ModifierTypeInfo modifierType_Armature = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -72,14 +72,14 @@ static void initData(ModifierData *md)
md->ui_expand_flag = (1 << 0) | (1 << 1);
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
ArrayModifierData *amd = (ArrayModifierData *)md;
walk(userData, ob, &amd->start_cap, IDWALK_CB_NOP);
walk(userData, ob, &amd->end_cap, IDWALK_CB_NOP);
walk(userData, ob, &amd->curve_ob, IDWALK_CB_NOP);
walk(userData, ob, &amd->offset_ob, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&amd->start_cap, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&amd->end_cap, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&amd->curve_ob, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&amd->offset_ob, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -1026,8 +1026,7 @@ ModifierTypeInfo modifierType_Array = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -456,7 +456,6 @@ ModifierTypeInfo modifierType_Bevel = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -101,21 +101,12 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
return false;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
{
BooleanModifierData *bmd = (BooleanModifierData *)md;
walk(userData, ob, &bmd->object, IDWALK_CB_NOP);
}
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
BooleanModifierData *bmd = (BooleanModifierData *)md;
walk(userData, ob, (ID **)&bmd->collection, IDWALK_CB_NOP);
/* Needed for the object operand to work. */
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&bmd->object, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -774,7 +765,6 @@ ModifierTypeInfo modifierType_Boolean = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -356,7 +356,6 @@ ModifierTypeInfo modifierType_Build = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -90,11 +90,11 @@ 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)
{
CastModifierData *cmd = (CastModifierData *)md;
walk(userData, ob, &cmd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&cmd->object, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -600,8 +600,7 @@ ModifierTypeInfo modifierType_Cast = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -308,7 +308,6 @@ ModifierTypeInfo modifierType_Cloth = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -319,7 +319,6 @@ ModifierTypeInfo modifierType_Collision = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -861,7 +861,6 @@ ModifierTypeInfo modifierType_CorrectiveSmooth = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -90,11 +90,11 @@ static bool isDisabled(const Scene *UNUSED(scene), ModifierData *md, bool UNUSED
return !cmd->object || cmd->object->type != OB_CURVE;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
CurveModifierData *cmd = (CurveModifierData *)md;
walk(userData, ob, &cmd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&cmd->object, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -245,8 +245,7 @@ ModifierTypeInfo modifierType_Curve = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -122,10 +122,10 @@ static bool dependsOnNormals(ModifierData *md)
return false;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
DataTransferModifierData *dtmd = (DataTransferModifierData *)md;
walk(userData, ob, &dtmd->ob_source, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&dtmd->ob_source, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -494,8 +494,7 @@ ModifierTypeInfo modifierType_DataTransfer = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -308,7 +308,6 @@ ModifierTypeInfo modifierType_Decimate = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -112,20 +112,12 @@ static bool dependsOnNormals(ModifierData *md)
return ELEM(dmd->direction, MOD_DISP_DIR_NOR, MOD_DISP_DIR_CLNOR);
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
{
DisplaceModifierData *dmd = (DisplaceModifierData *)md;
walk(userData, ob, &dmd->map_object, IDWALK_CB_NOP);
}
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
DisplaceModifierData *dmd = (DisplaceModifierData *)md;
walk(userData, ob, (ID **)&dmd->texture, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&dmd->map_object, IDWALK_CB_NOP);
}
static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void *userData)
@ -524,7 +516,6 @@ ModifierTypeInfo modifierType_Displace = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ foreachTexLink,
/* freeRuntimeData */ NULL,

View File

@ -230,7 +230,6 @@ ModifierTypeInfo modifierType_DynamicPaint = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ foreachTexLink,
/* freeRuntimeData */ freeRuntimeData,

View File

@ -193,7 +193,6 @@ ModifierTypeInfo modifierType_EdgeSplit = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -1264,7 +1264,6 @@ ModifierTypeInfo modifierType_Explode = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -248,7 +248,6 @@ ModifierTypeInfo modifierType_Fluid = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -119,11 +119,11 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
return !hmd->object;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
HookModifierData *hmd = (HookModifierData *)md;
walk(userData, ob, &hmd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&hmd->object, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -583,8 +583,7 @@ ModifierTypeInfo modifierType_Hook = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -896,7 +896,6 @@ ModifierTypeInfo modifierType_LaplacianDeform = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -644,7 +644,6 @@ ModifierTypeInfo modifierType_LaplacianSmooth = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -88,11 +88,11 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
return !lmd->object || lmd->object->type != OB_LATTICE;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
LatticeModifierData *lmd = (LatticeModifierData *)md;
walk(userData, ob, &lmd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&lmd->object, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -202,8 +202,7 @@ ModifierTypeInfo modifierType_Lattice = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -85,10 +85,10 @@ static void requiredDataMask(Object *UNUSED(ob),
r_cddata_masks->vmask |= CD_MASK_MDEFORMVERT;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
MaskModifierData *mmd = reinterpret_cast<MaskModifierData *>(md);
walk(userData, ob, &mmd->ob_arm, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&mmd->ob_arm, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -472,8 +472,7 @@ ModifierTypeInfo modifierType_Mask = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -129,10 +129,10 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
}
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
MeshToVolumeModifierData *mvmd = reinterpret_cast<MeshToVolumeModifierData *>(md);
walk(userData, ob, &mvmd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&mvmd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -297,8 +297,7 @@ ModifierTypeInfo modifierType_MeshToVolume = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -398,7 +398,6 @@ ModifierTypeInfo modifierType_MeshCache = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -163,11 +163,11 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
return !mmd->object || mmd->object->type != OB_MESH;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
MeshDeformModifierData *mmd = (MeshDeformModifierData *)md;
walk(userData, ob, &mmd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -656,8 +656,7 @@ ModifierTypeInfo modifierType_MeshDeform = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -280,7 +280,6 @@ ModifierTypeInfo modifierType_MeshSequenceCache = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -65,11 +65,11 @@ static void initData(ModifierData *md)
MEMCPY_STRUCT_AFTER(mmd, DNA_struct_default_get(MirrorModifierData), modifier);
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
MirrorModifierData *mmd = (MirrorModifierData *)md;
walk(userData, ob, &mmd->mirror_ob, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&mmd->mirror_ob, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -244,8 +244,7 @@ ModifierTypeInfo modifierType_Mirror = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -530,7 +530,6 @@ ModifierTypeInfo modifierType_Multires = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ freeRuntimeData,

View File

@ -69,7 +69,6 @@ ModifierTypeInfo modifierType_None = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -671,11 +671,11 @@ static bool dependsOnNormals(ModifierData *UNUSED(md))
return true;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
NormalEditModifierData *enmd = (NormalEditModifierData *)md;
walk(userData, ob, &enmd->target, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&enmd->target, IDWALK_CB_NOP);
}
static bool isDisabled(const struct Scene *UNUSED(scene),
@ -805,8 +805,7 @@ ModifierTypeInfo modifierType_NormalEdit = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -746,7 +746,6 @@ ModifierTypeInfo modifierType_Ocean = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -137,11 +137,11 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
}
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData *)md;
walk(userData, ob, &pimd->ob, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&pimd->ob, IDWALK_CB_NOP);
}
static bool particle_skip(ParticleInstanceModifierData *pimd, ParticleSystem *psys, int p)
@ -688,8 +688,7 @@ ModifierTypeInfo modifierType_ParticleInstance = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -341,7 +341,6 @@ ModifierTypeInfo modifierType_ParticleSystem = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -311,7 +311,6 @@ ModifierTypeInfo modifierType_Remesh = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -1158,11 +1158,11 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
}
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
ScrewModifierData *ltmd = (ScrewModifierData *)md;
walk(userData, ob, &ltmd->ob_axis, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&ltmd->ob_axis, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -1269,8 +1269,7 @@ ModifierTypeInfo modifierType_Screw = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -149,7 +149,6 @@ ModifierTypeInfo modifierType_ShapeKey = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -101,12 +101,12 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
return false;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
ShrinkwrapModifierData *smd = (ShrinkwrapModifierData *)md;
walk(userData, ob, &smd->target, IDWALK_CB_NOP);
walk(userData, ob, &smd->auxTarget, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&smd->target, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&smd->auxTarget, IDWALK_CB_NOP);
}
static void deformVerts(ModifierData *md,
@ -302,8 +302,7 @@ ModifierTypeInfo modifierType_Shrinkwrap = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -396,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)
@ -562,8 +562,7 @@ ModifierTypeInfo modifierType_SimpleDeform = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -218,7 +218,6 @@ ModifierTypeInfo modifierType_Simulation = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -2035,7 +2035,6 @@ ModifierTypeInfo modifierType_Skin = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -296,7 +296,6 @@ ModifierTypeInfo modifierType_Smooth = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -129,7 +129,6 @@ ModifierTypeInfo modifierType_Softbody = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -283,7 +283,6 @@ ModifierTypeInfo modifierType_Solidify = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -517,7 +517,6 @@ ModifierTypeInfo modifierType_Subsurf = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ freeRuntimeData,

View File

@ -250,7 +250,6 @@ ModifierTypeInfo modifierType_Surface = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -218,11 +218,11 @@ static void copyData(const ModifierData *md, ModifierData *target, const int fla
}
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
SurfaceDeformModifierData *smd = (SurfaceDeformModifierData *)md;
walk(userData, ob, &smd->target, IDWALK_NOP);
walk(userData, ob, (ID **)&smd->target, IDWALK_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -1523,8 +1523,7 @@ ModifierTypeInfo modifierType_SurfaceDeform = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -181,7 +181,6 @@ ModifierTypeInfo modifierType_Triangulate = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -75,23 +75,12 @@ static void requiredDataMask(Object *UNUSED(ob),
r_cddata_masks->lmask |= CD_MLOOPUV;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
{
UVProjectModifierData *umd = (UVProjectModifierData *)md;
int i;
for (i = 0; i < MOD_UVPROJECT_MAXPROJECTORS; i++) {
walk(userData, ob, &umd->projectors[i], IDWALK_CB_NOP);
}
}
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
#if 0
UVProjectModifierData *umd = (UVProjectModifierData *)md;
#endif
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
for (int i = 0; i < MOD_UVPROJECT_MAXPROJECTORS; i++) {
walk(userData, ob, (ID **)&umd->projectors[i], IDWALK_CB_NOP);
}
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -391,7 +380,6 @@ ModifierTypeInfo modifierType_UVProject = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -241,12 +241,12 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return mesh;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
UVWarpModifierData *umd = (UVWarpModifierData *)md;
walk(userData, ob, &umd->object_dst, IDWALK_CB_NOP);
walk(userData, ob, &umd->object_src, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&umd->object_dst, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&umd->object_src, IDWALK_CB_NOP);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
@ -351,8 +351,7 @@ ModifierTypeInfo modifierType_UVWarp = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,
/* panelRegister */ panelRegister,

View File

@ -142,22 +142,14 @@ static bool isDisabled(const struct Scene *UNUSED(scene),
return !(wmd->object_from && wmd->object_to);
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
{
WarpModifierData *wmd = (WarpModifierData *)md;
walk(userData, ob, &wmd->object_from, IDWALK_CB_NOP);
walk(userData, ob, &wmd->object_to, IDWALK_CB_NOP);
walk(userData, ob, &wmd->map_object, IDWALK_CB_NOP);
}
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
WarpModifierData *wmd = (WarpModifierData *)md;
walk(userData, ob, (ID **)&wmd->texture, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&wmd->object_from, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&wmd->object_to, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&wmd->map_object, IDWALK_CB_NOP);
}
static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void *userData)
@ -556,7 +548,6 @@ ModifierTypeInfo modifierType_Warp = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ foreachTexLink,
/* freeRuntimeData */ NULL,

View File

@ -74,21 +74,13 @@ static bool dependsOnTime(ModifierData *UNUSED(md))
return true;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
{
WaveModifierData *wmd = (WaveModifierData *)md;
walk(userData, ob, &wmd->objectcenter, IDWALK_CB_NOP);
walk(userData, ob, &wmd->map_object, IDWALK_CB_NOP);
}
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
WaveModifierData *wmd = (WaveModifierData *)md;
walk(userData, ob, (ID **)&wmd->texture, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&wmd->objectcenter, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&wmd->map_object, IDWALK_CB_NOP);
}
static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void *userData)
@ -508,7 +500,6 @@ ModifierTypeInfo modifierType_Wave = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ foreachTexLink,
/* freeRuntimeData */ NULL,

View File

@ -772,7 +772,6 @@ ModifierTypeInfo modifierType_WeightedNormal = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -122,19 +122,12 @@ static bool dependsOnTime(ModifierData *md)
return false;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
{
WeightVGEditModifierData *wmd = (WeightVGEditModifierData *)md;
walk(userData, ob, &wmd->mask_tex_map_obj, IDWALK_CB_NOP);
}
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
WeightVGEditModifierData *wmd = (WeightVGEditModifierData *)md;
walk(userData, ob, (ID **)&wmd->mask_texture, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&wmd->mask_tex_map_obj, IDWALK_CB_NOP);
}
static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void *userData)
@ -444,7 +437,6 @@ ModifierTypeInfo modifierType_WeightVGEdit = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ foreachTexLink,
/* freeRuntimeData */ NULL,

View File

@ -164,19 +164,12 @@ static bool dependsOnTime(ModifierData *md)
return false;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
{
WeightVGMixModifierData *wmd = (WeightVGMixModifierData *)md;
walk(userData, ob, &wmd->mask_tex_map_obj, IDWALK_CB_NOP);
}
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
WeightVGMixModifierData *wmd = (WeightVGMixModifierData *)md;
walk(userData, ob, (ID **)&wmd->mask_texture, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&wmd->mask_tex_map_obj, IDWALK_CB_NOP);
}
static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void *userData)
@ -530,7 +523,6 @@ ModifierTypeInfo modifierType_WeightVGMix = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ foreachTexLink,
/* freeRuntimeData */ NULL,

View File

@ -349,20 +349,13 @@ static bool dependsOnTime(ModifierData *md)
return 0;
}
static void foreachObjectLink(ModifierData *md, Object *ob, ObjectWalkFunc walk, void *userData)
{
WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData *)md;
walk(userData, ob, &wmd->proximity_ob_target, IDWALK_CB_NOP);
walk(userData, ob, &wmd->mask_tex_map_obj, IDWALK_CB_NOP);
}
static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *userData)
{
WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData *)md;
walk(userData, ob, (ID **)&wmd->mask_texture, IDWALK_CB_USER);
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
walk(userData, ob, (ID **)&wmd->proximity_ob_target, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&wmd->mask_tex_map_obj, IDWALK_CB_NOP);
}
static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void *userData)
@ -738,7 +731,6 @@ ModifierTypeInfo modifierType_WeightVGProximity = {
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
/* foreachTexLink */ foreachTexLink,
/* freeRuntimeData */ NULL,

View File

@ -1980,7 +1980,6 @@ ModifierTypeInfo modifierType_Weld = {
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -205,7 +205,6 @@ ModifierTypeInfo modifierType_Wireframe = {
/* updateDepgraph */ NULL,
/* dependsOnTime */ NULL,
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* foreachTexLink */ NULL,
/* freeRuntimeData */ NULL,

View File

@ -93,7 +93,6 @@ ShaderFxTypeInfo shaderfx_Type_Blur = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* panelRegister */ panelRegister,
};

View File

@ -100,7 +100,6 @@ ShaderFxTypeInfo shaderfx_Type_Colorize = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* panelRegister */ panelRegister,
};

View File

@ -90,7 +90,6 @@ ShaderFxTypeInfo shaderfx_Type_Flip = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* panelRegister */ panelRegister,
};

View File

@ -110,7 +110,6 @@ ShaderFxTypeInfo shaderfx_Type_Glow = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* panelRegister */ panelRegister,
};

View File

@ -91,7 +91,6 @@ ShaderFxTypeInfo shaderfx_Type_Pixel = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* panelRegister */ panelRegister,
};

View File

@ -118,7 +118,6 @@ ShaderFxTypeInfo shaderfx_Type_Rim = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* panelRegister */ panelRegister,
};

View File

@ -89,14 +89,11 @@ static bool isDisabled(ShaderFxData *fx, int UNUSED(userRenderParams))
return (!fxd->object) && (fxd->flag & FX_SHADOW_USE_OBJECT);
}
static void foreachObjectLink(ShaderFxData *fx,
Object *ob,
ShaderFxObjectWalkFunc walk,
void *userData)
static void foreachIDLink(ShaderFxData *fx, Object *ob, IDWalkFunc walk, void *userData)
{
ShadowShaderFxData *fxd = (ShadowShaderFxData *)fx;
walk(userData, ob, &fxd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&fxd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -191,7 +188,6 @@ ShaderFxTypeInfo shaderfx_Type_Shadow = {
/* isDisabled */ isDisabled,
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* panelRegister */ panelRegister,
};

View File

@ -76,14 +76,11 @@ static bool isDisabled(ShaderFxData *fx, int UNUSED(userRenderParams))
return !fxd->object;
}
static void foreachObjectLink(ShaderFxData *fx,
Object *ob,
ShaderFxObjectWalkFunc walk,
void *userData)
static void foreachIDLink(ShaderFxData *fx, Object *ob, IDWalkFunc walk, void *userData)
{
SwirlShaderFxData *fxd = (SwirlShaderFxData *)fx;
walk(userData, ob, &fxd->object, IDWALK_CB_NOP);
walk(userData, ob, (ID **)&fxd->object, IDWALK_CB_NOP);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
@ -120,7 +117,6 @@ ShaderFxTypeInfo shaderfx_Type_Swirl = {
/* isDisabled */ isDisabled,
/* updateDepsgraph */ updateDepsgraph,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
/* foreachIDLink */ foreachIDLink,
/* panelRegister */ panelRegister,
};

View File

@ -90,7 +90,6 @@ ShaderFxTypeInfo shaderfx_Type_Wave = {
/* isDisabled */ NULL,
/* updateDepsgraph */ NULL,
/* dependsOnTime */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
/* panelRegister */ panelRegister,
};