From d88165346f2bde1bee9c9f002d4b6c57a6696337 Mon Sep 17 00:00:00 2001
From: Amanda Ghassaei <amandaghassaei@gmail.com>
Date: Wed, 4 Feb 2015 02:24:52 -0500
Subject: [PATCH] change sketch plane height

---
 js/fea/DmaPart.js           |  2 +-
 js/menus/MenuWrapperView.js |  2 +-
 js/menus/SketchMenuView.js  | 15 +++++++++++++--
 js/models/BasePlane.js      |  9 ++++++++-
 4 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/js/fea/DmaPart.js b/js/fea/DmaPart.js
index 6c96634d..d6b2f1af 100644
--- a/js/fea/DmaPart.js
+++ b/js/fea/DmaPart.js
@@ -12,7 +12,7 @@
     //import part geometry
     var loader = new THREE.STLLoader();
     loader.load("data/trianglePart.stl", function(geometry){
-        console.log("part loaded");
+
         unitPartGeo1 = geometry
         unitPartGeo1.dynamic = true;
         unitPartGeo1.computeBoundingBox();
diff --git a/js/menus/MenuWrapperView.js b/js/menus/MenuWrapperView.js
index 78b9e442..4fefe708 100644
--- a/js/menus/MenuWrapperView.js
+++ b/js/menus/MenuWrapperView.js
@@ -18,7 +18,7 @@ MenuWrapper = Backbone.View.extend({
         //init all tab view controllers
         this.latticeMenu = new LatticeMenuView({model:options.lattice, appState:this.model});
         this.importMenu = new ImportMenuView({lattice:options.lattice, appState:this.model});
-        this.sketchMenu = new SketchMenuView({model:options.lattice, appState:this.model});
+        this.sketchMenu = new SketchMenuView({model:options.lattice.get("basePlane"), appState:this.model});
         this.partMenu = new PartMenuView({model:options.lattice, appState:this.model});
         this.scriptMenu = new ScriptMenuView({appState:this.model});
         this.animationMenu = new AnimationMenuView({model:options.lattice.get("basePlane"), appState:this.model});
diff --git a/js/menus/SketchMenuView.js b/js/menus/SketchMenuView.js
index f4a78b11..d9dee961 100644
--- a/js/menus/SketchMenuView.js
+++ b/js/menus/SketchMenuView.js
@@ -8,6 +8,7 @@ SketchMenuView = Backbone.View.extend({
     el: "#menuContent",
 
     events: {
+        "slide #zHeightSlider":                           "_moveSketchPlane"
     },
 
     initialize: function(options){
@@ -18,13 +19,23 @@ SketchMenuView = Backbone.View.extend({
 
     },
 
+    _moveSketchPlane: function(e){
+        this.model.set("zIndex", $(e.target).val());
+    },
+
     render: function(){
         if (this.appState.get("currentTab") != "sketch") return;
-        this.$el.html(this.template());
+        this.$el.html(this.template(this.model.attributes));
+
+        $('#zHeightSlider').slider({
+            formatter: function(value) {
+                return value;
+            }
+        });
     },
 
     template: _.template('\
-        sketch and extrude commands\
+        Sketch Plane Height:&nbsp;&nbsp;<input id="zHeightSlider" data-slider-id="ex1Slider" type="text" data-slider-min="0" data-slider-max="20" data-slider-step="1" data-slider-value="<%= zIndex %>"/>\
         ')
 
 });
\ No newline at end of file
diff --git a/js/models/BasePlane.js b/js/models/BasePlane.js
index 6d0b34dc..627a39dd 100644
--- a/js/models/BasePlane.js
+++ b/js/models/BasePlane.js
@@ -19,6 +19,7 @@ BasePlane = Backbone.Model.extend({
 
         //bind events
         this.listenTo(this, "change:currentScene", this._renderForCurrentScene);
+        this.listenTo(this, "change:zIndex", this._renderZIndexChange);
 
         //draw mesh
         this.set("mesh", this._makeBasePlaneMesh(options.cellType, options.connectionType));
@@ -27,8 +28,14 @@ BasePlane = Backbone.Model.extend({
 
     },
 
+    _renderZIndexChange: function(){
+        var zIndex = this.get("zIndex");
+        var scale = this.get("mesh").scale.z;
+        this.get("mesh").position.set(0, 0, zIndex*scale*2/Math.sqrt(6));
+        window.three.render();
+    },
+
     _renderForCurrentScene: function(){
-        console.log("amanda");
     },
 
     updateGeometry: function(cellType, connectionType, scale){
-- 
GitLab