Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations.cc')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc15
1 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index a27507954fb..633646da918 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -1062,10 +1062,17 @@ void DepsgraphRelationBuilder::build_constraints(ID *id,
(ct->subtarget[0]))
{
/* Vertex group. */
- /* NOTE: for now, we don't need to represent vertex groups
- * separately. */
- ComponentKey target_key(&ct->tar->id, NodeType::GEOMETRY);
- add_relation(target_key, constraint_op_key, cti->name);
+ /* NOTE: Vertex group is likely to be used to get vertices
+ * in a world space. This requires to know both geometry
+ * and transformation of the target object. */
+ ComponentKey target_transform_key(
+ &ct->tar->id, NodeType::TRANSFORM);
+ ComponentKey target_geometry_key(
+ &ct->tar->id, NodeType::GEOMETRY);
+ add_relation(
+ target_transform_key, constraint_op_key, cti->name);
+ add_relation(
+ target_geometry_key, constraint_op_key, cti->name);
add_customdata_mask(ct->tar, CD_MASK_MDEFORMVERT);
}
else if (con->type == CONSTRAINT_TYPE_SHRINKWRAP) {