From 7101702231d964a43d8a3d6a1fe0eecc2cc386fb Mon Sep 17 00:00:00 2001
From: amandaghassaei <amandaghassaei@gmail.com>
Date: Tue, 2 May 2017 15:41:21 -0400
Subject: [PATCH] toggle mesh vis

---
 index.html     | 26 ++++++++++++++++----------
 js/controls.js |  7 +++++++
 js/globals.js  |  1 +
 js/model.js    |  5 +++++
 4 files changed, 29 insertions(+), 10 deletions(-)

diff --git a/index.html b/index.html
index 4166764..a79f706 100644
--- a/index.html
+++ b/index.html
@@ -423,18 +423,24 @@
         <div class="indent">
             Mesh Material:
             <div class="indent">
-                <label class="radio">
-                    <input name="colorMode" value="color" data-toggle="radio" class="custom-radio" type="radio"><span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>
-                    Colored Material
+                <label class="checkbox" for="meshVisible">
+                    <input id="meshVisible" data-toggle="checkbox" class="custom-checkbox layersSelector" type="checkbox"><span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>
+                    Mesh Visible
                 </label>
-                <div id="coloredMaterialOptions" class="indent">
-                    <label>Color 1 (rgb hex): &nbsp;&nbsp;</label><input id="color1" value="" placeholder="" class="hexVal form-control" type="text"><br/>
-                    <label>Color 2 (rgb hex): &nbsp;&nbsp;</label><input id="color2" value="" placeholder="" class="hexVal form-control" type="text"><br/>
+                <div id="meshMaterialOptions">
+                    <label class="radio">
+                        <input name="colorMode" value="color" data-toggle="radio" class="custom-radio" type="radio"><span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>
+                        Colored Material
+                    </label>
+                    <div id="coloredMaterialOptions" class="indent">
+                        <label>Color 1 (rgb hex): &nbsp;&nbsp;</label><input id="color1" value="" placeholder="" class="hexVal form-control" type="text"><br/>
+                        <label>Color 2 (rgb hex): &nbsp;&nbsp;</label><input id="color2" value="" placeholder="" class="hexVal form-control" type="text"><br/>
+                    </div>
+                    <label class="radio">
+                        <input name="colorMode" value="normal" data-toggle="radio" class="custom-radio" type="radio"><span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>
+                        Face Normals Material
+                    </label>
                 </div>
-                <label class="radio">
-                    <input name="colorMode" value="normal" data-toggle="radio" class="custom-radio" type="radio"><span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>
-                    Face Normals Material
-                </label>
             </div><br/>
             Edges:
             <div class="indent">
diff --git a/js/controls.js b/js/controls.js
index f773556..debd38c 100644
--- a/js/controls.js
+++ b/js/controls.js
@@ -119,6 +119,13 @@ function initControls(globals){
         globals.model.updateEdgeVisibility();
     });
 
+    setCheckbox("#meshVisible", globals.meshVisible, function(val){
+        globals.meshVisible = val;
+        globals.model.updateMeshVisibility();
+        if (globals.meshVisible) $("#meshMaterialOptions").show();
+        else $("#meshMaterialOptions").hide();
+    });
+
     function setButtonGroup(id, callback){
         $(id+" a").click(function(e){
             e.preventDefault();
diff --git a/js/globals.js b/js/globals.js
index fe6a08a..6c8b9b7 100644
--- a/js/globals.js
+++ b/js/globals.js
@@ -14,6 +14,7 @@ function initGlobals(){
         color1: "ec008b",
         color2: "dddddd",
         edgesVisible: true,
+        meshVisible: true,
 
         //flags
         fixedHasChanged: false,
diff --git a/js/model.js b/js/model.js
index 2ac62c3..1459fce 100644
--- a/js/model.js
+++ b/js/model.js
@@ -27,6 +27,10 @@ function initModel(globals){
         }
     }
 
+    function updateMeshVisibility(){
+        object3D.visible = globals.meshVisible;
+    }
+
     var geometry = new THREE.Geometry();
     geometry.dynamic = true;
     var object3D = new THREE.Mesh(geometry, material);
@@ -231,6 +235,7 @@ function initModel(globals){
         getObjectsToIntersect: getObjectsToIntersect,
         setMeshMaterial: setMeshMaterial,
         updateEdgeVisibility: updateEdgeVisibility,
+        updateMeshVisibility: updateMeshVisibility,
         getGeometry: getGeometry
     }
 }
\ No newline at end of file
-- 
GitLab