diff --git a/js/models/AppState.js b/js/models/AppState.js index 13e150963fae725950ab26fff00aee3978a0f955..53e1fa123accc3788260d898c826ac52c70595bb 100644 --- a/js/models/AppState.js +++ b/js/models/AppState.js @@ -62,6 +62,7 @@ AppState = Backbone.Model.extend({ this.listenTo(this, "change:currentTab", this._updateCellMode); this.listenTo(this, "change:cellMode", this._cellModeDidChange); + this.listenTo(this, "change:cellType change:connectionType", this._buildNewLattice); this.listenTo(this, "change:lattice", this._buildLatticeMenu); @@ -111,6 +112,11 @@ AppState = Backbone.Model.extend({ this.set("menuWrapper", new MenuWrapper({lattice:this.get("lattice"), model:this})); }, + _buildNewLattice: function(){ + this.get("lattice").destroy(); +// var mode = + }, + /////////////////////////////////////////////////////////////////////////////// /////////////////////KEY BINDINGS////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// diff --git a/js/models/BasePlane.js b/js/models/BasePlane.js index 191c31a6bc3910806970f53cd3e08bb7543bbe63..64b120a260d000d88bf5655946eee9faadb34a94 100644 --- a/js/models/BasePlane.js +++ b/js/models/BasePlane.js @@ -52,12 +52,12 @@ BasePlane = Backbone.Model.extend({ }, destroy: function(){ - this.set("zIndex", null); - this.set("mesh", null); - this.set("material", null); - this.set("unitGeometry", null); - this.set("dimX", null); - this.set("dimY", null); + this.set("zIndex", null, {silent:true}); + this.set("mesh", null, {silent:true}); + this.set("material", null, {silent:true}); + this.set("unitGeometry", null, {silent:true}); + this.set("dimX", null, {silent:true}); + this.set("dimY", null, {silent:true}); } }); diff --git a/js/models/Lattice.js b/js/models/Lattice.js index 9a782610786686b586e0d3903b278323f5b90409..c98268f9acaa0f7b93248732ca6ac5b0b061de87 100644 --- a/js/models/Lattice.js +++ b/js/models/Lattice.js @@ -290,6 +290,19 @@ Lattice = Backbone.Model.extend({ getScale: function(){ return this.get("scale"); + }, + + destroy: function(){ + this.set("scale", null, {silent:true}); + this.set("nodes", null, {silent:true}); + this.clearCells(); + this.set("cells", null, {silent:true}); + this.set("inverseCells", null, {silent:true}); + this.set("cellsMin", null, {silent:true}); + this.set("cellsMax", null, {silent:true}); + this.set("numCells", null, {silent:true}); + this.get("basePlane").destroy(); + this.set("basePlane", null, {silent:true}); } });