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); } } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs