[Bf-blender-cvs] [b8cdfea599c] temp-gpencil-bezier-stroke-type: GPencil: More refactor - remove stroke flags

Falk David noreply at git.blender.org
Tue Apr 13 16:30:10 CEST 2021


Commit: b8cdfea599c6e716198a578ee8398c331d72110a
Author: Falk David
Date:   Tue Apr 13 16:30:00 2021 +0200
Branches: temp-gpencil-bezier-stroke-type
https://developer.blender.org/rBb8cdfea599c6e716198a578ee8398c331d72110a

GPencil: More refactor - remove stroke flags

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

M	source/blender/blenkernel/intern/gpencil_curve.c
M	source/blender/blenkernel/intern/gpencil_geom.c
M	source/blender/editors/gpencil/gpencil_curve_draw.c
M	source/blender/editors/gpencil/gpencil_edit.c
M	source/blender/editors/gpencil/gpencil_vertex_paint.c
M	source/blender/makesrna/intern/rna_gpencil.c

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

diff --git a/source/blender/blenkernel/intern/gpencil_curve.c b/source/blender/blenkernel/intern/gpencil_curve.c
index 8d4db4e596e..3651576246a 100644
--- a/source/blender/blenkernel/intern/gpencil_curve.c
+++ b/source/blender/blenkernel/intern/gpencil_curve.c
@@ -1570,7 +1570,6 @@ void BKE_gpencil_editcurve_recalculate_handles(bGPDstroke *gps)
   if (gpc->tot_curve_points == 1) {
     BKE_nurb_handle_calc(
         &(gpc->curve_points[0].bezt), NULL, &(gpc->curve_points[0].bezt), false, 0);
-    gps->flag |= GP_STROKE_NEEDS_CURVE_UPDATE;
   }
 
   for (int i = 1; i < gpc->tot_curve_points - 1; i++) {
@@ -1611,10 +1610,6 @@ void BKE_gpencil_editcurve_recalculate_handles(bGPDstroke *gps)
 
     changed = true;
   }
-
-  if (changed) {
-    gps->flag |= GP_STROKE_NEEDS_CURVE_UPDATE;
-  }
 }
 
 /* Helper: count how many new curve points must be generated. */
diff --git a/source/blender/blenkernel/intern/gpencil_geom.c b/source/blender/blenkernel/intern/gpencil_geom.c
index 4bfbb3c61c3..58b62afdfdb 100644
--- a/source/blender/blenkernel/intern/gpencil_geom.c
+++ b/source/blender/blenkernel/intern/gpencil_geom.c
@@ -3295,8 +3295,6 @@ void BKE_gpencil_stroke_join(bGPDstroke *gps_a,
       bGPDcurve_point *cpt = &gpc_a->curve_points[i];
       cpt->pressure *= thickness_ratio;
     }
-
-    gps_a->flag |= GP_STROKE_NEEDS_CURVE_UPDATE;
   }
   else {
     /* don't visibly link the first and last points? */
diff --git a/source/blender/editors/gpencil/gpencil_curve_draw.c b/source/blender/editors/gpencil/gpencil_curve_draw.c
index f9b2c06ae60..b57b6accf9a 100644
--- a/source/blender/editors/gpencil/gpencil_curve_draw.c
+++ b/source/blender/editors/gpencil/gpencil_curve_draw.c
@@ -187,7 +187,7 @@ static void gpencil_push_curve_point(bContext *C, tGPDcurve_draw *tcd)
   new_last->bezt.h1 = new_last->bezt.h2 = HD_VECT;
 
   BKE_gpencil_stroke_update_geometry_from_editcurve(
-      tcd->gps, tcd->gpd->curve_edit_resolution, false);
+      tcd->gps, tcd->gpd->curve_edit_resolution, false, GP_GEO_UPDATE_DEFAULT);
 }
 
 /* Helper: Remove the last curve point */
@@ -211,7 +211,8 @@ static void gpencil_pop_curve_point(bContext *C, tGPDcurve_draw *tcd)
   memcpy(new_curve->curve_points, gpc->curve_points, sizeof(bGPDcurve_point) * new_num_points);
   new_stroke->editcurve = new_curve;
 
-  BKE_gpencil_stroke_update_geometry_from_editcurve(new_stroke, gpd->curve_edit_resolution, false);
+  BKE_gpencil_stroke_update_geometry_from_editcurve(
+      new_stroke, gpd->curve_edit_resolution, false, GP_GEO_UPDATE_DEFAULT);
 
   /* Remove and free old stroke and curve */
   BLI_remlink(&tcd->gpf->strokes, gps);
@@ -520,7 +521,8 @@ static void gpencil_curve_draw_update(bContext *C, tGPDcurve_draw *tcd)
       copy_v3_v3(bezt->vec[2], co);
 
       BKE_gpencil_editcurve_recalculate_handles(gps);
-      BKE_gpencil_stroke_update_geometry_from_editcurve(gps, tcd->resolution, false);
+      BKE_gpencil_stroke_update_geometry_from_editcurve(
+          gps, tcd->resolution, false, GP_GEO_UPDATE_DEFAULT);
       gpencil_set_alpha_last_segment(tcd, 0.1f);
       break;
     }
@@ -532,14 +534,16 @@ static void gpencil_curve_draw_update(bContext *C, tGPDcurve_draw *tcd)
       copy_v3_v3(bezt->vec[0], vec);
       copy_v3_v3(bezt->vec[2], co);
 
-      BKE_gpencil_stroke_update_geometry_from_editcurve(gps, tcd->resolution, false);
+      BKE_gpencil_stroke_update_geometry_from_editcurve(
+          gps, tcd->resolution, false, GP_GEO_UPDATE_DEFAULT);
       break;
     }
     case IN_DRAG_FREE_HANDLE: {
       gpencil_project_mval_to_v3(tcd->scene, tcd->region, tcd->ob, tcd->imval, co);
       copy_v3_v3(bezt->vec[2], co);
 
-      BKE_gpencil_stroke_update_geometry_from_editcurve(gps, tcd->resolution, false);
+      BKE_gpencil_stroke_update_geometry_from_editcurve(
+          gps, tcd->resolution, false, GP_GEO_UPDATE_DEFAULT);
       break;
     }
     case IN_SET_THICKNESS: {
@@ -552,7 +556,8 @@ static void gpencil_curve_draw_update(bContext *C, tGPDcurve_draw *tcd)
       cpt->pressure = tcd->prev_pressure + dr;
       CLAMP_MIN(cpt->pressure, 0.0f);
 
-      BKE_gpencil_stroke_update_geometry_from_editcurve(gps, tcd->resolution, false);
+      BKE_gpencil_stroke_update_geometry_from_editcurve(
+          gps, tcd->resolution, false, GP_GEO_UPDATE_DEFAULT);
       break;
     }
     default:
diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c
index 54e6c3970c3..820d05f3b11 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -207,22 +207,6 @@ static int gpencil_editmode_toggle_exec(bContext *C, wmOperator *op)
     ob->mode = mode;
   }
 
-  // /* Recalculate editcurves for strokes where the geometry/vertex colors have changed */
-  // if (GPENCIL_CURVE_EDIT_SESSIONS_ON(gpd)) {
-  //   GP_EDITABLE_CURVES_BEGIN(gps_iter, C, gpl, gps, gpc)
-  //   {
-  //     if (gpc->flag & GP_CURVE_NEEDS_STROKE_UPDATE) {
-  //       BKE_gpencil_stroke_editcurve_update(gpd, gpl, gps);
-  //       /* Update the selection from the stroke to the curve. */
-  //       BKE_gpencil_editcurve_stroke_sync_selection(gps, gps->editcurve);
-
-  //       gps->flag |= GP_STROKE_NEEDS_CURVE_UPDATE;
-  //       BKE_gpencil_stroke_geometry_update(gpd, gps);
-  //     }
-  //   }
-  //   GP_EDITABLE_CURVES_END(gps_iter);
-  // }
-
   /* setup other modes */
   ED_gpencil_setup_modes(C, gpd, mode);
   /* set cache as dirty */
diff --git a/source/blender/editors/gpencil/gpencil_vertex_paint.c b/source/blender/editors/gpencil/gpencil_vertex_paint.c
index a05cc3c4dbd..327f5961e1e 100644
--- a/source/blender/editors/gpencil/gpencil_vertex_paint.c
+++ b/source/blender/editors/gpencil/gpencil_vertex_paint.c
@@ -1031,9 +1031,10 @@ static bool gpencil_vertexpaint_brush_do_frame(bContext *C,
 
     /* If stroke was hit and has an editcurve the curve needs an update. */
     bGPDstroke *gps_active = (gps->runtime.gps_orig) ? gps->runtime.gps_orig : gps;
-    if (gps_active->editcurve != NULL && hit) {
-      gps_active->editcurve->flag |= GP_CURVE_NEEDS_STROKE_UPDATE;
-    }
+    /* TODO: update curve */
+    // if (gps_active->editcurve != NULL && hit) {
+    //   gps_active->editcurve->flag |= GP_CURVE_NEEDS_STROKE_UPDATE;
+    // }
   }
 
   /* For Average tool, need calculate the average resulting color from all colors
diff --git a/source/blender/makesrna/intern/rna_gpencil.c b/source/blender/makesrna/intern/rna_gpencil.c
index fc0934a531b..fe76707542e 100644
--- a/source/blender/makesrna/intern/rna_gpencil.c
+++ b/source/blender/makesrna/intern/rna_gpencil.c
@@ -202,7 +202,6 @@ static void rna_GPencil_stroke_curve_update(Main *bmain, Scene *scene, PointerRN
       bGPDframe *gpf = gpl->actframe;
       LISTBASE_FOREACH (bGPDstroke *, gps, &gpf->strokes) {
         if (gps->editcurve != NULL) {
-          gps->flag |= GP_STROKE_NEEDS_CURVE_UPDATE;
           BKE_gpencil_stroke_geometry_update(gpd, gps, GP_GEO_UPDATE_DEFAULT);
         }
       }



More information about the Bf-blender-cvs mailing list