[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