aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rwxr-xr-xjs/components/tools-properties/pen-properties.reel/pen-properties.html22
-rwxr-xr-xjs/components/tools-properties/pen-properties.reel/pen-properties.js18
-rwxr-xr-xjs/helper-classes/3D/math-utils.js18
-rwxr-xr-xjs/helper-classes/RDGE/GLAnchorPoint.js239
-rwxr-xr-xjs/helper-classes/RDGE/GLBrushStroke.js7
-rwxr-xr-xjs/helper-classes/RDGE/GLCircle.js10
-rwxr-xr-xjs/helper-classes/RDGE/GLGeomObj.js3
-rwxr-xr-xjs/helper-classes/RDGE/GLMaterial.js29
-rwxr-xr-xjs/helper-classes/RDGE/GLRectangle.js9
-rwxr-xr-xjs/helper-classes/RDGE/GLSubpath.js2317
-rwxr-xr-xjs/helper-classes/RDGE/GLWorld.js229
-rwxr-xr-xjs/helper-classes/RDGE/Materials/BumpMetalMaterial.js66
-rwxr-xr-xjs/helper-classes/RDGE/Materials/FlatMaterial.js43
-rwxr-xr-xjs/helper-classes/RDGE/Materials/IridescentScalesMaterial.js5
-rwxr-xr-xjs/helper-classes/RDGE/Materials/JuliaMaterial.js3
-rwxr-xr-xjs/helper-classes/RDGE/Materials/KeleidoscopeMaterial.js3
-rwxr-xr-xjs/helper-classes/RDGE/Materials/LinearGradientMaterial.js4
-rwxr-xr-xjs/helper-classes/RDGE/Materials/MandelMaterial.js4
-rwxr-xr-xjs/helper-classes/RDGE/Materials/PlasmaMaterial.js2
-rwxr-xr-xjs/helper-classes/RDGE/Materials/PulseMaterial.js15
-rwxr-xr-xjs/helper-classes/RDGE/Materials/RadialBlurMaterial.js3
-rwxr-xr-xjs/helper-classes/RDGE/Materials/RadialGradientMaterial.js188
-rwxr-xr-xjs/helper-classes/RDGE/Materials/TunnelMaterial.js3
-rwxr-xr-xjs/helper-classes/RDGE/Materials/TwistMaterial.js3
-rwxr-xr-xjs/helper-classes/RDGE/Materials/UberMaterial.js25
-rwxr-xr-xjs/helper-classes/RDGE/rdge-compiled.js102
-rwxr-xr-xjs/helper-classes/RDGE/src/core/script/engine.js18
-rwxr-xr-xjs/helper-classes/RDGE/src/core/script/init_state.js7
-rwxr-xr-xjs/helper-classes/RDGE/src/core/script/jshader.js6
-rwxr-xr-xjs/helper-classes/RDGE/src/core/script/renderer.js14
-rwxr-xr-xjs/helper-classes/RDGE/src/core/script/run_state.js10
-rwxr-xr-xjs/helper-classes/RDGE/src/core/script/runtime.js2
-rwxr-xr-xjs/panels/Materials/Materials.xml10
-rwxr-xr-xjs/panels/properties/sections/three-d-view.reel/three-d-view.js3
-rwxr-xr-xjs/preloader/Preloader.js1
-rwxr-xr-xjs/tools/PenTool.js554
36 files changed, 1802 insertions, 2193 deletions
diff --git a/js/components/tools-properties/pen-properties.reel/pen-properties.html b/js/components/tools-properties/pen-properties.reel/pen-properties.html
index 7af35a03..74a3a747 100755
--- a/js/components/tools-properties/pen-properties.reel/pen-properties.html
+++ b/js/components/tools-properties/pen-properties.reel/pen-properties.html
@@ -12,12 +12,25 @@
12 <script type="text/montage-serialization"> 12 <script type="text/montage-serialization">
13 { 13 {
14 14
15 "strokeSizeHT": {
16 "module": "js/components/hottextunit.reel",
17 "name": "HotTextUnit",
18 "properties": {
19 "element": {"#": "strokeSize"},
20 "minValue": 1,
21 "maxValue": 100,
22 "value": 1,
23 "decimalPlace": 10,
24 "acceptableUnits" : ["px", "pt"]
25 }
26 },
27
15 "owner": { 28 "owner": {
16 "module": "js/components/tools-properties/pen-properties.reel", 29 "module": "js/components/tools-properties/pen-properties.reel",
17 "name": "PenProperties", 30 "name": "PenProperties",
18 "properties": { 31 "properties": {
19 "element": {"#": "penProperties"}, 32 "element": {"#": "penProperties"},
20 "reset": {"#": "resetPenTool"} 33 "_strokeSize": {"@": "strokeSizeHT"}
21 } 34 }
22 } 35 }
23 } 36 }
@@ -26,9 +39,12 @@
26 </head> 39 </head>
27 40
28 <body> 41 <body>
29 <div id="penProperties" class="subToolHolderPanel"> 42 <div id="penProperties" class="subToolHolderPanel">
30 <button id="resetPenTool" tabindex="0" class="montage-button" aria-role="button" aria-busy="false">Reset</button> 43 <div id="strokesContainer" class="leftLabel" style="margin-left:25px; padding-top: 3px;">
44 <label class="label"> Stroke:</label>
45 <div id="strokeSize" class="label"></div>
31 </div> 46 </div>
47 </div>
32 </body> 48 </body>
33 49
34</html> \ No newline at end of file 50</html> \ No newline at end of file
diff --git a/js/components/tools-properties/pen-properties.reel/pen-properties.js b/js/components/tools-properties/pen-properties.reel/pen-properties.js
index ec8efa69..b57f9a6f 100755
--- a/js/components/tools-properties/pen-properties.reel/pen-properties.js
+++ b/js/components/tools-properties/pen-properties.reel/pen-properties.js
@@ -5,24 +5,10 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
5</copyright> */ 5</copyright> */
6 6
7var Montage = require("montage/core/core").Montage; 7var Montage = require("montage/core/core").Montage;
8var Component = require("montage/ui/component").Component;
9var defaultEventManager = require("montage/core/event/event-manager").defaultEventManager;
10var ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties; 8var ToolProperties = require("js/components/tools-properties/tool-properties").ToolProperties;
11 9
12exports.PenProperties = Montage.create(ToolProperties, { 10exports.PenProperties = Montage.create(ToolProperties, {
13 reset: { value: null }, 11 strokeSize: {
14 12 get: function() { return this._strokeSize; }
15 _subPrepare: {
16 value: function() {
17 this.reset.addEventListener("click", this, false);
18 }
19 },
20
21 handleClick: {
22 value: function(event) {
23 var newEvent = document.createEvent( "CustomEvent" );
24 newEvent.initCustomEvent( "resetPenTool", false, true );
25 defaultEventManager.dispatchEvent( newEvent );
26 }
27 } 13 }
28}); \ No newline at end of file 14}); \ No newline at end of file
diff --git a/js/helper-classes/3D/math-utils.js b/js/helper-classes/3D/math-utils.js
index 71ed62a0..3d24f76e 100755
--- 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 100755
--- 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; } 31GLAnchorPoint.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; } 32GLAnchorPoint.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; } 33GLAnchorPoint.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;