Fix T57767: Pivot point broken after scaling to 0 in a dimension
matrix inversion was changed in rB01c75c3765eb from own code to EIGEN for performance reasons. EIGEN would return a zero matrix on failure (resulting in the pivot always being at the object origin). This brings back the "old" matrix inversion code (which has the benifit of providing a partial solution which makes the local transform center appear correct) Reviewers: campbellbarton Maniphest Tasks: T57767 Differential Revision: https://developer.blender.org/D4804
This commit is contained in:
@@ -1363,7 +1363,9 @@ void initTransDataContainers_FromObjectData(TransInfo *t,
|
||||
BLI_assert((t->flag & T_2D_EDIT) == 0);
|
||||
copy_m4_m4(tc->mat, objects[i]->obmat);
|
||||
copy_m3_m4(tc->mat3, tc->mat);
|
||||
invert_m4_m4(tc->imat, tc->mat);
|
||||
/* for non-invertible scale matrices, invert_m4_m4_fallback()
|
||||
* can still provide a valid pivot */
|
||||
invert_m4_m4_fallback(tc->imat, tc->mat);
|
||||
invert_m3_m3(tc->imat3, tc->mat3);
|
||||
normalize_m3_m3(tc->mat3_unit, tc->mat3);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user