Merge branch 'blender-v2.92-release'
This commit is contained in:
commit
3856c58f5d
|
@ -795,6 +795,12 @@ static void view3d_interactive_add_calc_plane(bContext *C,
|
|||
const RegionView3D *rv3d = region->regiondata;
|
||||
ED_transform_calc_orientation_from_type(C, r_matrix_orient);
|
||||
|
||||
/* Non-orthogonal matrices cause the preview and final result not to match.
|
||||
*
|
||||
* While making orthogonal doesn't always work well (especially with gimbal orientation for e.g.)
|
||||
* it's a corner case, without better alternatives as objects don't support shear. */
|
||||
orthogonalize_m3(r_matrix_orient, plane_axis);
|
||||
|
||||
SnapObjectContext *snap_context = NULL;
|
||||
bool snap_context_free = false;
|
||||
|
||||
|
|
|
@ -500,6 +500,15 @@ void ED_transform_calc_orientation_from_type(const bContext *C, float r_mat[3][3
|
|||
C, r_mat, scene, rv3d, ob, obedit, orientation_type, orientation_index_custom, pivot_point);
|
||||
}
|
||||
|
||||
/**
|
||||
* \note The resulting matrix may not be orthogonal,
|
||||
* callers that depend on `r_mat` to be orthogonal should use #orthogonalize_m3.
|
||||
*
|
||||
* A non orthogonal matrix may be returned when:
|
||||
* - #V3D_ORIENT_GIMBAL the result won't be orthogonal unless the object has no rotation.
|
||||
* - #V3D_ORIENT_LOCAL may contain shear from non-uniform scale in parent/child relationships.
|
||||
* - #V3D_ORIENT_CUSTOM may have been created from #V3D_ORIENT_LOCAL.
|
||||
*/
|
||||
short ED_transform_calc_orientation_from_type_ex(const bContext *C,
|
||||
float r_mat[3][3],
|
||||
/* extra args (can be accessed from context) */
|
||||
|
|
Loading…
Reference in New Issue