diff options
Diffstat (limited to 'js/tools/TranslateObject3DTool.js')
-rwxr-xr-x | js/tools/TranslateObject3DTool.js | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/js/tools/TranslateObject3DTool.js b/js/tools/TranslateObject3DTool.js index 8edf1fee..72a55322 100755 --- a/js/tools/TranslateObject3DTool.js +++ b/js/tools/TranslateObject3DTool.js | |||
@@ -9,6 +9,7 @@ var Montage = require("montage/core/core").Montage, | |||
9 | drawUtils = require("js/helper-classes/3D/draw-utils").DrawUtils, | 9 | drawUtils = require("js/helper-classes/3D/draw-utils").DrawUtils, |
10 | vecUtils = require("js/helper-classes/3D/vec-utils").VecUtils, | 10 | vecUtils = require("js/helper-classes/3D/vec-utils").VecUtils, |
11 | viewUtils = require("js/helper-classes/3D/view-utils").ViewUtils, | 11 | viewUtils = require("js/helper-classes/3D/view-utils").ViewUtils, |
12 | vecUtils = require("js/helper-classes/3D/vec-utils").VecUtils, | ||
12 | snapManager = require("js/helper-classes/3D/snap-manager").SnapManager; | 13 | snapManager = require("js/helper-classes/3D/snap-manager").SnapManager; |
13 | 14 | ||
14 | exports.TranslateObject3DTool = Montage.create(Translate3DToolBase, { | 15 | exports.TranslateObject3DTool = Montage.create(Translate3DToolBase, { |
@@ -65,10 +66,8 @@ exports.TranslateObject3DTool = Montage.create(Translate3DToolBase, { | |||
65 | } | 66 | } |
66 | } | 67 | } |
67 | 68 | ||
68 | if(this._targets) | 69 | if(this.application.ninja.selectedElements.length) { |
69 | { | 70 | var point = webkitConvertPointFromPageToNode(this.application.ninja.stage.canvas, new WebKitPoint(event.pageX, event.pageY)); |
70 | var point = webkitConvertPointFromPageToNode(this.application.ninja.stage.canvas, | ||
71 | new WebKitPoint(event.pageX, event.pageY)); | ||
72 | 71 | ||
73 | // do the snap before setting up the avoid list to allow | 72 | // do the snap before setting up the avoid list to allow |
74 | // a snap on the mouse down | 73 | // a snap on the mouse down |
@@ -96,11 +95,10 @@ exports.TranslateObject3DTool = Montage.create(Translate3DToolBase, { | |||
96 | } | 95 | } |
97 | 96 | ||
98 | // we don't want to snap to selected objects during the drag | 97 | // we don't want to snap to selected objects during the drag |
99 | var len = this._targets.length; | 98 | this.application.ninja.selectedElements.forEach(function(element) { |
100 | for(var i=0; i<len; i++) | 99 | snapManager.addToAvoidList(element); |
101 | { | 100 | }); |
102 | snapManager.addToAvoidList( this._targets[i].elt ); | 101 | |
103 | } | ||
104 | if (hitRec) | 102 | if (hitRec) |
105 | { | 103 | { |
106 | // disable snap attributes | 104 | // disable snap attributes |
@@ -122,7 +120,7 @@ exports.TranslateObject3DTool = Montage.create(Translate3DToolBase, { | |||
122 | 120 | ||
123 | if(!this._dragPlane) | 121 | if(!this._dragPlane) |
124 | { | 122 | { |
125 | if( this._inLocalMode && (this._targets.length === 1) ) | 123 | if( this._inLocalMode && (this.application.ninja.selectedElements.length === 1) ) |
126 | { | 124 | { |
127 | this._dragPlane = viewUtils.getUnprojectedElementPlane(this._clickedObject); | 125 | this._dragPlane = viewUtils.getUnprojectedElementPlane(this._clickedObject); |
128 | snapManager.setupDragPlaneFromPlane(this._dragPlane); | 126 | snapManager.setupDragPlaneFromPlane(this._dragPlane); |