diff --git a/css/main.css b/css/main.css index a0a8816cc5fd152d5c2057e2a32f5cb4c592fbd2..8a877f90922a493ea51b703cad287c2b6d164118 100644 --- a/css/main.css +++ b/css/main.css @@ -134,4 +134,8 @@ nav .btn { overflow-y: auto; } +hr { + border-color: #888 -moz-use-text-color #888; +} + diff --git a/js/menus/ImportMenuView.js b/js/menus/ImportMenuView.js index 835ac15b7a3bb2cacea7504b51b116330c80593f..2cce8cce7aaa3918c81bb0b0e441589677b994c3 100644 --- a/js/menus/ImportMenuView.js +++ b/js/menus/ImportMenuView.js @@ -20,7 +20,6 @@ ImportMenuView = Backbone.View.extend({ this.lattice = options.lattice; this.appState = options.appState; - _.bindAll(this, "render", "_onMeshLoad"); this.listenTo(this.model, "change", this.render); // this.listenTo(this.model, "change:filename change:boundingBoxHelper", this.render);//boundingBoxHelper covers orientation @@ -35,6 +34,7 @@ ImportMenuView = Backbone.View.extend({ }, _uploadMesh: function(e){//select a mesh to upload + e.preventDefault(); var input = $(e.target), numFiles = input.get(0).files ? input.get(0).files.length : 1, label = input.val().replace(/\\/g, '/').replace(/.*\//, ''); @@ -56,16 +56,15 @@ ImportMenuView = Backbone.View.extend({ }, _loadMeshFromURL: function(url){ + var self = this; var loader = new THREE.STLLoader(); - loader.addEventListener('load', this._onMeshLoad); - loader.load(url); + loader.load(url, function(geometry){ + self.model.set("geometry", geometry); + }); }, - _onMeshLoad: function(e){ - this.model.set("geometry", e.content); - }, - - _removeMesh: function(){ + _removeMesh: function(e){ + e.preventDefault(); this.model.remove(); }, @@ -108,10 +107,14 @@ ImportMenuView = Backbone.View.extend({ template: _.template('\ Filename: <%= filename %><br/>\ + <% if (mesh){ %>\ Rotate:<br/>\ Scale:<br/><br/>\ + <a href="#" id="doFllGeo" class=" btn btn-block btn-lg btn-default">Fill Mesh</a><br/>\ <a href="#" id="removeFillGeo" class=" btn btn-block btn-lg btn-default">Remove Mesh</a><br/>\ - <span class="btn btn-default btn-file fullWidth">\ + <hr>\ + <% } %>\ + <br/><span class="btn btn-default btn-file fullWidth">\ Upload STL<input id="uploadMesh" type="file">\ </span><br/>\ <div class="text-center">OR</div>\ diff --git a/js/models/fillGeometry.js b/js/models/fillGeometry.js index 3903bd2e846d14224b9f6d1e0d66c4cab25104cb..86949bddc7f6e96474c7d84aaf3ec1c33d8def68 100644 --- a/js/models/fillGeometry.js +++ b/js/models/fillGeometry.js @@ -14,7 +14,8 @@ FillGeometry = Backbone.Model.extend({ geometry: null, filename: "No File Loaded", orientation: [0,0,0], - scale: [1.0,1.0,1.0] + scale: [1.0,1.0,1.0], + mesh: null }, initialize: function(){ @@ -61,6 +62,7 @@ FillGeometry = Backbone.Model.extend({ if (!this.get("mesh")) return; window.three.sceneRemove(this.get("mesh")); this.set("mesh", null); + this.set("filename", this.defaults.filename); window.three.render(); },