[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4743] contrib/py/scripts/addons/ presets/keyconfig/blender_2012_experimental.py: Experimental keymap: further tweaks to subdivision level shifting.

Nathan Vegdahl cessen at cessen.com
Sat Sep 7 03:24:21 CEST 2013


Revision: 4743
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4743
Author:   cessen
Date:     2013-09-07 01:24:18 +0000 (Sat, 07 Sep 2013)
Log Message:
-----------
Experimental keymap: further tweaks to subdivision level shifting.

The minimum subdivision level is now always zero, and the maximum is
the render subdivision level.  This seems sensible, as it's unlikely
the user will want to shift to a subdivision level higher than the
render level.  It also provides flexibility, so that the user can\
effectively set their own maximum for a given model.

Also, misc tweaks to other parts of the keymap, to make things
function a little more smoothly.

Modified Paths:
--------------
    contrib/py/scripts/addons/presets/keyconfig/blender_2012_experimental.py

Modified: contrib/py/scripts/addons/presets/keyconfig/blender_2012_experimental.py
===================================================================
--- contrib/py/scripts/addons/presets/keyconfig/blender_2012_experimental.py	2013-09-06 01:31:13 UTC (rev 4742)
+++ contrib/py/scripts/addons/presets/keyconfig/blender_2012_experimental.py	2013-09-07 01:24:18 UTC (rev 4743)
@@ -113,15 +113,16 @@
 
 
 class ShiftSubsurfLevel(bpy.types.Operator):
-    """Shift the subsurf level of the selected objects up or """ \
-    """down by the given amount (has maximum limit, to avoid """ \
-    """going crazy and running out of RAM)"""
+    """ Shift the viewport subsurf level of the selected objects up or
+        down by the given amount.  The render subsurf level is treated
+        as the upper limit, to prevent the user from accidentally
+        exploding their CPU and RAM usage. 
+    """
     bl_idname = "object.shift_subsurf_level"
     bl_label = "Shift Subsurf Level"
 
     delta = bpy.props.IntProperty(name="Delta", description="Amount to increase/decrease the subsurf level.", default=1)
-    min = bpy.props.IntProperty(name="Minimum", description="The lowest subsurf level to shift to.", default=0)
-    max = bpy.props.IntProperty(name="Maximum", description="The highest subsurf level to shift to.", default=4)
+    new_if_missing = bpy.props.BoolProperty(name="New if Missing", description="Whether to add a new subsurf modifier if none exists.", default=False)
 
     @classmethod
     def poll(cls, context):
@@ -142,17 +143,24 @@
 
             # Add a subsurf modifier if necessary
             if not m and self.delta > 0:
-                m = obj.modifiers.new(name="Subsurf", type='SUBSURF')
-                m.levels = 0
+                if self.new_if_missing:
+                    m = obj.modifiers.new(name="Subsurf", type='SUBSURF')
+                    m.levels = 0
+                else:
+                    return {'FINISHED'}
 
             # Adjust it's subsurf level
             if m:
                 if self.delta > 0:
-                    if (m.levels + self.delta) <= self.max:
+                    if (m.levels + self.delta) <= m.render_levels:
                         m.levels += self.delta
+                    elif m.levels != m.render_levels:
+                        m.levels = m.render_levels
                 elif self.delta < 0:
-                    if (m.levels + self.delta) >= self.min:
+                    if (m.levels + self.delta) >= 0:
                         m.levels += self.delta
+                    elif m.levels != 0:
+                        m.levels = 0
         return {'FINISHED'}
 bpy.utils.register_class(ShiftSubsurfLevel)
 
@@ -886,17 +894,17 @@
     #-------------------------
     # Transform texture space
     #-------------------------
-    kmi = km.keymap_items.new('transform.translate', 'T', 'CLICK', shift=True)
-    kmi.properties.texture_space = True
-    kmi = km.keymap_items.new('transform.resize', 'T', 'CLICK', shift=True, alt=True)
-    kmi.properties.texture_space = True
+    #kmi = km.keymap_items.new('transform.translate', 'T', 'PRESS', shift=True)
+    #kmi.properties.texture_space = True
+    #kmi = km.keymap_items.new('transform.resize', 'T', 'PRESS', shift=True, alt=True)
+    #kmi.properties.texture_space = True
 
     #------------------
     # Transform spaces
     #------------------
-    kmi = km.keymap_items.new('transform.select_orientation', 'SPACE', 'CLICK', alt=True)
-    kmi = km.keymap_items.new('transform.create_orientation', 'SPACE', 'CLICK', ctrl=True, alt=True)
-    kmi.properties.use = True
+    kmi = km.keymap_items.new('transform.select_orientation', 'SPACE', 'PRESS', alt=True)
+    #kmi = km.keymap_items.new('transform.create_orientation', 'SPACE', 'PRESS', ctrl=True, alt=True)
+    #kmi.properties.use = True
 
     #----------
     # Snapping
@@ -908,7 +916,7 @@
     #---------------
     # Snapping Menu
     #---------------
-    kmi = km.keymap_items.new('wm.call_menu', 'S', 'CLICK', shift=True)
+    kmi = km.keymap_items.new('wm.call_menu', 'S', 'PRESS', shift=True)
     kmi.properties.name = 'VIEW3D_MT_snap'
 
     #-----------
@@ -1157,7 +1165,7 @@
     #-----------
     
     # Shortest path
-    kmi = km.keymap_items.new('mesh.shortest_path_select', 'LEFTMOUSE', 'CLICK', alt=True) # Replace
+    kmi = km.keymap_items.new('mesh.shortest_path_pick', 'RIGHTMOUSE', 'PRESS', alt=True) # Replace
     # TODO: add, remove
     
     # Edge loop
@@ -1182,20 +1190,24 @@
     kmi.properties.extend = False
     kmi.properties.deselect = True
     
+    # Select linked
+    # TODO: proper replace/add/remove selection
+    kmi = km.keymap_items.new('mesh.select_linked', 'L', 'PRESS', ctrl=True)
+    kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS')
+    kmi.properties.deselect = False
+    kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'PRESS', shift=True)
+    kmi.properties.deselect = True
+    
+    # Misc selection
     kmi = km.keymap_items.new('mesh.select_all', 'A', 'PRESS')
     kmi.properties.action = 'TOGGLE'
-    kmi = km.keymap_items.new('mesh.select_all', 'I', 'CLICK', ctrl=True)
+    kmi = km.keymap_items.new('mesh.select_all', 'I', 'PRESS', ctrl=True)
     kmi.properties.action = 'INVERT'
-    kmi = km.keymap_items.new('mesh.select_more', 'NUMPAD_PLUS', 'CLICK', ctrl=True)
-    kmi = km.keymap_items.new('mesh.select_less', 'NUMPAD_MINUS', 'CLICK', ctrl=True)
-    kmi = km.keymap_items.new('mesh.select_non_manifold', 'M', 'CLICK', shift=True, ctrl=True, alt=True)
-    kmi = km.keymap_items.new('mesh.select_linked', 'L', 'CLICK', ctrl=True)
-    kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'CLICK')
-    kmi.properties.deselect = False
-    kmi = km.keymap_items.new('mesh.select_linked_pick', 'L', 'CLICK', shift=True)
-    kmi.properties.deselect = True
-    kmi = km.keymap_items.new('mesh.faces_select_linked_flat', 'F', 'CLICK', shift=True, ctrl=True, alt=True)
-    kmi = km.keymap_items.new('mesh.select_similar', 'G', 'CLICK', shift=True)
+    kmi = km.keymap_items.new('mesh.select_more', 'RIGHT_BRACKET', 'PRESS')
+    kmi = km.keymap_items.new('mesh.select_less', 'LEFT_BRACKET', 'PRESS')
+    #kmi = km.keymap_items.new('mesh.select_non_manifold', 'M', 'PRESS', shift=True, ctrl=True, alt=True)
+    #kmi = km.keymap_items.new('mesh.faces_select_linked_flat', 'F', 'CLICK', shift=True, ctrl=True, alt=True)
+    #kmi = km.keymap_items.new('mesh.select_similar', 'G', 'CLICK', shift=True)
 
     # Proportional editing
     kmi = km.keymap_items.new('wm.context_toggle_enum', 'O', 'CLICK')
@@ -1226,10 +1238,10 @@
     
     # Add edge and face / vertex connect
     kmi = km.keymap_items.new('mesh.edge_face_add', 'C', 'CLICK')
-    kmi = kmi = km.keymap_items.new('mesh.vert_connect', 'C', 'CLICK', shift=True)
+    kmi = kmi = km.keymap_items.new('mesh.vert_connect', 'C', 'PRESS', shift=True)
     
-    kmi = km.keymap_items.new('mesh.fill', 'C', 'CLICK', alt=True)
-    kmi = km.keymap_items.new('mesh.beautify_fill', 'C', 'CLICK', alt=True, shift=True)
+    kmi = km.keymap_items.new('mesh.fill', 'C', 'PRESS', alt=True)
+    kmi = km.keymap_items.new('mesh.beautify_fill', 'C', 'PRESS', alt=True, shift=True)
     
     # Subdivide
     kmi = km.keymap_items.new('mesh.subdivide', 'W', 'CLICK')
@@ -1242,32 +1254,32 @@
     
     # Extrude
     kmi = km.keymap_items.new('view3d.edit_mesh_extrude_move_normal', 'E', 'CLICK')
-    kmi = km.keymap_items.new('wm.call_menu', 'E', 'CLICK', alt=True)
+    kmi = km.keymap_items.new('wm.call_menu', 'E', 'PRESS', alt=True)
     kmi.properties.name = 'VIEW3D_MT_edit_mesh_extrude'
     
-    kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', ctrl=True)
+    kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'PRESS', ctrl=True)
     kmi.properties.rotate_source = True
-    kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', shift=True, ctrl=True)
+    kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'PRESS', shift=True, ctrl=True)
     kmi.properties.rotate_source = False
     
     # Inset/Outset
     kmi = km.keymap_items.new('mesh.inset', 'I', 'CLICK')
     kmi.properties.use_outset = False
-    kmi = km.keymap_items.new('mesh.inset', 'I', 'CLICK', shift=True)
+    kmi = km.keymap_items.new('mesh.inset', 'I', 'PRESS', shift=True)
     kmi.properties.use_outset = True
     
     # Bevel
     kmi = km.keymap_items.new('mesh.bevel', 'B', 'CLICK')
 
     # Duplicate
-    kmi = km.keymap_items.new('mesh.duplicate_move', 'D', 'CLICK', shift=True)
+    kmi = km.keymap_items.new('mesh.duplicate_move', 'D', 'PRESS', shift=True)
     
     # Rip
     kmi = km.keymap_items.new('mesh.rip_move', 'R', 'CLICK')
     
     # Split / Separate
     kmi = km.keymap_items.new('mesh.split', 'Y', 'CLICK')
-    kmi = km.keymap_items.new('mesh.separate', 'Y', 'CLICK', shift=True)
+    kmi = km.keymap_items.new('mesh.separate', 'Y', 'PRESS', shift=True)
     
 
     #-----------------
@@ -1278,19 +1290,19 @@
     kmi = km.keymap_items.new('mesh.delete_contextual', 'X', 'CLICK')
     kmi = km.keymap_items.new('mesh.delete_contextual', 'DEL', 'CLICK')
     
-    kmi = km.keymap_items.new('mesh.dissolve_contextual', 'X', 'CLICK', shift=True)
+    kmi = km.keymap_items.new('mesh.dissolve_contextual', 'X', 'PRESS', shift=True)
     kmi.properties.use_verts = True
-    kmi = km.keymap_items.new('mesh.dissolve_contextual', 'DEL', 'CLICK', shift=True)
+    kmi = km.keymap_items.new('mesh.dissolve_contextual', 'DEL', 'PRESS', shift=True)
     kmi.properties.use_verts = True
     
-    kmi = km.keymap_items.new('wm.call_menu', 'X', 'CLICK', alt=True)
+    kmi = km.keymap_items.new('wm.call_menu', 'X', 'PRESS', alt=True)
     kmi.properties.name = 'VIEW3D_MT_edit_mesh_delete'
-    kmi = km.keymap_items.new('wm.call_menu', 'DEL', 'CLICK', alt=True)
+    kmi = km.keymap_items.new('wm.call_menu', 'DEL', 'PRESS', alt=True)
     kmi.properties.name = 'VIEW3D_MT_edit_mesh_delete'
 
     # Merge/collapse
     kmi = km.keymap_items.new('mesh.edge_collapse', 'M', 'CLICK')
-    kmi = km.keymap_items.new('mesh.merge', 'M', 'CLICK', alt=True)
+    kmi = km.keymap_items.new('mesh.merge', 'M', 'PRESS', alt=True)
     
     #-----------------
     # Deform Geometry
@@ -1300,7 +1312,7 @@
     kmi = km.keymap_items.new('mesh.vertices_smooth', 'W', 'PRESS', shift=True)
     

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list