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.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index c62fc604f94..0888105c248 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -278,6 +278,25 @@ bool DepsgraphRelationBuilder::has_node(const OperationKey &key) const
return find_node(key) != NULL;
}
+void DepsgraphRelationBuilder::add_modifier_to_transform_relation(
+ const DepsNodeHandle *handle,
+ const char *description)
+{
+ /* Geometry operation, this is where relation will be wired to. */
+ OperationNode *geometry_operation_node =
+ handle->node->get_entry_operation();
+ BLI_assert(geometry_operation_node->owner->type == NodeType::GEOMETRY);
+ /* Transform operation, the source of the relation. */
+ ID *id = geometry_operation_node->owner->owner->id_orig;
+ ComponentKey transform_component_key(id, NodeType::TRANSFORM);
+ Node *transform_node = get_node(transform_component_key);
+ OperationNode *transform_operation_node =
+ transform_node->get_exit_operation();
+ /* Wire up the actual relation. */
+ add_operation_relation(
+ transform_operation_node, geometry_operation_node, description);
+}
+
void DepsgraphRelationBuilder::add_customdata_mask(Object *object, uint64_t mask)
{
if (mask != 0 && object != NULL && object->type == OB_MESH) {