diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2020-07-01 23:17:05 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2020-07-01 23:17:05 +0300 |
commit | 52b125a790e389b463e0d9947bab8747534f9cb5 (patch) | |
tree | af7ebd4b72e84d88f9ce771fa3917f4d38b48696 /source | |
parent | b6f35531b69462bb8dd2af0e69a576a345be5673 (diff) |
Fix alignment test when snap to edge while in vert or edge slide
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/transform/transform_mode_edge_slide.c | 1 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_mode_vert_slide.c | 9 |
2 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/editors/transform/transform_mode_edge_slide.c b/source/blender/editors/transform/transform_mode_edge_slide.c index ed22afc404e..750962047db 100644 --- a/source/blender/editors/transform/transform_mode_edge_slide.c +++ b/source/blender/editors/transform/transform_mode_edge_slide.c @@ -1316,6 +1316,7 @@ static void edge_slide_snap_apply(TransInfo *t, float *value) if (t->tsnap.snapElem & (SCE_SNAP_MODE_EDGE | SCE_SNAP_MODE_FACE)) { float co_dir[3]; sub_v3_v3v3(co_dir, co_dest[side_index], co_orig); + normalize_v3(co_dir); if (t->tsnap.snapElem & SCE_SNAP_MODE_EDGE) { transform_constraint_snap_axis_to_edge(t, co_dir, dvec); } diff --git a/source/blender/editors/transform/transform_mode_vert_slide.c b/source/blender/editors/transform/transform_mode_vert_slide.c index 4b75c362da9..9e810b9c629 100644 --- a/source/blender/editors/transform/transform_mode_vert_slide.c +++ b/source/blender/editors/transform/transform_mode_vert_slide.c @@ -556,13 +556,14 @@ static void vert_slide_snap_apply(TransInfo *t, float *value) getSnapPoint(t, dvec); sub_v3_v3(dvec, t->tsnap.snapTarget); if (t->tsnap.snapElem & (SCE_SNAP_MODE_EDGE | SCE_SNAP_MODE_FACE)) { - float co_dir_3d[3]; - sub_v3_v3v3(co_dir_3d, co_curr_3d, co_orig_3d); + float co_dir[3]; + sub_v3_v3v3(co_dir, co_curr_3d, co_orig_3d); + normalize_v3(co_dir); if (t->tsnap.snapElem & SCE_SNAP_MODE_EDGE) { - transform_constraint_snap_axis_to_edge(t, co_dir_3d, dvec); + transform_constraint_snap_axis_to_edge(t, co_dir, dvec); } else { - transform_constraint_snap_axis_to_face(t, co_dir_3d, dvec); + transform_constraint_snap_axis_to_face(t, co_dir, dvec); } } |