[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33197] trunk/blender/source/blender/ makesrna/intern/rna_curve.c: Allow keyframing editmode curve values, also fix a bug where adding a new curve would always use object mode spline list but removing would use editmode when set .

Campbell Barton ideasman42 at gmail.com
Sat Nov 20 18:28:05 CET 2010


Revision: 33197
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33197
Author:   campbellbarton
Date:     2010-11-20 18:28:05 +0100 (Sat, 20 Nov 2010)

Log Message:
-----------
Allow keyframing editmode curve values, also fix a bug where adding a new curve would always use object mode spline list but removing would use editmode when set.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_curve.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_curve.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_curve.c	2010-11-20 16:39:15 UTC (rev 33196)
+++ trunk/blender/source/blender/makesrna/intern/rna_curve.c	2010-11-20 17:28:05 UTC (rev 33197)
@@ -544,7 +544,7 @@
 	nu->resolu= nu->resolv= 12;
 	nu->flag= CU_SMOOTH;
 
-	BLI_addtail(&cu->nurb, nu);
+	BLI_addtail(BKE_curve_nurbs(cu), nu);
 
 	return nu;
 }
@@ -642,6 +642,12 @@
 		return BLI_strdup("");
 }
 
+static void rna_Curve_splines_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
+{
+	Curve *cu= (Curve*)ptr->id.data;
+	rna_iterator_listbase_begin(iter, BKE_curve_nurbs(cu), NULL);
+}
+
 #else
 
 static void rna_def_bpoint(BlenderRNA *brna)
@@ -1189,8 +1195,14 @@
 	RNA_def_property_pointer_sdna(prop, NULL, "key");
 	RNA_def_property_ui_text(prop, "Shape Keys", "");
 
+
 	prop= RNA_def_property(srna, "splines", PROP_COLLECTION, PROP_NONE);
+#if 0
 	RNA_def_property_collection_sdna(prop, NULL, "nurb", NULL);
+#else
+	/* this way we get editmode nurbs too, keyframe in editmode */
+	RNA_def_property_collection_funcs(prop, "rna_Curve_splines_begin", "rna_iterator_listbase_next", "rna_iterator_listbase_end", "rna_iterator_listbase_get", 0, 0, 0);
+#endif
 	RNA_def_property_struct_type(prop, "Spline");
 	RNA_def_property_ui_text(prop, "Splines", "Collection of splines in this curve data object");
 	rna_def_curve_splines(brna, prop);





More information about the Bf-blender-cvs mailing list