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/editors/mesh/editmesh_utils.c | |
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/editors/mesh/editmesh_utils.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh_utils.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/editors/mesh/editmesh_utils.c b/source/blender/editors/mesh/editmesh_utils.c index 46cab3b4416..a64a23a9f4a 100644 --- a/source/blender/editors/mesh/editmesh_utils.c +++ b/source/blender/editors/mesh/editmesh_utils.c @@ -1481,7 +1481,7 @@ int BMBVH_VertVisible(BMBVHTree *tree, BMEdge *e, RegionView3D *r3d) static BMFace *edge_ray_cast(struct BMBVHTree *tree, const float co[3], const float dir[3], float *r_hitout, BMEdge *e) { - BMFace *f = BKE_bmbvh_ray_cast(tree, co, dir, NULL, r_hitout, NULL); + BMFace *f = BKE_bmbvh_ray_cast(tree, co, dir, 0.0f, NULL, r_hitout, NULL); if (f && BM_edge_in_face(e, f)) return NULL; |