[Bf-blender-cvs] [9927e833f3f] temp-lineart-contained: Lineart: Clean up cache patch.

YimingWu noreply at git.blender.org
Tue Jun 15 07:43:29 CEST 2021


Commit: 9927e833f3f6e9d124cb885c212502484fb77ed3
Author: YimingWu
Date:   Mon Jun 14 20:46:35 2021 +0800
Branches: temp-lineart-contained
https://developer.blender.org/rB9927e833f3f6e9d124cb885c212502484fb77ed3

Lineart: Clean up cache patch.

===================================================================

M	source/blender/blenkernel/BKE_gpencil_modifier.h
M	source/blender/blenkernel/intern/gpencil_modifier.c
M	source/blender/blenloader/intern/versioning_300.c
M	source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
M	source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
M	source/blender/makesrna/intern/rna_gpencil_modifier.c

===================================================================

diff --git a/source/blender/blenkernel/BKE_gpencil_modifier.h b/source/blender/blenkernel/BKE_gpencil_modifier.h
index b49a6fa244c..80d632ca9e2 100644
--- a/source/blender/blenkernel/BKE_gpencil_modifier.h
+++ b/source/blender/blenkernel/BKE_gpencil_modifier.h
@@ -300,12 +300,12 @@ typedef struct GpencilLineartLimitInfo {
   short edge_types;
 } GpencilLineartLimitInfo;
 
-void BKE_gpencil_get_lineart_global_limits(struct Object *ob,
-                                           struct GpencilLineartLimitInfo *info);
+void BKE_gpencil_get_lineart_modifier_limits(struct Object *ob,
+                                             struct GpencilLineartLimitInfo *info);
 
-void BKE_gpencil_assign_lineart_global_limits(struct GpencilModifierData *md,
-                                              struct GpencilLineartLimitInfo *info);
-bool BKE_gpencil_lineart_is_first_run(struct Object *ob, struct GpencilModifierData *md);
+void BKE_gpencil_set_lineart_global_limits(struct GpencilModifierData *md,
+                                           struct GpencilLineartLimitInfo *info);
+bool BKE_gpencil_is_first_lineart_in_stack(struct Object *ob, struct GpencilModifierData *md);
 
 void BKE_gpencil_lattice_init(struct Object *ob);
 void BKE_gpencil_lattice_clear(struct Object *ob);
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index 83c7938a2ad..f9a91268e09 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -203,7 +203,7 @@ bool BKE_gpencil_has_transform_modifiers(Object *ob)
   return false;
 }
 
-void BKE_gpencil_get_lineart_global_limits(Object *ob, struct GpencilLineartLimitInfo *info)
+void BKE_gpencil_get_lineart_modifier_limits(Object *ob, struct GpencilLineartLimitInfo *info)
 {
   LISTBASE_FOREACH (GpencilModifierData *, md, &ob->greasepencil_modifiers) {
     if (md->type == eGpencilModifierType_Lineart) {
@@ -216,16 +216,17 @@ void BKE_gpencil_get_lineart_global_limits(Object *ob, struct GpencilLineartLimi
   }
 }
 
-void BKE_gpencil_assign_lineart_global_limits(GpencilModifierData *md,
-                                              struct GpencilLineartLimitInfo *info)
+void BKE_gpencil_set_lineart_global_limits(GpencilModifierData *md,
+                                           struct GpencilLineartLimitInfo *info)
 {
+  BLI_assert(md->type == eGpencilModifierType_Lineart);
   LineartGpencilModifierData *lmd = (LineartGpencilModifierData *)md;
   lmd->level_start_override = info->min_level;
   lmd->level_end_override = info->max_level;
   lmd->edge_types_override = info->edge_types;
 }
 
-bool BKE_gpencil_lineart_is_first_run(Object *ob, GpencilModifierData *md)
+bool BKE_gpencil_is_first_lineart_in_stack(Object *ob, GpencilModifierData *md)
 {
   if (md->type != eGpencilModifierType_Lineart) {
     return false;
@@ -813,7 +814,7 @@ void BKE_gpencil_modifiers_calc(Depsgraph *depsgraph, Scene *scene, Object *ob)
 
   const bool time_remap = BKE_gpencil_has_time_modifiers(ob);
   GpencilLineartLimitInfo info = {0};
-  BKE_gpencil_get_lineart_global_limits(ob, &info);
+  BKE_gpencil_get_lineart_modifier_limits(ob, &info);
 
   LISTBASE_FOREACH (GpencilModifierData *, md, &ob->greasepencil_modifiers) {
 
@@ -825,7 +826,7 @@ void BKE_gpencil_modifiers_calc(Depsgraph *depsgraph, Scene *scene, Object *ob)
       }
 
       if (md->type == eGpencilModifierType_Lineart) {
-        BKE_gpencil_assign_lineart_global_limits(md, &info);
+        BKE_gpencil_set_lineart_global_limits(md, &info);
       }
 
       /* Apply geometry modifiers (add new geometry). */
diff --git a/source/blender/blenloader/intern/versioning_300.c b/source/blender/blenloader/intern/versioning_300.c
index 52dfc96b2ec..268598ccc51 100644
--- a/source/blender/blenloader/intern/versioning_300.c
+++ b/source/blender/blenloader/intern/versioning_300.c
@@ -27,7 +27,6 @@
 
 #include "DNA_brush_types.h"
 #include "DNA_genfile.h"
-#include "DNA_gpencil_modifier_types.h"
 #include "DNA_listBase.h"
 #include "DNA_modifier_types.h"
 #include "DNA_text_types.h"
@@ -203,21 +202,6 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
         }
       }
     }
-    /* Line art: Default values for new options. */
-    if (!DNA_struct_elem_find(
-            fd->filesdna, "LineartGpencilModifierData", "bool", "use_cached_result")) {
-      LISTBASE_FOREACH (Object *, ob, &bmain->objects) {
-        if (ob->type == OB_GPENCIL) {
-          LISTBASE_FOREACH (GpencilModifierData *, md, &ob->greasepencil_modifiers) {
-            if (md->type == eGpencilModifierType_Lineart) {
-              LineartGpencilModifierData *lmd = (LineartGpencilModifierData *)md;
-              lmd->flags |= LRT_GPENCIL_USE_CACHE;
-              lmd->chain_smooth_tolerance = 0.2f;
-            }
-          }
-        }
-      }
-    }
     /* Grease Pencil: Set default value for dilate pixels. */
     if (!DNA_struct_elem_find(fd->filesdna, "BrushGpencilSettings", "int", "dilate_pixels")) {
       LISTBASE_FOREACH (Brush *, brush, &bmain->brushes) {
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
index 9141ea56dd1..8ed527c0bcb 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
@@ -297,7 +297,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
   uiLayoutSetPropSep(layout, true);
   uiLayoutSetEnabled(layout, !is_baked);
 
-  if (!BKE_gpencil_lineart_is_first_run(ob_ptr.data, ptr->data)) {
+  if (!BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data)) {
     uiItemR(layout, ptr, "use_cached_result", 0, NULL, ICON_NONE);
   }
 
@@ -325,7 +325,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
   uiLayout *sub = uiLayoutRow(col, false);
   uiLayoutSetActive(sub,
                     (RNA_boolean_get(ptr, "use_crease") && !use_cache) ||
-                        BKE_gpencil_lineart_is_first_run(ob_ptr.data, ptr->data));
+                        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);
 
@@ -334,7 +334,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
   uiLayout *entry = uiLayoutRow(sub, false);
   uiLayoutSetActive(entry,
                     (RNA_boolean_get(ptr, "use_light_contour") && !use_cache) ||
-                        BKE_gpencil_lineart_is_first_run(ob_ptr.data, ptr->data));
+                        BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data));
   uiItemR(entry, ptr, "light_contour_object", 0, "", ICON_NONE);
 
   uiItemPointerR(layout, ptr, "target_layer", &obj_data_ptr, "layers", NULL, ICON_GREASEPENCIL);
@@ -371,9 +371,9 @@ static void options_panel_draw(const bContext *UNUSED(C), Panel *panel)
   const bool use_cache = RNA_boolean_get(ptr, "use_cached_result");
 
   uiLayoutSetPropSep(layout, true);
-  uiLayoutSetEnabled(layout,
-                     !is_baked &&
-                         (!use_cache || BKE_gpencil_lineart_is_first_run(ob_ptr.data, ptr->data)));
+  uiLayoutSetEnabled(
+      layout,
+      !is_baked && (!use_cache || BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data)));
 
   uiLayout *row = uiLayoutRowWithHeading(layout, false, IFACE_("Custom Camera"));
   uiItemR(row, ptr, "use_custom_camera", 0, "", 0);
@@ -534,9 +534,9 @@ static void face_mark_panel_draw_header(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");
 
-  uiLayoutSetEnabled(layout,
-                     !is_baked &&
-                         (!use_cache || BKE_gpencil_lineart_is_first_run(ob_ptr.data, ptr->data)));
+  uiLayoutSetEnabled(
+      layout,
+      !is_baked && (!use_cache || BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data)));
 
   uiItemR(layout, ptr, "use_face_mark", 0, IFACE_("Filter Face Mark"), ICON_NONE);
 }
@@ -551,9 +551,9 @@ static void face_mark_panel_draw(const bContext *UNUSED(C), Panel *panel)
   const bool use_mark = RNA_boolean_get(ptr, "use_face_mark");
   const bool use_cache = RNA_boolean_get(ptr, "use_cached_result");
 
-  uiLayoutSetEnabled(layout,
-                     !is_baked &&
-                         (!use_cache || BKE_gpencil_lineart_is_first_run(ob_ptr.data, ptr->data)));
+  uiLayoutSetEnabled(
+      layout,
+      !is_baked && (!use_cache || BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data)));
 
   uiLayoutSetPropSep(layout, true);
 
@@ -574,9 +574,9 @@ static void chaining_panel_draw(const bContext *UNUSED(C), Panel *panel)
   const bool use_cache = RNA_boolean_get(ptr, "use_cached_result");
 
   uiLayoutSetPropSep(layout, true);
-  uiLayoutSetEnabled(layout,
-                     !is_baked &&
-                         (!use_cache || BKE_gpencil_lineart_is_first_run(ob_ptr.data, ptr->data)));
+  uiLayoutSetEnabled(
+      layout,
+      !is_baked && (!use_cache || BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data)));
 
   uiLayout *col = uiLayoutColumnWithHeading(layout, true, IFACE_("Chain"));
   uiItemR(col, ptr, "use_fuzzy_intersections", 0, NULL, ICON_NONE);
@@ -601,9 +601,9 @@ static void vgroup_panel_draw(const bContext *UNUSED(C), Panel *panel)
   const bool use_cache = RNA_boolean_get(ptr, "use_cached_result");
 
   uiLayoutSetPropSep(layout, true);
-  uiLayoutSetEnabled(layout,
-                     !is_baked &&
-                         (!use_cache || BKE_gpencil_lineart_is_first_run(ob_ptr.data, ptr->data)));
+  uiLayoutSetEnabled(
+      layout,
+      !is_baked && (!use_cache || BKE_gpencil_is_first_lineart_in_stack(ob_ptr.data, ptr->data)));
 
   uiLayout *col = uiLayoutColumn(layout, true);
 
diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
index a741ba120b0..0dda993fce2 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
+++ b/source/blender/gpencil_

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list