highfidelity/hifi — pull request #3631 by huffman (2014-10-21 22:39:09+00:00)
Title: Entity Tool Updates

Sorry for the large PR. A large part of it is cleanup and generalizing the stretch code for resizing entities. This is still a WIP.

Changes:
* Multi-selection using SHIFT + Left-Click
* World and Local-space editing modes, toggled by pressing TAB
* Stretching in world-space is not intuitive (no shearing), so it is disabled while in world-space.
* Multi-selection edits only make sense in world-space, so it is the forced mode when selecting more than one Entity.
* Generalize the "tools" (stretch/rotate/move) into tool objects, which contain onBegin, onMove, and onEnd functions. This was mainly useful in generalizing the stretch tool code.
* Add the ability to cancel an edit by pressing ESC