[Bf-blender-cvs] [3fd224f] depsgraph_refactor: Depsgraph: Report opcodes using their string identifiers instead of numbers

Joshua Leung noreply at git.blender.org
Wed Jan 21 12:59:56 CET 2015


Commit: 3fd224f2c8a93a93c3e65a2b22373b08a0338ae3
Author: Joshua Leung
Date:   Tue Jan 20 16:32:47 2015 +1300
Branches: depsgraph_refactor
https://developer.blender.org/rB3fd224f2c8a93a93c3e65a2b22373b08a0338ae3

Depsgraph: Report opcodes using their string identifiers instead of numbers

===================================================================

M	source/blender/depsgraph/intern/depsgraph_build.cpp
M	source/blender/depsgraph/intern/depsgraph_build.h
M	source/blender/depsgraph/intern/depsgraph_types.h
M	source/blender/depsgraph/intern/depsnode_operation.cpp

===================================================================

diff --git a/source/blender/depsgraph/intern/depsgraph_build.cpp b/source/blender/depsgraph/intern/depsgraph_build.cpp
index e2682f0..7877666 100644
--- a/source/blender/depsgraph/intern/depsgraph_build.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_build.cpp
@@ -337,7 +337,7 @@ OperationDepsNode *DepsgraphRelationBuilder::find_node(const OperationKey &key)
 	
 	OperationDepsNode *op_node = comp_node->find_operation(key.opcode, key.name);
 	if (!op_node) {
-		fprintf(stderr, "find_node_operation: Failed for (%d, '%s')\n", key.opcode, key.name.c_str());
+		fprintf(stderr, "find_node_operation: Failed for (%s, '%s')\n", DEG_OPNAMES[key.opcode], key.name.c_str());
 	}
 	return op_node;
 }
diff --git a/source/blender/depsgraph/intern/depsgraph_build.h b/source/blender/depsgraph/intern/depsgraph_build.h
index 50405fc..961103c 100644
--- a/source/blender/depsgraph/intern/depsgraph_build.h
+++ b/source/blender/depsgraph/intern/depsgraph_build.h
@@ -179,12 +179,10 @@ struct OperationKey
 	
 	string identifier() const
 	{
-		char typebuf[5], codebuf[5];
-		
+		char typebuf[5];
 		sprintf(typebuf, "%d", component_type);
-		sprintf(codebuf, "%d", opcode); // XXX: use the string defs instead
 		
-		return string("OperationKey(") + "t: " + typebuf + ", cn: '" + component_name + "', c: " + codebuf + ", n: '" + name + "')";
+		return string("OperationKey(") + "t: " + typebuf + ", cn: '" + component_name + "', c: " + DEG_OPNAMES[opcode] + ", n: '" + name + "')";
 	}
 	
 	
diff --git a/source/blender/depsgraph/intern/depsgraph_types.h b/source/blender/depsgraph/intern/depsgraph_types.h
index cd2ff00..bbcb3e3 100644
--- a/source/blender/depsgraph/intern/depsgraph_types.h
+++ b/source/blender/depsgraph/intern/depsgraph_types.h
@@ -99,6 +99,9 @@ typedef enum eDepsOperation_Code {
 	#undef DEF_DEG_OPCODE
 } eDepsOperation_Code;
 
+/* String defines for these opcodes, defined in depsnode_operation.cpp */
+extern const char *DEG_OPNAMES[];
+
 
 /* Type of operation */
 typedef enum eDepsOperation_Type {
diff --git a/source/blender/depsgraph/intern/depsnode_operation.cpp b/source/blender/depsgraph/intern/depsnode_operation.cpp
index 3700e74..e921cd1 100644
--- a/source/blender/depsgraph/intern/depsnode_operation.cpp
+++ b/source/blender/depsgraph/intern/depsnode_operation.cpp
@@ -40,6 +40,18 @@ extern "C" {
 #include "stubs.h" // XXX: THIS MUST BE REMOVED WHEN THE DEPSGRAPH REFACTOR IS DONE
 
 /* ******************************************************** */
+/* OpNode Identifiers Array - Exported to other depsgraph files too... */
+
+/* identifiers for operations */
+const char *DEG_OPNAMES[] = {
+	#define DEF_DEG_OPCODE(label) #label,
+	#include "depsnode_opcodes.h"
+	#undef DEF_DEG_OPCODE
+	
+	"<Invalid>"
+};
+
+/* ******************************************************** */
 /* Inner Nodes */
 
 OperationDepsNode::OperationDepsNode() :
@@ -53,15 +65,6 @@ OperationDepsNode::~OperationDepsNode()
 
 string OperationDepsNode::identifier() const
 {
-	/* identifiers for operations */
-	const char *DEG_OPNAMES[] = {
-		#define DEF_DEG_OPCODE(label) #label,
-		#include "depsnode_opcodes.h"
-		#undef DEF_DEG_OPCODE
-		
-		"<Invalid>"
-	};
-	
 	BLI_assert((opcode > 0) && (opcode < ARRAY_SIZE(DEG_OPNAMES)));
 	return string(DEG_OPNAMES[opcode]) + "(" + name + ")";
 }




More information about the Bf-blender-cvs mailing list