diff options
author | Valerio Virgillito | 2012-06-20 11:33:02 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-06-20 11:33:02 -0700 |
commit | 52833c3d8a485944c42acc6ac0ae5139b3427da8 (patch) | |
tree | 7a857ba713a318df401739c21e1ca7ae59104f82 /js | |
parent | 4fb904eb5660cac28e2085d4aedce8fa249339b5 (diff) | |
parent | 3ed06c2a55b1ae840334efeb47f7743944ecb3ca (diff) | |
download | ninja-52833c3d8a485944c42acc6ac0ae5139b3427da8.tar.gz |
Merge pull request #313 from mqg734/GIO_Fixes
IKNINJA-1519 - Transform tool does not transform objects correctly in 3D space or in Top/Side view.
Diffstat (limited to 'js')
-rwxr-xr-x | js/tools/SelectionTool.js | 7 | ||||
-rwxr-xr-x | js/tools/ToolBase.js | 2 | ||||
-rwxr-xr-x | js/tools/drawing-tool-base.js | 11 | ||||
-rwxr-xr-x | js/tools/modifier-tool-base.js | 17 |
4 files changed, 21 insertions, 16 deletions
diff --git a/js/tools/SelectionTool.js b/js/tools/SelectionTool.js index 8b644d4a..9bd885a4 100755 --- a/js/tools/SelectionTool.js +++ b/js/tools/SelectionTool.js | |||
@@ -583,11 +583,8 @@ var SelectionTool = exports.SelectionTool = Montage.create(ModifierToolBase, { | |||
583 | this.mouseUpHitRec = DrawingToolBase.getUpdatedSnapPoint(point.x, point.y, do3DSnap, this.mouseDownHitRec); | 583 | this.mouseUpHitRec = DrawingToolBase.getUpdatedSnapPoint(point.x, point.y, do3DSnap, this.mouseDownHitRec); |
584 | if (this._mouseDownHitRec && this._mouseUpHitRec) | 584 | if (this._mouseDownHitRec && this._mouseUpHitRec) |
585 | { | 585 | { |
586 | data = this.getDrawingData(event); | 586 | this.modifyElements({pt0:this._mouseDownHitRec.calculateElementScreenPoint(), |
587 | if(data) | 587 | pt1:this._mouseUpHitRec.calculateElementScreenPoint()}, event); |
588 | { | ||
589 | this.modifyElements({pt0:data.mouseDownPos, pt1:data.mouseUpPos}, event); | ||
590 | } | ||
591 | } | 588 | } |
592 | } | 589 | } |
593 | } | 590 | } |
diff --git a/js/tools/ToolBase.js b/js/tools/ToolBase.js index f43b1b58..88333c74 100755 --- a/js/tools/ToolBase.js +++ b/js/tools/ToolBase.js | |||
@@ -35,6 +35,8 @@ exports.toolBase = Montage.create(Component, { | |||
35 | _currentX: {value: 0, writable: true}, | 35 | _currentX: {value: 0, writable: true}, |
36 | _currentY: {value: 0, writable: true}, | 36 | _currentY: {value: 0, writable: true}, |
37 | 37 | ||
38 | _dragPlane: { value: null }, | ||
39 | |||
38 | /** | 40 | /** |
39 | * This function is for specifying custom feedback routine | 41 | * This function is for specifying custom feedback routine |
40 | * upon mouse over. | 42 | * upon mouse over. |
diff --git a/js/tools/drawing-tool-base.js b/js/tools/drawing-tool-base.js index a752ad65..b5416a65 100755 --- a/js/tools/drawing-tool-base.js +++ b/js/tools/drawing-tool-base.js | |||
@@ -14,9 +14,16 @@ var drawUtils = require("js/helper-classes/3D/draw-utils").DrawUtils; | |||
14 | 14 | ||
15 | exports.DrawingToolBase = Montage.create(Component, { | 15 | exports.DrawingToolBase = Montage.create(Component, { |
16 | 16 | ||
17 | dragPlane: { | 17 | dragPlane: |
18 | value: null | 18 | { |
19 | get: function () { | ||
20 | return this.application.ninja.toolsData.selectedToolInstance._dragPlane; | ||
21 | }, | ||
22 | set: function (value) { | ||
23 | this.application.ninja.toolsData.selectedToolInstance._dragPlane = value; | ||
24 | } | ||
19 | }, | 25 | }, |
26 | |||
20 | /** | 27 | /** |
21 | * Used on the initial MouseDown for Drawing Tools | 28 | * Used on the initial MouseDown for Drawing Tools |
22 | * | 29 | * |
diff --git a/js/tools/modifier-tool-base.js b/js/tools/modifier-tool-base.js index 6c569f0a..14a7e619 100755 --- a/js/tools/modifier-tool-base.js +++ b/js/tools/modifier-tool-base.js | |||
@@ -21,7 +21,6 @@ exports.ModifierToolBase = Montage.create(DrawingTool, { | |||
21 | //------------------------------------------------------------------------- | 21 | //------------------------------------------------------------------------- |
22 | // Snapping-specific properties | 22 | // Snapping-specific properties |
23 | _canSnap: { value: true }, | 23 | _canSnap: { value: true }, |
24 | _dragPlane: { value: null }, | ||
25 | _snapParam: { value: null }, | 24 | _snapParam: { value: null }, |
26 | _snapIndex: { value: -1 }, | 25 | _snapIndex: { value: -1 }, |
27 | _useQuadPt: { value: false }, | 26 | _useQuadPt: { value: false }, |
@@ -163,15 +162,15 @@ exports.ModifierToolBase = Montage.create(DrawingTool, { | |||
163 | 162 | ||
164 | if(!this._dragPlane) | 163 | if(!this._dragPlane) |
165 | { | 164 | { |
166 | // if( this._inLocalMode && (this._startMatArray.length === 1) ) | 165 | if((this._handleMode !== null) && (this.application.ninja.toolsData.selectedTool.action === "SelectionTool")) |
167 | // { | 166 | { |
168 | // this._dragPlane = viewUtils.getUnprojectedElementPlane(this._clickedObject); | 167 | this._dragPlane = viewUtils.getUnprojectedElementPlane(this.application.ninja.selectedElements[0]); |
169 | // snapManager.setupDragPlaneFromPlane(this._dragPlane); | 168 | snapManager.setupDragPlaneFromPlane(this._dragPlane); |
170 | // } | 169 | } |
171 | // else | 170 | else |
172 | // { | 171 | { |
173 | this._dragPlane = snapManager.setupDragPlanes( hitRec, true ); | 172 | this._dragPlane = snapManager.setupDragPlanes( hitRec, true ); |
174 | // } | 173 | } |
175 | } | 174 | } |
176 | 175 | ||
177 | // only do quadrant snapping if the 4 corners of the element are in the drag plane | 176 | // only do quadrant snapping if the 4 corners of the element are in the drag plane |