diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-01-19 05:36:53 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-01-19 05:36:53 +0300 |
commit | 94e9d3ca3e80014ce369c53b6277a18f394f983c (patch) | |
tree | 72d2f5878e359bb7841b574eb7d33cc7c154d7de | |
parent | 2fa7e81d9c455fa188a291db4d1fd918592d3676 (diff) | |
parent | d31dd1da805b28660c85145300957ba8028acaad (diff) |
Merge branch 'blender-v2.92-release'
-rw-r--r-- | source/blender/editors/space_view3d/view3d_placement.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/source/blender/editors/space_view3d/view3d_placement.c b/source/blender/editors/space_view3d/view3d_placement.c index 31032eab547..0700b47dbde 100644 --- a/source/blender/editors/space_view3d/view3d_placement.c +++ b/source/blender/editors/space_view3d/view3d_placement.c @@ -610,11 +610,12 @@ static bool calc_bbox(struct InteractivePlaceData *ipd, BoundBox *bounds) /* Use a copy in case aspect was applied to the quad. */ float base_co_dst[3]; copy_v3_v3(base_co_dst, quad_base[2]); - for (int i = 0; i < 4; i++) { + for (int i = 0; i < ARRAY_SIZE(quad_base); i++) { sub_v3_v3(quad_base[i], base_co_dst); mul_v3_fl(quad_base[i], 2.0f); add_v3_v3(quad_base[i], base_co_dst); } + fixed_aspect_dimension *= 2.0f; } /* *** Secondary *** */ @@ -634,10 +635,18 @@ static bool calc_bbox(struct InteractivePlaceData *ipd, BoundBox *bounds) } if (ipd->step[1].is_centered) { + float temp_delta[3]; + if (ipd->step[1].is_fixed_aspect) { + mul_v3_v3fl(temp_delta, delta_local, 0.5f); + } + else { + copy_v3_v3(temp_delta, delta_local); + mul_v3_fl(delta_local, 2.0f); + } + for (int i = 0; i < ARRAY_SIZE(quad_base); i++) { - sub_v3_v3(quad_base[i], delta_local); + sub_v3_v3(quad_base[i], temp_delta); } - mul_v3_fl(delta_local, 2.0f); } if ((ipd->step_index == STEP_DEPTH) && |