From 92ec249045202153fe43f049bdafef8ada54d56b Mon Sep 17 00:00:00 2001
From: Amanda Ghassaei <amandaghassaei@gmail.com>
Date: Tue, 30 Jun 2015 15:53:19 -0700
Subject: [PATCH] static and dynamic menuss for simulation

---
 js/main.js                                    | 14 ++++++++++--
 js/menus/EDynamicMenuView.js                  | 22 +++++++++++++++++++
 .../{PhysicsMenuView.js => ESetupMenuView.js} |  2 +-
 js/menus/EStaticMenuView.js                   | 22 +++++++++++++++++++
 js/menus/ImportMenuView.js                    | 20 ++++++++---------
 js/menus/MDynamicMenuView.js                  | 21 ++++++++++++++++++
 js/menus/MSetupMenuView.js                    | 22 +++++++++++++++++++
 js/menus/MStaticMenuView.js                   | 22 +++++++++++++++++++
 js/menus/Navbar.js                            |  6 ++++-
 js/menus/templates/EDynamicMenuView.html      |  1 +
 js/menus/templates/ESetupMenuView.html        |  1 +
 js/menus/templates/EStaticMenuView.html       |  1 +
 js/menus/templates/MDynamicMenuView.html      |  1 +
 js/menus/templates/MSetupMenuView.html        |  1 +
 js/menus/templates/MStaticMenuView.html       |  1 +
 js/menus/templates/OptimizationMenuView.html  |  2 +-
 js/menus/templates/PhysicsMenuView.html       |  5 -----
 js/plists/PList.js                            | 20 ++++++++++++-----
 js/three/FillGeometry.js                      |  4 +++-
 19 files changed, 160 insertions(+), 28 deletions(-)
 create mode 100644 js/menus/EDynamicMenuView.js
 rename js/menus/{PhysicsMenuView.js => ESetupMenuView.js} (68%)
 create mode 100644 js/menus/EStaticMenuView.js
 create mode 100644 js/menus/MDynamicMenuView.js
 create mode 100644 js/menus/MSetupMenuView.js
 create mode 100644 js/menus/MStaticMenuView.js
 create mode 100644 js/menus/templates/EDynamicMenuView.html
 create mode 100644 js/menus/templates/ESetupMenuView.html
 create mode 100644 js/menus/templates/EStaticMenuView.html
 create mode 100644 js/menus/templates/MDynamicMenuView.html
 create mode 100644 js/menus/templates/MSetupMenuView.html
 create mode 100644 js/menus/templates/MStaticMenuView.html
 delete mode 100644 js/menus/templates/PhysicsMenuView.html

diff --git a/js/main.js b/js/main.js
index bb162098..7dedc7c1 100644
--- a/js/main.js
+++ b/js/main.js
@@ -108,7 +108,6 @@ require.config({
         importMenu: 'menus/ImportMenuView',
         partMenu: 'menus/PartMenuView',
         scriptMenu: 'menus/ScriptMenuView',
-        physicsMenu: 'menus/PhysicsMenuView',
         materialMenu: 'menus/MaterialMenuView',
         optimizeMenu: 'menus/OptimizationMenuView',
         assemblerMenu: 'menus/AssemblerMenuView',
@@ -119,6 +118,12 @@ require.config({
         materialEditorMenu: 'menus/MaterialEditorMenuView',
         setupCommMenu: 'menus/SetupCommMenuView',
         discoveryMenu: 'menus/DiscoveryMenuView',
+        eSetupMenu: 'menus/ESetupMenuView',
+        eStaticMenu: 'menus/EStaticMenuView',
+        eDynamicMenu: 'menus/EDynamicMenuView',
+        mSetupMenu: 'menus/MSetupMenuView',
+        mStaticMenu: 'menus/MStaticMenuView',
+        mDynamicMenu: 'menus/MDynamicMenuView',
 
         //templates
         navViewMenuTemplate: 'menus/templates/NavViewMenu.html',
@@ -129,7 +134,6 @@ require.config({
         importMenuTemplate: 'menus/templates/ImportMenuView.html',
         partMenuTemplate: 'menus/templates/PartMenuView.html',
         scriptMenuTemplate: 'menus/templates/ScriptMenuView.html',
-        physicsMenuTemplate: 'menus/templates/PhysicsMenuView.html',
         materialMenuTemplate: 'menus/templates/MaterialMenuView.html',
         optimizeMenuTemplate: 'menus/templates/OptimizationMenuView.html',
         assemblerMenuTemplate: 'menus/templates/AssemblerMenuView.html',
@@ -140,6 +144,12 @@ require.config({
         materialEditorMenuTemplate: 'menus/templates/MaterialEditorMenuView.html',
         setupCommMenuTemplate: 'menus/templates/SetupCommMenuView.html',
         discoveryMenuTemplate: 'menus/templates/DiscoveryMenuView.html',
+        eSetupMenuTemplate: 'menus/templates/ESetupMenuView.html',
+        eStaticMenuTemplate: 'menus/templates/EStaticMenuView.html',
+        eDynamicMenuTemplate: 'menus/templates/EDynamicMenuView.html',
+        mSetupMenuTemplate: 'menus/templates/MSetupMenuView.html',
+        mStaticMenuTemplate: 'menus/templates/MStaticMenuView.html',
+        mDynamicMenuTemplate: 'menus/templates/MDynamicMenuView.html',
 
         //cam
         cam: 'cam/cam',
diff --git a/js/menus/EDynamicMenuView.js b/js/menus/EDynamicMenuView.js
new file mode 100644
index 00000000..21cabc1a
--- /dev/null
+++ b/js/menus/EDynamicMenuView.js
@@ -0,0 +1,22 @@
+/**
+ * Created by aghassaei on 6/30/15.
+ */
+
+
+define(['jquery', 'underscore', 'menuParent', 'plist', 'text!eDynamicMenuTemplate'], function($, _, MenuParentView, plist, template){
+
+    return MenuParentView.extend({
+
+        events: {
+        },
+
+        _initialize: function(){
+        },
+
+        _makeTemplateJSON: function(){
+            return null;
+        },
+
+        template: _.template(template)
+    });
+});
\ No newline at end of file
diff --git a/js/menus/PhysicsMenuView.js b/js/menus/ESetupMenuView.js
similarity index 68%
rename from js/menus/PhysicsMenuView.js
rename to js/menus/ESetupMenuView.js
index 13bb5ac6..5967c307 100644
--- a/js/menus/PhysicsMenuView.js
+++ b/js/menus/ESetupMenuView.js
@@ -2,7 +2,7 @@
  * Created by aghassaei on 2/25/15.
  */
 
-define(['jquery', 'underscore', 'menuParent', 'plist', 'text!physicsMenuTemplate'], function($, _, MenuParentView, plist, template){
+define(['jquery', 'underscore', 'menuParent', 'plist', 'text!eSetupMenuTemplate'], function($, _, MenuParentView, plist, template){
 
     return MenuParentView.extend({
 
diff --git a/js/menus/EStaticMenuView.js b/js/menus/EStaticMenuView.js
new file mode 100644
index 00000000..6257fdef
--- /dev/null
+++ b/js/menus/EStaticMenuView.js
@@ -0,0 +1,22 @@
+/**
+ * Created by aghassaei on 6/30/15.
+ */
+
+
+define(['jquery', 'underscore', 'menuParent', 'plist', 'text!eStaticMenuTemplate'], function($, _, MenuParentView, plist, template){
+
+    return MenuParentView.extend({
+
+        events: {
+        },
+
+        _initialize: function(){
+        },
+
+        _makeTemplateJSON: function(){
+            return null;
+        },
+
+        template: _.template(template)
+    });
+});
\ No newline at end of file
diff --git a/js/menus/ImportMenuView.js b/js/menus/ImportMenuView.js
index 08143c9d..761a4f2d 100644
--- a/js/menus/ImportMenuView.js
+++ b/js/menus/ImportMenuView.js
@@ -3,7 +3,7 @@
  */
 
 define(['jquery', 'underscore', 'menuParent', 'plist', 'lattice', 'text!importMenuTemplate', 'fillGeometry', 'stlLoader'],
-    function($, _, MenuParentView, plist, lattice, template, FillGeometry, THREE){
+    function($, _, MenuParentView, plist, lattice, template, fillGeometry, THREE){
 
     return MenuParentView.extend({
 
@@ -20,12 +20,11 @@ define(['jquery', 'underscore', 'menuParent', 'plist', 'lattice', 'text!importMe
 
         _initialize: function(){
 
-            this.fillGeometry = new FillGeometry();
-            this.listenTo(this.fillGeometry, "change", this.render);
+            this.listenTo(fillGeometry, "change", this.render);
         },
 
         getPropertyOwner: function($target){
-            if ($target.hasClass("fillGeometry")) return this.fillGeometry;
+            if ($target.hasClass("fillGeometry")) return fillGeometry;
             return null;
         },
 
@@ -62,31 +61,30 @@ define(['jquery', 'underscore', 'menuParent', 'plist', 'lattice', 'text!importMe
         },
 
         _loadMeshFromURL: function(url, filename){
-            var self = this;
             var loader = new THREE.STLLoader();
             loader.load(url, function(geometry){
-                self.fillGeometry.buildNewMesh(geometry);
-                self.fillGeometry.set("filename", filename);
+                fillGeometry.buildNewMesh(geometry);
+                fillGeometry.set("filename", filename);
             });
         },
 
         _subtractGeo: function(e){
             e.preventDefault();
-            this.fillGeometry.subtractGeo();
+            fillGeometry.subtractGeo();
         },
 
         _fillGeo: function(e){
             e.preventDefault();
-            this.fillGeometry.fillGeo();
+            fillGeometry.fillGeo();
         },
 
         _removeMesh: function(e){
             e.preventDefault();
-            this.fillGeometry.removeMesh();
+            fillGeometry.removeMesh();
         },
 
         _makeTemplateJSON: function(){
-            return _.extend(this.model.toJSON(), this.fillGeometry.toJSON());
+            return _.extend(this.model.toJSON(), fillGeometry.toJSON());
         },
 
         template: _.template(template)
diff --git a/js/menus/MDynamicMenuView.js b/js/menus/MDynamicMenuView.js
new file mode 100644
index 00000000..f0295769
--- /dev/null
+++ b/js/menus/MDynamicMenuView.js
@@ -0,0 +1,21 @@
+/**
+ * Created by aghassaei on 6/30/15.
+ */
+
+define(['jquery', 'underscore', 'menuParent', 'plist', 'text!mDynamicMenuTemplate'], function($, _, MenuParentView, plist, template){
+
+    return MenuParentView.extend({
+
+        events: {
+        },
+
+        _initialize: function(){
+        },
+
+        _makeTemplateJSON: function(){
+            return null;
+        },
+
+        template: _.template(template)
+    });
+});
\ No newline at end of file
diff --git a/js/menus/MSetupMenuView.js b/js/menus/MSetupMenuView.js
new file mode 100644
index 00000000..c8d1c70d
--- /dev/null
+++ b/js/menus/MSetupMenuView.js
@@ -0,0 +1,22 @@
+/**
+ * Created by aghassaei on 6/30/15.
+ */
+
+
+define(['jquery', 'underscore', 'menuParent', 'plist', 'text!mSetupMenuTemplate'], function($, _, MenuParentView, plist, template){
+
+    return MenuParentView.extend({
+
+        events: {
+        },
+
+        _initialize: function(){
+        },
+
+        _makeTemplateJSON: function(){
+            return null;
+        },
+
+        template: _.template(template)
+    });
+});
\ No newline at end of file
diff --git a/js/menus/MStaticMenuView.js b/js/menus/MStaticMenuView.js
new file mode 100644
index 00000000..851b5d15
--- /dev/null
+++ b/js/menus/MStaticMenuView.js
@@ -0,0 +1,22 @@
+/**
+ * Created by aghassaei on 6/30/15.
+ */
+
+
+define(['jquery', 'underscore', 'menuParent', 'plist', 'text!mStaticMenuTemplate'], function($, _, MenuParentView, plist, template){
+
+    return MenuParentView.extend({
+
+        events: {
+        },
+
+        _initialize: function(){
+        },
+
+        _makeTemplateJSON: function(){
+            return null;
+        },
+
+        template: _.template(template)
+    });
+});
\ No newline at end of file
diff --git a/js/menus/Navbar.js b/js/menus/Navbar.js
index 9e90c18d..93a2a143 100644
--- a/js/menus/Navbar.js
+++ b/js/menus/Navbar.js
@@ -3,7 +3,7 @@
  */
 
 
-define(['jquery', 'underscore', 'backbone', 'fileSaver', 'navViewMenu'], function($, _, Backbone, fileSaver, NavViewMenu){
+define(['jquery', 'underscore', 'backbone', 'fileSaver', 'navViewMenu', 'appState'], function($, _, Backbone, fileSaver, NavViewMenu, appState){
 
     return Backbone.View.extend({
 
@@ -55,6 +55,10 @@ define(['jquery', 'underscore', 'backbone', 'fileSaver', 'navViewMenu'], functio
                 return;
             }
             e.preventDefault();
+            if (navSelection == "navSim"){//choose which simulation package to pull up
+                this.model.set("currentNav", appState.get("materialClass") + "NavSim");
+                return;
+            }
             if (navSelection) this.model.set("currentNav", navSelection);
         },
 
diff --git a/js/menus/templates/EDynamicMenuView.html b/js/menus/templates/EDynamicMenuView.html
new file mode 100644
index 00000000..b0b5ade9
--- /dev/null
+++ b/js/menus/templates/EDynamicMenuView.html
@@ -0,0 +1 @@
+dynamic calculations
\ No newline at end of file
diff --git a/js/menus/templates/ESetupMenuView.html b/js/menus/templates/ESetupMenuView.html
new file mode 100644
index 00000000..c14ccd9c
--- /dev/null
+++ b/js/menus/templates/ESetupMenuView.html
@@ -0,0 +1 @@
+boundaries
\ No newline at end of file
diff --git a/js/menus/templates/EStaticMenuView.html b/js/menus/templates/EStaticMenuView.html
new file mode 100644
index 00000000..3eade527
--- /dev/null
+++ b/js/menus/templates/EStaticMenuView.html
@@ -0,0 +1 @@
+static calculations
\ No newline at end of file
diff --git a/js/menus/templates/MDynamicMenuView.html b/js/menus/templates/MDynamicMenuView.html
new file mode 100644
index 00000000..bfb4eada
--- /dev/null
+++ b/js/menus/templates/MDynamicMenuView.html
@@ -0,0 +1 @@
+dynamics
\ No newline at end of file
diff --git a/js/menus/templates/MSetupMenuView.html b/js/menus/templates/MSetupMenuView.html
new file mode 100644
index 00000000..1edc0e9d
--- /dev/null
+++ b/js/menus/templates/MSetupMenuView.html
@@ -0,0 +1 @@
+setup, boundary conditions, physics
\ No newline at end of file
diff --git a/js/menus/templates/MStaticMenuView.html b/js/menus/templates/MStaticMenuView.html
new file mode 100644
index 00000000..e7a63db0
--- /dev/null
+++ b/js/menus/templates/MStaticMenuView.html
@@ -0,0 +1 @@
+statics
\ No newline at end of file
diff --git a/js/menus/templates/OptimizationMenuView.html b/js/menus/templates/OptimizationMenuView.html
index 5c68467d..65d4345f 100644
--- a/js/menus/templates/OptimizationMenuView.html
+++ b/js/menus/templates/OptimizationMenuView.html
@@ -1 +1 @@
-input stiffness requirements of structure
\ No newline at end of file
+input goals
\ No newline at end of file
diff --git a/js/menus/templates/PhysicsMenuView.html b/js/menus/templates/PhysicsMenuView.html
deleted file mode 100644
index ab8e35ef..00000000
--- a/js/menus/templates/PhysicsMenuView.html
+++ /dev/null
@@ -1,5 +0,0 @@
-world physics: gravity, global forces
-<br/><br/>
-part connection stiffness
-<br/><br/>
-ground/fixed/boundary conditions definition
\ No newline at end of file
diff --git a/js/plists/PList.js b/js/plists/PList.js
index c01abc06..6bb33bd9 100644
--- a/js/plists/PList.js
+++ b/js/plists/PList.js
@@ -14,9 +14,16 @@ define(['three'], function(THREE){
                 part:"Part",
                 script:"Script"
             },
-            navSim:{
-                physics:"Physics",
-                part:"Part",
+            electronicNavSim:{
+                eSetup:"Connectivity",
+                eStatic:"Statics",
+                eDynamic:"Dynamics",
+                optimize:"Optimize"
+            },
+            mechanicalNavSim:{
+                mSetup:"Setup",
+                mStatic:"Statics",
+                mDynamic:"Dynamics",
                 optimize:"Optimize"
             },
             navAssemble:{
@@ -24,13 +31,14 @@ define(['three'], function(THREE){
                 cam: "Process",
                 animate:"Preview"
             },
-            navComposite:{
-                composite:"Composite Editor"
-            },
             navComm:{
                 setupComm: "Setup",
                 send: "Send"
             },
+            //maybe do something different here?
+            navComposite:{
+                composite:"Composite Editor"
+            },
             navMaterial:{
                 materialEditor: "Material Editor"
             }
diff --git a/js/three/FillGeometry.js b/js/three/FillGeometry.js
index 0e5aacaa..8fcf1f8b 100644
--- a/js/three/FillGeometry.js
+++ b/js/three/FillGeometry.js
@@ -5,7 +5,7 @@
 define(['three', 'underscore', 'backbone', 'lattice', 'threeModel'],
     function(THREE, _, Backbone, lattice, three){
 
-    return Backbone.Model.extend({
+    var FillGeometry = Backbone.Model.extend({
     
         defaults: {
             filename: "No File Loaded",
@@ -128,5 +128,7 @@ define(['three', 'underscore', 'backbone', 'lattice', 'threeModel'],
             three.render();
         }
     });
+
+    return new FillGeometry();
 });
 
-- 
GitLab