From d9b69f33742ab86cac3c9f7a88539d0c75db4bcc Mon Sep 17 00:00:00 2001
From: Amanda Ghassaei <amandaghassaei@gmail.com>
Date: Thu, 28 May 2015 19:59:06 -0700
Subject: [PATCH] visual stuff, loading

---
 js/cam/assemblers/Assembler.js            |  2 ++
 js/cam/assemblers/DualStaplerAssembler.js | 28 ++---------------------
 js/cam/assemblers/StaplerAssembler.js     |  6 ++++-
 js/cam/cam.js                             |  6 +++--
 js/cells/supercells/GIKSuperCell.js       |  2 +-
 5 files changed, 14 insertions(+), 30 deletions(-)

diff --git a/js/cam/assemblers/Assembler.js b/js/cam/assemblers/Assembler.js
index dafd50ed..9e6e7f19 100644
--- a/js/cam/assemblers/Assembler.js
+++ b/js/cam/assemblers/Assembler.js
@@ -16,6 +16,8 @@ function Assembler(){
         self._configureAssemblerMovementDependencies();
         globals.three.render();
     });
+
+    this.setVisibility(globals.cam.isVisible());
 }
 
 Assembler.prototype._buildStock = function(){
diff --git a/js/cam/assemblers/DualStaplerAssembler.js b/js/cam/assemblers/DualStaplerAssembler.js
index 9f502b11..0613baa2 100644
--- a/js/cam/assemblers/DualStaplerAssembler.js
+++ b/js/cam/assemblers/DualStaplerAssembler.js
@@ -7,30 +7,6 @@ function DualStaplerAssembler(){
 }
 DualStaplerAssembler.prototype = Object.create(StaplerAssembler.prototype);
 
-DualStaplerAssembler.prototype._loadSTls = function(doAdd){
-
-    function geometryScale(geometry){
-//        geometry.applyMatrix(new THREE.Matrix4().makeRotationX(Math.PI/2));
-//        geometry.applyMatrix(new THREE.Matrix4().makeTranslation(0, 0, -4.3112));
-        var unitScale = 20;
-//        geometry.applyMatrix(new THREE.Matrix4().makeScale(unitScale, unitScale, unitScale));
-        return geometry;
-    }
-
-    var loader = new THREE.STLLoader();
-    loader.load("assets/stls/stapler/frame.stl", function(geometry){
-        doAdd(geometryScale(geometry), "frame");
-    });
-    loader.load("assets/stls/stapler/zStageDual.stl", function(geometry){
-        doAdd(geometryScale(geometry), "zAxis");
-    });
-    loader.load("assets/stls/stapler/yStage.stl", function(geometry){
-        doAdd(geometryScale(geometry), "yAxis");
-    });
-    loader.load("assets/stls/stapler/xStage.stl", function(geometry){
-        doAdd(geometryScale(geometry), "xAxis");
-    });
-    loader.load("assets/stls/stapler/substrate.stl", function(geometry){
-        doAdd(geometryScale(geometry), "substrate");
-    });
+DualStaplerAssembler.prototype._headSTLFile = function(){
+    return "assets/stls/stapler/zStageDual.stl";
 };
\ No newline at end of file
diff --git a/js/cam/assemblers/StaplerAssembler.js b/js/cam/assemblers/StaplerAssembler.js
index 0cecf977..3765debb 100644
--- a/js/cam/assemblers/StaplerAssembler.js
+++ b/js/cam/assemblers/StaplerAssembler.js
@@ -43,7 +43,7 @@ StaplerAssembler.prototype._loadSTls = function(doAdd){
     loader.load("assets/stls/stapler/frame.stl", function(geometry){
         doAdd(geometryScale(geometry), "frame");
     });
-    loader.load("assets/stls/stapler/zStage.stl", function(geometry){
+    loader.load(this._headSTLFile(), function(geometry){
         doAdd(geometryScale(geometry), "zAxis");
     });
     loader.load("assets/stls/stapler/yStage.stl", function(geometry){
@@ -59,6 +59,10 @@ StaplerAssembler.prototype._loadSTls = function(doAdd){
     });
 };
 
+StaplerAssembler.prototype._headSTLFile = function(){
+    return "assets/stls/stapler/zStage.stl";
+};
+
 StaplerAssembler.prototype._moveXAxis = function(startingPos, target, axis, speed, callback){
     if (target == null || target === undefined) {
         callback();
diff --git a/js/cam/cam.js b/js/cam/cam.js
index c088912d..32ad2062 100644
--- a/js/cam/cam.js
+++ b/js/cam/cam.js
@@ -82,7 +82,6 @@ Cam = Backbone.Model.extend({
         if (this.get("assembler")) this.get("assembler").destroy();
         this.set("assembler", null);
         this._setMachineDefaults(machineName);
-        globals.appState.set("basePlaneIsVisible", false);
         if (machineName == "shopbot"){
             this.set("assembler", new Shopbot());
         } else if (machineName == "handOfGod"){
@@ -146,7 +145,10 @@ Cam = Backbone.Model.extend({
 //        this.get("stock").visible = visible;
         if (visible && !this.get("assembler")) this.selectMachine();
         if (this.get("assembler")) this.get("assembler").setVisibility(visible);
-        if (globals.appState.get("currentNav") == "navAssemble") globals.appState.set("basePlaneIsVisible", !visible);
+        if (globals.appState.get("currentNav") == "navAssemble") {
+            globals.appState.set("basePlaneIsVisible", !visible);
+            globals.appState.set("highlighterIsVisible", !visible);
+        }
         globals.three.render();
     },
 
diff --git a/js/cells/supercells/GIKSuperCell.js b/js/cells/supercells/GIKSuperCell.js
index fc9190f3..06d3c239 100644
--- a/js/cells/supercells/GIKSuperCell.js
+++ b/js/cells/supercells/GIKSuperCell.js
@@ -112,7 +112,7 @@ GIKSuperCell.prototype.destroy = function(){
     globals.three.sceneRemove(this.object3D);
     this.object3D = null;
     _.each(this.cells, function(cell){
-        if (cell && !cell.destroyStarted) globals.lattice.removeCell(cell);
+        if (cell && cell.indices && !cell.destroyStarted) globals.lattice.removeCell(cell);
     });
     this.cells = null;
     this.indices = null;
-- 
GitLab