[Bf-blender-cvs] [ae689123643] temp-lineart-contained: LineArt: Bounding area duplicated code removal.

YimingWu noreply at git.blender.org
Fri Mar 12 02:47:08 CET 2021


Commit: ae6891236438e2644b8b32d71ac76cb7cc89ebde
Author: YimingWu
Date:   Fri Mar 12 09:14:05 2021 +0800
Branches: temp-lineart-contained
https://developer.blender.org/rBae6891236438e2644b8b32d71ac76cb7cc89ebde

LineArt: Bounding area duplicated code removal.

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

M	source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c

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

diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
index 1b5074532c2..478bb0170a6 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_cpu.c
@@ -3167,32 +3167,7 @@ LineartBoundingArea *ED_lineart_get_point_bounding_area_rb(LineartRenderBuffer *
   return &rb->initial_bounding_areas[row * 4 + col];
 }
 
-static LineartBoundingArea *lineart_get_point_bounding_area_recursive(LineartBoundingArea *ba,
-                                                                      double x,
-                                                                      double y)
-{
-  if (ba->child == NULL) {
-    return ba;
-  }
-#define IN_BOUND(i, x, y) \
-  ba->child[i].l <= x && ba->child[i].r >= x && ba->child[i].b <= y && ba->child[i].u >= y
-
-  if (IN_BOUND(0, x, y)) {
-    return lineart_get_point_bounding_area_recursive(&ba->child[0], x, y);
-  }
-  if (IN_BOUND(1, x, y)) {
-    return lineart_get_point_bounding_area_recursive(&ba->child[1], x, y);
-  }
-  if (IN_BOUND(2, x, y)) {
-    return lineart_get_point_bounding_area_recursive(&ba->child[2], x, y);
-  }
-  if (IN_BOUND(3, x, y)) {
-    return lineart_get_point_bounding_area_recursive(&ba->child[3], x, y);
-  }
-
-  return NULL;
-#undef IN_BOUND
-}
+static LineartBoundingArea *lineart_get_bounding_area(LineartRenderBuffer *rb, double x, double y);
 
 /* Wrapper for more convenience. */
 LineartBoundingArea *ED_lineart_get_point_bounding_area_recursive_rb(LineartRenderBuffer *rb,
@@ -3201,7 +3176,7 @@ LineartBoundingArea *ED_lineart_get_point_bounding_area_recursive_rb(LineartRend
 {
   LineartBoundingArea *ba;
   if ((ba = ED_lineart_get_point_bounding_area_rb(rb, x, y)) != NULL) {
-    return lineart_get_point_bounding_area_recursive(ba, x, y);
+    return lineart_get_bounding_area(rb, x, y);
   }
   return NULL;
 }



More information about the Bf-blender-cvs mailing list