[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25184] branches/sculpt25: Sculpt Branch:

Brecht Van Lommel brecht at blender.org
Mon Dec 7 20:56:59 CET 2009


Revision: 25184
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25184
Author:   blendix
Date:     2009-12-07 20:56:59 +0100 (Mon, 07 Dec 2009)

Log Message:
-----------
Sculpt Branch:

Subdivision set with Ctrl+1-5 now works for multires as well.

Modified Paths:
--------------
    branches/sculpt25/release/scripts/op/object.py
    branches/sculpt25/source/blender/editors/object/object_ops.c
    branches/sculpt25/source/blender/editors/sculpt_paint/paint_ops.c

Modified: branches/sculpt25/release/scripts/op/object.py
===================================================================
--- branches/sculpt25/release/scripts/op/object.py	2009-12-07 19:49:14 UTC (rev 25183)
+++ branches/sculpt25/release/scripts/op/object.py	2009-12-07 19:56:59 UTC (rev 25184)
@@ -75,16 +75,16 @@
         row.prop(props, "extend")
 
 
-class SubsurfSet(bpy.types.Operator):
+class SubdivisionSet(bpy.types.Operator):
     '''Sets a Subdivision Surface Level (1-5)'''
 
-    bl_idname = "object.subsurf_set"
-    bl_label = "Subsurf Set"
+    bl_idname = "object.subdivision_set"
+    bl_label = "Subdivision Set"
     bl_register = True
     bl_undo = True
 
     level = IntProperty(name="Level",
-            default=1, min=0, max=6)
+            default=1, min=0, max=100, soft_min=0, soft_max=6)
 
     def poll(self, context):
         ob = context.active_object
@@ -94,7 +94,11 @@
         level = self.properties.level
         ob = context.active_object
         for mod in ob.modifiers:
-            if mod.type == 'SUBSURF':
+            if mod.type == 'MULTIRES' and ob.mode == 'SCULPT':
+                if mod.sculpt_levels != level:
+                    mod.sculpt_levels = level
+                return ('FINISHED',)
+            elif mod.type == 'SUBSURF' or mod.type == 'MULTIRES':
                 if mod.levels != level:
                     mod.levels = level
                 return ('FINISHED',)
@@ -120,5 +124,6 @@
 
 
 bpy.ops.add(SelectPattern)
-bpy.ops.add(SubsurfSet)
+bpy.ops.add(SubdivisionSet)
 bpy.ops.add(Retopo)
+

Modified: branches/sculpt25/source/blender/editors/object/object_ops.c
===================================================================
--- branches/sculpt25/source/blender/editors/object/object_ops.c	2009-12-07 19:49:14 UTC (rev 25183)
+++ branches/sculpt25/source/blender/editors/object/object_ops.c	2009-12-07 19:56:59 UTC (rev 25184)
@@ -227,6 +227,7 @@
 {
 	wmKeyMap *keymap;
 	wmKeyMapItem *kmi;
+	int i;
 	
 	/* Objects, Regardless of Mode -------------------------------------------------- */
 	keymap= WM_keymap_find(keyconf, "Object Non-modal", 0, 0);
@@ -314,16 +315,10 @@
 	WM_keymap_verify_item(keymap, "GROUP_OT_objects_add_active", GKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
 	WM_keymap_verify_item(keymap, "GROUP_OT_objects_remove_active", GKEY, KM_PRESS, KM_SHIFT|KM_ALT, 0);
 
-	kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subsurf_set", ONEKEY, KM_PRESS, KM_CTRL, 0);
-	RNA_int_set(kmi->ptr, "level", 1);
-	kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subsurf_set", TWOKEY, KM_PRESS, KM_CTRL, 0);
-	RNA_int_set(kmi->ptr, "level", 2);
-	kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subsurf_set", THREEKEY, KM_PRESS, KM_CTRL, 0);
-	RNA_int_set(kmi->ptr, "level", 3);
-	kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subsurf_set", FOURKEY, KM_PRESS, KM_CTRL, 0);
-	RNA_int_set(kmi->ptr, "level", 4);
-	kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subsurf_set", FIVEKEY, KM_PRESS, KM_CTRL, 0);
-	RNA_int_set(kmi->ptr, "level", 5);
+	for(i=1; i<=5; i++) {
+		kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subdivision_set", ZEROKEY+i, KM_PRESS, KM_CTRL, 0);
+		RNA_int_set(kmi->ptr, "level", i);
+	}
 
 	/* Lattice -------------------------------------------------------------------- */
 	keymap= WM_keymap_find(keyconf, "Lattice", 0, 0);

Modified: branches/sculpt25/source/blender/editors/sculpt_paint/paint_ops.c
===================================================================
--- branches/sculpt25/source/blender/editors/sculpt_paint/paint_ops.c	2009-12-07 19:49:14 UTC (rev 25183)
+++ branches/sculpt25/source/blender/editors/sculpt_paint/paint_ops.c	2009-12-07 19:56:59 UTC (rev 25184)
@@ -179,6 +179,7 @@
 void ED_keymap_paint(wmKeyConfig *keyconf)
 {
 	wmKeyMap *keymap;
+	int i;
 	
 	/* Sculpt mode */
 	keymap= WM_keymap_find(keyconf, "Sculpt", 0, 0);
@@ -193,6 +194,9 @@
 
 	ed_keymap_paint_brush_switch(keymap, "tool_settings.sculpt.active_brush_index");
 
+	for(i=1; i<=5; i++)
+		RNA_int_set(WM_keymap_add_item(keymap, "OBJECT_OT_subdivision_set", ZEROKEY+i, KM_PRESS, KM_CTRL, 0)->ptr, "level", i);
+
 	/* Vertex Paint mode */
 	keymap= WM_keymap_find(keyconf, "Vertex Paint", 0, 0);
 	keymap->poll= vertex_paint_poll;





More information about the Bf-blender-cvs mailing list