[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24921] trunk/blender: ctrl 1-5 for changing subsurf levels

Campbell Barton ideasman42 at gmail.com
Thu Nov 26 16:36:57 CET 2009


Revision: 24921
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24921
Author:   campbellbarton
Date:     2009-11-26 16:36:23 +0100 (Thu, 26 Nov 2009)

Log Message:
-----------
ctrl 1-5 for changing subsurf levels

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_ops.c

Added Paths:
-----------
    trunk/blender/release/scripts/op/object.py

Added: trunk/blender/release/scripts/op/object.py
===================================================================
--- trunk/blender/release/scripts/op/object.py	                        (rev 0)
+++ trunk/blender/release/scripts/op/object.py	2009-11-26 15:36:23 UTC (rev 24921)
@@ -0,0 +1,52 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+#  This program is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU General Public License
+#  as published by the Free Software Foundation; either version 2
+#  of the License, or (at your option) any later version.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software Foundation,
+#  Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+import bpy
+
+class SubsurfSet(bpy.types.Operator):
+    '''TODO, doc.'''
+
+    bl_idname = "object.subsurf_set"
+    bl_label = "Subsurf Set"
+    bl_register = True
+    bl_undo = True
+    
+    level = bpy.props.IntProperty(name="Level",
+            default=1, min=0, max=6)
+
+    def poll(self, context):
+        ob = context.active_object
+        return (ob and ob.type == 'MESH')
+
+    def execute(self, context):
+        ob = context.active_object
+        for mod in ob.modifiers:
+            if mod.type == 'SUBSURF':
+                if mod.levels != level:
+                    mod.levels = level
+                return
+        
+        # adda new modifier
+        bpy.ops.object.modifier_add(type='SUBSURF') # TODO, support adding directly
+        mod = ob.modifiers[-1]
+        mod.levels = level
+        return ('FINISHED',)
+
+
+# Register the operator
+bpy.ops.add(SubsurfSet)

Modified: trunk/blender/source/blender/editors/object/object_ops.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_ops.c	2009-11-26 15:03:55 UTC (rev 24920)
+++ trunk/blender/source/blender/editors/object/object_ops.c	2009-11-26 15:36:23 UTC (rev 24921)
@@ -313,6 +313,17 @@
 	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);
+
 	/* Lattice -------------------------------------------------------------------- */
 	keymap= WM_keymap_find(keyconf, "Lattice", 0, 0);
 	keymap->poll= ED_operator_editlattice;





More information about the Bf-blender-cvs mailing list