From 96fbe1430e2014dd810b644e3f47dbe4b190d5ff Mon Sep 17 00:00:00 2001 From: Amanda Ghassaei <amandaghassaei@gmail.com> Date: Thu, 26 Mar 2015 02:14:52 -0400 Subject: [PATCH] toggle highlight mode --- assets/imgs/cursor-light.png | Bin 0 -> 3207 bytes css/main.css | 2 +- js/cam/MachineOneBit.js | 4 ++++ js/menus/Ribbon.js | 10 +++++++++- js/models/AppState.js | 1 + js/threeViews/ThreeView.js | 2 ++ 6 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 assets/imgs/cursor-light.png diff --git a/assets/imgs/cursor-light.png b/assets/imgs/cursor-light.png new file mode 100644 index 0000000000000000000000000000000000000000..4a50f922f4bea8f581c8889334b6602fc062c636 GIT binary patch literal 3207 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 literal 0 HcmV?d00001 diff --git a/css/main.css b/css/main.css index 8b7e75da..f84278ef 100644 --- a/css/main.css +++ b/css/main.css @@ -250,7 +250,7 @@ input.numberInput{ #navRibbon{ height: 49px; - width: 300px; + width: 320px; z-index: 1; display: block; position: absolute; diff --git a/js/cam/MachineOneBit.js b/js/cam/MachineOneBit.js index 5b54aa4b..b8b6b330 100644 --- a/js/cam/MachineOneBit.js +++ b/js/cam/MachineOneBit.js @@ -14,6 +14,10 @@ OneBitBot.prototype.setMachinePosition = function(){ _.each(_.values(this.meshes), function(mesh){//todo add cell? mesh.position.set(self.position.x, self.position.y, self.position.z); }); + var stockPosition = dmaGlobals.assembler.get("stockPosition"); + this.cell.moveTo(stockPosition.x, "x"); + this.cell.moveTo(stockPosition.y, "y"); + this.cell.moveTo(stockPosition.z, "z"); dmaGlobals.three.render(); }; diff --git a/js/menus/Ribbon.js b/js/menus/Ribbon.js index e0979ccd..4c269fa9 100644 --- a/js/menus/Ribbon.js +++ b/js/menus/Ribbon.js @@ -9,7 +9,8 @@ Ribbon = Backbone.View.extend({ events: { "click .cellModeBtn": "_updateCellMode", - "click .deleteMode": "_updateDeleteMode" + "click .deleteMode": "_updateDeleteMode", + "click .highlightMode": "_updateHighlightMode" }, initialize: function(){ @@ -18,6 +19,7 @@ Ribbon = Backbone.View.extend({ this.listenTo(this.model, "change:cellMode", this.render); this.listenTo(this.model, "change:deleteMode", this.render); + this.listenTo(this.model, "change:highlightMode", this.render); this.listenTo(dmaGlobals.lattice, "change:cellType change:connectionType", this.render); this.render(); }, @@ -32,6 +34,11 @@ Ribbon = Backbone.View.extend({ dmaGlobals.appState.set("deleteMode", !dmaGlobals.appState.get("deleteMode")); }, + _updateHighlightMode: function(e){ + e.preventDefault(); + dmaGlobals.appState.set("highlightMode", !dmaGlobals.appState.get("highlightMode")); + }, + render: function(){ this.$el.html(this.template(_.extend(dmaGlobals.lattice.toJSON(), this.model.toJSON()))); }, @@ -43,6 +50,7 @@ Ribbon = Backbone.View.extend({ <% if (allPartTypes[cellType][connectionType]){ %>\ <a data-type="part" class="btn btn-primary btn-ribbon cellModeBtn<% if (cellMode == "part"){ %> ribbon-selected<% } %>" href="#"><img data-type="part" src="assets/imgs/part-sm.png"></a>\ <% } %>\ + <a class="btn btn-primary btn-ribbon highlightMode<% if (highlightMode){ %> ribbon-selected<% } %>" href="#"><img data-type="part" src="assets/imgs/cursor-light.png"></a>\ <a class="btn btn-primary btn-ribbon deleteMode<% if (deleteMode){ %> ribbon-selected"<% } %>"><span class="fui-cross"></span></a>\ </div>\ </div>\ diff --git a/js/models/AppState.js b/js/models/AppState.js index 85572aff..e1b81f50 100644 --- a/js/models/AppState.js +++ b/js/models/AppState.js @@ -135,6 +135,7 @@ AppState = Backbone.Model.extend({ //key bindings shift: false, deleteMode: false, + highlightMode: true, extrudeMode: false, cellMode: "cell",//show cells vs part diff --git a/js/threeViews/ThreeView.js b/js/threeViews/ThreeView.js index 03a7b2e9..82f58e1e 100644 --- a/js/threeViews/ThreeView.js +++ b/js/threeViews/ThreeView.js @@ -86,6 +86,8 @@ ThreeView = Backbone.View.extend({ _mouseMoved: function(e){ + if (!dmaGlobals.appState.get("highlightMode")) return; + if (this.mouseIsDown && !this.controls.noRotate) {//in the middle of a camera move this.highlighter.setNothingHighlighted(); this._setNoPartIntersections(); -- GitLab