From 2ba0951e5219aa82f3e5c00890512c8ba8889c9d Mon Sep 17 00:00:00 2001 From: Germano Date: Wed, 16 May 2018 10:31:27 -0300 Subject: Snap system: Adds support to Clip Planes and uses a clip plane to simulate occlusion This patch adds support for clip_planes (ie ignore what is behind a face)... The idea is to first execute a raycast to get the polygon to which the mouse cursor points. Then a snap test is done on the vertices or edges of the polygon. Then with the normal and location obtained in raycast a new clip_plane is created and the snap over the whole scene is processed ignoring the elements behind the clip_plane. Here 2 gif of how the previous patch would work on blender2.79: {F497176} {F497177} Reviewers: mont29, campbellbarton Reviewed By: campbellbarton Subscribers: bliblubli Tags: #bf_blender_2.8 Differential Revision: https://developer.blender.org/D2527 --- source/blender/blenlib/BLI_kdopbvh.h | 1 + 1 file changed, 1 insertion(+) (limited to 'source/blender/blenlib/BLI_kdopbvh.h') diff --git a/source/blender/blenlib/BLI_kdopbvh.h b/source/blender/blenlib/BLI_kdopbvh.h index 76c3b6ef3fd..e7cbe05d713 100644 --- a/source/blender/blenlib/BLI_kdopbvh.h +++ b/source/blender/blenlib/BLI_kdopbvh.h @@ -107,6 +107,7 @@ typedef void (*BVHTree_RangeQuery)(void *userdata, int index, const float co[3], typedef void (*BVHTree_NearestProjectedCallback)( void *userdata, int index, const struct DistProjectedAABBPrecalc *precalc, + const float (*clip_plane)[4], const int clip_plane_len, BVHTreeNearest *nearest); -- cgit v1.2.3