Cleanup: use win_to_3d_on_plane function

This commit is contained in:
2018-09-20 12:53:39 +10:00
parent 9dac8633d6
commit e8c27b1bba
2 changed files with 3 additions and 17 deletions

View File

@@ -188,17 +188,9 @@ bool gizmo_window_project_2d(
/* For 3d views, transform 2D mouse pos onto plane. */
ARegion *ar = CTX_wm_region(C);
float plane[4];
float plane[4], co[3];
plane_from_point_normal_v3(plane, mat[3], mat[2]);
float ray_origin[3], ray_direction[3];
float lambda;
ED_view3d_win_to_ray(ar, mval, ray_origin, ray_direction);
if (isect_ray_plane_v3(ray_origin, ray_direction, plane, &lambda, true)) {
float co[3];
madd_v3_v3v3fl(co, ray_origin, ray_direction, lambda);
if (ED_view3d_win_to_3d_on_plane(ar, plane, mval, true, co)) {
float imat[4][4];
invert_m4_m4(imat, mat);
mul_m4_v3(imat, co);

View File

@@ -99,15 +99,9 @@ static void calc_initial_placement_point_from_view(
}
if (use_mouse_project) {
float ray_co[3], ray_no[3];
ED_view3d_win_to_ray(
ar, mval,
ray_co, ray_no);
float plane[4];
plane_from_point_normal_v3(plane, cursor_matrix[3], orient_matrix[2]);
float lambda;
if (isect_ray_plane_v3(ray_co, ray_no, plane, &lambda, true)) {
madd_v3_v3v3fl(r_location, ray_co, ray_no, lambda);
if (ED_view3d_win_to_3d_on_plane(ar, plane, mval, true, r_location)) {
copy_m3_m3(r_rotation, orient_matrix);
return;
}