From a98e0d8dff010a48fe195dae65e0441413d1e4b5 Mon Sep 17 00:00:00 2001 From: amandaghassaei <amandaghassaei@gmail.com> Date: Sat, 14 Mar 2015 04:28:53 -0400 Subject: [PATCH] assembler settings saved --- js/fea/DmaCell.js | 2 +- js/models/AppState.js | 17 +++++++++-------- js/models/Lattice.js | 21 +++++++++++++-------- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/js/fea/DmaCell.js b/js/fea/DmaCell.js index c7139324..ea626cf0 100644 --- a/js/fea/DmaCell.js +++ b/js/fea/DmaCell.js @@ -19,7 +19,7 @@ function DMACell(indices, scale) { this.nodes = this._initNodes(this.cellMesh.children[0].geometry.vertices); this.beams = this._initBeams(this.nodes, this.cellMesh.children[0].geometry.faces); - var cellMode = dmaGlobals.lattice.get("cellMode"); + var cellMode = dmaGlobals.appState.get("cellMode"); var beamMode = dmaGlobals.lattice.get("partType") == "beam"; this.drawForMode(scale, cellMode, beamMode); diff --git a/js/models/AppState.js b/js/models/AppState.js index 5cad69bd..fbfcd98b 100644 --- a/js/models/AppState.js +++ b/js/models/AppState.js @@ -146,7 +146,8 @@ AppState = Backbone.Model.extend({ //key bindings shift: false, deleteMode: false, - extrudeMode: false + extrudeMode: false, + cellMode: "cell"//show cells vs parts }, initialize: function(){ @@ -194,10 +195,10 @@ AppState = Backbone.Model.extend({ _updateCellMode: function(){ var currentTab = this.get("currentTab"); - if (currentTab == "lattice") dmaGlobals.lattice.set("cellMode", "cell"); - else if (currentTab == "import") dmaGlobals.lattice.set("cellMode", "cell"); - else if (currentTab == "sketch") dmaGlobals.lattice.set("cellMode", "cell"); - else if (currentTab == "part") dmaGlobals.lattice.set("cellMode", "part"); + if (currentTab == "lattice") this.set("cellMode", "cell"); + else if (currentTab == "import") this.set("cellMode", "cell"); + else if (currentTab == "sketch") this.set("cellMode", "cell"); + else if (currentTab == "part") this.set("cellMode", "part"); }, //update to last tab open in that section @@ -246,9 +247,9 @@ AppState = Backbone.Model.extend({ this.set("extrudeMode", state); break; case 80://p part mode - var cellMode = dmaGlobals.lattice.get("cellMode"); - if (cellMode == "part") dmaGlobals.lattice.set("cellMode", "cell"); - else if (cellMode == "cell") dmaGlobals.lattice.set("cellMode", "part"); + var cellMode = this.get("cellMode"); + if (cellMode == "part") this.set("cellMode", "cell"); + else if (cellMode == "cell") this.set("cellMode", "part"); break; case 83://s save if (e.ctrlKey || e.metaKey){//command diff --git a/js/models/Lattice.js b/js/models/Lattice.js index 94c7d22e..3738be2d 100644 --- a/js/models/Lattice.js +++ b/js/models/Lattice.js @@ -24,7 +24,6 @@ Lattice = Backbone.Model.extend({ //spacing for connectors/joints cellSeparation: {xy:0, z:0}, - cellMode: "cell",//show cells vs parts cellType: "octa", connectionType: "face", partType: "triangle" @@ -38,7 +37,8 @@ Lattice = Backbone.Model.extend({ //bind events this.listenTo(this, "change:scale", this._scaleDidChange); - this.listenTo(this, "change:cellMode change:partType", this._updateForMode); + this.listenTo(dmaGlobals.appState, "change:cellMode", this._updateForMode); + this.listenTo(this, "change:partType", this._updateForMode); this.listenTo(this, "change:cellType change:connectionType", this._updateLatticeType); this.listenTo(this, "change:cellSeparation", this._updateCellSeparation); @@ -302,7 +302,7 @@ Lattice = Backbone.Model.extend({ //////////////////////////////////////////////////////////////////////////////////// _updateForMode: function(){ - var cellMode = this.get("cellMode"); + var cellMode = dmaGlobals.appState.get("cellMode"); var beamMode = this.get("partType") == "beam"; var scale = this.get("scale"); this._iterCells(this.get("cells"), function(cell){ @@ -314,7 +314,7 @@ Lattice = Backbone.Model.extend({ _updateCellSeparation: function(){ var cellSep = this.get("cellSeparation"); var scale = this.get("scale"); - var cellMode = this.get("cellMode"); + var cellMode = dmaGlobals.appState.get("cellMode"); this.get("basePlane").updateXYSeparation(cellSep.xy); this._iterCells(this.get("cells"), function(cell){ if (cell) cell.updateForScale(scale, cellMode); @@ -327,7 +327,7 @@ Lattice = Backbone.Model.extend({ this.get("basePlane").updateScale(scale); this.get("highlighter").updateScale(scale); - var cellMode = this.get("cellMode"); + var cellMode = dmaGlobals.appState.get("cellMode"); this._iterCells(this.get("cells"), function(cell){ if (cell) cell.updateForScale(scale, cellMode); }); @@ -505,9 +505,11 @@ Lattice = Backbone.Model.extend({ saveJSON: function(name){ if (!name) name = "lattice"; + var assemblerData = _.omit(dmaGlobals.assembler.toJSON(), ["origin", "stock", "exporter"]); + if (!dmaGlobals.assembler.get("editsMadeToProgram")) assemblerData.dataOut = ""; var data = JSON.stringify({ lattice:_.omit(this.toJSON(), ["highlighter", "basePlane"]), - assembler: _.omit(dmaGlobals.assembler.toJSON(), ["origin", "stock"]) + assembler: assemblerData }); var blob = new Blob([data], {type: "text/plain;charset=utf-8"}); saveAs(blob, name + ".json"); @@ -517,8 +519,11 @@ Lattice = Backbone.Model.extend({ this.clearCells(); var data = JSON.parse(data); var self = this; - _.each(_.keys(data), function(key){ - self.set(key, data[key], {silent:true}); + _.each(_.keys(data.lattice), function(key){ + self.set(key, data.lattice[key], {silent:true}); + }); + _.each(_.keys(data.assembler), function(key){ + dmaGlobals.assembler.set(key, data.assembler[key]); }); this.set("shouldPreserveCells", true, {silent:true}); this._updateLatticeType(null, null, null, true); -- GitLab