[Bf-blender-cvs] [efe3042368c] blender2.8: Transform: Use `isect_ray_seg_v3` instead `dist_squared_ray_to_seg_v3` in the function that tests the snap on edges.
Germano
noreply at git.blender.org
Thu May 17 03:05:49 CEST 2018
Commit: efe3042368cfeff6004ccc08f9df3b2b21087722
Author: Germano
Date: Wed May 16 22:04:41 2018 -0300
Branches: blender2.8
https://developer.blender.org/rBefe3042368cfeff6004ccc08f9df3b2b21087722
Transform: Use `isect_ray_seg_v3` instead `dist_squared_ray_to_seg_v3` in the function that tests the snap on edges.
===================================================================
M source/blender/editors/transform/transform_snap_object.c
===================================================================
diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c
index 5f6fafaeff3..84a4c7dbf14 100644
--- a/source/blender/editors/transform/transform_snap_object.c
+++ b/source/blender/editors/transform/transform_snap_object.c
@@ -916,11 +916,25 @@ static bool test_projected_edge_dist(
const bool is_persp, const float va[3], const float vb[3],
float *dist_px_sq, float r_co[3])
{
- float near_co[3], dummy_depth;
- dist_squared_ray_to_seg_v3(
+ float near_co[3], lambda;
+ if (!isect_ray_seg_v3(
precalc->ray_origin,
precalc->ray_direction,
- va, vb, near_co, &dummy_depth);
+ va, vb, &lambda))
+ {
+ copy_v3_v3(near_co, va);
+ }
+ else {
+ if (lambda <= 0.0f) {
+ copy_v3_v3(near_co, va);
+ }
+ else if (lambda >= 1.0f) {
+ copy_v3_v3(near_co, vb);
+ }
+ else {
+ interp_v3_v3v3(near_co, va, vb, lambda);
+ }
+ }
return test_projected_vert_dist(
precalc, clip_plane, clip_plane_len,
More information about the Bf-blender-cvs
mailing list