From f9a12297c73786bc32cc62cbd6debc2fb627418e Mon Sep 17 00:00:00 2001
From: Amanda Ghassaei <amandaghassaei@gmail.com>
Date: Fri, 15 May 2015 15:13:31 -0400
Subject: [PATCH] micro gik length property

---
 js/menus/LatticeMenuView.js | 13 ++++++++++++-
 js/models/AppState.js       | 17 ++++++++++++++---
 js/models/Lattice.js        |  3 ++-
 todo                        |  1 +
 4 files changed, 29 insertions(+), 5 deletions(-)
 create mode 100644 todo

diff --git a/js/menus/LatticeMenuView.js b/js/menus/LatticeMenuView.js
index b2e22ac8..2b5576b4 100644
--- a/js/menus/LatticeMenuView.js
+++ b/js/menus/LatticeMenuView.js
@@ -16,7 +16,7 @@ LatticeMenuView = Backbone.View.extend({
         "slide #scaleSlider":                           "_sliderDidSlide",
         "slideStop #scaleSlider":                       "_changeScaleSlider",
         "click #freeformTetraCell":                     "_setTetraCell",
-        "click #freeformOctaCell":                      "_setOctaCell"
+        "click #freeformOctaCell":                      "_setOctaCell",
     },
 
 
@@ -40,6 +40,7 @@ LatticeMenuView = Backbone.View.extend({
         }
 
         if ($(".cellSeparation").is(":focus")) this._updateNumber(e, "cellSeparation");
+        if ($("#gikLength").is(":focus")) this._updateGikLength(e);
     },
 
     _updateNumber: function(e, property){
@@ -51,6 +52,13 @@ LatticeMenuView = Backbone.View.extend({
         this.lattice.trigger("change:"+property);
     },
 
+    _updateGikLength: function(e){
+        e.preventDefault();
+        var newVal = parseInt($(e.target).val());
+        if (isNaN(newVal)) return;
+        dmaGlobals.lattice.set("microGikLength", newVal);
+    },
+
     _clearCells: function(e){
         e.preventDefault();
         this.lattice.clearCells();
@@ -161,6 +169,9 @@ LatticeMenuView = Backbone.View.extend({
             </div>\
             <br/><br/>\
         <% } %>\
+        <% if (connectionType == "microGik") { %>\
+        GIK Length:&nbsp;&nbsp;<input id="gikLength" value="<%= microGikLength %>" placeholder="GIK length" class="form-control numberInput" type="text"><br/>\
+        <% } %>\
         <br/>\
         Scale:&nbsp;&nbsp;<input id="latticeScale" value="<%= scale %>" placeholder="enter scale" class="form-control numberInput" type="text"><br/>\
         <input id="scaleSlider" data-slider-id="ex1Slider" type="text" data-slider-min="1" data-slider-max="100" data-slider-step="0.1" data-slider-value="<%= scale %>"/>\
diff --git a/js/models/AppState.js b/js/models/AppState.js
index 9922c1b2..014c4499 100644
--- a/js/models/AppState.js
+++ b/js/models/AppState.js
@@ -52,7 +52,7 @@ AppState = Backbone.Model.extend({
         allConnectionTypes: {
             octa: {face:"Face", freeformFace:"Freeform Face", edgeRot:"Edge", vertex:"Vertex"},//edge:"Edge",
             tetra: {vertex: "Vertex"},
-            cube: {face:"Face"},
+            cube: {face:"Face", microGik: "GIK"},
             truncatedCube: {face:"Face"},
             kelvin: {face: "Face"}
         },
@@ -237,8 +237,8 @@ AppState = Backbone.Model.extend({
             this.downKeys[e.keyCode] = true;
         } else this.downKeys[e.keyCode] = false;
 
-//        consog(e);
-//        console.log(e.keyCode);le.lo
+//        console.log(e);
+//        console.log(e.keyCode);
         switch(e.keyCode){
             case 8://delete key - causes back nav in chrome, super annoying
                 e.preventDefault();
@@ -279,6 +279,17 @@ AppState = Backbone.Model.extend({
                 e.preventDefault();
                 if (state && this.get("currentTab") == "animate") this.set("stockSimulationPlaying", !this.get("stockSimulationPlaying"));
                 break;
+            case 49://1-9
+            case 50:
+            case 51:
+            case 52:
+            case 53:
+            case 54:
+            case 55:
+            case 56:
+            case 57:
+                if (state) dmaGlobals.lattice.set("microGikLength", e.keyCode-48);
+                break;
             default:
                 break;
         }
diff --git a/js/models/Lattice.js b/js/models/Lattice.js
index 2aa77b3f..61dadc32 100644
--- a/js/models/Lattice.js
+++ b/js/models/Lattice.js
@@ -24,7 +24,8 @@ Lattice = Backbone.Model.extend({
 
         cellType: "octa",
         connectionType: "face",
-        partType: "triangle"
+        partType: "triangle",
+        microGikLength: 4
     },
 
     //pass in fillGeometry
diff --git a/todo b/todo
new file mode 100644
index 00000000..eccd9ec9
--- /dev/null
+++ b/todo
@@ -0,0 +1 @@
+fix parse int/float/lattice/appstate - put in menu wrapper
\ No newline at end of file
-- 
GitLab