[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48927] trunk/blender: use a different setting for fill/ cyclic - you may want to have unfilled cyclic curves.

Campbell Barton ideasman42 at gmail.com
Sat Jul 14 22:53:52 CEST 2012


Revision: 48927
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48927
Author:   campbellbarton
Date:     2012-07-14 20:53:52 +0000 (Sat, 14 Jul 2012)
Log Message:
-----------
use a different setting for fill/cyclic - you may want to have unfilled cyclic curves.

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/bl_ui/space_clip.py
    trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c
    trunk/blender/source/blender/editors/mask/mask_draw.c
    trunk/blender/source/blender/makesdna/DNA_mask_types.h
    trunk/blender/source/blender/makesrna/intern/rna_mask.c

Modified: trunk/blender/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_clip.py	2012-07-14 20:29:17 UTC (rev 48926)
+++ trunk/blender/release/scripts/startup/bl_ui/space_clip.py	2012-07-14 20:53:52 UTC (rev 48927)
@@ -733,7 +733,9 @@
 
         col = layout.column()
         col.prop(spline, "weight_interpolation")
-        col.prop(spline, "use_cyclic")
+        rowsub = col.row()
+        rowsub.prop(spline, "use_cyclic")
+        rowsub.prop(spline, "use_fill")
 
 
 class CLIP_PT_active_mask_point(Panel):

Modified: trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c	2012-07-14 20:29:17 UTC (rev 48926)
+++ trunk/blender/source/blender/blenkernel/intern/mask_rasterize.c	2012-07-14 20:53:52 UTC (rev 48927)
@@ -467,7 +467,7 @@
 		BLI_scanfill_begin(&sf_ctx);
 
 		for (spline = masklay->splines.first; spline; spline = spline->next) {
-			const unsigned int is_cyclic = (spline->flag & MASK_SPLINE_CYCLIC) != 0;
+			const unsigned int is_fill = (spline->flag & MASK_SPLINE_NOFILL) == 0;
 
 			float (*diff_points)[2];
 			int tot_diff_point;
@@ -541,7 +541,7 @@
 					}
 				}
 
-				if (is_cyclic) {
+				if (is_fill) {
 					copy_v2_v2(co, diff_points[0]);
 					sf_vert_prev = BLI_scanfill_vert_add(&sf_ctx, co);
 					sf_vert_prev->tmp.u = sf_vert_tot;
@@ -597,7 +597,7 @@
 					}
 				}
 				else {
-					/* unfilled spline (non cyclic) */
+					/* unfilled spline */
 					if (diff_feather_points) {
 
 						float co_diff[3];
@@ -605,7 +605,6 @@
 						float co_feather[3];
 						co_feather[2] = 1.0f;
 
-
 						open_spline_ranges[open_spline_index ][0] = sf_vert_tot;
 						open_spline_ranges[open_spline_index ][1] = tot_diff_point;
 						open_spline_index++;

Modified: trunk/blender/source/blender/editors/mask/mask_draw.c
===================================================================
--- trunk/blender/source/blender/editors/mask/mask_draw.c	2012-07-14 20:29:17 UTC (rev 48926)
+++ trunk/blender/source/blender/editors/mask/mask_draw.c	2012-07-14 20:53:52 UTC (rev 48927)
@@ -388,6 +388,9 @@
 	mask_draw_curve_type(spline, feather_points, tot_feather_point,
 	                     TRUE, is_smooth, is_active,
 	                     rgb_tmp, draw_type);
+
+	/* TODO, draw mirror values when MASK_SPLINE_NOFILL is set */
+
 	MEM_freeN(feather_points);
 
 	/* draw main curve */

Modified: trunk/blender/source/blender/makesdna/DNA_mask_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_mask_types.h	2012-07-14 20:29:17 UTC (rev 48926)
+++ trunk/blender/source/blender/makesdna/DNA_mask_types.h	2012-07-14 20:53:52 UTC (rev 48927)
@@ -137,7 +137,10 @@
 
 /* MaskSpline->flag */
 /* reserve (1 << 0) for SELECT */
-#define MASK_SPLINE_CYCLIC  (1 << 1)
+enum {
+	MASK_SPLINE_CYCLIC  = (1 << 1),
+	MASK_SPLINE_NOFILL    = (1 << 2)
+};
 
 /* MaskSpline->weight_interp */
 #define MASK_SPLINE_INTERP_LINEAR   1

Modified: trunk/blender/source/blender/makesrna/intern/rna_mask.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_mask.c	2012-07-14 20:29:17 UTC (rev 48926)
+++ trunk/blender/source/blender/makesrna/intern/rna_mask.c	2012-07-14 20:53:52 UTC (rev 48927)
@@ -566,6 +566,13 @@
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", MASK_SPLINE_CYCLIC);
 	RNA_def_property_ui_text(prop, "Cyclic", "Make this spline a closed loop");
 	RNA_def_property_update(prop, 0, "rna_Mask_update_data");
+
+	/* fill */
+	prop = RNA_def_property(srna, "use_fill", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+	RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", MASK_SPLINE_NOFILL);
+	RNA_def_property_ui_text(prop, "Fill", "Make this spline filled");
+	RNA_def_property_update(prop, 0, "rna_Mask_update_data");
 }
 
 static void rna_def_mask_layer(BlenderRNA *brna)




More information about the Bf-blender-cvs mailing list