diff --git a/js/lattice/CompositeEditorLattice.js b/js/lattice/CompositeEditorLattice.js index 0fa5bf3da72b7510d796443f329e1910533e649b..83bd8f57edcb6c5786b0556ce814deaa6551518e 100644 --- a/js/lattice/CompositeEditorLattice.js +++ b/js/lattice/CompositeEditorLattice.js @@ -102,10 +102,7 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'three', 'thre cellsMax: cellsMax, elementaryChildren: materials.getChildCellTypes(this.sparseCells, true), compositeChildren: materials.getChildCellTypes(this.sparseCells, false), - dimensions: _dimensions, - properties: { - - } + dimensions: _dimensions }; return data; }, diff --git a/js/materials/DMAMaterials.js b/js/materials/DMAMaterials.js index 1cfa0213428fe72cb83dcc7a3ce3aa8e9d7cf62d..34ed4c23d1a3ff9794cfe168ff2ab173383d3080 100644 --- a/js/materials/DMAMaterials.js +++ b/js/materials/DMAMaterials.js @@ -34,6 +34,8 @@ define(['underscore', 'three', 'appState', 'lattice', 'plist', 'threeModel'], fu var edited = false; if (materialsList[id].sparseCells) edited = !(_.isEqual(data.sparseCells, materialsList[id].sparseCells)); + if (data.elementaryChildren) data.properties = getPropertiesFromChildren(data.elementaryChildren); + _.each(_.keys(data), function(key){ if (data[key] && data[key].x) materialsList[id][key] = new THREE.Vector3(data[key].x, data[key].y, data[key].z); else materialsList[id][key] = data[key]; @@ -51,6 +53,7 @@ define(['underscore', 'three', 'appState', 'lattice', 'plist', 'threeModel'], fu lattice.reinitAllCellsOfTypes(allChangedMaterialsList); } + return false; } @@ -117,6 +120,14 @@ define(['underscore', 'three', 'appState', 'lattice', 'plist', 'threeModel'], fu return _.uniq(children);//remove duplicates } + function getPropertiesFromChildren(children){ + var properties = {}; + _.each(children, function(child){ + if (materialsList[child].properties.conductive) properties.conductive = true; + }); + return properties; + } + function loopCells(cells, callback){ for (var x=0;x<cells.length;x++){ for (var y=0;y<cells[0].length;y++){ diff --git a/js/simulation/electronics/eSimCell.js b/js/simulation/electronics/eSimCell.js index f2d18e64dd983dd60678a29076368c29b17b0426..2b27dbe2fc071aca18679d509311b007940d09b5 100644 --- a/js/simulation/electronics/eSimCell.js +++ b/js/simulation/electronics/eSimCell.js @@ -6,7 +6,8 @@ define(['cell', 'lattice'], function(DMACell, lattice){ DMACell.prototype.isConductive = function(){ - return this.getMaterial().properties.conductive; + var material = this.getMaterial(); + return material.properties.conductive; }; DMACell.prototype.setConductorGroupNum = function(num, force){