diff options
Diffstat (limited to 'js/lib/geom/geom-obj.js')
-rwxr-xr-x | js/lib/geom/geom-obj.js | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/js/lib/geom/geom-obj.js b/js/lib/geom/geom-obj.js index 4cb21a25..3a7a5619 100755 --- a/js/lib/geom/geom-obj.js +++ b/js/lib/geom/geom-obj.js | |||
@@ -180,7 +180,7 @@ exports.GeomObj = Object.create(Object.prototype, { | |||
180 | /////////////////////////////////////////////////////////////////////// | 180 | /////////////////////////////////////////////////////////////////////// |
181 | // Methods | 181 | // Methods |
182 | /////////////////////////////////////////////////////////////////////// | 182 | /////////////////////////////////////////////////////////////////////// |
183 | setMaterialColor: { | 183 | setMaterialColor: { |
184 | value: function(c, type) { | 184 | value: function(c, type) { |
185 | var i = 0, | 185 | var i = 0, |
186 | nMats = 0; | 186 | nMats = 0; |
@@ -281,9 +281,13 @@ exports.GeomObj = Object.create(Object.prototype, { | |||
281 | this._materialArray.push(strokeMaterial); | 281 | this._materialArray.push(strokeMaterial); |
282 | this._materialTypeArray.push("stroke"); | 282 | this._materialTypeArray.push("stroke"); |
283 | 283 | ||
284 | if (this._strokeColor) { | 284 | // don't set the value here. The material editor may set a color directly |
285 | this.setStrokeColor(this._strokeColor); | 285 | // to the material without setting this value in the obj. The following |
286 | } | 286 | // lines of code will clobber the value in the material |
287 | //if (this._strokeColor) | ||
288 | // this.setStrokeColor(this._strokeColor); | ||
289 | |||
290 | this._strokeMaterial = strokeMaterial; | ||
287 | 291 | ||
288 | return strokeMaterial; | 292 | return strokeMaterial; |
289 | } | 293 | } |
@@ -304,10 +308,14 @@ exports.GeomObj = Object.create(Object.prototype, { | |||
304 | 308 | ||
305 | this._materialArray.push(fillMaterial); | 309 | this._materialArray.push(fillMaterial); |
306 | this._materialTypeArray.push("fill"); | 310 | this._materialTypeArray.push("fill"); |
311 | |||
312 | // don't set the value here. The material editor may set a color directly | ||
313 | // to the material without setting this value in the obj. The following | ||
314 | // lines of code will clobber the value in the material | ||
315 | //if (this._fillColor) | ||
316 | // this.setFillColor(this._fillColor); | ||
307 | 317 | ||
308 | if (this._fillColor) { | 318 | this._fillMaterial = fillMaterial; |
309 | this.setFillColor(this._fillColor); | ||
310 | } | ||
311 | 319 | ||
312 | return fillMaterial; | 320 | return fillMaterial; |
313 | } | 321 | } |
@@ -315,6 +323,8 @@ exports.GeomObj = Object.create(Object.prototype, { | |||
315 | 323 | ||
316 | exportMaterialsJSON: { | 324 | exportMaterialsJSON: { |
317 | value: function() { | 325 | value: function() { |
326 | MaterialsModel = require("js/models/materials-model").MaterialsModel; | ||
327 | |||
318 | var jObj; | 328 | var jObj; |
319 | if (this._materialArray && this._materialNodeArray && this.getWorld().isWebGL()) { | 329 | if (this._materialArray && this._materialNodeArray && this.getWorld().isWebGL()) { |
320 | var nMats = this._materialArray.length; | 330 | var nMats = this._materialArray.length; |
@@ -345,6 +355,8 @@ exports.GeomObj = Object.create(Object.prototype, { | |||
345 | 355 | ||
346 | importMaterialsJSON: { | 356 | importMaterialsJSON: { |
347 | value: function(jObj) { | 357 | value: function(jObj) { |
358 | MaterialsModel = require("js/models/materials-model").MaterialsModel; | ||
359 | |||
348 | this._materialArray = []; | 360 | this._materialArray = []; |
349 | this._materialTypeArray = []; | 361 | this._materialTypeArray = []; |
350 | 362 | ||
@@ -370,6 +382,7 @@ exports.GeomObj = Object.create(Object.prototype, { | |||
370 | case "tunnel": | 382 | case "tunnel": |
371 | case "reliefTunnel": | 383 | case "reliefTunnel": |
372 | case "squareTunnel": | 384 | case "squareTunnel": |
385 | case "flag": | ||
373 | case "twist": | 386 | case "twist": |
374 | case "fly": | 387 | case "fly": |
375 | case "julia": | 388 | case "julia": |
@@ -379,6 +392,8 @@ exports.GeomObj = Object.create(Object.prototype, { | |||
379 | case "keleidoscope": | 392 | case "keleidoscope": |
380 | case "radialBlur": | 393 | case "radialBlur": |
381 | case "pulse": | 394 | case "pulse": |
395 | case "twistVert": | ||
396 | case "taper": | ||
382 | mat = MaterialsModel.getMaterialByShader(shaderName); | 397 | mat = MaterialsModel.getMaterialByShader(shaderName); |
383 | if (mat) mat = mat.dup(); | 398 | if (mat) mat = mat.dup(); |
384 | break; | 399 | break; |