diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2013-08-30 20:34:44 +0400 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2013-08-30 20:34:44 +0400 |
commit | 86f8470a5da2efbd8d521df2759b3a0d06160667 (patch) | |
tree | e183951f3140f9634fb2f82228b329c748886f60 /source/blender/blenkernel/BKE_editmesh_bvh.h | |
parent | 03a8b4f180900bb9b2c35669fe963a23ae29cf32 (diff) |
Some knife fixes. Avoids duplicating verts; better handling of cut-through ortho.
Now cut lines detect vertices that they pass (almost) exactly over
and snap to them, to avoid making verts vert close to other ones.
Added radius arg to BKE_bmbvh_ray_cast so that can detect an obscuring
face when the ray might otherwise go exactly between two triangles.
Needed an isect_line_tri_epsilon function for similar reason.
Fixes last part of bug #35002. Other knife bugs still present but
getting this commit in now before continuing bug fixing.
Diffstat (limited to 'source/blender/blenkernel/BKE_editmesh_bvh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_editmesh_bvh.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_editmesh_bvh.h b/source/blender/blenkernel/BKE_editmesh_bvh.h index 6750ee1ff3e..7b4ad4284c6 100644 --- a/source/blender/blenkernel/BKE_editmesh_bvh.h +++ b/source/blender/blenkernel/BKE_editmesh_bvh.h @@ -44,7 +44,7 @@ typedef struct BMBVHTree BMBVHTree; BMBVHTree *BKE_bmbvh_new(struct BMEditMesh *em, int flag, const 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], +struct BMFace *BKE_bmbvh_ray_cast(BMBVHTree *tree, const float co[3], const float dir[3], const float radius, float *r_dist, float r_hitout[3], float r_cagehit[3]); /* find a face intersecting a segment (but not apart of the segment) */ struct BMFace *BKE_bmbvh_find_face_segment(BMBVHTree *tree, const float co_a[3], const float co_b[3], |