From 08fe0ca8db31e66d103c5b251125377a3f41d5cf Mon Sep 17 00:00:00 2001 From: amandaghassaei <amandaghassaei@gmail.com> Date: Sat, 21 May 2016 12:37:28 -0400 Subject: [PATCH] multiple lattices --- assets/demos/BeamBending.json | 140 ++-- assets/demos/Bendy.json | 32 +- assets/demos/Gripper.json | 778 ++++++++++---------- assets/demos/Locomotion.json | 104 +-- assets/demos/Undulating.json | 36 +- assets/demos/XYStage.json | 102 +-- js/lattice/Lattice.js | 2 +- js/menus/ImportMenuView.js | 2 +- js/menus/MenuWrapperView.js | 2 +- js/menus/otherUI/NavHierarchicalMenu.js | 1 - js/menus/templates/MaterialMenuView.html | 6 +- js/menus/templates/NavHierarchicalMenu.html | 8 +- js/models/AppState.js | 15 +- js/models/FileSaver.js | 59 +- js/models/Globals.js | 27 +- js/plists/MaterialsPlist.js | 168 ++++- js/plists/PList.js | 3 +- js/simulation/EM/emSimCell.js | 6 +- 18 files changed, 833 insertions(+), 658 deletions(-) diff --git a/assets/demos/BeamBending.json b/assets/demos/BeamBending.json index a66c9498..bf39505a 100644 --- a/assets/demos/BeamBending.json +++ b/assets/demos/BeamBending.json @@ -26,85 +26,85 @@ [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null ] @@ -430,228 +430,228 @@ [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ] ], [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ] ], diff --git a/assets/demos/Bendy.json b/assets/demos/Bendy.json index ff57286a..bc5caec6 100644 --- a/assets/demos/Bendy.json +++ b/assets/demos/Bendy.json @@ -113,7 +113,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, null @@ -129,7 +129,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, null @@ -253,7 +253,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -271,7 +271,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -397,7 +397,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -415,7 +415,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -541,7 +541,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -559,7 +559,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -685,7 +685,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -703,7 +703,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -829,7 +829,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -847,7 +847,7 @@ null, null, { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -898,7 +898,7 @@ null, null, { - "materialID": "brass" + "materialID": "conductive" }, null, { @@ -909,7 +909,7 @@ null, null, { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null @@ -918,7 +918,7 @@ null, null, { - "materialID": "brass" + "materialID": "conductive" }, null, { @@ -980,7 +980,7 @@ null, null, { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null diff --git a/assets/demos/Gripper.json b/assets/demos/Gripper.json index 06ccfc2a..4f4c46a3 100644 --- a/assets/demos/Gripper.json +++ b/assets/demos/Gripper.json @@ -31,14 +31,14 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null @@ -64,14 +64,14 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -120,7 +120,7 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null @@ -146,7 +146,7 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null @@ -190,29 +190,29 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null @@ -238,31 +238,31 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ] ], @@ -274,7 +274,7 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -310,7 +310,7 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -425,24 +425,24 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -476,59 +476,59 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ] ], [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -536,21 +536,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -558,43 +558,43 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -624,13 +624,13 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -638,21 +638,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -660,21 +660,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -682,21 +682,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -704,21 +704,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -748,29 +748,29 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null @@ -784,7 +784,7 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null @@ -798,66 +798,66 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ] ], [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -865,21 +865,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -887,43 +887,43 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -953,13 +953,13 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -967,21 +967,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -989,21 +989,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1011,21 +1011,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1033,21 +1033,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1077,29 +1077,29 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null @@ -1113,7 +1113,7 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null @@ -1127,55 +1127,55 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ] ], [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1183,10 +1183,10 @@ "materialID": "signal" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1194,21 +1194,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1216,10 +1216,10 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1227,32 +1227,32 @@ "materialID": "signal" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1282,13 +1282,13 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1296,10 +1296,10 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1307,10 +1307,10 @@ "materialID": "signal" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1318,21 +1318,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1340,10 +1340,10 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1351,10 +1351,10 @@ "materialID": "signal" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1362,21 +1362,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1406,24 +1406,24 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1431,10 +1431,10 @@ "materialID": "signal" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1442,21 +1442,21 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1464,10 +1464,10 @@ "materialID": "flexureCond" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1475,133 +1475,133 @@ "materialID": "signal" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ] ], [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1631,101 +1631,101 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1755,202 +1755,202 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ] ], [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -1980,101 +1980,101 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ @@ -2104,101 +2104,101 @@ ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" }, { - "materialID": "fiberGlass" + "materialID": "insulating" } ] ] diff --git a/assets/demos/Locomotion.json b/assets/demos/Locomotion.json index a65f72e1..dab9004e 100644 --- a/assets/demos/Locomotion.json +++ b/assets/demos/Locomotion.json @@ -212,19 +212,19 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -243,7 +243,7 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -252,10 +252,10 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, { "materialID": "signal" @@ -263,10 +263,10 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -284,19 +284,19 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -534,19 +534,19 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -565,7 +565,7 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -574,10 +574,10 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, { "materialID": "signal" @@ -585,10 +585,10 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -606,19 +606,19 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -856,19 +856,19 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -887,7 +887,7 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -896,10 +896,10 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, { "materialID": "signal" @@ -907,10 +907,10 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -928,19 +928,19 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -1178,19 +1178,19 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -1209,7 +1209,7 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -1218,10 +1218,10 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, { "materialID": "signal" @@ -1229,10 +1229,10 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] @@ -1250,19 +1250,19 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { - "materialID": "brass" + "materialID": "conductive" }, null ] diff --git a/assets/demos/Undulating.json b/assets/demos/Undulating.json index 17aeb836..acc2cfc7 100644 --- a/assets/demos/Undulating.json +++ b/assets/demos/Undulating.json @@ -335,13 +335,13 @@ "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" @@ -363,13 +363,13 @@ "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" @@ -391,13 +391,13 @@ "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" @@ -419,13 +419,13 @@ "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" @@ -447,13 +447,13 @@ "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" @@ -475,13 +475,13 @@ "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" @@ -503,13 +503,13 @@ "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" @@ -531,13 +531,13 @@ "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" @@ -559,13 +559,13 @@ "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" }, { - "materialID": "piezo" + "materialID": "actuator" }, { "materialID": "flexureCond" diff --git a/assets/demos/XYStage.json b/assets/demos/XYStage.json index c24a83a0..9a90127a 100644 --- a/assets/demos/XYStage.json +++ b/assets/demos/XYStage.json @@ -26,56 +26,56 @@ [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -84,42 +84,42 @@ [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -131,7 +131,7 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -140,42 +140,42 @@ [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { "materialID": "flexureCond" @@ -186,7 +186,7 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -195,7 +195,7 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, { "materialID": "flexureCond" @@ -208,42 +208,42 @@ [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -255,7 +255,7 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -264,56 +264,56 @@ [ [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "fiberGlass" + "materialID": "insulating" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -322,21 +322,21 @@ [ [ { - "materialID": "brass" + "materialID": "conductive" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { "materialID": "flexureCond" @@ -347,14 +347,14 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null @@ -378,7 +378,7 @@ [ [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null @@ -390,7 +390,7 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, { @@ -404,7 +404,7 @@ ], [ { - "materialID": "piezo" + "materialID": "actuator" }, null, null @@ -428,21 +428,21 @@ [ [ { - "materialID": "brass" + "materialID": "conductive" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, { "materialID": "flexureCond" @@ -453,14 +453,14 @@ ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null ], [ { - "materialID": "brass" + "materialID": "conductive" }, null, null diff --git a/js/lattice/Lattice.js b/js/lattice/Lattice.js index 65b6a295..cb4a2fcc 100644 --- a/js/lattice/Lattice.js +++ b/js/lattice/Lattice.js @@ -282,7 +282,7 @@ define(['underscore', 'backbone', 'appState', 'globals', 'plist', 'materialsPlis if (latticeData.parts) newPartType = _.keys(latticeData.parts)[0]; this.set("partType", newPartType, {silent:true}); - var newMaterialClass = (latticeData.materialClasses || _.keys(materialsPlist.allMaterialClasses))[0]; + var newMaterialClass = (_.keys(materialsPlist.allMaterialClasses[appState.get("hierLevel")]))[0]; appState.set("materialClass", newMaterialClass); if (latticeData.options){ diff --git a/js/menus/ImportMenuView.js b/js/menus/ImportMenuView.js index 9b858d03..db65a384 100644 --- a/js/menus/ImportMenuView.js +++ b/js/menus/ImportMenuView.js @@ -45,7 +45,7 @@ define(['jquery', 'underscore', 'menuParent', 'plist', 'lattice', 'text!menus/te _buildWall: function(e){ e.preventDefault(); - lattice.getUItarget().addCellsInRange({min:{x:-5,y:-5,z:0}, max:{x:5,y:5,z:3}}); + lattice.addCellsInRange({min:{x:-5,y:-5,z:0}, max:{x:5,y:5,z:3}}); }, _readDataURL: function(event, numFiles, filename, files){ diff --git a/js/menus/MenuWrapperView.js b/js/menus/MenuWrapperView.js index 76eed6e5..9c2a9881 100644 --- a/js/menus/MenuWrapperView.js +++ b/js/menus/MenuWrapperView.js @@ -232,7 +232,7 @@ define(['jquery', 'underscore', 'plist', 'backbone', 'lattice', 'appState', 'tex _clearCells: function(e){ e.preventDefault(); - lattice.getUItarget().clearCells(); + lattice.clearCells(); }, _getPropertyOwner: function($target){ diff --git a/js/menus/otherUI/NavHierarchicalMenu.js b/js/menus/otherUI/NavHierarchicalMenu.js index 2a679577..cd54248c 100644 --- a/js/menus/otherUI/NavHierarchicalMenu.js +++ b/js/menus/otherUI/NavHierarchicalMenu.js @@ -23,7 +23,6 @@ define(['jquery', 'underscore', 'backbone', 'text!menus/templates/NavHierarchica e.preventDefault(); var $target = $(e.target); if ($target.data("hierlevel")) this.model.set("hierLevel", $target.data("hierlevel")); - console.log(this.model.get("hierLevel")); }, diff --git a/js/menus/templates/MaterialMenuView.html b/js/menus/templates/MaterialMenuView.html index a825280d..2ec27650 100644 --- a/js/menus/templates/MaterialMenuView.html +++ b/js/menus/templates/MaterialMenuView.html @@ -1,10 +1,10 @@ <% if (!inSimMode){ %> Material Class: <div class="btn-group"> - <button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allMaterialClasses[materialClass] %><span class="caret"></span></button> + <button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allMaterialClasses[hierLevel][materialClass] %><span class="caret"></span></button> <ul role="menu" class="dropdown-menu"> - <% _.each(allLattices[cellType].connection[connectionType].type[applicationType].materialClasses || _.keys(allMaterialClasses), function(key){ %> - <li><a class="appState dropdownSelector" data-property="materialClass" data-value="<%= key %>" href="#"><%= allMaterialClasses[key] %></a></li> + <% _.each(allLattices[cellType].connection[connectionType].type[applicationType].materialClasses || _.keys(allMaterialClasses[hierLevel]), function(key){ %> + <li><a class="appState dropdownSelector" data-property="materialClass" data-value="<%= key %>" href="#"><%= allMaterialClasses[hierLevel][key] %></a></li> <% }); %> </ul> </div><br/><br/> diff --git a/js/menus/templates/NavHierarchicalMenu.html b/js/menus/templates/NavHierarchicalMenu.html index 1acc01a9..49d58f2e 100644 --- a/js/menus/templates/NavHierarchicalMenu.html +++ b/js/menus/templates/NavHierarchicalMenu.html @@ -1,4 +1,4 @@ -<li><a class="hierDropdown" data-hierlevel="element" href="#"><%if (hierLevel=="element"){ %><span class="fui-check"></span> <% } %>Element</a></li> -<li><a class="hierDropdown" data-hierlevel="function" href="#"><%if (hierLevel=="function"){ %><span class="fui-check"></span> <% } %>Function</a></li> -<li><a class="hierDropdown" data-hierlevel="module" href="#"><%if (hierLevel=="module"){ %><span class="fui-check"></span> <% } %>Module</a></li> -<li><a class="hierDropdown" data-hierlevel="system" href="#"><%if (hierLevel=="system"){ %><span class="fui-check"></span> <% } %>System</a></li> \ No newline at end of file +<li><a class="hierDropdown" data-hierlevel="element" href="#"><%if (hierLevel=="element"){ %><span class="fui-check"></span> <% } %>Elements</a></li> +<li><a class="hierDropdown" data-hierlevel="function" href="#"><%if (hierLevel=="function"){ %><span class="fui-check"></span> <% } %>Functions</a></li> +<li><a class="hierDropdown" data-hierlevel="module" href="#"><%if (hierLevel=="module"){ %><span class="fui-check"></span> <% } %>Modules</a></li> +<li><a class="hierDropdown" data-hierlevel="system" href="#"><%if (hierLevel=="system"){ %><span class="fui-check"></span> <% } %>Systems</a></li> \ No newline at end of file diff --git a/js/models/AppState.js b/js/models/AppState.js index 19ca0bd8..cbb76e97 100644 --- a/js/models/AppState.js +++ b/js/models/AppState.js @@ -5,8 +5,8 @@ //a class to store global app state, model for navbar and menu wrapper //never deallocated -define(['underscore', 'backbone', 'threeModel', 'three', 'plist', 'globals'], - function(_, Backbone, three, THREE, plist, globals){ +define(['underscore', 'backbone', 'threeModel', 'three', 'plist', 'materialsPlist', 'globals'], + function(_, Backbone, three, THREE, plist, materialsPlist, globals){ var AppState = Backbone.Model.extend({ @@ -60,6 +60,7 @@ define(['underscore', 'backbone', 'threeModel', 'three', 'plist', 'globals'], this.listenTo(this, "change:axesAreVisible", this._showAxes); this.listenTo(this, "change:focusOnLattice", this._focusOnLattice); this.listenTo(this, "change:showOneLayer", this.showSketchLayer); + this.listenTo(this, "change:hierLevel", this._updateHierarchicalLevel); this.downKeys = {};//track keypresses to prevent repeat keystrokes on hold this.lastCellMode = this.get("cellMode");//store this to toggle on/off hide mode @@ -217,6 +218,15 @@ define(['underscore', 'backbone', 'threeModel', 'three', 'plist', 'globals'], three.render(); }, + _updateHierarchicalLevel: function(){ + //save last assembly + globals.saveHierarchicalAssembly(this.previous("hierLevel")); + this.lattice.clearCells(); + var currentLevel = this.get("hierLevel"); + this.set("materialClass", (_.keys(materialsPlist.allMaterialClasses[currentLevel]))[0]); + globals.loadHierarchicalAssembly(currentLevel); + }, + //key bindings @@ -320,7 +330,6 @@ define(['underscore', 'backbone', 'threeModel', 'three', 'plist', 'globals'], e.preventDefault(); e.stopPropagation(); //also continue to case 46 - break; case 46://delete if (state){ var selection3D = globals.get("selection3D"); diff --git a/js/models/FileSaver.js b/js/models/FileSaver.js index 049e7766..f02e0508 100644 --- a/js/models/FileSaver.js +++ b/js/models/FileSaver.js @@ -3,24 +3,19 @@ */ -define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWrapper'], function(_, saveAs, lattice, materials, ribbon, menuWrapper){ +define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWrapper', 'globals'], + function(_, saveAs, lattice, materials, ribbon, menuWrapper, globals){ - function _saveFile(data, name, extension, noQuotes){ + function _saveFile(data, name, extension){ // require(['jsonFn'], function(JSONfn){ // console.log(data.toString()); var jsonString = JSON.stringify(data, null, '\t'); - if (noQuotes){ - jsonString = jsonString.replace(/"/g, ''); - } + //if (noQuotes){ + // jsonString = jsonString.replace(/"/g, ''); + //} saveData(jsonString, name, extension); - if (data.assembler){ - jsonString.replace(/\\"/g,"\uFFFF"); //U+ FFFF - jsonString = jsonString.replace(/\"([^"]+)\":/g,"$1:").replace(/\uFFFF/g,"\\\""); - var blob = new Blob([jsonString], {type: "text/plain;charset=utf-8"}); - saveAs(blob, name + "-forAmanda" + "." + extension); - } // }); } @@ -50,13 +45,16 @@ define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWra }); } - function saveAssembler(){ - + function generateSaveString(){ + var data = { + assembly:_getLatticeDataToSave(), + materials:_getMaterialsDataToSave() + }; + var jsonString = JSON.stringify(data, null, '\t'); + return jsonString; } - function saveSequences(seqArray, name){ - _saveFile(seqArray, name || "seqs", "txt", true); - } + function saveMaterial(material){ var data = {materials:{}}; @@ -68,12 +66,6 @@ define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWra _saveFile(data, "Machine Config", "json"); } - function _getAssemblerDataToSave(){ - var assemblerData = _.omit(globals.cam.toJSON(), ["origin", "stock", "exporter", "appState", "lattice", "machine", "simLineNumber"]); - if (!globals.cam.get("editsMadeToProgram")) assemblerData.dataOut = ""; - return assemblerData; - } - function _getLatticeDataToSave(){ return lattice.getSaveJSON(); } @@ -88,10 +80,6 @@ define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWra function loadFile(data){//parsed json todo make this better - load composite - if (data.assembler) { - _loadAssembler(data.assembler); - return; - } if (!data.materials){ console.warn("no material definitions in this file"); return; @@ -116,13 +104,6 @@ define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWra } } - function _loadAssembler(data){ - require(['cam'], function(cam){ - cam.selectMachine(data); - console.log("loaded"); - }); - } - function _setData(object, data){ _.each(_.keys(data), function(key){ if (data[key] && data[key].x){//vector object @@ -152,17 +133,19 @@ define(['underscore', 'fileSaverLib', 'lattice', 'materials', 'ribbon', 'menuWra saveData(data, "script", "js"); } - - return {//return public methods + var publicMethods = {//return public methods // save: save, save: save, saveData: saveData, + generateSaveString: generateSaveString, saveMaterial: saveMaterial, saveMachineConfig: saveMachineConfig, -// saveAssembler: saveAssembler, loadFile: loadFile, - saveSequences: saveSequences, saveSTL: saveSTL, saveConsoleScript: saveConsoleScript - } + }; + + globals.set("fileSaver", publicMethods); + + return publicMethods; }); \ No newline at end of file diff --git a/js/models/Globals.js b/js/models/Globals.js index ae4f164a..eb121842 100644 --- a/js/models/Globals.js +++ b/js/models/Globals.js @@ -11,7 +11,14 @@ define(['backbone'], function(Backbone){ baseplane: null, highlighter: null, selection3D: null, - selectedRegion: null + selectedRegion: null, + fileSaver: null, + savedAssemblies:{ + element: null, + function: null, + module: null, + system: null + } }, destroySelectedRegion: function(){ @@ -22,9 +29,27 @@ define(['backbone'], function(Backbone){ destroySelection3D: function(){ if (this.get("selection3D")) this.get("selection3D").destroy(); this.set("selection3D", null); + }, + + saveHierarchicalAssembly: function(type){ + if (type == "element" || type == "function" || type == "module" || type == "system") { + var data = this.get("fileSaver").generateSaveString(); + this.get("savedAssemblies")[type] = data; + } + else console.warn("unknown type " + type); + }, + + loadHierarchicalAssembly: function(type){ + if (type == "element" || type == "function" || type == "module" || type == "system") { + var string = this.get("savedAssemblies")[type]; + if (string) this.get("fileSaver").loadFile(JSON.parse(string)); + } + else console.warn("unknown type " + type); } + + }); return new Globals(); }); \ No newline at end of file diff --git a/js/plists/MaterialsPlist.js b/js/plists/MaterialsPlist.js index 8bad2265..5467267a 100644 --- a/js/plists/MaterialsPlist.js +++ b/js/plists/MaterialsPlist.js @@ -7,12 +7,23 @@ define([], function(){ return { allMaterialClasses:{ - em: "Electro-Mechanical" + element:{ + element: "Elemental Bricks" + }, + function:{ + em: "Functional Bricks" + }, + module:{ + module: "Robotic Modules" + }, + system:{ + system: "Systems" + } }, allMaterials:{ em:{ - fiberGlass: { + insulating: { name: "Structural Insulating", color: "#8a2be2", altColor: "#8a2be2", @@ -35,7 +46,7 @@ define([], function(){ k: 30 } }, - brass:{ + conductive:{ name: "Structural Conductive", color: "#b5a642", altColor: "#857B64", @@ -93,7 +104,7 @@ define([], function(){ // }, - piezo: { + actuator: { name: "Actuator", color: "#FFCC00", altColor: "#FFCC00", @@ -159,6 +170,155 @@ define([], function(){ // k: 1000 // } //} + }, + element:{ + fiberglass: { + name: "Fiberglass", + color: "#8a2be2", + altColor: "#8a2be2", + properties:{ + conductive: false, + density: 3500,//kg/m^3 + elasMod: 17.2, + k: 500 + } + }, + rubber: { + name: "Rubber", + color: "#cda4f3", + altColor: "#cda4f3", + texture: "stripes", + properties:{ + conductive: false, + density: 3500,//kg/m^3 + elasMod: 0.01, + k: 30 + } + }, + brass:{ + name: "Brass", + color: "#b5a642", + altColor: "#857B64", + properties:{ + conductive: true, + density: 8500,//kg/m^3 + elasMod: 1000,//Gpascals (kg/(s^2*m)/10000000000) + k: 500 + } + }, + alum:{ + name: "Aluminum", + color: "#9CC9CB", + altColor: "#9CC9CB", + properties:{ + conductive: true, + density: 8500,//kg/m^3 + elasMod: 1000,//Gpascals (kg/(s^2*m)/10000000000) + k: 1000 + } + }, + heatResist: { + name: "Kapton", + color: "#9CC9CB", + altColor: "#9CC9CB", + properties:{ + conductive: false, + density: 500,//kg/m^3 + elasMod: 17.2 + } + }, + carbon: { + name: "Resistive", + color: "#222", + altColor: "#000", + properties:{ + conductive: false, + density: 500,//kg/m^3 + elasMod: 181, + k: 1000 + } + }, + piezo: { + name: "Piezo", + color: "#FFCC00", + altColor: "#FFCC00", + properties:{ + conductive: false, + density: 6500,//kg/m^3 + elasMod: 50, + k: 200 + } + }, + nmos: { + name: "NMOS", + color: "#F99987", + altColor: "#F99987", + properties:{ + conductive: false, + density: 6500,//kg/m^3 + elasMod: 50, + k: 1000 + } + }, + pmos: { + name: "PMOS", + color: "#0EE3B8", + altColor: "#0EE3B8", + properties:{ + conductive: false, + density: 6500,//kg/m^3 + elasMod: 50, + k: 1000 + } + }, + diode: { + name: "Diode", + color: "#dfccaf", + altColor: "#dfccaf", + properties:{ + conductive: false, + density: 6500,//kg/m^3 + elasMod: 50, + k: 1000 + } + }, + zener: { + name: "Zener Diode", + color: "#bf390b", + altColor: "#bf390b", + properties:{ + conductive: false, + density: 6500,//kg/m^3 + elasMod: 50, + k: 1000 + } + } + }, + module: { + diode: { + name: "Diode", + color: "#dfccaf", + altColor: "#dfccaf", + properties: { + conductive: false, + density: 6500,//kg/m^3 + elasMod: 50, + k: 1000 + } + } + }, + system: { + zener: { + name: "Zener Diode", + color: "#bf390b", + altColor: "#bf390b", + properties:{ + conductive: false, + density: 6500,//kg/m^3 + elasMod: 50, + k: 1000 + } + } } } } diff --git a/js/plists/PList.js b/js/plists/PList.js index d575676c..92cc60b1 100644 --- a/js/plists/PList.js +++ b/js/plists/PList.js @@ -92,8 +92,7 @@ define(['three'], function(THREE){ } }, - allCellModes:{//supercell, cell, part, node, beam - supercell: "Hierarchical Mode (H)", + allCellModes:{//cell, part cell: "Voxel Mode (V)", part: "Part Mode (P)", hide: "Hide Cells (O)" diff --git a/js/simulation/EM/emSimCell.js b/js/simulation/EM/emSimCell.js index bed60f2c..1ffeff7e 100644 --- a/js/simulation/EM/emSimCell.js +++ b/js/simulation/EM/emSimCell.js @@ -159,7 +159,7 @@ define(["underscore", "cell", "lattice", "plist", "three"], }; DMACell.prototype.isAcutator = function(){ - return this.getMaterialID() == "piezo"; + return this.getMaterialID() == "actuator"; }; DMACell.prototype.isSignalGenerator = function(){ @@ -202,8 +202,8 @@ define(["underscore", "cell", "lattice", "plist", "three"], return this.getMaterial().isConductive(); }; - EMSimCell.prototype.isPiezo = function(){ - return this.cell.getMaterialID() == "piezo"; + EMSimCell.prototype.isActuator = function(){ + return this.cell.getMaterialID() == "actuator"; }; EMSimCell.prototype.setNominalSize = function(size){ -- GitLab