[Bf-blender-cvs] [035026f] master: Code cleanup: Replace magic number with verbose name for math node operations

Sergey Sharybin noreply at git.blender.org
Wed Nov 5 11:37:01 CET 2014


Commit: 035026f48a2766cd5793f92062c7268bfb02a5c6
Author: Sergey Sharybin
Date:   Wed Nov 5 11:27:52 2014 +0100
Branches: master
https://developer.blender.org/rB035026f48a2766cd5793f92062c7268bfb02a5c6

Code cleanup: Replace magic number with verbose name for math node operations

Should be no functional changes, just much less cryptic code.

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

M	source/blender/compositor/nodes/COM_MathNode.cpp
M	source/blender/makesdna/DNA_node_types.h
M	source/blender/makesrna/intern/rna_nodetree.c
M	source/blender/nodes/shader/nodes/node_shader_math.c
M	source/blender/nodes/texture/nodes/node_texture_math.c

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

diff --git a/source/blender/compositor/nodes/COM_MathNode.cpp b/source/blender/compositor/nodes/COM_MathNode.cpp
index ef7046b..4cd6964 100644
--- a/source/blender/compositor/nodes/COM_MathNode.cpp
+++ b/source/blender/compositor/nodes/COM_MathNode.cpp
@@ -29,61 +29,61 @@ void MathNode::convertToOperations(NodeConverter &converter, const CompositorCon
 	MathBaseOperation *operation = NULL;
 	
 	switch (this->getbNode()->custom1) {
-		case 0: /* Add */
+		case NODE_MATH_ADD:
 			operation = new MathAddOperation();
 			break;
-		case 1: /* Subtract */
+		case NODE_MATH_SUB:
 			operation = new MathSubtractOperation();
 			break;
-		case 2: /* Multiply */
+		case NODE_MATH_MUL:
 			operation = new MathMultiplyOperation();
 			break;
-		case 3: /* Divide */
+		case NODE_MATH_DIVIDE:
 			operation = new MathDivideOperation();
 			break;
-		case 4: /* Sine */
+		case NODE_MATH_SIN:
 			operation = new MathSineOperation();
 			break;
-		case 5: /* Cosine */
+		case NODE_MATH_COS:
 			operation = new MathCosineOperation();
 			break;
-		case 6: /* Tangent */
+		case NODE_MATH_TAN:
 			operation = new MathTangentOperation();
 			break;
-		case 7: /* Arc-Sine */
+		case NODE_MATH_ASIN:
 			operation = new MathArcSineOperation();
 			break;
-		case 8: /* Arc-Cosine */
+		case NODE_MATH_ACOS:
 			operation = new MathArcCosineOperation();
 			break;
-		case 9: /* Arc-Tangent */
+		case NODE_MATH_ATAN:
 			operation = new MathArcTangentOperation();
 			break;
-		case 10: /* Power */
+		case NODE_MATH_POW:
 			operation = new MathPowerOperation();
 			break;
-		case 11: /* Logarithm */
+		case NODE_MATH_LOG:
 			operation = new MathLogarithmOperation();
 			break;
-		case 12: /* Minimum */
+		case NODE_MATH_MIN:
 			operation = new MathMinimumOperation();
 			break;
-		case 13: /* Maximum */
+		case NODE_MATH_MAX:
 			operation = new MathMaximumOperation();
 			break;
-		case 14: /* Round */
+		case NODE_MATH_ROUND:
 			operation = new MathRoundOperation();
 			break;
-		case 15: /* Less Than */
+		case NODE_MATH_LESS:
 			operation = new MathLessThanOperation();
 			break;
-		case 16: /* Greater Than */
+		case NODE_MATH_GREATER:
 			operation = new MathGreaterThanOperation();
 			break;
-		case 17: /* Modulo */
+		case NODE_MATH_MOD:
 			operation = new MathModuloOperation();
 			break;
-		case 18: /* Absolute Value */
+		case NODE_MATH_ABS:
 			operation = new MathAbsoluteOperation();
 			break;
 	}
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 656e24d..02c451e 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -988,6 +988,29 @@ typedef struct NodeSunBeams {
 /* math node clamp */
 #define SHD_MATH_CLAMP		1
 
+/* Math node operation/ */
+enum {
+	NODE_MATH_ADD     = 0,
+	NODE_MATH_SUB     = 1,
+	NODE_MATH_MUL     = 2,
+	NODE_MATH_DIVIDE  = 3,
+	NODE_MATH_SIN     = 4,
+	NODE_MATH_COS     = 5,
+	NODE_MATH_TAN     = 6,
+	NODE_MATH_ASIN    = 7,
+	NODE_MATH_ACOS    = 8,
+	NODE_MATH_ATAN    = 9,
+	NODE_MATH_POW     = 10,
+	NODE_MATH_LOG     = 11,
+	NODE_MATH_MIN     = 12,
+	NODE_MATH_MAX     = 13,
+	NODE_MATH_ROUND   = 14,
+	NODE_MATH_LESS    = 15,
+	NODE_MATH_GREATER = 16,
+	NODE_MATH_MOD     = 17,
+	NODE_MATH_ABS     = 18,
+};
+
 /* mix rgb node flags */
 #define SHD_MIXRGB_USE_ALPHA	1
 #define SHD_MIXRGB_CLAMP	2
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index 9ced016..91dcb9f 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -112,25 +112,25 @@ EnumPropertyItem node_icon_items[] = {
 #undef DEF_VICO
 
 EnumPropertyItem node_math_items[] = {
-	{ 0, "ADD",          0, "Add",          ""},
-	{ 1, "SUBTRACT",     0, "Subtract",     ""},
-	{ 2, "MULTIPLY",     0, "Multiply",     ""},
-	{ 3, "DIVIDE",       0, "Divide",       ""},
-	{ 4, "SINE",         0, "Sine",         ""},
-	{ 5, "COSINE",       0, "Cosine",       ""},
-	{ 6, "TANGENT",      0, "Tangent",      ""},
-	{ 7, "ARCSINE",      0, "Arcsine",      ""},
-	{ 8, "ARCCOSINE",    0, "Arccosine",    ""},
-	{ 9, "ARCTANGENT",   0, "Arctangent",   ""},
-	{10, "POWER",        0, "Power",        ""},
-	{11, "LOGARITHM",    0, "Logarithm",    ""},
-	{12, "MINIMUM",      0, "Minimum",      ""},
-	{13, "MAXIMUM",      0, "Maximum",      ""},
-	{14, "ROUND",        0, "Round",        ""},
-	{15, "LESS_THAN",    0, "Less Than",    ""},
-	{16, "GREATER_THAN", 0, "Greater Than", ""},
-	{17, "MODULO",       0, "Modulo",       ""},
-	{18, "ABSOLUTE",     0, "Absolute",     ""},
+	{NODE_MATH_ADD,     "ADD",          0, "Add",          ""},
+	{NODE_MATH_SUB,     "SUBTRACT",     0, "Subtract",     ""},
+	{NODE_MATH_MUL,     "MULTIPLY",     0, "Multiply",     ""},
+	{NODE_MATH_DIVIDE,  "DIVIDE",       0, "Divide",       ""},
+	{NODE_MATH_SIN,     "SINE",         0, "Sine",         ""},
+	{NODE_MATH_COS,     "COSINE",       0, "Cosine",       ""},
+	{NODE_MATH_TAN,     "TANGENT",      0, "Tangent",      ""},
+	{NODE_MATH_ASIN,    "ARCSINE",      0, "Arcsine",      ""},
+	{NODE_MATH_ACOS,    "ARCCOSINE",    0, "Arccosine",    ""},
+	{NODE_MATH_ATAN,    "ARCTANGENT",   0, "Arctangent",   ""},
+	{NODE_MATH_POW,     "POWER",        0, "Power",        ""},
+	{NODE_MATH_LOG,     "LOGARITHM",    0, "Logarithm",    ""},
+	{NODE_MATH_MIN,     "MINIMUM",      0, "Minimum",      ""},
+	{NODE_MATH_MAX,     "MAXIMUM",      0, "Maximum",      ""},
+	{NODE_MATH_ROUND,   "ROUND",        0, "Round",        ""},
+	{NODE_MATH_LESS,    "LESS_THAN",    0, "Less Than",    ""},
+	{NODE_MATH_GREATER, "GREATER_THAN", 0, "Greater Than", ""},
+	{NODE_MATH_MOD,     "MODULO",       0, "Modulo",       ""},
+	{NODE_MATH_ABS,     "ABSOLUTE",     0, "Absolute",     ""},
 	{0, NULL, 0, NULL, NULL}
 };
 
diff --git a/source/blender/nodes/shader/nodes/node_shader_math.c b/source/blender/nodes/shader/nodes/node_shader_math.c
index a33b336..eb018e6 100644
--- a/source/blender/nodes/shader/nodes/node_shader_math.c
+++ b/source/blender/nodes/shader/nodes/node_shader_math.c
@@ -54,16 +54,16 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 	
 	switch (node->custom1) {
 	
-		case 0: /* Add */
+		case NODE_MATH_ADD:
 			r = a + b;
 			break;
-		case 1: /* Subtract */
+		case NODE_MATH_SUB:
 			r = a - b;
 			break;
-		case 2: /* Multiply */
+		case NODE_MATH_MUL:
 			r = a * b;
 			break;
-		case 3: /* Divide */
+		case NODE_MATH_DIVIDE:
 		{
 			if (b == 0) /* We don't want to divide by zero. */
 				r = 0.0;
@@ -71,7 +71,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = a / b;
 			break;
 		}
-		case 4: /* Sine */
+		case NODE_MATH_SIN:
 		{
 			if (in[0]->hasinput || !in[1]->hasinput)  /* This one only takes one input, so we've got to choose. */
 				r = sinf(a);
@@ -79,7 +79,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = sinf(b);
 			break;
 		}
-		case 5: /* Cosine */
+		case NODE_MATH_COS:
 		{
 			if (in[0]->hasinput || !in[1]->hasinput)  /* This one only takes one input, so we've got to choose. */
 				r = cosf(a);
@@ -87,7 +87,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = cosf(b);
 			break;
 		}
-		case 6: /* Tangent */
+		case NODE_MATH_TAN:
 		{
 			if (in[0]->hasinput || !in[1]->hasinput)  /* This one only takes one input, so we've got to choose. */
 				r = tanf(a);
@@ -95,7 +95,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = tanf(b);
 			break;
 		}
-		case 7: /* Arc-Sine */
+		case NODE_MATH_ASIN:
 		{
 			if (in[0]->hasinput || !in[1]->hasinput) { /* This one only takes one input, so we've got to choose. */
 				/* Can't do the impossible... */
@@ -113,7 +113,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 			}
 			break;
 		}
-		case 8: /* Arc-Cosine */
+		case NODE_MATH_ACOS:
 		{
 			if (in[0]->hasinput || !in[1]->hasinput) { /* This one only takes one input, so we've got to choose. */
 				/* Can't do the impossible... */
@@ -131,7 +131,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 			}
 			break;
 		}
-		case 9: /* Arc-Tangent */
+		case NODE_MATH_ATAN:
 		{
 			if (in[0]->hasinput || !in[1]->hasinput) /* This one only takes one input, so we've got to choose. */
 				r = atan(a);
@@ -139,7 +139,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = atan(b);
 			break;
 		}
-		case 10: /* Power */
+		case NODE_MATH_POW:
 		{
 			/* Only raise negative numbers by full integers */
 			if (a >= 0) {
@@ -159,7 +159,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 
 			break;
 		}
-		case 11: /* Logarithm */
+		case NODE_MATH_LOG:
 		{
 			/* Don't want any imaginary numbers... */
 			if (a > 0  && b > 0)
@@ -168,7 +168,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = 0.0;
 			break;
 		}
-		case 12: /* Minimum */
+		case NODE_MATH_MIN:
 		{
 			if (a < b)
 				r = a;
@@ -176,7 +176,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = b;
 			break;
 		}
-		case 13: /* Maximum */
+		case NODE_MATH_MAX:
 		{
 			if (a > b)
 				r = a;
@@ -184,7 +184,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = b;
 			break;
 		}
-		case 14: /* Round */
+		case NODE_MATH_ROUND:
 		{
 			if (in[0]->hasinput || !in[1]->hasinput) /* This one only takes one input, so we've got to choose. */
 				r = (a < 0) ? (int)(a - 0.5f) : (int)(a + 0.5f);
@@ -192,7 +192,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = (b < 0) ? (int)(b - 0.5f) : (int)(b + 0.5f);
 			break;
 		}
-		case 15: /* Less Than */
+		case NODE_MATH_LESS:
 		{
 			if (a < b)
 				r = 1.0f;
@@ -200,7 +200,7 @@ static void node_shader_exec_math(void *UNUSED(data), int UNUSED(thread), bNode
 				r = 0.0f;
 			break;
 		}
-		case 16: /* Greater Than */
+		case NODE_MATH_GREATER:
 		{
 			if (a > b)
 				r = 1.0f;
@@ -208,7 +208,7 @@ static vo

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list