[Bf-blender-cvs] [f6a7da6] depsgraph_refactor: WIP: Added coded to link shapekey drivers to the geometry eval operations
Joshua Leung
noreply at git.blender.org
Tue Dec 30 10:26:25 CET 2014
Commit: f6a7da68e24a2443dfb97413855514593d874a94
Author: Joshua Leung
Date: Tue Dec 30 22:21:25 2014 +1300
Branches: depsgraph_refactor
https://developer.blender.org/rBf6a7da68e24a2443dfb97413855514593d874a94
WIP: Added coded to link shapekey drivers to the geometry eval operations
This currently doesn't work because the geometry stuff isn't set up correctly
yet. With some tweaks, it should eventually work though.
===================================================================
M source/blender/depsgraph/intern/depsgraph_build_relations.cpp
===================================================================
diff --git a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
index 400643e..c07d2fe 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_relations.cpp
@@ -608,6 +608,14 @@ void DepsgraphRelationBuilder::build_driver(ID *id, FCurve *fcu)
MEM_freeN(modifier_name);
}
}
+ else if (GS(id->name) == ID_KE && strstr(fcu->rna_path, "key_blocks[")) {
+ /* shape key driver - hook into the base geometry operation */
+ // XXX: double check where this points
+ Key *shape_key = (Key *)id;
+
+ ComponentKey geometry_key(shape_key->from, DEPSNODE_TYPE_GEOMETRY);
+ add_relation(driver_key, geometry_key, DEPSREL_TYPE_DRIVER, "[Driver -> ShapeKey Geom]");
+ }
else {
if (GS(id->name) == ID_OB) {
/* assume that driver affects a transform... */
More information about the Bf-blender-cvs
mailing list