[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