aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorValerio Virgillito2012-06-20 11:33:02 -0700
committerValerio Virgillito2012-06-20 11:33:02 -0700
commit52833c3d8a485944c42acc6ac0ae5139b3427da8 (patch)
tree7a857ba713a318df401739c21e1ca7ae59104f82 /js
parent4fb904eb5660cac28e2085d4aedce8fa249339b5 (diff)
parent3ed06c2a55b1ae840334efeb47f7743944ecb3ca (diff)
downloadninja-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-xjs/tools/SelectionTool.js7
-rwxr-xr-xjs/tools/ToolBase.js2
-rwxr-xr-xjs/tools/drawing-tool-base.js11
-rwxr-xr-xjs/tools/modifier-tool-base.js17
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
15exports.DrawingToolBase = Montage.create(Component, { 15exports.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