diff options
author | Campbell Barton <campbell@blender.org> | 2022-03-01 02:56:28 +0300 |
---|---|---|
committer | Campbell Barton <campbell@blender.org> | 2022-03-01 03:18:17 +0300 |
commit | eb0f8317e231c4a02940d0269125a96a47e94c7e (patch) | |
tree | 03c67854c72c5a4507f22f8c2321c14b2629fccd /source/blender/editors/gpencil | |
parent | ae6400cfb4cae798667eab903d9c463fdec31298 (diff) |
Cleanup: ED_view3d_win_to_delta & ED_view3d_calc_zfac usage
- Rename ED_view3d_win_to_delta `mval` argument to `xy_delta` as it
as it was misleading since this is an screen-space offset not a region
relative cursor position (typical use of the name `mval`).
Also rename the variable passed to this function which also used the
term `mval` in many places.
- Re-order the output argument of ED_view3d_win_to_delta last.
use an r_ prefix for return arguments.
- Document how the `zfac` argument is intended to be used.
- Split ED_view3d_calc_zfac into two functions as the `r_flip` argument
was only used in some special cases.
Diffstat (limited to 'source/blender/editors/gpencil')
-rw-r--r-- | source/blender/editors/gpencil/annotate_paint.c | 12 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_paint.c | 12 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_sculpt_paint.c | 19 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_utils.c | 37 |
4 files changed, 39 insertions, 41 deletions
diff --git a/source/blender/editors/gpencil/annotate_paint.c b/source/blender/editors/gpencil/annotate_paint.c index b40dda146dc..5ab4a663efe 100644 --- a/source/blender/editors/gpencil/annotate_paint.c +++ b/source/blender/editors/gpencil/annotate_paint.c @@ -326,8 +326,7 @@ static void annotation_stroke_convertcoords(tGPsdata *p, } else { float mval_prj[2]; - float rvec[3], dvec[3]; - float zfac; + float rvec[3]; /* Current method just converts each point in screen-coordinates to * 3D-coordinates using the 3D-cursor as reference. In general, this @@ -339,13 +338,14 @@ static void annotation_stroke_convertcoords(tGPsdata *p, */ annotation_get_3d_reference(p, rvec); - zfac = ED_view3d_calc_zfac(p->region->regiondata, rvec, NULL); + const float zfac = ED_view3d_calc_zfac(p->region->regiondata, rvec); if (ED_view3d_project_float_global(p->region, rvec, mval_prj, V3D_PROJ_TEST_NOP) == V3D_PROJ_RET_OK) { - float mval_f[2]; - sub_v2_v2v2(mval_f, mval_prj, mval); - ED_view3d_win_to_delta(p->region, mval_f, dvec, zfac); + float dvec[3]; + float xy_delta[2]; + sub_v2_v2v2(xy_delta, mval_prj, mval); + ED_view3d_win_to_delta(p->region, xy_delta, zfac, dvec); sub_v3_v3v3(out, rvec, dvec); } else { diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c index 9442b2edc13..5409cea2a2a 100644 --- a/source/blender/editors/gpencil/gpencil_paint.c +++ b/source/blender/editors/gpencil/gpencil_paint.c @@ -447,21 +447,21 @@ static void gpencil_stroke_convertcoords(tGPsdata *p, } float mval_prj[2]; - float rvec[3], dvec[3]; - float mval_f[2]; - float zfac; + float rvec[3]; /* Current method just converts each point in screen-coordinates to * 3D-coordinates using the 3D-cursor as reference. In general, this * works OK, but it could of course be improved. */ gpencil_get_3d_reference(p, rvec); - zfac = ED_view3d_calc_zfac(p->region->regiondata, rvec, NULL); + const float zfac = ED_view3d_calc_zfac(p->region->regiondata, rvec); if (ED_view3d_project_float_global(p->region, rvec, mval_prj, V3D_PROJ_TEST_NOP) == V3D_PROJ_RET_OK) { - sub_v2_v2v2(mval_f, mval_prj, mval); - ED_view3d_win_to_delta(p->region, mval_f, dvec, zfac); + float dvec[3]; + float xy_delta[2]; + sub_v2_v2v2(xy_delta, mval_prj, mval); + ED_view3d_win_to_delta(p->region, xy_delta, zfac, dvec); sub_v3_v3v3(out, rvec, dvec); } else { diff --git a/source/blender/editors/gpencil/gpencil_sculpt_paint.c b/source/blender/editors/gpencil/gpencil_sculpt_paint.c index ebe879959c9..67325e8a3d1 100644 --- a/source/blender/editors/gpencil/gpencil_sculpt_paint.c +++ b/source/blender/editors/gpencil/gpencil_sculpt_paint.c @@ -507,7 +507,7 @@ static void gpencil_brush_grab_calc_dvec(tGP_BrushEditData *gso) /* Convert mouse-movements to movement vector */ RegionView3D *rv3d = gso->region->regiondata; float *rvec = gso->object->loc; - float zfac = ED_view3d_calc_zfac(rv3d, rvec, NULL); + const float zfac = ED_view3d_calc_zfac(rv3d, rvec); float mval_f[2]; @@ -525,7 +525,7 @@ static void gpencil_brush_grab_calc_dvec(tGP_BrushEditData *gso) copy_v2_v2(mval_f, r); } - ED_view3d_win_to_delta(gso->region, mval_f, gso->dvec, zfac); + ED_view3d_win_to_delta(gso->region, mval_f, zfac, gso->dvec); } /* Apply grab transform to all relevant points of the affected strokes */ @@ -624,17 +624,16 @@ static void gpencil_brush_calc_midpoint(tGP_BrushEditData *gso) */ RegionView3D *rv3d = gso->region->regiondata; const float *rvec = gso->object->loc; - float zfac = ED_view3d_calc_zfac(rv3d, rvec, NULL); + const float zfac = ED_view3d_calc_zfac(rv3d, rvec); - float mval_f[2]; - copy_v2_v2(mval_f, gso->mval); float mval_prj[2]; - float dvec[3]; if (ED_view3d_project_float_global(gso->region, rvec, mval_prj, V3D_PROJ_TEST_NOP) == V3D_PROJ_RET_OK) { - sub_v2_v2v2(mval_f, mval_prj, mval_f); - ED_view3d_win_to_delta(gso->region, mval_f, dvec, zfac); + float dvec[3]; + float xy_delta[2]; + sub_v2_v2v2(xy_delta, mval_prj, gso->mval); + ED_view3d_win_to_delta(gso->region, xy_delta, zfac, dvec); sub_v3_v3v3(gso->dvec, rvec, dvec); } else { @@ -830,10 +829,10 @@ static bool gpencil_brush_randomize_apply(tGP_BrushEditData *gso, /* 3D: Project to 3D space */ bool flip; RegionView3D *rv3d = gso->region->regiondata; - float zfac = ED_view3d_calc_zfac(rv3d, &pt->x, &flip); + const float zfac = ED_view3d_calc_zfac_ex(rv3d, &pt->x, &flip); if (flip == false) { float dvec[3]; - ED_view3d_win_to_delta(gso->gsc.region, svec, dvec, zfac); + ED_view3d_win_to_delta(gso->gsc.region, svec, zfac, dvec); add_v3_v3(&pt->x, dvec); /* compute lock axis */ gpencil_sculpt_compute_lock_axis(gso, pt, save_pt); diff --git a/source/blender/editors/gpencil/gpencil_utils.c b/source/blender/editors/gpencil/gpencil_utils.c index c0777ac3105..9a658b68f21 100644 --- a/source/blender/editors/gpencil/gpencil_utils.c +++ b/source/blender/editors/gpencil/gpencil_utils.c @@ -822,17 +822,16 @@ bool gpencil_point_xy_to_3d(const GP_SpaceConversion *gsc, ED_gpencil_drawing_reference_get(scene, gsc->ob, scene->toolsettings->gpencil_v3d_align, rvec); - float zfac = ED_view3d_calc_zfac(rv3d, rvec, NULL); + float zfac = ED_view3d_calc_zfac(rv3d, rvec); - float mval_f[2], mval_prj[2]; - float dvec[3]; - - copy_v2_v2(mval_f, screen_co); + float mval_prj[2]; if (ED_view3d_project_float_global(gsc->region, rvec, mval_prj, V3D_PROJ_TEST_NOP) == V3D_PROJ_RET_OK) { - sub_v2_v2v2(mval_f, mval_prj, mval_f); - ED_view3d_win_to_delta(gsc->region, mval_f, dvec, zfac); + float dvec[3]; + float xy_delta[2]; + sub_v2_v2v2(xy_delta, mval_prj, screen_co); + ED_view3d_win_to_delta(gsc->region, xy_delta, zfac, dvec); sub_v3_v3v3(r_out, rvec, dvec); return true; @@ -863,21 +862,21 @@ void gpencil_stroke_convertcoords_tpoint(Scene *scene, */ } else { - float mval_f[2] = {UNPACK2(point2D->m_xy)}; float mval_prj[2]; - float rvec[3], dvec[3]; - float zfac; + float rvec[3]; /* Current method just converts each point in screen-coordinates to * 3D-coordinates using the 3D-cursor as reference. */ ED_gpencil_drawing_reference_get(scene, ob, ts->gpencil_v3d_align, rvec); - zfac = ED_view3d_calc_zfac(region->regiondata, rvec, NULL); + const float zfac = ED_view3d_calc_zfac(region->regiondata, rvec); if (ED_view3d_project_float_global(region, rvec, mval_prj, V3D_PROJ_TEST_NOP) == V3D_PROJ_RET_OK) { - sub_v2_v2v2(mval_f, mval_prj, mval_f); - ED_view3d_win_to_delta(region, mval_f, dvec, zfac); + float dvec[3]; + float xy_delta[2]; + sub_v2_v2v2(xy_delta, mval_prj, point2D->m_xy); + ED_view3d_win_to_delta(region, xy_delta, zfac, dvec); sub_v3_v3v3(r_out, rvec, dvec); } else { @@ -2005,19 +2004,19 @@ static void gpencil_stroke_convertcoords(ARegion *region, const float origin[3], float out[3]) { - float mval_f[2] = {UNPACK2(point2D->m_xy)}; float mval_prj[2]; - float rvec[3], dvec[3]; - float zfac; + float rvec[3]; copy_v3_v3(rvec, origin); - zfac = ED_view3d_calc_zfac(region->regiondata, rvec, NULL); + const float zfac = ED_view3d_calc_zfac(region->regiondata, rvec); if (ED_view3d_project_float_global(region, rvec, mval_prj, V3D_PROJ_TEST_NOP) == V3D_PROJ_RET_OK) { - sub_v2_v2v2(mval_f, mval_prj, mval_f); - ED_view3d_win_to_delta(region, mval_f, dvec, zfac); + float dvec[3]; + float xy_delta[2]; + sub_v2_v2v2(xy_delta, mval_prj, point2D->m_xy); + ED_view3d_win_to_delta(region, xy_delta, zfac, dvec); sub_v3_v3v3(out, rvec, dvec); } else { |