diff --git a/js/menus/LatticeMenuView.js b/js/menus/LatticeMenuView.js index b2e22ac8a6d076202cbb7b1807b03d7b2166633e..2b5576b453d81692900688145e891bb553875848 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 9922c1b2ea4857fd15d083fb3d19aeacee40acb0..014c449934e6688cbf73838cbda9b4afe696075b 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 2aa77b3f6b1600b8ec6978247a71659319678686..61dadc32c395e87b0d2ccfb90874a3aa129246e8 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 0000000000000000000000000000000000000000..eccd9ec986915ea9a8988320bd1f5a165059012e --- /dev/null +++ b/todo @@ -0,0 +1 @@ +fix parse int/float/lattice/appstate - put in menu wrapper \ No newline at end of file