diff options
author | Jonathan Duran | 2012-02-09 12:10:37 -0800 |
---|---|---|
committer | Jonathan Duran | 2012-02-09 12:10:37 -0800 |
commit | 2092acf520e3f346f15e42c76c2f616e7d094c97 (patch) | |
tree | 9b6948aa3efc69015ed6988540e66984f34ef79c /js/helper-classes | |
parent | 74832b23c768974f71a32044c5d5481909ece931 (diff) | |
download | ninja-2092acf520e3f346f15e42c76c2f616e7d094c97.tar.gz |
Squashed commit of the following:
commit ce81a3f4387d80f9ac406e73b843fb5dbe9cf432
Merge: e78f431 fba39db
Author: Valerio Virgillito <valerio@motorola.com>
Date: Thu Feb 9 11:57:35 2012 -0800
Merge pull request #26 from pushkarjoshi/pentool
Pentool
commit e78f4312c194d9e8188075cf1fe87e4be22b24e4
Author: Valerio Virgillito <valerio@motorola.com>
Date: Thu Feb 9 11:56:40 2012 -0800
adding oneway to the 3d bindings to fix a bug where the stage was getting selected.
Signed-off-by: Valerio Virgillito <valerio@motorola.com>
commit fba39dbb3bd64eddf6162fbf57232089e446fb06
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Thu Feb 9 10:50:05 2012 -0800
removing shaders
commit fa700027b541ec8f37c55f4fe17da5f78759ebd5
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Wed Feb 8 16:06:37 2012 -0800
fill all paths even if they are open
commit 18243deb66ab14a014756bfb0be1a52648c7771a
Merge: 802e92e 0537f8f
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Wed Feb 8 15:42:40 2012 -0800
Merge branch 'master' into pentool
Conflicts:
js/helper-classes/RDGE/GLWorld.js
js/helper-classes/RDGE/MaterialsLibrary.js
commit 802e92eb70b00849dadacf2c6590d27edbe65d99
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Wed Feb 8 15:39:47 2012 -0800
bug fixes for better anchor point rotation and removing snapping on hover and mouse down
commit 9b6b228524f14bf65ba60aaf3d0993c8ec5bff2d
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Tue Feb 7 15:22:11 2012 -0800
some minor bug fixes and code cleanup
commit 4bbe42e6d01fd0f81d13357a75b40eae9925dda3
Merge: e7aa17a 8950b34
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Tue Feb 7 07:21:27 2012 -0800
Merge branch 'master' into pentool
commit e7aa17a9b472640355e95c54841399f6203050d4
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Tue Feb 7 07:20:28 2012 -0800
don't use colorToHex function because it only works for 3D color (needs a fix to colorToHex)
commit acc500d1f1c76f4e7c93ae1cfea8d925ca95e7b9
Merge: 4d4de64 4222db9
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Thu Feb 2 11:28:45 2012 -0800
Merge branch 'working' of c:/Code/github/emueller/ninja-internal/ into pentool
commit 4d4de64472603426a73b26cc98ba8206190949b8
Merge: 0e87c02 5233508
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Thu Feb 2 11:19:30 2012 -0800
Merge branch 'master' into pentool
commit 4222db97e353fb65fab787ba5927d16d9fa4e1f7
Author: hwc487 <hwc487@motorola.com>
Date: Wed Feb 1 16:18:26 2012 -0800
Removed a console log and set the Plasma material to animating.
commit 30bc466a0ac80f8303e223c19704b90457293cdc
Author: hwc487 <hwc487@motorola.com>
Date: Wed Feb 1 15:57:20 2012 -0800
Fixed plane orientations for view orientations other than front.
commit 11db5a63bda57c630eaf1d8baded9b79ca7ac1f2
Author: hwc487 <hwc487@motorola.com>
Date: Wed Feb 1 15:11:21 2012 -0800
listen for the appMouseUp event in the Pan tool
commit 823945a2bcb42bbf9c6a1cd0ef723b8f415e557f
Author: hwc487 <hwc487@motorola.com>
Date: Wed Feb 1 14:39:46 2012 -0800
factor in the zoom factor when drawing the stage compass.
commit 0e87c02e74e08c7bf156373b0d2459563e17ecd6
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Wed Feb 1 14:38:15 2012 -0800
make GLAnchorPoint functions as part of its prototype
commit 5a288b9d3f8e6690149978d9d0e7bea98cc81312
Author: hwc487 <hwc487@motorola.com>
Date: Wed Feb 1 14:09:24 2012 -0800
Fix for a marquee zoom bug.
commit 715f95cacead0025a57823e4cefa22e618f15df0
Author: hwc487 <hwc487@motorola.com>
Date: Wed Feb 1 14:00:06 2012 -0800
mouse wheel for zoom tool
commit 62d38a080b2918a0284c854e9bf882bfeeea1e0b
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Wed Feb 1 13:21:11 2012 -0800
avoid overriding GlGeomObj translate method
commit 799369e153baf92eb10f26e91a1ab664900da8ed
Merge: b2ce8b8 c0f4374
Author: hwc487 <hwc487@motorola.com>
Date: Wed Feb 1 13:06:17 2012 -0800
Merge branch 'ToolFixes' of github.com:mqg734/ninja-internal into working
commit b2ce8b819cc85a558d862c04965b7e65a6ce8640
Author: hwc487 <hwc487@motorola.com>
Date: Wed Feb 1 13:05:32 2012 -0800
changes to allow minimal rendering ofnon-animated materials.
commit ada488781ff815a827e7f5903f2c55773e3be0f3
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Wed Feb 1 12:16:11 2012 -0800
when selecting anchor points, first check if the selected anchor position is close enough
commit 107f79288ed87a282dd52075640297cc02bdf318
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Wed Feb 1 12:00:44 2012 -0800
performance improvement: add most of the GLSubpath functions to its prototype
commit c00d5d3072e487be200559f692ce4399222d5fa5
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Tue Jan 31 14:25:05 2012 -0800
handle the case of proper redraw when the alt key is held down even after mouse up
commit c006b3e75d5e23da63687a04cd30bf56a3a8a80d
Merge: f0e3fa6 1d8af9f
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Tue Jan 31 12:07:43 2012 -0800
Merge branch 'master' into pentool
commit f0e3fa691b3c042c9fc49a7a0cde8ddf8100c195
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Tue Jan 31 12:05:15 2012 -0800
display the anchor point to be selected on mouse hover
commit aa1b4b78d9e1b9cc15529dbf7196b7ac8a88e260
Merge: 0b8d8b2 6066b9b
Author: hwc487 <hwc487@motorola.com>
Date: Tue Jan 31 10:46:48 2012 -0800
Merge branch 'ToolFixes' of github.com:mqg734/ninja-internal into working
Conflicts:
js/stage/stage.reel/stage.js
commit 0b8d8b2eb595b64ef53440b949f3c5ec891daf8a
Merge: 8e43a46 e4837ed
Author: hwc487 <hwc487@motorola.com>
Date: Tue Jan 31 09:22:56 2012 -0800
Merge branch 'master' of github.com:Motorola-Mobility/ninja-internal into working
commit 8e43a46e3d79323fe06dc7771bc611a2c3c85c5c
Author: hwc487 <hwc487@motorola.com>
Date: Mon Jan 30 16:15:12 2012 -0800
Renderer startup handling of non-animated materials.
Changed zoom from the document bar to keep the location center of the viewable portion of the document fixed.
commit c41d2c2b749b67921f243fb7594ce0cdb1ccce36
Merge: 86a801c f129a23
Author: hwc487 <hwc487@motorola.com>
Date: Mon Jan 30 16:09:00 2012 -0800
Merge branch 'staging' of github.com:Motorola-Mobility/ninja-internal into working
commit 972e0ce4df7b332601ad006ca8b7dd9e189a59ef
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Mon Jan 30 14:38:48 2012 -0800
do the fill before the stroke for the path, so the stroke width renders acc. to user specification
commit da7ad067b146200847b543faf288844221dff928
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Mon Jan 30 14:30:31 2012 -0800
missed a couple of pen tool property files on last checkin
commit 76abbaafb0d90bb1dc9c63a5a5a78ab95bb00420
Author: Pushkar Joshi <pushkar@motorola.com>
Date: Mon Jan 30 13:56:33 2012 -0800
Merge pushkar branch on gerritt with github version
commit 86a801c057fc3b0580d6130be5740c2ee503444f
Author: hwc487 <hwc487@motorola.com>
Date: Fri Jan 27 15:52:36 2012 -0800
updated from old repo
Signed-off-by: Jonathan Duran <jduran@motorola.com>
Diffstat (limited to 'js/helper-classes')
30 files changed, 1609 insertions, 1778 deletions
diff --git a/js/helper-classes/3D/math-utils.js b/js/helper-classes/3D/math-utils.js index 71ed62a0..3d24f76e 100644 --- a/js/helper-classes/3D/math-utils.js +++ b/js/helper-classes/3D/math-utils.js | |||
@@ -802,19 +802,21 @@ var MathUtilsClass = exports.MathUtilsClass = Object.create(Object.prototype, { | |||
802 | getAxisAngleBetween3DVectors: { | 802 | getAxisAngleBetween3DVectors: { |
803 | value: function (vec1, vec2, axis) { | 803 | value: function (vec1, vec2, axis) { |
804 | //compute magnitudes of the vectors | 804 | //compute magnitudes of the vectors |
805 | var mag1 = VecUtils.vecMag(3, vec1); | 805 | var v1n = VecUtils.vecNormalize(3, vec1, 1.0); |
806 | var mag2 = VecUtils.vecMag(3, vec2); | 806 | var v2n = VecUtils.vecNormalize(3, vec2, 1.0); |
807 | |||
808 | if (mag1 < this.EPSILON || mag2 < this.EPSILON) { | ||
809 | return 0; //if angle 0 is returned nothing from this function should be used | ||
810 | } | ||
811 | //angle between the vectors (acos for now...) | 807 | //angle between the vectors (acos for now...) |
812 | var angle = Math.acos(VecUtils.vecDot(3, vec1, vec2) / (mag1 * mag2)); | 808 | var angle = Math.acos(VecUtils.vecDot(3, v1n, v2n)); |
813 | if (Math.abs(angle) < this.EPSILON) { | 809 | if (Math.abs(angle) < this.EPSILON) { |
814 | return 0; | 810 | return 0; |
815 | } | 811 | } |
812 | //TODO testing...remove this block | ||
813 | console.log("getAxisAngleBetween3DVectors Angle: "+angle); | ||
814 | if (isNaN(angle)){ | ||
815 | console.log("getAxisAngleBetween3DVectors Angle is NaN"); | ||
816 | } | ||
817 | //TODO end testing block | ||
816 | //optionally, if axis is provided, create the axis of rotation as well | 818 | //optionally, if axis is provided, create the axis of rotation as well |
817 | var rotAxis = VecUtils.vecCross(3, vec1, vec2); | 819 | var rotAxis = VecUtils.vecCross(3, v1n, v2n); |
818 | rotAxis = VecUtils.vecNormalize(3, rotAxis, 1); | 820 | rotAxis = VecUtils.vecNormalize(3, rotAxis, 1); |
819 | axis[0] = rotAxis[0]; | 821 | axis[0] = rotAxis[0]; |
820 | axis[1] = rotAxis[1]; | 822 | axis[1] = rotAxis[1]; |
diff --git a/js/helper-classes/RDGE/GLAnchorPoint.js b/js/helper-classes/RDGE/GLAnchorPoint.js index 496b6f60..716f59d4 100644 --- a/js/helper-classes/RDGE/GLAnchorPoint.js +++ b/js/helper-classes/RDGE/GLAnchorPoint.js | |||
@@ -26,125 +26,136 @@ function GLAnchorPoint() { | |||
26 | this._nextX = 0.0; | 26 | this._nextX = 0.0; |
27 | this._nextY = 0.0; | 27 | this._nextY = 0.0; |
28 | this._nextZ = 0.0; | 28 | this._nextZ = 0.0; |
29 | 29 | } | |
30 | // *********** setters ************ | 30 | // *********** setters ************ |
31 | this.setPos = function (x, y, z) { this._x = x; this._y = y; this._z = z; } | 31 | GLAnchorPoint.prototype.setPos = function (x, y, z) { this._x = x; this._y = y; this._z = z; } |
32 | this.setPrevPos = function (x, y, z) { this._prevX = x; this._prevY = y; this._prevZ = z; } | 32 | GLAnchorPoint.prototype.setPrevPos = function (x, y, z) { this._prevX = x; this._prevY = y; this._prevZ = z; } |
33 | this.setNextPos = function (x, y, z) { this._nextX = x; this._nextY = y; this._nextZ = z; } | 33 | GLAnchorPoint.prototype.setNextPos = function (x, y, z) { this._nextX = x; this._nextY = y; this._nextZ = z; } |
34 | |||
35 | this.setPrevFromNext = function () { | ||
36 | //set the previous control point by reflecting the next control point | ||
37 | var dispX = this._nextX - this._x; | ||
38 | var dispY = this._nextY - this._y; | ||
39 | var dispZ = this._nextZ - this._z; | ||
40 | |||
41 | this._prevX = this._x - dispX; | ||
42 | this._prevY = this._y - dispY; | ||
43 | this._prevZ = this._z - dispZ; | ||
44 | } | ||
45 | this.setNextFromPrev = function () { | ||
46 | //set the previous control point by reflecting the next control point | ||
47 | var dispX = this._prevX - this._x; | ||
48 | var dispY = this._prevY - this._y; | ||
49 | var dispZ = this._prevZ - this._z; | ||
50 | |||
51 | this._nextX = this._x - dispX; | ||
52 | this._nextY = this._y - dispY; | ||
53 | this._nextZ = this._z - dispZ; | ||
54 | } | ||
55 | 34 | ||
56 | //translate the next point from the translation that was applied to the prev. point | 35 | GLAnchorPoint.prototype.setPrevFromNext = function () { |
57 | this.translateNextFromPrev = function (tx, ty, tz) { | 36 | //set the previous control point by reflecting the next control point |
58 | // *** compute the rotation of the prev vector *** | 37 | var dispX = this._nextX - this._x; |
59 | var oldP = Vector.create([this._prevX + tx - this._x, this._prevY + ty - this._y, this._prevZ + tz - this._z]); | 38 | var dispY = this._nextY - this._y; |
60 | var newP = Vector.create([this._prevX - this._x, this._prevY - this._y, this._prevZ - this._z]); | 39 | var dispZ = this._nextZ - this._z; |
61 | //compute angle between the two vectors | ||
62 | var axis = Vector.create([0, 0, 0]); | ||
63 | var angle = MathUtils.getAxisAngleBetween3DVectors(oldP, newP, axis); | ||
64 | if (angle === 0) | ||
65 | return; | ||
66 | |||
67 | // *** compute the vector from anchor to next | ||
68 | var oldN = Vector.create([this._nextX - this._x, this._nextY - this._y, this._nextZ - this._z]); | ||
69 | var rotMat = Matrix.Rotation(-angle, axis); | ||
70 | var newN = MathUtils.transformVector(oldN, rotMat); | ||
71 | |||
72 | //TEMP for some situations the axis angle computation returns NaNs | ||
73 | if (isNaN(newN[0]) || isNaN(newN[1]) || isNaN(newN[2])) { | ||
74 | return; | ||
75 | } | ||
76 | //end TEMP | ||
77 | this._nextX = this._x + newN[0]; | ||
78 | this._nextY = this._y + newN[1]; | ||
79 | this._nextZ = this._z + newN[2]; | ||
80 | } | ||
81 | //translate the next point from the translation that was applied to the prev. point | ||
82 | this.translatePrevFromNext = function (tx, ty, tz) { | ||
83 | // *** compute the rotation of the next vector *** | ||
84 | var oldN = Vector.create([this._nextX + tx - this._x, this._nextY + ty - this._y, this._nextZ + tz - this._z]); | ||
85 | var newN = Vector.create([this._nextX - this._x, this._nextY - this._y, this._nextZ - this._z]); | ||
86 | //compute angle between the two vectors | ||
87 | var axis = Vector.create([0, 0, 0]); | ||
88 | var angle = MathUtils.getAxisAngleBetween3DVectors(oldN, newN, axis); | ||
89 | if (angle === 0) | ||
90 | return; | ||
91 | |||
92 | // *** compute the vector from anchor to prev | ||
93 | var oldP = Vector.create([this._prevX - this._x, this._prevY - this._y, this._prevZ - this._z]); | ||
94 | var rotMat = Matrix.Rotation(-angle, axis); | ||
95 | var newP = MathUtils.transformVector(oldP, rotMat); | ||
96 | |||
97 | //TEMP for some situations the axis angle computation returns NaNs | ||
98 | if (isNaN(newP[0]) || isNaN(newP[1]) || isNaN(newP[2])) { | ||
99 | return; | ||
100 | } | ||
101 | //end TEMP | ||
102 | this._prevX = this._x + newP[0]; | ||
103 | this._prevY = this._y + newP[1]; | ||
104 | this._prevZ = this._z + newP[2]; | ||
105 | } | ||
106 | 40 | ||
41 | this._prevX = this._x - dispX; | ||
42 | this._prevY = this._y - dispY; | ||
43 | this._prevZ = this._z - dispZ; | ||
44 | } | ||
45 | GLAnchorPoint.prototype.setNextFromPrev = function () { | ||
46 | //set the previous control point by reflecting the next control point | ||
47 | var dispX = this._prevX - this._x; | ||
48 | var dispY = this._prevY - this._y; | ||
49 | var dispZ = this._prevZ - this._z; | ||
107 | 50 | ||
108 | // ******* modifiers ******* |