[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33557] trunk/blender/source/blender: metaball rotations must be kept normalized, normalize values after setting from rna/python.

Campbell Barton ideasman42 at gmail.com
Wed Dec 8 14:02:17 CET 2010


Revision: 33557
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33557
Author:   campbellbarton
Date:     2010-12-08 14:02:16 +0100 (Wed, 08 Dec 2010)

Log Message:
-----------
metaball rotations must be kept normalized, normalize values after setting from rna/python.

Modified Paths:
--------------
    trunk/blender/source/blender/makesdna/DNA_meta_types.h
    trunk/blender/source/blender/makesrna/intern/rna_meta.c

Modified: trunk/blender/source/blender/makesdna/DNA_meta_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_meta_types.h	2010-12-08 11:44:38 UTC (rev 33556)
+++ trunk/blender/source/blender/makesdna/DNA_meta_types.h	2010-12-08 13:02:16 UTC (rev 33557)
@@ -48,7 +48,7 @@
 
 	short type, flag, selcol1, selcol2;
 	float x, y, z;          /* Position of center of MetaElem */
-	float quat[4];          /* Rotation of MetaElem */
+	float quat[4];          /* Rotation of MetaElem (MUST be kept normalized) */
 	float expx; /* dimension parameters, used for some types like cubes */
 	float expy;
 	float expz;

Modified: trunk/blender/source/blender/makesrna/intern/rna_meta.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_meta.c	2010-12-08 11:44:38 UTC (rev 33556)
+++ trunk/blender/source/blender/makesrna/intern/rna_meta.c	2010-12-08 13:02:16 UTC (rev 33557)
@@ -103,6 +103,13 @@
 	}
 }
 
+static void rna_MetaBall_update_rotation(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+	MetaElem *ml= ptr->data;
+	normalize_qt(ml->quat);
+	rna_MetaBall_update_data(bmain, scene, ptr);
+}
+
 static MetaElem *rna_MetaBall_elements_new(MetaBall *mb, int type)
 {
 	MetaElem *ml= add_metaball_element(mb, type);
@@ -164,8 +171,8 @@
 
 	prop= RNA_def_property(srna, "rotation", PROP_FLOAT, PROP_QUATERNION);
 	RNA_def_property_float_sdna(prop, NULL, "quat");
-	RNA_def_property_ui_text(prop, "Rotation", "");
-	RNA_def_property_update(prop, 0, "rna_MetaBall_update_data");
+	RNA_def_property_ui_text(prop, "Rotation", "Normalized quaternion rotation");
+	RNA_def_property_update(prop, 0, "rna_MetaBall_update_rotation");
 
 	prop= RNA_def_property(srna, "radius", PROP_FLOAT, PROP_UNSIGNED|PROP_UNIT_LENGTH);
 	RNA_def_property_float_sdna(prop, NULL, "rad");





More information about the Bf-blender-cvs mailing list