Depsgraph: Add utility function for transform dependency
This is what modifiers are to use to indicate that they depend on a transformation of the object itself. Currently should be no functional changes, but in the future this will allow to easily change transform operation depending on whether there is a simulation associated with the object.
This commit is contained in:
@@ -97,7 +97,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_object_relation(ctx->node, amd->object, DEG_OB_COMP_EVAL_POSE, "Armature Modifier");
|
||||
DEG_add_object_relation(ctx->node, amd->object, DEG_OB_COMP_TRANSFORM, "Armature Modifier");
|
||||
}
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Armature Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Armature Modifier");
|
||||
}
|
||||
|
||||
static void deformVerts(
|
||||
|
@@ -95,7 +95,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
if (amd->offset_ob != NULL) {
|
||||
DEG_add_object_relation(ctx->node, amd->offset_ob, DEG_OB_COMP_TRANSFORM, "Array Modifier Offset");
|
||||
}
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Array Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Array Modifier");
|
||||
}
|
||||
|
||||
BLI_INLINE float sum_v3(const float v[3])
|
||||
|
@@ -89,7 +89,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_object_relation(ctx->node, bmd->object, DEG_OB_COMP_GEOMETRY, "Boolean Modifier");
|
||||
}
|
||||
/* We need own transformation as well. */
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Boolean Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Boolean Modifier");
|
||||
}
|
||||
|
||||
static Mesh *get_quick_mesh(
|
||||
|
@@ -90,7 +90,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
CastModifierData *cmd = (CastModifierData *)md;
|
||||
if (cmd->object != NULL) {
|
||||
DEG_add_object_relation(ctx->node, cmd->object, DEG_OB_COMP_TRANSFORM, "Cast Modifier");
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Cast Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Cast Modifier");
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -122,7 +122,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_collision_relations(ctx->node, ctx->object, clmd->coll_parms->group, eModifierType_Collision, NULL, "Cloth Collision");
|
||||
DEG_add_forcefield_relations(ctx->node, ctx->object, clmd->sim_parms->effector_weights, true, 0, "Cloth Field");
|
||||
}
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Cloth Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Cloth Modifier");
|
||||
}
|
||||
|
||||
static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
|
||||
|
@@ -91,7 +91,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_special_eval_flag(ctx->node, &cmd->object->id, DAG_EVAL_NEED_CURVE_PATH);
|
||||
}
|
||||
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Curve Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Curve Modifier");
|
||||
}
|
||||
|
||||
static void deformVerts(
|
||||
|
@@ -128,7 +128,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
|
||||
if (dtmd->flags & MOD_DATATRANSFER_OBSRC_TRANSFORM) {
|
||||
DEG_add_object_relation(ctx->node, dtmd->ob_source, DEG_OB_COMP_TRANSFORM, "DataTransfer Modifier");
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "DataTransfer Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "DataTransfer Modifier");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -136,14 +136,14 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
{
|
||||
DisplaceModifierData *dmd = (DisplaceModifierData *)md;
|
||||
if (dmd->map_object != NULL && dmd->texmapping == MOD_DISP_MAP_OBJECT) {
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Displace Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Displace Modifier");
|
||||
DEG_add_object_relation(ctx->node, dmd->map_object, DEG_OB_COMP_TRANSFORM, "Displace Modifier");
|
||||
}
|
||||
if (dmd->texmapping == MOD_DISP_MAP_GLOBAL ||
|
||||
(ELEM(dmd->direction, MOD_DISP_DIR_X, MOD_DISP_DIR_Y, MOD_DISP_DIR_Z, MOD_DISP_DIR_RGB_XYZ) &&
|
||||
dmd->space == MOD_DISP_SPACE_GLOBAL))
|
||||
{
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Displace Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Displace Modifier");
|
||||
}
|
||||
if (dmd->texture != NULL) {
|
||||
DEG_add_generic_id_relation(ctx->node, &dmd->texture->id, "Displace Modifier");
|
||||
|
@@ -112,7 +112,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_object_relation(ctx->node, hmd->object, DEG_OB_COMP_TRANSFORM, "Hook Modifier");
|
||||
}
|
||||
/* We need own transformation as well. */
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Hook Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Hook Modifier");
|
||||
}
|
||||
|
||||
struct HookData_cb {
|
||||
|
@@ -80,7 +80,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_object_relation(ctx->node, lmd->object, DEG_OB_COMP_GEOMETRY, "Lattice Modifier");
|
||||
DEG_add_object_relation(ctx->node, lmd->object, DEG_OB_COMP_TRANSFORM, "Lattice Modifier");
|
||||
}
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Lattice Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Lattice Modifier");
|
||||
}
|
||||
|
||||
static void deformVerts(
|
||||
|
@@ -69,7 +69,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
/* TODO(sergey): Is it a proper relation here? */
|
||||
DEG_add_object_relation(ctx->node, mmd->ob_arm, DEG_OB_COMP_TRANSFORM, "Mask Modifier");
|
||||
arm->flag |= ARM_HAS_VIZ_DEPS;
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Mask Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Mask Modifier");
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -66,7 +66,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
MirrorModifierData *mmd = (MirrorModifierData *)md;
|
||||
if (mmd->mirror_ob != NULL) {
|
||||
DEG_add_object_relation(ctx->node, mmd->mirror_ob, DEG_OB_COMP_TRANSFORM, "Mirror Modifier");
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Mirror Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Mirror Modifier");
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -531,7 +531,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
NormalEditModifierData *enmd = (NormalEditModifierData *) md;
|
||||
if (enmd->target) {
|
||||
DEG_add_object_relation(ctx->node, enmd->target, DEG_OB_COMP_TRANSFORM, "NormalEdit Modifier");
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "NormalEdit Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "NormalEdit Modifier");
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1107,7 +1107,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
ScrewModifierData *ltmd = (ScrewModifierData *)md;
|
||||
if (ltmd->ob_axis != NULL) {
|
||||
DEG_add_object_relation(ctx->node, ltmd->ob_axis, DEG_OB_COMP_TRANSFORM, "Screw Modifier");
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Screw Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Screw Modifier");
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -157,7 +157,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_special_eval_flag(ctx->node, &smd->auxTarget->id, DAG_EVAL_NEED_SHRINKWRAP_BOUNDARY);
|
||||
}
|
||||
}
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Shrinkwrap Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Shrinkwrap Modifier");
|
||||
}
|
||||
|
||||
static bool dependsOnNormals(ModifierData *md)
|
||||
|
@@ -367,7 +367,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md;
|
||||
if (smd->origin != NULL) {
|
||||
DEG_add_object_relation(ctx->node, smd->origin, DEG_OB_COMP_TRANSFORM, "SimpleDeform Modifier");
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "SimpleDeform Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "SimpleDeform Modifier");
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -99,7 +99,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
}
|
||||
}
|
||||
if (do_add_own_transform) {
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "UV Project Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "UV Project Modifier");
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -241,7 +241,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
uv_warp_deps_object_bone_new(ctx->node, umd->object_src, umd->bone_src);
|
||||
uv_warp_deps_object_bone_new(ctx->node, umd->object_dst, umd->bone_dst);
|
||||
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "UVWarp Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "UVWarp Modifier");
|
||||
}
|
||||
|
||||
ModifierTypeInfo modifierType_UVWarp = {
|
||||
|
@@ -135,7 +135,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
{
|
||||
WarpModifierData *wmd = (WarpModifierData *) md;
|
||||
if (wmd->object_from != NULL && wmd->object_to != NULL) {
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Warplace Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Warplace Modifier");
|
||||
DEG_add_object_relation(ctx->node, wmd->object_from, DEG_OB_COMP_TRANSFORM, "Warp Modifier from");
|
||||
DEG_add_object_relation(ctx->node, wmd->object_to, DEG_OB_COMP_TRANSFORM, "Warp Modifier to");
|
||||
}
|
||||
|
@@ -112,7 +112,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_object_relation(ctx->node, wmd->map_object, DEG_OB_COMP_TRANSFORM, "Wave Modifier");
|
||||
}
|
||||
if (wmd->objectcenter != NULL || wmd->map_object != NULL) {
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "Wave Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "Wave Modifier");
|
||||
}
|
||||
if (wmd->texture != NULL) {
|
||||
DEG_add_generic_id_relation(ctx->node, &wmd->texture->id, "Wave Modifier");
|
||||
|
@@ -133,10 +133,10 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
WeightVGEditModifierData *wmd = (WeightVGEditModifierData *)md;
|
||||
if (wmd->mask_tex_map_obj != NULL && wmd->mask_tex_mapping == MOD_DISP_MAP_OBJECT) {
|
||||
DEG_add_object_relation(ctx->node, wmd->mask_tex_map_obj, DEG_OB_COMP_TRANSFORM, "WeightVGEdit Modifier");
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "WeightVGEdit Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "WeightVGEdit Modifier");
|
||||
}
|
||||
else if (wmd->mask_tex_mapping == MOD_DISP_MAP_GLOBAL) {
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "WeightVGEdit Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "WeightVGEdit Modifier");
|
||||
}
|
||||
if (wmd->mask_texture != NULL) {
|
||||
DEG_add_generic_id_relation(ctx->node, &wmd->mask_texture->id, "WeightVGEdit Modifier");
|
||||
|
@@ -170,10 +170,10 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
DEG_add_object_relation(ctx->node, wmd->mask_tex_map_obj, DEG_OB_COMP_TRANSFORM, "WeightVGMix Modifier");
|
||||
DEG_add_object_relation(ctx->node, wmd->mask_tex_map_obj, DEG_OB_COMP_GEOMETRY, "WeightVGMix Modifier");
|
||||
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "WeightVGMix Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "WeightVGMix Modifier");
|
||||
}
|
||||
else if (wmd->mask_tex_mapping == MOD_DISP_MAP_GLOBAL) {
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "WeightVGMix Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "WeightVGMix Modifier");
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_GEOMETRY, "WeightVGMix Modifier");
|
||||
}
|
||||
if (wmd->mask_texture != NULL) {
|
||||
|
@@ -347,7 +347,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
|
||||
if (wmd->mask_texture != NULL) {
|
||||
DEG_add_generic_id_relation(ctx->node, &wmd->mask_texture->id, "WeightVGProximity Modifier");
|
||||
}
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_TRANSFORM, "WeightVGProximity Modifier");
|
||||
DEG_add_modifier_to_transform_relation(ctx->node, "WeightVGProximity Modifier");
|
||||
DEG_add_object_relation(ctx->node, ctx->object, DEG_OB_COMP_GEOMETRY, "WeightVGProximity Modifier");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user