From 9cceec40c47543eb372bd9c1331901857b5f120a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 18 Apr 2013 01:20:04 +0000 Subject: use modified vertex coords for calculating display thickness and intersections. internal improvement to editmesh_bvh.c - optionally pass cage-coords as an arg, rather then calculating the coords in BKE_bmbvh_new(), since all callers already have coords calculated. - de-duplicate coords creation function from knife and bmbvhm, move into own generic function: BKE_editmesh_vertexCos_get() --- source/blender/blenkernel/BKE_editmesh_bvh.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'source/blender/blenkernel/BKE_editmesh_bvh.h') diff --git a/source/blender/blenkernel/BKE_editmesh_bvh.h b/source/blender/blenkernel/BKE_editmesh_bvh.h index 3ae6c906a87..90520c49983 100644 --- a/source/blender/blenkernel/BKE_editmesh_bvh.h +++ b/source/blender/blenkernel/BKE_editmesh_bvh.h @@ -41,7 +41,7 @@ struct Scene; typedef struct BMBVHTree BMBVHTree; -BMBVHTree *BKE_bmbvh_new(struct BMEditMesh *em, int flag, struct Scene *scene); +BMBVHTree *BKE_bmbvh_new(struct BMEditMesh *em, int flag, float (*cos_cage)[3], const bool cos_cage_free); void BKE_bmbvh_free(BMBVHTree *tree); struct BVHTree *BKE_bmbvh_tree_get(BMBVHTree *tree); struct BMFace *BKE_bmbvh_ray_cast(BMBVHTree *tree, const float co[3], const float dir[3], @@ -54,10 +54,9 @@ struct BMVert *BKE_bmbvh_find_vert_closest(BMBVHTree *tree, const float co[3], /* BKE_bmbvh_new flag parameter */ enum { - BMBVH_USE_CAGE = 1, /* project geometry onto modifier cage */ - BMBVH_RETURN_ORIG = 2, /* use with BMBVH_USE_CAGE, returns hits in relation to original geometry */ - BMBVH_RESPECT_SELECT = 4, /* restrict to hidden geometry (overrides BMBVH_RESPECT_HIDDEN) */ - BMBVH_RESPECT_HIDDEN = 8 /* omit hidden geometry */ + BMBVH_RETURN_ORIG = (1 << 0), /* use with 'cos_cage', returns hits in relation to original geometry */ + BMBVH_RESPECT_SELECT = (1 << 1), /* restrict to hidden geometry (overrides BMBVH_RESPECT_HIDDEN) */ + BMBVH_RESPECT_HIDDEN = (1 << 2) /* omit hidden geometry */ }; #endif /* __BKE_EDITMESH_BVH_H__ */ -- cgit v1.2.3