urho3d/Urho3D — pull request #296 by cadaver (2014-04-03 19:44:29+00:00)
Title: Node transform space refactoring

- Translate(), Rotate() and LookAt() functions now take a transform space (local, parent or world).
- Translate() has a behavior change: default space is local, as that is most often used in eg. camera movement, and is consistent with the default for rotations (the earlier fixedAxis = false was same as local space).
- The redundant TranslateRelative() function is removed.
- Adds RotateAround() function, which allows rotating around a pivot in either local, parent or world space.

Changing Translate() behavior and removing TranslateRelative() is kind of nasty, but in this case we've had an inconsistency for years: translate would work in parent space, while the default for rotations would be local space. So if we take the "hit" now, we'll end up with a more consistent API and have less typing for the common case (camera or character moving relative to its local coordinate axes)