aboutsummaryrefslogtreecommitdiff
path: root/js/tools/SelectionTool.js
diff options
context:
space:
mode:
authorNivesh Rajbhandari2012-03-06 11:28:16 -0800
committerNivesh Rajbhandari2012-03-06 11:28:16 -0800
commit2346d8ab9db06573d8672c64988c46b6c672e015 (patch)
tree2edfde6260bbb61ddb5764023baa131598bb377f /js/tools/SelectionTool.js
parentba62bfff53319ebf140663dc0bf8fbaf1692ff9a (diff)
downloadninja-2346d8ab9db06573d8672c64988c46b6c672e015.tar.gz
Create drag plane parallel to working plane and offset by where the user clicked in z.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
Diffstat (limited to 'js/tools/SelectionTool.js')
-rwxr-xr-xjs/tools/SelectionTool.js9
1 files changed, 4 insertions, 5 deletions
diff --git a/js/tools/SelectionTool.js b/js/tools/SelectionTool.js
index 7eee761d..13a04944 100755
--- a/js/tools/SelectionTool.js
+++ b/js/tools/SelectionTool.js
@@ -16,6 +16,7 @@ var Montage = require("montage/core/core").Montage,
16var SelectionTool = exports.SelectionTool = Montage.create(ModifierToolBase, { 16var SelectionTool = exports.SelectionTool = Montage.create(ModifierToolBase, {
17 drawingFeedback: { value: { mode: "Draw2D", type: "" } }, 17 drawingFeedback: { value: { mode: "Draw2D", type: "" } },
18 18
19 _inLocalMode: { value: false}, // This tool should always use global mode for translations
19 _canOperateOnStage: { value: true}, 20 _canOperateOnStage: { value: true},
20 _isSelecting: {value: false, writable:true}, 21 _isSelecting: {value: false, writable:true},
21 _shiftMove: { value: 10}, 22 _shiftMove: { value: 10},
@@ -34,14 +35,12 @@ var SelectionTool = exports.SelectionTool = Montage.create(ModifierToolBase, {
34 value: function () { 35 value: function () {
35 if(this._targets && this._targets.length) 36 if(this._targets && this._targets.length)
36 { 37 {
37 // TODO - drawUtils's elementPlanes check in drawSelectionBounds doesn't seem to work,
38 // so temporary workaround to simply check if all elements have identity matrix
39 // TODO - Eventually, this should instead check if all the selected items are on the view plane
40 var len = this._targets.length; 38 var len = this._targets.length;
39 var plane = this.application.ninja.stage.stageDeps.snapManager.getDragPlane();
41 for(var i = 0; i < len; i++) 40 for(var i = 0; i < len; i++)
42 { 41 {
43 var mat = this._targets[i].mat; 42 var elt = this._targets[i].elt;
44 if(!MathUtils.isIdentityMatrix(mat)) 43 if(!this.application.ninja.stage.stageDeps.snapManager.elementIsOnPlane(elt, plane))
45 { 44 {
46 return false; 45 return false;
47 } 46 }