[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33135] branches/particles-2010/source/ blender/nodes/intern/SIM_util.c: Changed the socket type for euler angle rotations to vector, instead of doing an implicit conversion to quaternions assuming XYZ order.

Lukas Toenne lukas.toenne at googlemail.com
Wed Nov 17 16:06:01 CET 2010


Revision: 33135
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33135
Author:   lukastoenne
Date:     2010-11-17 16:06:00 +0100 (Wed, 17 Nov 2010)

Log Message:
-----------
Changed the socket type for euler angle rotations to vector, instead of doing an implicit conversion to quaternions assuming XYZ order. This can still be done with a ToQuat node.

Modified Paths:
--------------
    branches/particles-2010/source/blender/nodes/intern/SIM_util.c

Modified: branches/particles-2010/source/blender/nodes/intern/SIM_util.c
===================================================================
--- branches/particles-2010/source/blender/nodes/intern/SIM_util.c	2010-11-17 14:39:08 UTC (rev 33134)
+++ branches/particles-2010/source/blender/nodes/intern/SIM_util.c	2010-11-17 15:06:00 UTC (rev 33135)
@@ -1104,6 +1104,7 @@
 		case PROP_ACCELERATION:
 		case PROP_XYZ:
 		case PROP_XYZ_LENGTH:
+		case PROP_EULER:
 			return SOCK_VECTOR;
 		
 		case PROP_COLOR_GAMMA:
@@ -1111,7 +1112,6 @@
 			return SOCK_RGBA;
 		
 		case PROP_QUATERNION:
-		case PROP_EULER:
 		case PROP_AXISANGLE:
 			return SOCK_QUAT;
 		
@@ -1226,6 +1226,13 @@
 			sock->ns.min=		0.0f;
 			sock->ns.max=		1000000.0f;
 			break;
+		case PROP_EULER:
+			sock->ns.vec[0]=	0.0f;
+			sock->ns.vec[1]=	0.0f;
+			sock->ns.vec[2]=	0.0f;
+			sock->ns.min=		0.0f;
+			sock->ns.max=		360.0f;
+			break;
 		
 		/* SOCK_RGBA */
 		case PROP_COLOR_GAMMA:
@@ -1254,14 +1261,6 @@
 			sock->ns.min=		0.0f;
 			sock->ns.max=		1.0f;
 			break;
-		case PROP_EULER:
-			sock->ns.vec[0]=	0.0f;
-			sock->ns.vec[1]=	0.0f;
-			sock->ns.vec[2]=	0.0f;
-			sock->ns.vec[3]=	0.0f;
-			sock->ns.min=		0.0f;
-			sock->ns.max=		360.0f;
-			break;
 		case PROP_AXISANGLE:
 			sock->ns.vec[0]=	0.0f;
 			sock->ns.vec[1]=	0.0f;
@@ -1313,7 +1312,7 @@
 	PropertySubType subtype = RNA_property_subtype(prop);
 	float vector[3];
 	float rgba[4];
-	float quat[4], euler[3], axisangle[4];
+	float quat[4], axisangle[4];
 	float matrix[4][4];
 	char str[SIM_STRINGLENGTH];
 	
@@ -1338,6 +1337,7 @@
 		case PROP_ACCELERATION:
 		case PROP_XYZ:
 		case PROP_XYZ_LENGTH:
+		case PROP_EULER:
 			RNA_property_float_get_array(ptr, prop, vector);
 			sim_output_write_vector(execdata, iter, vector);
 			break;
@@ -1354,11 +1354,6 @@
 			RNA_property_float_get_array(ptr, prop, quat);
 			sim_output_write_quat(execdata, iter, quat);
 			break;
-		case PROP_EULER:
-			RNA_property_float_get_array(ptr, prop, euler);
-			eul_to_quat(quat, euler);
-			sim_output_write_quat(execdata, iter, quat);
-			break;
 		case PROP_AXISANGLE:
 			RNA_property_float_get_array(ptr, prop, axisangle);
 			axis_angle_to_quat(quat, axisangle, axisangle[3]);
@@ -1406,7 +1401,7 @@
 	char boolval;
 	float vector[3];
 	float rgba[4];
-	float quat[4], euler[3], axisangle[4];
+	float quat[4], axisangle[4];
 	float matrix[4][4];
 	char str[SIM_STRINGLENGTH];
 	
@@ -1432,6 +1427,7 @@
 		case PROP_ACCELERATION:
 		case PROP_XYZ:
 		case PROP_XYZ_LENGTH:
+		case PROP_EULER:
 			sim_input_read_vector(execdata, iter, vector);
 			RNA_property_float_set_array(ptr, prop, vector);
 			break;
@@ -1448,11 +1444,6 @@
 			sim_input_read_quat(execdata, iter, quat);
 			RNA_property_float_set_array(ptr, prop, quat);
 			break;
-		case PROP_EULER:
-			sim_input_read_quat(execdata, iter, quat);
-			quat_to_eul(euler, quat);
-			RNA_property_float_set_array(ptr, prop, euler);
-			break;
 		case PROP_AXISANGLE:
 			sim_input_read_quat(execdata, iter, quat);
 			quat_to_axis_angle(axisangle, &axisangle[3], quat);





More information about the Bf-blender-cvs mailing list