diff options
author | Jose Antonio Marquez | 2012-06-20 16:47:37 -0700 |
---|---|---|
committer | Jose Antonio Marquez | 2012-06-20 16:47:37 -0700 |
commit | 313a62245400e6c8cfa6d2f02c603cc7f01ddfc6 (patch) | |
tree | c207d1290be0e894a57b03098bbb7bbe5f2aee86 /js/tools | |
parent | 2496e0d0b0ac5f8c53b12de77f0feda69ce4a2f4 (diff) | |
parent | 392a559e90357d48c910a07617261483b2b45476 (diff) | |
download | ninja-313a62245400e6c8cfa6d2f02c603cc7f01ddfc6.tar.gz |
Merge branch 'refs/heads/Ninja-Internal' into Document
Diffstat (limited to 'js/tools')
-rwxr-xr-x | js/tools/SelectionTool.js | 24 | ||||
-rwxr-xr-x | js/tools/TextTool.js | 2 | ||||
-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 |
5 files changed, 38 insertions, 18 deletions
diff --git a/js/tools/SelectionTool.js b/js/tools/SelectionTool.js index 8b644d4a..a0d5bc26 100755 --- a/js/tools/SelectionTool.js +++ b/js/tools/SelectionTool.js | |||
@@ -47,6 +47,20 @@ var SelectionTool = exports.SelectionTool = Montage.create(ModifierToolBase, { | |||
47 | } | 47 | } |
48 | }, | 48 | }, |
49 | 49 | ||
50 | _areElementsIn2D : { | ||
51 | value: function () { | ||
52 | if(this.application.ninja.selectedElements.length) { | ||
53 | var len = this.application.ninja.selectedElements.length; | ||
54 | for(var i = 0; i < len; i++) { | ||
55 | if(!MathUtils.isIdentityMatrix(this.application.ninja.selectedElements[i].elementModel.getProperty("mat"))) { | ||
56 | return false; | ||
57 | } | ||
58 | } | ||
59 | } | ||
60 | return true; | ||
61 | } | ||
62 | }, | ||
63 | |||
50 | startDraw: { | 64 | startDraw: { |
51 | value: function(event) { | 65 | value: function(event) { |
52 | this.drawData = null; | 66 | this.drawData = null; |
@@ -70,7 +84,8 @@ var SelectionTool = exports.SelectionTool = Montage.create(ModifierToolBase, { | |||
70 | if(this._canSnap) | 84 | if(this._canSnap) |
71 | { | 85 | { |
72 | this.initializeSnapping(event); | 86 | this.initializeSnapping(event); |
73 | this._use3DMode = !this._areElementsOnSamePlane(); | 87 | // this._use3DMode = !this._areElementsOnSamePlane(); |
88 | this._use3DMode = !this._areElementsIn2D(); | ||
74 | // console.log("use3DMode = " + this._use3DMode); | 89 | // console.log("use3DMode = " + this._use3DMode); |
75 | } | 90 | } |
76 | else | 91 | else |
@@ -583,11 +598,8 @@ var SelectionTool = exports.SelectionTool = Montage.create(ModifierToolBase, { | |||
583 | this.mouseUpHitRec = DrawingToolBase.getUpdatedSnapPoint(point.x, point.y, do3DSnap, this.mouseDownHitRec); | 598 | this.mouseUpHitRec = DrawingToolBase.getUpdatedSnapPoint(point.x, point.y, do3DSnap, this.mouseDownHitRec); |
584 | if (this._mouseDownHitRec && this._mouseUpHitRec) | 599 | if (this._mouseDownHitRec && this._mouseUpHitRec) |
585 | { | 600 | { |
586 | data = this.getDrawingData(event); | 601 | this.modifyElements({pt0:this._mouseDownHitRec.calculateElementScreenPoint(), |
587 | if(data) | 602 | pt1:this._mouseUpHitRec.calculateElementScreenPoint()}, event); |
588 | { | ||
589 | this.modifyElements({pt0:data.mouseDownPos, pt1:data.mouseUpPos}, event); | ||
590 | } | ||
591 | } | 603 | } |
592 | } | 604 | } |
593 | } | 605 | } |
diff --git a/js/tools/TextTool.js b/js/tools/TextTool.js index 024a92ce..0aef6c1c 100755 --- a/js/tools/TextTool.js +++ b/js/tools/TextTool.js | |||
@@ -6,7 +6,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
6 | 6 | ||
7 | var Montage = require("montage/core/core").Montage, | 7 | var Montage = require("montage/core/core").Montage, |
8 | DrawingTool = require("js/tools/drawing-tool").DrawingTool, | 8 | DrawingTool = require("js/tools/drawing-tool").DrawingTool, |
9 | RichTextEditor = require("node_modules/labs/rich-text-editor.reel").RichTextEditor, | 9 | //RichTextEditor = ("node_modules/labs/rich-text-editor.reel").RichTextEditor, |
10 | ElementsMediator = require("js/mediators/element-mediator").ElementMediator; | 10 | ElementsMediator = require("js/mediators/element-mediator").ElementMediator; |
11 | 11 | ||
12 | exports.TextTool = Montage.create(DrawingTool, { | 12 | exports.TextTool = Montage.create(DrawingTool, { |
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 |