[Bf-blender-cvs] [3221187dd57] modifier-panels-ui: Add settings recently added to modifiers, tweak UI
Hans Goudey
noreply at git.blender.org
Fri Apr 3 23:47:17 CEST 2020
Commit: 3221187dd57a07cb2ce24940a1bfc2adf09aceeb
Author: Hans Goudey
Date: Thu Apr 2 15:57:07 2020 -0500
Branches: modifier-panels-ui
https://developer.blender.org/rB3221187dd57a07cb2ce24940a1bfc2adf09aceeb
Add settings recently added to modifiers, tweak UI
===================================================================
M source/blender/modifiers/intern/MOD_remesh.c
M source/blender/modifiers/intern/MOD_solidify.c
M source/blender/modifiers/intern/MOD_surfacedeform.c
M source/blender/modifiers/intern/MOD_warp.c
M source/blender/modifiers/intern/MOD_wave.c
M source/blender/modifiers/intern/MOD_weightvgedit.c
M source/blender/modifiers/intern/MOD_weightvgproximity.c
===================================================================
diff --git a/source/blender/modifiers/intern/MOD_remesh.c b/source/blender/modifiers/intern/MOD_remesh.c
index 44fa3f90cd4..5e555f62c61 100644
--- a/source/blender/modifiers/intern/MOD_remesh.c
+++ b/source/blender/modifiers/intern/MOD_remesh.c
@@ -240,21 +240,28 @@ static void panel_draw(const bContext *C, Panel *panel)
PointerRNA ob_ptr;
modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
- uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE);
+ int mode = RNA_enum_get(&ptr, "mode");
- row = uiLayoutRow(layout, false);
- uiItemR(row, &ptr, "octree_depth", 0, NULL, ICON_NONE);
- uiItemR(row, &ptr, "scale", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "mode", 0, NULL, ICON_NONE);
- if (RNA_enum_get(&ptr, "mode") == MOD_REMESH_SHARP_FEATURES) {
- uiItemR(layout, &ptr, "sharpness", 0, NULL, ICON_NONE);
+ if (mode == MOD_REMESH_VOXEL) {
+ uiItemR(layout, &ptr, "voxel_size", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "adaptivity", 0, NULL, ICON_NONE);
}
+ else {
+ uiItemR(layout, &ptr, "octree_depth", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "scale", 0, NULL, ICON_NONE);
+ if (mode == MOD_REMESH_SHARP_FEATURES) {
+ uiItemR(layout, &ptr, "sharpness", 0, NULL, ICON_NONE);
+ }
+
+ uiItemR(layout, &ptr, "use_remove_disconnected", 0, NULL, ICON_NONE);
+ row = uiLayoutRow(layout, false);
+ uiLayoutSetActive(row, RNA_boolean_get(&ptr, "use_remove_disconnected"));
+ uiItemR(layout, &ptr, "threshold", 0, NULL, ICON_NONE);
+ }
uiItemR(layout, &ptr, "use_smooth_shade", 0, NULL, ICON_NONE);
- uiItemR(layout, &ptr, "use_remove_disconnected", 0, NULL, ICON_NONE);
- row = uiLayoutRow(layout, false);
- uiLayoutSetActive(row, RNA_boolean_get(&ptr, "use_remove_disconnected"));
- uiItemR(layout, &ptr, "threshold", 0, NULL, ICON_NONE);
modifier_panel_end(layout, &ptr);
@@ -265,7 +272,7 @@ static void panel_draw(const bContext *C, Panel *panel)
static void panelRegister(ARegionType *region_type)
{
- PanelType *panel_type = modifier_panel_register(region_type, "Remesh", panel_draw);
+ modifier_panel_register(region_type, "Remesh", panel_draw);
}
ModifierTypeInfo modifierType_Remesh = {
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c
index a9bc198a028..b9c8bbb34c6 100644
--- a/source/blender/modifiers/intern/MOD_solidify.c
+++ b/source/blender/modifiers/intern/MOD_solidify.c
@@ -111,53 +111,37 @@ static void panel_draw(const bContext *C, Panel *panel)
uiItemR(row, &ptr, "solidify_mode", 0, NULL, ICON_NONE);
if (solidify_mode == MOD_SOLIDIFY_MODE_NONMANIFOLD) {
- uiItemR(layout, &ptr, "nonmanifold_thickness_mode", 0, NULL, ICON_NONE);
- uiItemR(layout, &ptr, "nonmanifold_boundary_mode", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "nonmanifold_thickness_mode", 0, IFACE_("Thickness"), ICON_NONE);
+ uiItemR(layout, &ptr, "nonmanifold_boundary_mode", 0, IFACE_("Boundary"), ICON_NONE);
}
- split = uiLayoutSplit(layout, 0.5f, false);
- col = uiLayoutColumn(split, false);
- uiItemR(col, &ptr, "thickness", 0, NULL, ICON_NONE);
- uiItemR(col, &ptr, "thickness_clamp", 0, NULL, ICON_NONE);
- row = uiLayoutRow(col, false);
- uiLayoutSetActive(row, RNA_float_get(&ptr, "thickness_clamp") > 0.0f);
- uiItemR(row, &ptr, "use_thickness_angle_clamp", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "thickness", 0, NULL, ICON_NONE);
+ uiItemR(layout, &ptr, "offset", 0, NULL, ICON_NONE);
- uiItemS(col);
-
- row = uiLayoutRow(col, true);
+ row = uiLayoutRow(layout, true);
uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", "", ICON_NONE);
sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_vertex_group);
uiItemR(sub, &ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
-
- row = uiLayoutRow(col, false);
+ row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, has_vertex_group);
uiItemR(row, &ptr, "thickness_vertex_group", 0, IFACE_("Factor"), ICON_NONE);
- if (solidify_mode == MOD_SOLIDIFY_MODE_EXTRUDE) {
- uiItemL(col, IFACE_("Crease:"), ICON_NONE);
- uiItemR(col, &ptr, "edge_crease_inner", 0, IFACE_("Inner"), ICON_NONE);
- uiItemR(col, &ptr, "edge_crease_outer", 0, IFACE_("Outer"), ICON_NONE);
- uiItemR(col, &ptr, "edge_crease_rim", 0, IFACE_("Rim"), ICON_NONE);
- }
-
- col = uiLayoutColumn(split, false);
- uiItemR(col, &ptr, "offset", 0, NULL, ICON_NONE);
+ split = uiLayoutSplit(layout, 0.5f, false);
+ col = uiLayoutColumn(split, true);
uiItemR(col, &ptr, "use_flip_normals", 0, NULL, ICON_NONE);
if (solidify_mode == MOD_SOLIDIFY_MODE_EXTRUDE) {
uiItemR(col, &ptr, "use_even_offset", 0, NULL, ICON_NONE);
uiItemR(col, &ptr, "use_quality_normals", 0, NULL, ICON_NONE);
}
+ col = uiLayoutColumn(split, true);
uiItemR(col, &ptr, "use_rim", 0, NULL, ICON_NONE);
sub = uiLayoutColumn(col, false);
uiLayoutSetActive(sub, RNA_boolean_get(&ptr, "use_rim"));
uiItemR(sub, &ptr, "use_rim_only", 0, NULL, ICON_NONE);
- uiItemS(col);
-
+ col = uiLayoutColumn(layout, true);
uiItemL(col, IFACE_("Material Index Offset:"), ICON_NONE);
-
sub = uiLayoutColumn(col, false);
row = uiLayoutSplit(sub, 0.4f, true);
uiItemR(row, &ptr, "material_offset", 0, "", ICON_NONE);
@@ -168,9 +152,63 @@ static void panel_draw(const bContext *C, Panel *panel)
modifier_panel_end(layout, &ptr);
}
+static void draw_crease_panel(const bContext *C, Panel *panel)
+{
+ uiLayout *layout = panel->layout;
+
+ PointerRNA ptr;
+ PointerRNA ob_ptr;
+ modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
+
+ int solidify_mode = RNA_enum_get(&ptr, "solidify_mode");
+
+ uiLayoutSetActive(layout, solidify_mode == MOD_SOLIDIFY_MODE_EXTRUDE);
+ uiItemR(layout, &ptr, "edge_crease_inner", 0, IFACE_("Inner"), ICON_NONE);
+ uiItemR(layout, &ptr, "edge_crease_outer", 0, IFACE_("Outer"), ICON_NONE);
+ uiItemR(layout, &ptr, "edge_crease_rim", 0, IFACE_("Rim"), ICON_NONE);
+}
+
+static void draw_clamp_panel(const bContext *C, Panel *panel)
+{
+ uiLayout *row;
+ uiLayout *layout = panel->layout;
+
+ PointerRNA ptr;
+ PointerRNA ob_ptr;
+ modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
+
+ uiItemR(layout, &ptr, "thickness_clamp", 0, NULL, ICON_NONE);
+ row = uiLayoutRow(layout, false);
+ uiLayoutSetActive(row, RNA_float_get(&ptr, "thickness_clamp") > 0.0f);
+ uiItemR(row, &ptr, "use_thickness_angle_clamp", 0, NULL, ICON_NONE);
+}
+
+static void draw_vertex_group_panel(const bContext *C, Panel *panel)
+{
+ uiLayout *layout = panel->layout;
+
+ PointerRNA ptr;
+ PointerRNA ob_ptr;
+ modifier_panel_get_property_pointers(C, panel, &ob_ptr, &ptr);
+
+ uiItemPointerR(layout, &ptr, "shell_vertex_group", &ob_ptr, "vertex_groups", "Shell", ICON_NONE);
+ uiItemPointerR(layout, &ptr, "rim_vertex_group", &ob_ptr, "vertex_groups", "Rim", ICON_NONE);
+}
+
static void panelRegister(ARegionType *region_type)
{
PanelType *panel_type = modifier_panel_register(region_type, "Solidify", panel_draw);
+ modifier_subpanel_register(
+ region_type, "solidify_crease", "Crease", NULL, draw_crease_panel, false, panel_type);
+ modifier_subpanel_register(
+ region_type, "solidify_clamp", "Clamp", NULL, draw_clamp_panel, false, panel_type);
+ modifier_subpanel_register(region_type,
+ "solidify_vertex_groups",
+ "Output Vertex Groups",
+ NULL,
+ draw_vertex_group_panel,
+ false,
+ panel_type);
}
ModifierTypeInfo modifierType_Solidify = {
diff --git a/source/blender/modifiers/intern/MOD_surfacedeform.c b/source/blender/modifiers/intern/MOD_surfacedeform.c
index 437e5e62e7e..ff34c28837f 100644
--- a/source/blender/modifiers/intern/MOD_surfacedeform.c
+++ b/source/blender/modifiers/intern/MOD_surfacedeform.c
@@ -1394,7 +1394,7 @@ static bool isDisabled(const Scene *UNUSED(scene), ModifierData *md, bool UNUSED
static void panel_draw(const bContext *C, Panel *panel)
{
- uiLayout *col;
+ uiLayout *row, *col, *sub;
uiLayout *layout = panel->layout;
PointerRNA ptr;
@@ -1404,11 +1404,19 @@ static void panel_draw(const bContext *C, Panel *panel)
PointerRNA target_ptr = RNA_pointer_get(&ptr, "target");
bool is_bound = RNA_boolean_get(&ptr, "is_bound");
+ bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col, !is_bound);
uiItemR(col, &ptr, "target", 0, NULL, ICON_NONE);
+ row = uiLayoutRow(col, true);
+ uiItemPointerR(row, &ptr, "vertex_group", &ob_ptr, "vertex_groups", "", ICON_NONE);
+ sub = uiLayoutRow(row, true);
+ uiLayoutSetActive(sub, has_vertex_group);
+ uiItemR(sub, &ptr, "invert_vertex_group", 0, "", ICON_ARROW_LEFTRIGHT);
+
uiItemR(col, &ptr, "falloff", 0, NULL, ICON_NONE);
+ uiItemR(col, &ptr, "strength", 0, NULL, ICON_NONE);
uiItemS(layout);
diff --git a/source/blender/modifiers/intern/MOD_warp.c b/source/blender/modifiers/intern/MOD_warp.c
index 66d4ce7d7c4..d6515c826ef 100644
--- a/source/blender/modifiers/intern/MOD_warp.c
+++ b/source/blender/modifiers/intern/MOD_warp.c
@@ -412,16 +412,29 @@ static void panel_draw(const bContext *C, Panel *panel)
bool has_vertex_group = RNA_string_length(&ptr, "vertex_group") != 0;
split = uiLayoutSplit(layout, 0.5f, false);
- col = uiLayoutColumn(split, false);
+ col = uiLayoutColumn(split, true);
uiItemL(col, IFACE_("From:"), ICON_NONE);
uiItemR(col, &ptr, "object_from", 0, "", ICON_NONE);
+ PointerRNA from_obj_ptr = RNA_pointer_get(&ptr, "object_from");
+ if (!RNA_pointer_is_null(&from_obj_ptr) && RNA_enum_get(&from_obj_ptr, "type") == OB_ARMATURE) {
+ uiItemL(col, IFACE_("Bone:"), ICON_NONE);
+ PointerRNA from_obj_data_ptr = RNA_pointer_get(&from_obj_ptr, "data");
+ uiItemPointerR(col, &ptr, "bone_from", &from_obj_data_ptr, "bones", "", ICON_NONE);
+ }
- uiItemR(col, &ptr, "use_volume_preserve", 0, NULL, ICON_NONE);
-
- col = uiLayoutColumn(split, false);
+ col = uiLayoutColumn(split, true);
uiItemL(col, IFACE_("To:"), ICON_NONE);
uiItemR(col,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list