diff --git a/js/cells/DMACell.js b/js/cells/DMACell.js index c2d6351310b5f15f2220321689eff2b483fc6e5c..96ce95e91e7904a92cac03e404893f5520a30365 100644 --- a/js/cells/DMACell.js +++ b/js/cells/DMACell.js @@ -217,6 +217,7 @@ define(['underscore', 'three', 'threeModel', 'lattice', 'appState', 'globals'], console.warn("no material "+ this.material + " found for class "+ materialClass); return null; } + console.log(material.shading); return material; }; diff --git a/js/lattice/Lattice.js b/js/lattice/Lattice.js index 8716b364339a0a032a9206ba4b325bca3d2c3bd2..b5cfd0f83aa67f88936030ede6752a877326d110 100644 --- a/js/lattice/Lattice.js +++ b/js/lattice/Lattice.js @@ -26,7 +26,7 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'three', 'thre connectionType: "stacked", partType: null, materialType: null, - materialClass: "electronic", + materialClass: "mechanical", superCellRange: new THREE.Vector3(4,1,1) }, @@ -381,7 +381,6 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'three', 'thre if (globals.materials[materialClass]) return;//already loaded require([materialClass + "Materials"], function(MaterialClass){ globals.materials[materialClass] = MaterialClass; - }); }, diff --git a/js/materials/DMAMaterials.js b/js/materials/DMAMaterials.js index c58605a6f31a28c2478e6c070412b122930c5d79..bdb4f2bc9c0b735f90a33e11256933f834d17bf1 100644 --- a/js/materials/DMAMaterials.js +++ b/js/materials/DMAMaterials.js @@ -12,23 +12,24 @@ define(['underscore', 'three', 'appState'], function(_, THREE, appState){ } DMAMaterials.prototype.changeMaterials = function(){ - console.log("changeMaterials"); var self = this; - _.each(_.keys(self.materialList), function(material){ - if (appState.get("realisticColorScheme")) { - if (self.materials[material]) self.materials[material].color = new THREE.Color(self.materialList[material].color); - else self.materials[material] = new THREE.MeshLambertMaterial({color:self.materialList[material].color, shading:THREE.FlatShading}); - if (self.materialList[material].opacity){ - self.materials[material].transparent = true; - self.materials[material].opacity = self.materialList[material].opacity; + var state = appState.get("realisticColorScheme"); + _.each(_.keys(self.materialList), function(materialName){ + var materialData = self.materialList[materialName]; + if (state) { + if (self.materials[materialName]) self.materials[materialName].color = new THREE.Color(materialData.color); + else self.materials[materialName] = new THREE.MeshLambertMaterial({color:materialData.color, shading:THREE.FlatShading}); + if (materialData.opacity){ + self.materials[materialName].transparent = true; + self.materials[materialName].opacity = materialData.opacity; } else { - self.materials[material].transparent = false; + self.materials[materialName].transparent = false; } } else { - if (self.materials[material]) self.materials[material].color = new THREE.Color(self.materialList[material].altColor); - else self.materials[material] = new THREE.MeshLambertMaterial({color:self.materialList[material].altColor, shading:THREE.FlatShading}); - self.materials[material].transparent = false; + if (self.materials[materialName]) self.materials[materialName].color = new THREE.Color(materialData.altColor); + else self.materials[materialName] = new THREE.MeshLambertMaterial({color:materialData.altColor, shading:THREE.FlatShading}); + self.materials[materialName].transparent = false; } }); }; diff --git a/js/materials/ElectronicMaterials.js b/js/materials/ElectronicMaterials.js index 9ff1f5de242da4a677ff6fb73c9ca236715b1d5c..f867833105d46c95627e495121d27ff0be66e73d 100644 --- a/js/materials/ElectronicMaterials.js +++ b/js/materials/ElectronicMaterials.js @@ -10,10 +10,5 @@ define(['underscore', 'three', 'appState', 'plist', 'materials'], function(_, TH } ElectronicMaterials.prototype = Object.create(DMAMaterials.prototype); - var material = new ElectronicMaterials(); - - return { - changeMaterials: material.changeMaterials, - materials: material.materials - } + return new ElectronicMaterials(); }); \ No newline at end of file diff --git a/js/materials/MechanicalMaterials.js b/js/materials/MechanicalMaterials.js index 4023695ee14eabef0a5d86c78fa952f2e5c97b90..5cf3560dc8d4377c0a0e303a83f5dc53f98ee36a 100644 --- a/js/materials/MechanicalMaterials.js +++ b/js/materials/MechanicalMaterials.js @@ -10,10 +10,5 @@ define(['underscore', 'three', 'appState', 'plist', 'materials'], function(_, TH } MechanicalMaterials.prototype = Object.create(DMAMaterials.prototype); - var material = new MechanicalMaterials(); - - return { - changeMaterials: material.changeMaterials, - materials: material.materials - } + return new MechanicalMaterials(); }); \ No newline at end of file diff --git a/js/models/AppState.js b/js/models/AppState.js index 66ceae8bd52303eb0a2bf9e34b5e56c5dfa4642a..5684a6efb9108986cb1ac9aa67b1c3894721061d 100644 --- a/js/models/AppState.js +++ b/js/models/AppState.js @@ -113,7 +113,7 @@ define(['underscore', 'backbone', 'threeModel'], function(_, Backbone, three){ _updateColorScheme: function(){ require(['globals'], function(globals){ _.each(_.keys(globals.materials), function(materialClass){ - if (materialClass.changeMaterials) materialClass.changeMaterials(); + if (globals.materials[materialClass].changeMaterials) globals.materials[materialClass].changeMaterials(); }); three.render(); }); diff --git a/js/models/Globals.js b/js/models/Globals.js index 307943472a7ddc9e6abb5639db9831149043804d..bb1c06b586e0a4a857872601988ce98357e04654 100644 --- a/js/models/Globals.js +++ b/js/models/Globals.js @@ -13,6 +13,6 @@ define(['underscore', 'three'], function(_, THREE){ return { baseplane: null, highlighter: null, - materials: materials, + materials: materials }; }); \ No newline at end of file diff --git a/js/models/PList.js b/js/models/PList.js index 803e83f625346c6636cc13b66962efe333d387a9..7a25f4d6ff91bfeb7537b221e3f4ae185aeac80d 100644 --- a/js/models/PList.js +++ b/js/models/PList.js @@ -100,39 +100,39 @@ define(['three'], function(THREE){ electronic:{ brass:{ name: "Brass", - color: "#b5a642", - altColor: "#857B64" + color: "#b5a642", + altColor: "#857B64" }, fiberGlass: { name: "Fiberglass", - color: "#fef1b5", + color: "#fef1b5", // opacity: "0.9", - altColor: "#ecf0f1" + altColor: "#ecf0f1" }, carbon: { name: "Carbon Composite", - color: "#222", - altColor: "#000" + color: "#222", + altColor: "#000" }, nType: { name: "Silicon N-Type", - color: "#bcc6cc", - altColor: "#8391AC" + color: "#bcc6cc", + altColor: "#8391AC" }, nTypePlus: { name: "Silicon Heavily Doped N-Type (N+)", - color: "#c6ccbc", - altColor: "#9CC9CB" + color: "#c6ccbc", + altColor: "#9CC9CB" }, pType: { name: "Silicon P-Type", - color: "#ccbcc6", - altColor: "#F5447B" + color: "#ccbcc6", + altColor: "#F5447B" }, pTypePlus: { name: "Silicon Heavily Doped P-Type (P+)", - color: "#ccc2bc", - altColor: "#F99987" + color: "#ccc2bc", + altColor: "#F99987" } //857B64 //FDE2D9 @@ -141,13 +141,13 @@ define(['three'], function(THREE){ mechanical:{ rigid:{ name: "Rigid", - color: "#8391AC", - altColor: "#8391AC" + color: "#aaa", + altColor: "#8391AC" }, flexure: { name: "Flexure", - color: "#666", - altColor: "#666" + color: "#aaa", + altColor: "#666" } } },