diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2021-11-19 11:31:01 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2021-11-23 11:12:01 +0300 |
commit | 9f73c9d6562f2651af8f0320c253b7b2166e6296 (patch) | |
tree | 3800ff989230735bdb62d35a5262e38268e8c5d2 | |
parent | f043b0334b91b93155e8317697adb11c2e256666 (diff) |
Fix T93198: Frame Selected in greasepencil curve editing does not work
Was not taking into account curve points at all.
Maniphest Tasks: T93198
Differential Revision: https://developer.blender.org/D13281
-rw-r--r-- | source/blender/editors/space_view3d/view3d_edit.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index 5f3d71cc190..8e2085518af 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -3072,6 +3072,23 @@ static int viewselected_exec(bContext *C, wmOperator *op) if ((gps->flag & GP_STROKE_SELECT) && (gps->flag & GP_STROKE_3DSPACE)) { ok |= BKE_gpencil_stroke_minmax(gps, true, min, max); } + if (gps->editcurve != NULL) { + for (int i = 0; i < gps->editcurve->tot_curve_points; i++) { + BezTriple *bezt = &gps->editcurve->curve_points[i].bezt; + if ((bezt->f1 & SELECT)) { + minmax_v3v3_v3(min, max, bezt->vec[0]); + ok = true; + } + if ((bezt->f2 & SELECT)) { + minmax_v3v3_v3(min, max, bezt->vec[1]); + ok = true; + } + if ((bezt->f3 & SELECT)) { + minmax_v3v3_v3(min, max, bezt->vec[2]); + ok = true; + } + } + } } CTX_DATA_END; |