From 22d08356b416d8a186389d2f8db69feda6fbe007 Mon Sep 17 00:00:00 2001 From: amandaghassaei <amandaghassaei@gmail.com> Date: Wed, 18 Mar 2015 04:10:05 -0400 Subject: [PATCH] simulation edits --- js/cam/Assembler.js | 18 ++++++++++++++---- js/menus/AnimationMenuView.js | 2 +- js/models/Lattice.js | 6 ++++-- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/js/cam/Assembler.js b/js/cam/Assembler.js index 91dd96c6..b784ecc0 100644 --- a/js/cam/Assembler.js +++ b/js/cam/Assembler.js @@ -38,7 +38,7 @@ Assembler = Backbone.Model.extend({ _.bindAll(this, "postProcess"); //bind events - this.listenTo(options.appState, "change:currentTab", this._setCAMVisibility); + this.listenTo(options.appState, "change:currentTab", this._tabChanged); this.listenTo(this, "change:originPosition", this._moveOrigin); this.listenTo(this, "change:stockPosition", this._moveStock); this.listenTo(this, @@ -97,6 +97,11 @@ Assembler = Backbone.Model.extend({ this.get("stock").scale.set(scale, scale, scale); }, + _tabChanged: function(){ + this._setCAMVisibility(); + if (dmaGlobals.appState.get("currentTab") != "animate") this.resetSimulation(); + }, + _setCAMVisibility: function(){ var visible = this._isVisible(); this.get("origin").visible = visible; @@ -137,6 +142,12 @@ Assembler = Backbone.Model.extend({ ///////////////////////////////SIMULATION////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////// + resetSimulation: function(){ + this.set("simLineNumber", 0, {silent:true}); + dmaGlobals.appState.set("stockSimulationPlaying", false); + dmaGlobals.lattice.showCells(); + }, + _stockSimulation: function(){ if (dmaGlobals.appState.get("stockSimulationPlaying")){ var currentLine = this.get("simLineNumber"); @@ -152,8 +163,7 @@ Assembler = Backbone.Model.extend({ }); } else { //finished simulation - this.set("simLineNumber", 0); - dmaGlobals.appState.set("stockSimulationPlaying", false); + this.resetSimulation(); } } else { this.get("machine").pause(); @@ -203,7 +213,7 @@ Assembler = Backbone.Model.extend({ this.set("dataOut", data); this.set("editsMadeToProgram", false); this.set("exporter", exporter); - this.set("simLineNumber", 0); + this.resetSimulation(); return {data:data, exporter:exporter}; }, diff --git a/js/menus/AnimationMenuView.js b/js/menus/AnimationMenuView.js index ccf8328e..bbc52090 100644 --- a/js/menus/AnimationMenuView.js +++ b/js/menus/AnimationMenuView.js @@ -62,7 +62,7 @@ AnimationMenuView = Backbone.View.extend({ _resetStockSim: function(e){ e.preventDefault(); - dmaGlobals.assembler.set("simLineNumber", 0); + dmaGlobals.assembler.resetSimulation(); this.render(); }, diff --git a/js/models/Lattice.js b/js/models/Lattice.js index f248b9da..3ead407e 100644 --- a/js/models/Lattice.js +++ b/js/models/Lattice.js @@ -356,13 +356,15 @@ Lattice = Backbone.Model.extend({ hideCells: function(){ this._iterCells(this.get("cells"), function(cell){ if (cell) cell.hide(); - }) + }); + dmaGlobals.three.render(); }, showCells: function(){ this._iterCells(this.get("cells"), function(cell){ if (cell) cell.draw(); - }) + }); + dmaGlobals.three.render(); }, showCellAtIndex: function(index){ -- GitLab