From 6f42e69b58ce4b9a2f0370d22b41f1c76bf21f89 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 28 Jun 2021 15:44:16 +1000 Subject: Cleanup: de-duplicate 3D-view depth calculation function --- source/blender/editors/space_view3d/view3d_project.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'source/blender/editors/space_view3d/view3d_project.c') diff --git a/source/blender/editors/space_view3d/view3d_project.c b/source/blender/editors/space_view3d/view3d_project.c index 49da1764660..8a900a4e898 100644 --- a/source/blender/editors/space_view3d/view3d_project.c +++ b/source/blender/editors/space_view3d/view3d_project.c @@ -330,6 +330,17 @@ float ED_view3d_calc_zfac(const RegionView3D *rv3d, const float co[3], bool *r_f return zfac; } +/** + * Calculate a depth value from `co` (result should only be used for comparison). + */ +float ED_view3d_calc_depth_for_comparison(const RegionView3D *rv3d, const float co[3]) +{ + if (rv3d->is_persp) { + return ED_view3d_calc_zfac(rv3d, co, NULL); + } + return -dot_v3v3(rv3d->viewinv[2], co); +} + static void view3d_win_to_ray_segment(struct Depsgraph *depsgraph, const ARegion *region, const View3D *v3d, -- cgit v1.2.3