Sculpt Branch:
Subdivision set with Ctrl+1-5 now works for multires as well.
This commit is contained in:
@@ -75,16 +75,16 @@ class SelectPattern(bpy.types.Operator):
|
|||||||
row.prop(props, "extend")
|
row.prop(props, "extend")
|
||||||
|
|
||||||
|
|
||||||
class SubsurfSet(bpy.types.Operator):
|
class SubdivisionSet(bpy.types.Operator):
|
||||||
'''Sets a Subdivision Surface Level (1-5)'''
|
'''Sets a Subdivision Surface Level (1-5)'''
|
||||||
|
|
||||||
bl_idname = "object.subsurf_set"
|
bl_idname = "object.subdivision_set"
|
||||||
bl_label = "Subsurf Set"
|
bl_label = "Subdivision Set"
|
||||||
bl_register = True
|
bl_register = True
|
||||||
bl_undo = True
|
bl_undo = True
|
||||||
|
|
||||||
level = IntProperty(name="Level",
|
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):
|
def poll(self, context):
|
||||||
ob = context.active_object
|
ob = context.active_object
|
||||||
@@ -94,7 +94,11 @@ class SubsurfSet(bpy.types.Operator):
|
|||||||
level = self.properties.level
|
level = self.properties.level
|
||||||
ob = context.active_object
|
ob = context.active_object
|
||||||
for mod in ob.modifiers:
|
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:
|
if mod.levels != level:
|
||||||
mod.levels = level
|
mod.levels = level
|
||||||
return ('FINISHED',)
|
return ('FINISHED',)
|
||||||
@@ -120,5 +124,6 @@ class Retopo(bpy.types.Operator):
|
|||||||
|
|
||||||
|
|
||||||
bpy.ops.add(SelectPattern)
|
bpy.ops.add(SelectPattern)
|
||||||
bpy.ops.add(SubsurfSet)
|
bpy.ops.add(SubdivisionSet)
|
||||||
bpy.ops.add(Retopo)
|
bpy.ops.add(Retopo)
|
||||||
|
|
||||||
|
|||||||
@@ -227,6 +227,7 @@ void ED_keymap_object(wmKeyConfig *keyconf)
|
|||||||
{
|
{
|
||||||
wmKeyMap *keymap;
|
wmKeyMap *keymap;
|
||||||
wmKeyMapItem *kmi;
|
wmKeyMapItem *kmi;
|
||||||
|
int i;
|
||||||
|
|
||||||
/* Objects, Regardless of Mode -------------------------------------------------- */
|
/* Objects, Regardless of Mode -------------------------------------------------- */
|
||||||
keymap= WM_keymap_find(keyconf, "Object Non-modal", 0, 0);
|
keymap= WM_keymap_find(keyconf, "Object Non-modal", 0, 0);
|
||||||
@@ -314,16 +315,10 @@ void ED_keymap_object(wmKeyConfig *keyconf)
|
|||||||
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_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);
|
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);
|
for(i=1; i<=5; i++) {
|
||||||
RNA_int_set(kmi->ptr, "level", 1);
|
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subdivision_set", ZEROKEY+i, KM_PRESS, KM_CTRL, 0);
|
||||||
kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subsurf_set", TWOKEY, KM_PRESS, KM_CTRL, 0);
|
RNA_int_set(kmi->ptr, "level", i);
|
||||||
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 -------------------------------------------------------------------- */
|
/* Lattice -------------------------------------------------------------------- */
|
||||||
keymap= WM_keymap_find(keyconf, "Lattice", 0, 0);
|
keymap= WM_keymap_find(keyconf, "Lattice", 0, 0);
|
||||||
|
|||||||
@@ -179,6 +179,7 @@ static void ed_keymap_paint_brush_switch(wmKeyMap *keymap, const char *path)
|
|||||||
void ED_keymap_paint(wmKeyConfig *keyconf)
|
void ED_keymap_paint(wmKeyConfig *keyconf)
|
||||||
{
|
{
|
||||||
wmKeyMap *keymap;
|
wmKeyMap *keymap;
|
||||||
|
int i;
|
||||||
|
|
||||||
/* Sculpt mode */
|
/* Sculpt mode */
|
||||||
keymap= WM_keymap_find(keyconf, "Sculpt", 0, 0);
|
keymap= WM_keymap_find(keyconf, "Sculpt", 0, 0);
|
||||||
@@ -193,6 +194,9 @@ void ED_keymap_paint(wmKeyConfig *keyconf)
|
|||||||
|
|
||||||
ed_keymap_paint_brush_switch(keymap, "tool_settings.sculpt.active_brush_index");
|
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 */
|
/* Vertex Paint mode */
|
||||||
keymap= WM_keymap_find(keyconf, "Vertex Paint", 0, 0);
|
keymap= WM_keymap_find(keyconf, "Vertex Paint", 0, 0);
|
||||||
keymap->poll= vertex_paint_poll;
|
keymap->poll= vertex_paint_poll;
|
||||||
|
|||||||
Reference in New Issue
Block a user