[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47208] branches/soc-2011-tomato: proportional editing for masks

Campbell Barton ideasman42 at gmail.com
Wed May 30 09:34:26 CEST 2012


Revision: 47208
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47208
Author:   campbellbarton
Date:     2012-05-30 07:34:25 +0000 (Wed, 30 May 2012)
Log Message:
-----------
proportional editing for masks

Modified Paths:
--------------
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
    branches/soc-2011-tomato/source/blender/editors/transform/transform.c
    branches/soc-2011-tomato/source/blender/editors/transform/transform_generics.c
    branches/soc-2011-tomato/source/blender/makesdna/DNA_scene_types.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene.c

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py	2012-05-30 07:15:09 UTC (rev 47207)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_clip.py	2012-05-30 07:34:25 UTC (rev 47208)
@@ -75,8 +75,15 @@
         row.template_ID(sc, "clip", open='clip.open')
 
         if sc.mode == 'MASKEDITING':
+            toolsettings = context.tool_settings
+
             row = layout.row()
             row.template_ID(sc, "mask", new="mask.new")
+            
+            row = layout.row(align=True)
+            row.prop(toolsettings, "use_proportional_edit_mask", text="", icon_only=True)
+            if toolsettings.use_proportional_edit_objects:
+                row.prop(toolsettings, "proportional_edit_falloff", text="", icon_only=True)
 
         if clip:
             tracking = clip.tracking

Modified: branches/soc-2011-tomato/source/blender/editors/transform/transform.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/transform/transform.c	2012-05-30 07:15:09 UTC (rev 47207)
+++ branches/soc-2011-tomato/source/blender/editors/transform/transform.c	2012-05-30 07:34:25 UTC (rev 47208)
@@ -1517,6 +1517,8 @@
 		{
 			if (t->obedit)
 				ts->proportional = proportional;
+			else if (t->options & CTX_MASK)
+				ts->proportional_mask = (proportional != PROP_EDIT_OFF);
 			else
 				ts->proportional_objects = (proportional != PROP_EDIT_OFF);
 		}
@@ -1650,13 +1652,8 @@
 		t->draw_handle_cursor = WM_paint_cursor_activate(CTX_wm_manager(C), helpline_poll, drawHelpline, t);
 	}
 	else if (t->spacetype == SPACE_CLIP) {
-		SpaceClip *sc = CTX_wm_space_clip(C);
 		unit_m3(t->spacemtx);
 		t->draw_handle_view = ED_region_draw_cb_activate(t->ar->type, drawTransformView, t, REGION_DRAW_POST_VIEW);
-		if (ED_space_clip_show_trackedit(sc))
-			t->options |= CTX_MOVIECLIP;
-		else if (ED_space_clip_show_maskedit(sc))
-			t->options |= CTX_MASK;
 	}
 	else
 		unit_m3(t->spacemtx);

Modified: branches/soc-2011-tomato/source/blender/editors/transform/transform_generics.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/transform/transform_generics.c	2012-05-30 07:15:09 UTC (rev 47207)
+++ branches/soc-2011-tomato/source/blender/editors/transform/transform_generics.c	2012-05-30 07:34:25 UTC (rev 47208)
@@ -1127,6 +1127,11 @@
 		SpaceClip *sclip = sa->spacedata.first;
 		t->view = &ar->v2d;
 		t->around = sclip->around;
+
+		if (ED_space_clip_show_trackedit(sclip))
+			t->options |= CTX_MOVIECLIP;
+		else if (ED_space_clip_show_maskedit(sclip))
+			t->options |= CTX_MASK;
 	}
 	else {
 		if (ar) {
@@ -1189,6 +1194,15 @@
 							t->flag |= T_PROP_CONNECTED;
 						}
 					}
+					else if (t->options & CTX_MASK) {
+						if (ts->proportional_mask) {
+							t->flag |= T_PROP_EDIT;
+
+							if (ts->proportional == PROP_EDIT_CONNECTED) {
+								t->flag |= T_PROP_CONNECTED;
+							}
+						}
+					}
 					else if (t->obedit == NULL && ts->proportional_objects) {
 						t->flag |= T_PROP_EDIT;
 					}

Modified: branches/soc-2011-tomato/source/blender/makesdna/DNA_scene_types.h
===================================================================
--- branches/soc-2011-tomato/source/blender/makesdna/DNA_scene_types.h	2012-05-30 07:15:09 UTC (rev 47207)
+++ branches/soc-2011-tomato/source/blender/makesdna/DNA_scene_types.h	2012-05-30 07:34:25 UTC (rev 47208)
@@ -999,7 +999,8 @@
 	short snap_flag, snap_target;
 	short proportional, prop_mode;
 	char proportional_objects; /* proportional edit, object mode */
-	char pad[5];
+	char proportional_mask; /* proportional edit, object mode */
+	char pad[4];
 
 	char auto_normalize; /*auto normalizing mode in wpaint*/
 	char multipaint; /* paint multiple bones in wpaint */

Modified: branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene.c	2012-05-30 07:15:09 UTC (rev 47207)
+++ branches/soc-2011-tomato/source/blender/makesrna/intern/rna_scene.c	2012-05-30 07:34:25 UTC (rev 47208)
@@ -1565,6 +1565,12 @@
 	RNA_def_property_ui_icon(prop, ICON_PROP_OFF, 1);
 	RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL); /* header redraw */
 
+	prop = RNA_def_property(srna, "use_proportional_edit_mask", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "proportional_mask", 0);
+	RNA_def_property_ui_text(prop, "Proportional Editing Objects", "Proportional editing mask mode");
+	RNA_def_property_ui_icon(prop, ICON_PROP_OFF, 1);
+	RNA_def_property_update(prop, NC_SCENE | ND_TOOLSETTINGS, NULL); /* header redraw */
+
 	prop = RNA_def_property(srna, "proportional_edit_falloff", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_sdna(prop, NULL, "prop_mode");
 	RNA_def_property_enum_items(prop, proportional_falloff_items);




More information about the Bf-blender-cvs mailing list