diff options
author | Jonathan Duran | 2012-02-08 10:48:52 -0800 |
---|---|---|
committer | Jonathan Duran | 2012-02-08 10:48:52 -0800 |
commit | 8a2ef825490358f992d6d687174b0a16fd8302c1 (patch) | |
tree | 12cdf68a4f1de01fc33b9e23bbce0afab6c2d7ae /js/helper-classes/RDGE | |
parent | a460855c2132bffc666582659520e575d687d0cd (diff) | |
download | ninja-8a2ef825490358f992d6d687174b0a16fd8302c1.tar.gz |
Squashed commit of the following:
commit 763910b9d074137eb7dee80447b89407ce5750c9
Merge: e557937 329a859
Author: Valerio Virgillito <valerio@motorola.com>
Date: Wed Feb 8 10:18:36 2012 -0800
Merge pull request #20 from mqg734/ToolFixes
Hooked up materials code to go through the ShapesController and updated the PI to reflect the currently selected shape's materials. Also fixed the following bugs:
commit e5579374ff39b80b8c0c69faba37f6f581758fe0
Author: Valerio Virgillito <valerio@motorola.com>
Date: Tue Feb 7 13:28:17 2012 -0800
updated montage v.0.6 to the latest changes.
Signed-off-by: Valerio Virgillito <valerio@motorola.com>
commit 329a859e2666716c3a1d99c6bd2679e10c81fc8d
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Tue Feb 7 15:25:11 2012 -0800
Added ability to toggle combobox's visibility so we can show/hide materials comboboxes in the tool options.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit 668510892537eaaeb2e11520831d87b44b2489b7
Merge: 8950b34 c066fb4
Author: Valerio Virgillito <valerio@motorola.com>
Date: Tue Feb 7 14:19:22 2012 -0800
Merge pull request #19 from ericguzman/TreeComponents
Tree Components - Added copyright comments
commit aec849d91e4b697d496b9ede28b5d89cf2283781
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Tue Feb 7 14:18:13 2012 -0800
id's must start with a letter, so our workaround for using uuid for RDGE canvas id's won't work because they often start with a number.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit e8e21367e59bb521801fe2e843f42ad5bca5ea9f
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Tue Feb 7 13:52:54 2012 -0800
Fixing some typos and undeclared variables in GLRectangle and ShapesController.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit c066fb41ebee85bacf9b2155366b16831af41d76
Author: Eric Guzman <ericg@motorola.com>
Date: Tue Feb 7 13:46:05 2012 -0800
Tree Components - Added copyright comments
commit 3a8875c288049b466bfeb8b7f0510fd8cbfb970d
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Tue Feb 7 13:30:08 2012 -0800
Supporting switching materials in the PI. Also, moved makeFillMaterial and makeStrokeMaterial functions into GLGeomObj so shapes other than GLRectangle can use these routines.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit 8ad767b61460984a4031ba630f76ac8247a61857
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Tue Feb 7 11:42:10 2012 -0800
Fixed PI to support WebGL materials.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit 486842239c71e7964f38a09aacda4970f2a82e1a
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Tue Feb 7 10:58:14 2012 -0800
Updated tools and PI to get/set materials by binding to appModel's materials property. This requires us to add FlatMaterial to the list of materials in the MaterialsLibrary.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit 789eaf5a92c903f27462c69a8890fbec695ab14e
Merge: 92ae17b 8950b34
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Tue Feb 7 09:36:29 2012 -0800
Merge branch 'refs/heads/ninja-internal' into ToolFixes
commit 92ae17bc800cf82cdbd1482ef1af1a5fd7bd632a
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Mon Feb 6 16:35:12 2012 -0800
Force layout canvas and SelectionController to update their info when a 2d canvas is replaced by a 3d canvas (and vice-versa).
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit 75486be2839494c9b54833aff8f5eef3f9542151
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Mon Feb 6 15:41:48 2012 -0800
Support toggling between 2d and 3d canvas context. This requires us to create a new canvas with all the same values as the canvas being replaced and copying over all the shape data.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit f94b0c5ada403379b3ff8a900c2a2aabcecce49e
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Mon Feb 6 14:03:40 2012 -0800
Add enabled property for ComboBox to support enabling/disabling materials dropdowns in the PI.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit 5737864d1d55d96e3cc3c1bc9b38ec58303b3981
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Mon Feb 6 13:35:30 2012 -0800
Allow users to switch between 2d and webGL mode. Note that this doesn't currently work.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
commit 486d9a31a85dd833a1c798049a00403756703034
Author: Nivesh Rajbhandari <mqg734@motorola.com>
Date: Mon Feb 6 11:35:49 2012 -0800
Support use WebGL checkbox in the PI.
Signed-off-by: Nivesh Rajbhandari <mqg734@motorola.com>
Signed-off-by: Jonathan Duran <jduran@motorola.com>
Diffstat (limited to 'js/helper-classes/RDGE')
-rw-r--r-- | js/helper-classes/RDGE/GLCircle.js | 79 | ||||
-rw-r--r-- | js/helper-classes/RDGE/GLGeomObj.js | 51 | ||||
-rw-r--r-- | js/helper-classes/RDGE/GLLine.js | 27 | ||||
-rw-r--r-- | js/helper-classes/RDGE/GLRectangle.js | 65 | ||||
-rw-r--r-- | js/helper-classes/RDGE/GLWorld.js | 2 | ||||
-rw-r--r-- | js/helper-classes/RDGE/MaterialsLibrary.js | 2 |
6 files changed, 75 insertions, 151 deletions
diff --git a/js/helper-classes/RDGE/GLCircle.js b/js/helper-classes/RDGE/GLCircle.js index fc2e6460..e6bcba89 100644 --- a/js/helper-classes/RDGE/GLCircle.js +++ b/js/helper-classes/RDGE/GLCircle.js | |||
@@ -33,14 +33,6 @@ function GLCircle() | |||
33 | 33 | ||
34 | this._ovalHeight = this._ovalHeight = 2.0*this.radius; | 34 | this._ovalHeight = this._ovalHeight = 2.0*this.radius; |
35 | 35 | ||
36 | // stroke and fill colors | ||
37 | this._strokeColor = [0.4, 0.4, 0.4, 1.0]; | ||
38 | this._fillColor = [0.0, 0.6, 0.0, 1.0]; | ||
39 | |||
40 | // stroke and fill materials | ||
41 | this._fillMaterial; | ||
42 | this._strokeMaterial; | ||
43 | |||
44 | this._strokeStyle = "Solid"; | 36 | this._strokeStyle = "Solid"; |
45 | 37 | ||
46 | this._aspectRatio = 1.0; | 38 | this._aspectRatio = 1.0; |
@@ -189,19 +181,19 @@ function GLCircle() | |||
189 | var reverseRotMat = Matrix.RotationZ( -angle ); | 181 | var reverseRotMat = Matrix.RotationZ( -angle ); |
190 | 182 | ||
191 | // calculate matrices to scale the circle and stroke to fit the bounds of the ellipse | 183 | // calculate matrices to scale the circle and stroke to fit the bounds of the ellipse |
192 | strokeScaleMat = Matrix.I(4); | 184 | var strokeScaleMat = Matrix.I(4); |
193 | strokeScaleMat[0] = xRad; | 185 | strokeScaleMat[0] = xRad; |
194 | strokeScaleMat[5] = yRad; | 186 | strokeScaleMat[5] = yRad; |
195 | 187 | ||
196 | fillScaleMat = Matrix.I(4); | 188 | var fillScaleMat = Matrix.I(4); |
197 | fillScaleMat[0] = xRad - xStroke; | 189 | fillScaleMat[0] = xRad - xStroke; |
198 | fillScaleMat[5] = yRad - yStroke; | 190 | fillScaleMat[5] = yRad - yStroke; |
199 | 191 | ||
200 | innerRadiusScaleMat = Matrix.I(4); | 192 | var innerRadiusScaleMat = Matrix.I(4); |
201 | innerRadiusScaleMat[0] = xInnRad; | 193 | innerRadiusScaleMat[0] = xInnRad; |
202 | innerRadiusScaleMat[5] = yInnRad; | 194 | innerRadiusScaleMat[5] = yInnRad; |
203 | 195 | ||
204 | innerStrokeScaleMat = Matrix.I(4); | 196 | var innerStrokeScaleMat = Matrix.I(4); |
205 | innerStrokeScaleMat[0] = xInnRad - xStroke; | 197 | innerStrokeScaleMat[0] = xInnRad - xStroke; |
206 | innerStrokeScaleMat[5] = yInnRad - yStroke; | 198 | innerStrokeScaleMat[5] = yInnRad - yStroke; |
207 | 199 | ||
@@ -233,69 +225,24 @@ function GLCircle() | |||
233 | 225 | ||
234 | if (fillPrim) | 226 | if (fillPrim) |
235 | { | 227 | { |
236 | this._primArray.push( fillPrim ); | 228 | fillMaterial = this.makeFillMaterial(); |
237 | |||
238 | if (this.getFillMaterial()) | ||
239 | fillMaterial = this.getFillMaterial().dup(); | ||
240 | else | ||
241 | fillMaterial = new FlatMaterial(); | ||
242 | 229 | ||
243 | if (fillMaterial) | 230 | this._primArray.push( fillPrim ); |
244 | { | 231 | this._materialNodeArray.push( fillMaterial.getMaterialNode() ); |
245 | fillMaterial.init( this.getWorld() ); | ||
246 | if(!this.getFillMaterial() && this._fillColor) | ||
247 | { | ||
248 | fillMaterial.setProperty("color", this._fillColor); | ||
249 | } | ||
250 | this._materialArray.push( fillMaterial ); | ||
251 | this._materialTypeArray.push( "fill" ); | ||
252 | var matNode = fillMaterial.getMaterialNode(); | ||
253 | this._materialNodeArray.push( matNode ); | ||
254 | } | ||
255 | } | 232 | } |
256 | if (strokePrim0) | 233 | if (strokePrim0) |
257 | { | 234 | { |
258 | if (this.getStrokeMaterial()) | 235 | strokeMaterial0 = this.makeStrokeMaterial(); |
259 | strokeMaterial = this.getStrokeMaterial().dup(); | ||
260 | else | ||
261 | strokeMaterial = new FlatMaterial(); | ||
262 | 236 | ||
263 | if (strokeMaterial) | 237 | this._primArray.push( strokePrim0 ); |
264 | { | 238 | this._materialNodeArray.push( strokeMaterial0.getMaterialNode() ); |
265 | strokeMaterial.init( this.getWorld() ); | ||
266 | if(!this.getStrokeMaterial() && this._strokeColor) | ||
267 | { | ||
268 | strokeMaterial.setProperty("color", this._strokeColor); | ||
269 | } | ||
270 | this._primArray.push( strokePrim0 ); | ||
271 | |||
272 | var materialNode = createMaterialNode("ovalFillMaterial"); | ||
273 | this._materialArray.push( strokeMaterial ); | ||
274 | this._materialTypeArray.push( "stroke" ); | ||
275 | this._materialNodeArray.push( strokeMaterial.getMaterialNode() ); | ||
276 | } | ||
277 | } | 239 | } |
278 | if (strokePrim1) | 240 | if (strokePrim1) |
279 | { | 241 | { |
280 | if (this.getStrokeMaterial()) | 242 | strokeMaterial2 = this.makeStrokeMaterial(); |
281 | strokeMaterial = this.getStrokeMaterial().dup(); | ||
282 | else | ||
283 | strokeMaterial = new FlatMaterial(); | ||
284 | 243 | ||
285 | if (strokeMaterial) | 244 | this._primArray.push( strokePrim1 ); |
286 | { | 245 | this._materialNodeArray.push( strokeMaterial2.getMaterialNode() ); |
287 | strokeMaterial.init( this.getWorld() ); | ||
288 | if(!this.getStrokeMaterial() && this._strokeColor) | ||
289 | { | ||
290 | strokeMaterial.setProperty("color", this._strokeColor); | ||
291 | } | ||
292 | this._primArray.push( strokePrim1 ); | ||
293 | |||
294 | var materialNode = createMaterialNode("ovalFillMaterial"); | ||
295 | this._materialArray.push( strokeMaterial ); | ||
296 | this._materialTypeArray.push( "stroke" ); | ||
297 | this._materialNodeArray.push( strokeMaterial.getMaterialNode() ); | ||
298 | } | ||
299 | } | 246 | } |
300 | 247 | ||
301 | world.updateObject(this); | 248 | world.updateObject(this); |
diff --git a/js/helper-classes/RDGE/GLGeomObj.js b/js/helper-classes/RDGE/GLGeomObj.js index 72019703..62fbf562 100644 --- a/js/helper-classes/RDGE/GLGeomObj.js +++ b/js/helper-classes/RDGE/GLGeomObj.js | |||
@@ -37,6 +37,10 @@ function GLGeomObj() | |||
37 | 37 | ||
38 | this.m_world = null; | 38 | this.m_world = null; |
39 | 39 | ||
40 | // stroke and fill colors | ||
41 | this._strokeColor; | ||
42 | this._fillColor; | ||
43 | |||
40 | // stroke and fill materials | 44 | // stroke and fill materials |
41 | this._fillMaterial; | 45 | this._fillMaterial; |
42 | this._strokeMaterial; | 46 | this._strokeMaterial; |
@@ -104,6 +108,53 @@ function GLGeomObj() | |||
104 | this.setFillColor = function(c) { this.setMaterialColor(c, "fill"); } | 108 | this.setFillColor = function(c) { this.setMaterialColor(c, "fill"); } |
105 | this.setStrokeColor = function(c) { this.setMaterialColor(c, "stroke"); } | 109 | this.setStrokeColor = function(c) { this.setMaterialColor(c, "stroke"); } |
106 | 110 | ||
111 | this.makeStrokeMaterial = function() | ||
112 | { | ||
113 | var strokeMaterial; | ||
114 | if (this.getStrokeMaterial()) | ||
115 | strokeMaterial = this.getStrokeMaterial().dup(); | ||
116 | else | ||
117 | strokeMaterial = new FlatMaterial(); | ||
118 | |||
119 | if (strokeMaterial) | ||
120 | { | ||
121 | strokeMaterial.init( this.getWorld() ); | ||
122 | if(this._strokeColor) | ||
123 | { | ||
124 | strokeMaterial.setProperty("color", this._strokeColor); | ||
125 | } | ||
126 | } | ||
127 | |||
128 | this._materialArray.push( strokeMaterial ); | ||
129 | this._materialTypeArray.push( "stroke" ); | ||
130 | |||
131 | return strokeMaterial; | ||
132 | } | ||
133 | |||
134 | this.makeFillMaterial = function() | ||
135 | { | ||
136 | var fillMaterial; | ||
137 | if (this.getFillMaterial()) | ||
138 | fillMaterial = this.getFillMaterial().dup(); | ||
139 | else | ||
140 | fillMaterial = new FlatMaterial(); | ||
141 | |||
142 | if (fillMaterial) | ||
143 | { | ||
144 | fillMaterial.init( this.getWorld() ); | ||
145 | //if(!this.getFillMaterial() && this._fillColor) | ||
146 | if (this._fillColor) | ||
147 | { | ||
148 | fillMaterial.setProperty("color", this._fillColor); | ||
149 | } | ||
150 | } | ||
151 | |||
152 | this._materialArray.push( fillMaterial ); | ||
153 | this._materialTypeArray.push( "fill" ); | ||
154 | |||
155 | return fillMaterial; | ||
156 | } |