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: <input id="gikLength" value="<%= microGikLength %>" placeholder="GIK length" class="form-control numberInput" type="text"><br/>\ + <% } %>\ <br/>\ Scale: <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