Fix T66267: only add DEG cloth collision relations if collisions are

enabled

was detecting unneccessary dependency cycle

Reviewers: sergey, brecht

Maniphest Tasks: T66267

Differential Revision: https://developer.blender.org/D5160
This commit is contained in:
Philipp Oeser 2019-07-01 11:32:10 +02:00
parent 1f79aa602e
commit 67fc4f4bed
Notes: blender-bot 2023-02-14 07:25:46 +01:00
Referenced by issue #66300, Greasepencil: GPENCIL_MT_layer_context_menu not working in topbar layer popover
Referenced by issue #66267, Mesh Deform Issue with Collision-less Cloth Cage and Object with Collision
2 changed files with 9 additions and 7 deletions

View File

@ -824,7 +824,7 @@ static void rna_def_cloth_collision_settings(BlenderRNA *brna)
prop = RNA_def_property(srna, "use_collision", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flags", CLOTH_COLLSETTINGS_FLAG_ENABLED);
RNA_def_property_ui_text(prop, "Enable Collision", "Enable collisions with other objects");
RNA_def_property_update(prop, 0, "rna_cloth_update");
RNA_def_property_update(prop, 0, "rna_cloth_dependency_update");
prop = RNA_def_property(srna, "distance_min", PROP_FLOAT, PROP_DISTANCE);
RNA_def_property_float_sdna(prop, NULL, "epsilon");

View File

@ -125,12 +125,14 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
{
ClothModifierData *clmd = (ClothModifierData *)md;
if (clmd != NULL) {
DEG_add_collision_relations(ctx->node,
ctx->object,
clmd->coll_parms->group,
eModifierType_Collision,
NULL,
"Cloth Collision");
if (clmd->coll_parms->flags & CLOTH_COLLSETTINGS_FLAG_ENABLED) {
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");
}