[Bf-blender-cvs] [ba63e0e] depsgraph_refactor: Move all object transform node building code into a single function
Joshua Leung
noreply at git.blender.org
Wed Dec 17 04:41:26 CET 2014
Commit: ba63e0e9ee7c45c464fa8c26fcb9d1ee238cdc14
Author: Joshua Leung
Date: Wed Dec 17 14:40:38 2014 +1300
Branches: depsgraph_refactor
https://developer.blender.org/rBba63e0e9ee7c45c464fa8c26fcb9d1ee238cdc14
Move all object transform node building code into a single function
===================================================================
M source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
===================================================================
diff --git a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
index afe1b80..cf9a583 100644
--- a/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build_nodes.cpp
@@ -217,28 +217,6 @@ void DepsgraphNodeBuilder::build_object(Scene *scene, Object *ob)
/* AnimData */
build_animdata(&ob->id);
- /* object parent */
- if (ob->parent) {
- add_operation_node(&ob->id, DEPSNODE_TYPE_TRANSFORM,
- DEPSOP_TYPE_EXEC, function_bind(BKE_object_eval_parent, _1, ob),
- DEG_OPCODE_TRANSFORM_PARENT);
- }
-
- /* object constraints */
- if (ob->constraints.first) {
- build_object_constraints(scene, ob);
- }
-
- /* Temporary uber-update node, which does everything.
- * It is for the being we're porting old dependencies into the new system.
- * We'll get rid of this node as soon as all the granular update functions
- * are filled in.
- *
- * TODO(sergey): Get rid of this node.
- */
- add_operation_node(&ob->id, DEPSNODE_TYPE_TRANSFORM,
- DEPSOP_TYPE_EXEC, function_bind(BKE_object_eval_uber_transform, _1, scene, ob),
- DEG_OPCODE_OBJECT_UBEREVAL);
/* object data */
if (ob->data) {
@@ -296,11 +274,33 @@ void DepsgraphNodeBuilder::build_object(Scene *scene, Object *ob)
void DepsgraphNodeBuilder::build_object_transform(Scene *scene, Object *ob)
{
- /* init operation */
-
+ /* local transforms (from transform channels - loc/rot/scale + deltas) */
add_operation_node(&ob->id, DEPSNODE_TYPE_TRANSFORM,
DEPSOP_TYPE_INIT, function_bind(BKE_object_eval_local_transform, _1, scene, ob),
DEG_OPCODE_TRANSFORM_LOCAL);
+
+ /* object parent */
+ if (ob->parent) {
+ add_operation_node(&ob->id, DEPSNODE_TYPE_TRANSFORM,
+ DEPSOP_TYPE_EXEC, function_bind(BKE_object_eval_parent, _1, ob),
+ DEG_OPCODE_TRANSFORM_PARENT);
+ }
+
+ /* object constraints */
+ if (ob->constraints.first) {
+ build_object_constraints(scene, ob);
+ }
+
+ /* Temporary uber-update node, which does everything.
+ * It is for the being we're porting old dependencies into the new system.
+ * We'll get rid of this node as soon as all the granular update functions
+ * are filled in.
+ *
+ * TODO(sergey): Get rid of this node.
+ */
+ add_operation_node(&ob->id, DEPSNODE_TYPE_TRANSFORM,
+ DEPSOP_TYPE_EXEC, function_bind(BKE_object_eval_uber_transform, _1, scene, ob),
+ DEG_OPCODE_OBJECT_UBEREVAL);
}
/* == Constraints Graph Notes ==
More information about the Bf-blender-cvs
mailing list