Commit: cabcfb0062aa7176a1e08bcbfab79680ffc4e10b
Author: Lukas Tönne
Date:   Wed May 25 12:10:58 2016 +0200
Branches: object_nodes
https://developer.blender.org/rBcabcfb0062aa7176a1e08bcbfab79680ffc4e10b

Use the common BVM_DEFINE_ALL_OPCODES macro to simplify node->opcode mapping.

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

M       source/blender/blenvm/compile/node_graph.cc

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

diff --git a/source/blender/blenvm/compile/node_graph.cc 
b/source/blender/blenvm/compile/node_graph.cc
index 3c6b052..d99256c 100644
--- a/source/blender/blenvm/compile/node_graph.cc
+++ b/source/blender/blenvm/compile/node_graph.cc
@@ -1269,123 +1269,15 @@ static void register_typedefs()
 
 OpCode get_opcode_from_node_type(const string &node)
 {
-       #define NODETYPE(name) \
-       if (node == STRINGIFY(name)) \
-               return OP_##name
-       
-       NODETYPE(VALUE_FLOAT);
-       NODETYPE(VALUE_FLOAT3);
-       NODETYPE(VALUE_FLOAT4);
-       NODETYPE(VALUE_INT);
-       NODETYPE(VALUE_MATRIX44);
-       NODETYPE(VALUE_STRING);
-       NODETYPE(VALUE_RNAPOINTER);
-       NODETYPE(VALUE_MESH);
-       NODETYPE(VALUE_DUPLIS);
-       
-       NODETYPE(RANGE_INT);
-       
-       NODETYPE(FLOAT_TO_INT);
-       NODETYPE(INT_TO_FLOAT);
-       NODETYPE(SET_FLOAT3);
-       NODETYPE(GET_ELEM_FLOAT3);
-       NODETYPE(SET_FLOAT4);
-       NODETYPE(GET_ELEM_FLOAT4);
-       NODETYPE(MATRIX44_TO_LOC);
-       NODETYPE(MATRIX44_TO_EULER);
-       NODETYPE(MATRIX44_TO_AXISANGLE);
-       NODETYPE(MATRIX44_TO_SCALE);
-       NODETYPE(LOC_TO_MATRIX44);
-       NODETYPE(EULER_TO_MATRIX44);
-       NODETYPE(AXISANGLE_TO_MATRIX44);
-       NODETYPE(SCALE_TO_MATRIX44);
-       
-       NODETYPE(ADD_FLOAT);
-       NODETYPE(SUB_FLOAT);
-       NODETYPE(MUL_FLOAT);
-       NODETYPE(DIV_FLOAT);
-       NODETYPE(SINE);
-       NODETYPE(COSINE);
-       NODETYPE(TANGENT);
-       NODETYPE(ARCSINE);
-       NODETYPE(ARCCOSINE);
-       NODETYPE(ARCTANGENT);
-       NODETYPE(POWER);
-       NODETYPE(LOGARITHM);
-       NODETYPE(MINIMUM);
-       NODETYPE(MAXIMUM);
-       NODETYPE(ROUND);
-       NODETYPE(LESS_THAN);
-       NODETYPE(GREATER_THAN);
-       NODETYPE(MODULO);
-       NODETYPE(ABSOLUTE);
-       NODETYPE(CLAMP_ONE);
-       NODETYPE(SQRT);
-       
-       NODETYPE(ADD_FLOAT3);
-       NODETYPE(SUB_FLOAT3);
-       NODETYPE(MUL_FLOAT3);
-       NODETYPE(DIV_FLOAT3);
-       NODETYPE(MUL_FLOAT3_FLOAT);
-       NODETYPE(DIV_FLOAT3_FLOAT);
-       NODETYPE(AVERAGE_FLOAT3);
-       NODETYPE(DOT_FLOAT3);
-       NODETYPE(CROSS_FLOAT3);
-       NODETYPE(NORMALIZE_FLOAT3);
-       NODETYPE(LENGTH_FLOAT3);
-       
-       NODETYPE(ADD_MATRIX44);
-       NODETYPE(SUB_MATRIX44);
-       NODETYPE(MUL_MATRIX44);
-       NODETYPE(MUL_MATRIX44_FLOAT);
-       NODETYPE(DIV_MATRIX44_FLOAT);
-       NODETYPE(NEGATE_MATRIX44);
-       NODETYPE(TRANSPOSE_MATRIX44);
-       NODETYPE(INVERT_MATRIX44);
-       NODETYPE(ADJOINT_MATRIX44);
-       NODETYPE(DETERMINANT_MATRIX44);
-       
-       NODETYPE(MUL_MATRIX44_FLOAT3);
-       NODETYPE(MUL_MATRIX44_FLOAT4);
-       
-       NODETYPE(MIX_RGB);
-       
-       NODETYPE(INT_TO_RANDOM);
-       NODETYPE(FLOAT_TO_RANDOM);
-       
-       NODETYPE(TEX_PROC_VORONOI);
-       NODETYPE(TEX_PROC_CLOUDS);
-       NODETYPE(TEX_PROC_WOOD);
-       NODETYPE(TEX_PROC_MUSGRAVE);
-       NODETYPE(TEX_PROC_MAGIC);
-       NODETYPE(TEX_PROC_STUCCI);
-       NODETYPE(TEX_PROC_MARBLE);
-       NODETYPE(TEX_PROC_DISTNOISE);
-       
-       NODETYPE(OBJECT_LOOKUP);
-       NODETYPE(OBJECT_TRANSFORM);
-       NODETYPE(OBJECT_FINAL_MESH);
-       
-       NODETYPE(EFFECTOR_TRANSFORM);
-       NODETYPE(EFFECTOR_CLOSEST_POINT);
-       
-       NODETYPE(MESH_LOAD);
-       NODETYPE(MESH_COMBINE);
-       NODETYPE(MESH_ARRAY);
-       NODETYPE(MESH_DISPLACE);
-       NODETYPE(MESH_BOOLEAN);
-       NODETYPE(MESH_CLOSEST_POINT);
-       
-       NODETYPE(CURVE_PATH);
-       
-       NODETYPE(IMAGE_SAMPLE);
-       
-       NODETYPE(MAKE_DUPLI);
-       NODETYPE(DUPLIS_COMBINE);
-       
-       #undef NODETYPE
-       
-       return OP_NOOP;
+#define DEF_OPCODE(op) \
+       if (node == STRINGIFY(op)) \
+               return OP_##op; \
+       else
+       
+       BVM_DEFINE_ALL_OPCODES
+               return OP_NOOP;
+       
+#undef DEF_OPCODE
 }
 
 static mesh_ptr __empty_mesh__;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to