Blender Git Statistics -> Branches -> temp-T82156-parenting-and-constraints

"Temp-t82156-parenting-and-constraints" branch

Total commits : 4
Total committers : 1
First Commit : November 2, 2020
Latest Commit : November 2, 2020

Commits by Date

DateNumber of Commits
November 2, 20204


AuthorNumber of Commits
Sybren A. St?vel4

Popular Files

FilenameTotal Edits

Latest commits Feed

Revision abcb084 by Sybren A. Stvel (temp-T82156-parenting-and-constraints)
November 2, 2020, 14:50 (GMT)
Merge remote-tracking branch 'origin/master' into temp-T82156-parenting-and-constraints
Revision 75d1139 by Sybren A. Stvel (temp-T82156-parenting-and-constraints)
November 2, 2020, 14:20 (GMT)
Fix T82156: Object with Copy Rotation Constraints translates when being parented

Avoid application of constraints when computing the parent-inverse

Constraints are meant to be evaluated last; object transforms are
computed this order:

1. `parent->obmat` (the parent object's world matrix)
2. `ob->parentinv` (the object's parent-inverse matrix)
3. Object's loc/rot/scale
4. Object's constraint evaluation

When the constraints are used to compute the parent-inverse matrix,
their effect is moved from step 4 to step 2 in this list, potentially
rotating or scaling the object's local transform. This causes unwanted
movement as reported in T82156.

This behaviour (erroneously taking the constraints into account) has
been in Blender since the first commit, so historically I can only find
"Initial revision" as context.
Revision e5e2a10 by Sybren A. Stvel (temp-T82156-parenting-and-constraints)
November 2, 2020, 14:16 (GMT)
Cleanup: Document output of `BKE_object_where_is_calc` and friends

Add a comment to the declaration of the `BKE_object_where_is_calc...()`
functions to explain where the result of the calculation is stored.

No functional changes.
Revision 3e9823a by Sybren A. Stvel (temp-T82156-parenting-and-constraints)
November 2, 2020, 10:16 (GMT)
Cleanup: Sanitise return value of `ED_object_parent_set()`

Return `false` from `ED_object_parent_set()` when parent and child are
the same object. This would break the parenting operator, as returning
`false` stops its loop over all selected objects. This tight coupling
caused T82312.

The loop now has its own check for this, so that it properly continues,
and the implementation of `ED_object_parent_set()` is decoupled from its
surrounding code.

No functional changes.

MiikaHweb - Blender Git Statistics v1.06
By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021