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 bring back the "old" matrix inversion code (which has the benifit of
providing a partial solution which makes the local transform center
appear correct)
Details
Details
- Reviewers
Brecht Van Lommel (brecht) Campbell Barton (campbellbarton) - Maniphest Tasks
- T57767: Pivot point broken after scaling a flat object to 0 in a dimension
- Commits
- rBS036e95bb21fa: Fix T57767: Pivot point broken after scaling to 0 in a dimension
rB036e95bb21fa: Fix T57767: Pivot point broken after scaling to 0 in a dimension
Diff Detail
Diff Detail
- Repository
- rB Blender
- Branch
- T57767 (branched from master)
- Build Status
Buildable 3515 Build 3515: arc lint + arc unit
Event Timeline
Comment Actions
Comment inline, otherwise LGTM.
| source/blender/blenlib/intern/math_matrix.c | ||
|---|---|---|
| 1022 | Suggest logic for using the fallback be: if (EIG_invert_m4_m4(inverse, mat)) {
return true;
}
... then use fallback logic ...This way we get exact matching behavior unless EIG_invert_m4_m4 fails to invert the matrix. | |