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