[Bf-blender-cvs] [319c95b] depsgraph_refactor: Placeholder debug text for DepsNodes to figure out why add_relation is failing
Joshua Leung
noreply at git.blender.org
Wed Dec 17 04:40:58 CET 2014
Commit: 319c95b139798226b242127d7cb3d1695366eabe
Author: Joshua Leung
Date: Wed Dec 10 02:35:09 2014 +1300
Branches: depsgraph_refactor
https://developer.blender.org/rB319c95b139798226b242127d7cb3d1695366eabe
Placeholder debug text for DepsNodes to figure out why add_relation is failing
===================================================================
M source/blender/depsgraph/intern/depsgraph_build.h
M source/blender/depsgraph/intern/depsgraph_type_defines.cpp
===================================================================
diff --git a/source/blender/depsgraph/intern/depsgraph_build.h b/source/blender/depsgraph/intern/depsgraph_build.h
index 5be13c4..0fa1b6a 100644
--- a/source/blender/depsgraph/intern/depsgraph_build.h
+++ b/source/blender/depsgraph/intern/depsgraph_build.h
@@ -233,6 +233,20 @@ struct DepsNodeHandle {
#include "depsnode_component.h"
+// XXX: move elsewhere?
+BLI_INLINE string get_node_info_string(DepsNode *node)
+{
+ if (node != NULL) {
+ char typebuf[5];
+ sprintf(typebuf, "%d", node->type);
+
+ return string("Node(") + typebuf + ", " + node->name + ")";
+ }
+ else {
+ return string("<No Node>");
+ }
+}
+
template <class NodeType>
BLI_INLINE OperationDepsNode *get_entry_operation(NodeType *node)
{ return NULL; }
@@ -257,21 +271,25 @@ template <typename KeyFrom, typename KeyTo>
void DepsgraphRelationBuilder::add_relation(const KeyFrom &key_from, const KeyTo &key_to,
eDepsRelation_Type type, const string &description)
{
- OperationDepsNode *op_from = get_exit_operation(find_node(key_from));
- OperationDepsNode *op_to = get_entry_operation(find_node(key_to));
+ DepsNode *node_from = find_node(key_from);
+ DepsNode *node_to = find_node(key_to);
+
+ OperationDepsNode *op_from = get_exit_operation(node_from);
+ OperationDepsNode *op_to = get_entry_operation(node_to);
+
if (op_from && op_to) {
add_operation_relation(op_from, op_to, type, description);
}
else {
if (!op_from) {
/* XXX TODO handle as error or report if needed */
- fprintf(stderr, "add_relation(%d, %s) - Could not find op_from\n",
- type, description.c_str());
+ fprintf(stderr, "add_relation(%d, %s) - Could not find op_from (%s)\n",
+ type, description.c_str(), get_node_info_string(node_from).c_str());
}
if (!op_to) {
/* XXX TODO handle as error or report if needed */
- fprintf(stderr, "add_relation(%d, %s) - Could not find op_to\n",
- type, description.c_str());
+ fprintf(stderr, "add_relation(%d, %s) - Could not find op_to (%s)\n",
+ type, description.c_str(), get_node_info_string(node_to).c_str());
}
}
}
diff --git a/source/blender/depsgraph/intern/depsgraph_type_defines.cpp b/source/blender/depsgraph/intern/depsgraph_type_defines.cpp
index 6511b44..0dd1362 100644
--- a/source/blender/depsgraph/intern/depsgraph_type_defines.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_type_defines.cpp
@@ -274,6 +274,7 @@ const string deg_op_name_pose_eval_flush = "Flush Pose Eval";
const string deg_op_name_ik_solver = "IK Solver";
const string deg_op_name_spline_ik_solver = "Spline IK Solver";
const string deg_op_name_psys_eval = "PSys Eval";
+
string deg_op_name_animdata(const ID *id)
{
AnimData *adt = BKE_animdata_from_id((ID *)id);
More information about the Bf-blender-cvs
mailing list