[Bf-blender-cvs] [27f38bae5e3] lineart-fn-cached: LineArt: cache ui changes.
YimingWu
noreply at git.blender.org
Tue Jun 15 14:09:24 CEST 2021
Commit: 27f38bae5e3f4d3918b5c7535c1bba4f1aee1b66
Author: YimingWu
Date: Tue Jun 15 18:10:50 2021 +0800
Branches: lineart-fn-cached
https://developer.blender.org/rB27f38bae5e3f4d3918b5c7535c1bba4f1aee1b66
LineArt: cache ui changes.
===================================================================
M source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
===================================================================
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
index 03c8cdf220a..491a96b671c 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
@@ -281,6 +281,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
const int source_type = RNA_enum_get(ptr, "source_type");
const bool is_baked = RNA_boolean_get(ptr, "is_baked");
const bool use_cache = RNA_boolean_get(ptr, "use_cached_result");
+ const bool is_first = BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data);
uiLayoutSetPropSep(layout, true);
uiLayoutSetEnabled(layout, !is_baked);
@@ -307,14 +308,17 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiItemR(col, ptr, "use_material", 0, IFACE_("Material Borders"), ICON_NONE);
uiItemR(col, ptr, "use_edge_mark", 0, IFACE_("Edge Marks"), ICON_NONE);
uiItemR(col, ptr, "use_intersection", 0, IFACE_("Intersections"), ICON_NONE);
- uiItemR(col, ptr, "use_crease", 0, IFACE_("Crease"), ICON_NONE);
- uiLayout *sub = uiLayoutRow(col, false);
- uiLayoutSetActive(sub,
- (RNA_boolean_get(ptr, "use_crease") && !use_cache) ||
- BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data));
- uiLayoutSetPropSep(sub, true);
- uiItemR(sub, ptr, "crease_threshold", UI_ITEM_R_SLIDER, " ", ICON_NONE);
+ uiLayout *sub = uiLayoutRowWithHeading(col, false, IFACE_("Crease"));
+ uiItemR(sub, ptr, "use_crease", 0, "", ICON_NONE);
+ uiLayout *entry = uiLayoutRow(sub, false);
+ uiLayoutSetActive(entry, RNA_boolean_get(ptr, "use_crease") || is_first);
+ if (use_cache && !is_first) {
+ uiItemL(entry, IFACE_("Angle Cached"), ICON_INFO);
+ }
+ else {
+ uiItemR(entry, ptr, "crease_threshold", UI_ITEM_R_SLIDER, " ", ICON_NONE);
+ }
uiItemPointerR(layout, ptr, "target_layer", &obj_data_ptr, "layers", NULL, ICON_GREASEPENCIL);
@@ -348,16 +352,29 @@ static void options_panel_draw(const bContext *UNUSED(C), Panel *panel)
const bool is_baked = RNA_boolean_get(ptr, "is_baked");
const bool use_cache = RNA_boolean_get(ptr, "use_cached_result");
+ const bool is_first = BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data);
uiLayoutSetPropSep(layout, true);
- uiLayoutSetEnabled(
- layout,
- !is_baked && (!use_cache || BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data)));
-
- uiItemR(layout, ptr, "use_remove_doubles", 0, NULL, ICON_NONE);
- uiItemR(layout, ptr, "use_edge_overlap", 0, IFACE_("Overlapping Edges As Contour"), ICON_NONE);
- uiItemR(layout, ptr, "use_object_instances", 0, NULL, ICON_NONE);
- uiItemR(layout, ptr, "use_clip_plane_boundaries", 0, NULL, ICON_NONE);
+ uiLayoutSetEnabled(layout, !is_baked);
+
+ if (!use_cache || is_first) {
+ uiLayout *row = uiLayoutRowWithHeading(layout, false, IFACE_("Custom Camera"));
+ uiItemR(row, ptr, "use_custom_camera", 0, "", 0);
+ uiLayout *subrow = uiLayoutRow(row, true);
+ uiLayoutSetActive(subrow, RNA_boolean_get(ptr, "use_custom_camera"));
+ uiLayoutSetPropSep(subrow, true);
+ uiItemR(subrow, ptr, "source_camera", 0, "", ICON_OBJECT_DATA);
+
+ uiItemR(layout, ptr, "overscan", 0, NULL, ICON_NONE);
+
+ uiItemR(layout, ptr, "use_remove_doubles", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "use_edge_overlap", 0, IFACE_("Overlapping Edges As Contour"), ICON_NONE);
+ uiItemR(layout, ptr, "use_object_instances", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "use_clip_plane_boundaries", 0, NULL, ICON_NONE);
+ }
+ else {
+ uiItemL(layout, "Cached with the first line art modifier.", ICON_INFO);
+ }
}
static void style_panel_draw(const bContext *UNUSED(C), Panel *panel)
@@ -446,19 +463,23 @@ static void chaining_panel_draw(const bContext *UNUSED(C), Panel *panel)
const bool is_baked = RNA_boolean_get(ptr, "is_baked");
const bool use_cache = RNA_boolean_get(ptr, "use_cached_result");
+ const bool is_first = BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data);
uiLayoutSetPropSep(layout, true);
- uiLayoutSetEnabled(
- layout,
- !is_baked && (!use_cache || BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data)));
+ uiLayoutSetEnabled(layout, !is_baked);
- uiLayout *col = uiLayoutColumnWithHeading(layout, true, IFACE_("Chain"));
- uiItemR(col, ptr, "use_fuzzy_intersections", 0, NULL, ICON_NONE);
- uiItemR(col, ptr, "use_fuzzy_all", 0, NULL, ICON_NONE);
+ if (!use_cache || is_first) {
+ uiLayout *col = uiLayoutColumnWithHeading(layout, true, IFACE_("Chain"));
+ uiItemR(col, ptr, "use_fuzzy_intersections", 0, NULL, ICON_NONE);
+ uiItemR(col, ptr, "use_fuzzy_all", 0, NULL, ICON_NONE);
- uiItemR(layout, ptr, "chaining_image_threshold", 0, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "chaining_image_threshold", 0, NULL, ICON_NONE);
- uiItemR(layout, ptr, "split_angle", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
+ uiItemR(layout, ptr, "split_angle", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
+ }
+ else {
+ uiItemL(layout, "Cached with the first line art modifier.", ICON_INFO);
+ }
}
static void vgroup_panel_draw(const bContext *UNUSED(C), Panel *panel)
@@ -470,24 +491,29 @@ static void vgroup_panel_draw(const bContext *UNUSED(C), Panel *panel)
const bool is_baked = RNA_boolean_get(ptr, "is_baked");
const bool use_cache = RNA_boolean_get(ptr, "use_cached_result");
+ const bool is_first = BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data);
uiLayoutSetPropSep(layout, true);
- uiLayoutSetEnabled(
- layout,
- !is_baked && (!use_cache || BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data)));
+ uiLayoutSetEnabled(layout, !is_baked);
- uiLayout *col = uiLayoutColumn(layout, true);
+ if (!use_cache || is_first) {
+ uiLayout *col = uiLayoutColumn(layout, true);
+
+ uiLayout *row = uiLayoutRow(col, true);
- uiLayout *row = uiLayoutRow(col, true);
- uiItemR(row, ptr, "source_vertex_group", 0, IFACE_("Filter Source"), ICON_GROUP_VERTEX);
- uiItemR(row, ptr, "invert_source_vertex_group", UI_ITEM_R_TOGGLE, "", ICON_ARROW_LEFTRIGHT);
+ uiItemR(row, ptr, "source_vertex_group", 0, IFACE_("Filter Source"), ICON_GROUP_VERTEX);
+ uiItemR(row, ptr, "invert_source_vertex_group", UI_ITEM_R_TOGGLE, "", ICON_ARROW_LEFTRIGHT);
- uiItemR(col, ptr, "use_output_vertex_group_match_by_name", 0, NULL, ICON_NONE);
+ uiItemR(col, ptr, "use_output_vertex_group_match_by_name", 0, NULL, ICON_NONE);
- const bool match_output = RNA_boolean_get(ptr, "use_output_vertex_group_match_by_name");
- if (!match_output) {
- uiItemPointerR(
- col, ptr, "vertex_group", &ob_ptr, "vertex_groups", IFACE_("Target"), ICON_NONE);
+ const bool match_output = RNA_boolean_get(ptr, "use_output_vertex_group_match_by_name");
+ if (!match_output) {
+ uiItemPointerR(
+ col, ptr, "vertex_group", &ob_ptr, "vertex_groups", IFACE_("Target"), ICON_NONE);
+ }
+ }
+ else {
+ uiItemL(layout, "Cached with the first line art modifier.", ICON_INFO);
}
}
More information about the Bf-blender-cvs
mailing list