From 2131d4c9a9c0b2e2b37d5c2a7543ee0e7a2a4d40 Mon Sep 17 00:00:00 2001 From: Amanda Ghassaei <amandaghassaei@gmail.com> Date: Thu, 5 Feb 2015 01:03:58 -0500 Subject: [PATCH] lattice scaling vis --- js/menus/LatticeMenuView.js | 13 +++++++------ js/models/BasePlane.js | 4 ++-- js/models/Lattice.js | 14 ++++++++------ 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/js/menus/LatticeMenuView.js b/js/menus/LatticeMenuView.js index 67a60bb9..f224be3f 100644 --- a/js/menus/LatticeMenuView.js +++ b/js/menus/LatticeMenuView.js @@ -13,7 +13,7 @@ LatticeMenuView = Backbone.View.extend({ "click .cellType": "_changeCellType", "click .connectionType": "_changeConnectionType", "slide #scaleSlider": "_sliderDidSlide", - "slideStop #scaleSlider": "_changeScaleSlider" +// "slideStop #scaleSlider": "_changeScaleSlider" }, @@ -23,7 +23,7 @@ LatticeMenuView = Backbone.View.extend({ _.bindAll(this, "render"); this.listenTo(this.model, "change", function(){ - if(!this.model.hasChanged('cellMode')){//ignore cell mode changes + if(!this.model.hasChanged('cellMode') && !(this.model.hasChanged('scale'))){//ignore cell mode changes this.render(); }; }); @@ -44,14 +44,15 @@ LatticeMenuView = Backbone.View.extend({ _sliderDidSlide: function(e){ var scale = $(e.target)[0].value; - this.model.previewScaleChange(scale);//does not trigger lattice change event - no rerendering of ui + this.model.set("scale", $(e.target)[0].value); +// this.model.previewScaleChange(scale);//does not trigger lattice change event - no rerendering of ui $("#latticeScale").val(scale); window.three.render(); }, - _changeScaleSlider: function(e){ - this.model.set("scale", $(e.target)[0].value); - }, +// _changeScaleSlider: function(e){ +// this.model.set("scale", $(e.target)[0].value); +// }, _changeCellType: function(e){ e.preventDefault(); diff --git a/js/models/BasePlane.js b/js/models/BasePlane.js index d57e79a9..25384084 100644 --- a/js/models/BasePlane.js +++ b/js/models/BasePlane.js @@ -8,8 +8,8 @@ BasePlane = Backbone.Model.extend({ defaults: { zIndex: 0, mesh: null, - dimX: 10, - dimY: 10, + dimX: 100, + dimY: 100, material: new THREE.MeshBasicMaterial({color:0x000000, transparent:true, opacity:0.2, wireframe:true, side:THREE.DoubleSide}), currentScene: "default", allScenes: {default:"Default", "mars":"Mars"} diff --git a/js/models/Lattice.js b/js/models/Lattice.js index bf0862c2..b26cb522 100644 --- a/js/models/Lattice.js +++ b/js/models/Lattice.js @@ -219,9 +219,9 @@ Lattice = Backbone.Model.extend({ window.three.render(); }, - previewScaleChange: function(scale){ - this.get("basePlane").updateScale(scale); - }, +// previewScaleChange: function(scale){ +// this.get("basePlane").updateScale(scale); +// }, _changeLatticeStructure: function(){ this.clearCells(); @@ -262,7 +262,7 @@ OctaFaceLattice = Lattice.extend({ //bind events this.listenTo(this, "change:columnSeparation", this._changeColSeparation); - this.set("columnSeparation", 0.2); + this.set("columnSeparation", 0.1); }, _changeColSeparation: function(){ @@ -279,10 +279,12 @@ OctaFaceLattice = Lattice.extend({ //calc indices in cell matrix var scale = this.get("scale"); + var colSep = this.get("columnSeparation"); + var latticeScale = scale*(1+2*colSep); var octHeight = 2*scale/Math.sqrt(6); - var triHeight = scale/2*Math.sqrt(3); + var triHeight = latticeScale/2*Math.sqrt(3); var position = {}; - position.x = Math.round(absPosition.x/scale); + position.x = Math.round(absPosition.x/latticeScale); position.y = Math.round(absPosition.y/triHeight); position.z = Math.round(absPosition.z/octHeight); if (position.z%2 == 1) position.y += 1; -- GitLab