diff options
author | tagcup <tagcup@yahoo.com> | 2017-12-26 19:15:20 -0500 |
---|---|---|
committer | tagcup <tagcup@yahoo.com> | 2017-12-27 16:40:49 -0500 |
commit | e9896b17a9804ba6392dab0bd6c484f4d2e294c1 (patch) | |
tree | d35e6d3097458c56ef07021155b9de855a89eae4 /core/array.cpp | |
parent | c2240a2a714526e226ead5a20e3a070bb3eaaef6 (diff) |
Restore the behavior of Spatial rotations recently changed in c1153f5.
That change was borne out of a confusion regarding the meaning of "local" in #14569.
Affine transformations in Spatial simply correspond to affine operations of its Transform. Such operations take place in a coordinate system that is defined by the parent Spatial. When there is no parent, they correspond to operations in the global coordinate system.
This coordinate system, which is relative to the parent, has been referred to as the local coordinate system in the docs so far, but this sloppy language has apparently confused some users, making them think that the local coordinate system refers to the one whose axes are "painted" on the Spatial node itself.
To avoid such conceptual conflations and misunderstandings in the future, the parent-relative local system is now referred to as "parent-local", and the object-relative local system is called "object-local" in the docs.
This commit adds the functionality "requested" in #14569, not by changing how rotate/scale/translate works, but by adding new rotate_object_local, scale_object_local and translate_object_local functions. Also, for completeness, there is now global_scale.
This commit also updates another part of the docs regarding the rotation property of Spatial, which also leads to confusion among some users.
Diffstat (limited to 'core/array.cpp')
0 files changed, 0 insertions, 0 deletions