diff --git a/css/main.css b/css/main.css index e51bab1119a48db2a47c7a78688278e7bfae7d6e..0bf4b6fd90254610a1cd062ffea87a7cd052d334 100644 --- a/css/main.css +++ b/css/main.css @@ -8,6 +8,10 @@ html, body { height: 100%; } +.checkbox input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked, .radio input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked, .checkbox input[type="radio"].custom-radio:checked + .icons .icon-checked, .radio input[type="radio"].custom-radio:checked + .icons .icon-checked { + color: #888; +} + .navbar { margin-bottom:0; z-index: 2; @@ -332,4 +336,25 @@ label { overflow: hidden; text-overflow: ellipsis; -o-text-overflow: ellipsis; +} + +.materialColorSwatch{ + height: 30px; + width: 100%; +} +.materialColorSwatch>div { + width: 30px; + height: 30px; + display: inline-block; + margin-right: 10px; +} + +.materialColorSwatch>span{ + display: inline-block; + vertical-align: middle; + padding-bottom: 20px; +} + +label.colorSwatches>span.icons{ + margin: 5px 0; } \ No newline at end of file diff --git a/js/cells/supercells/GIKSuperCell.js b/js/cells/supercells/GIKSuperCell.js index 65c5e454ad8fe7cc92631d94cc5f0ee9c604ae50..c6f34311df14165ed3ca204f4c6709f446ebce5f 100644 --- a/js/cells/supercells/GIKSuperCell.js +++ b/js/cells/supercells/GIKSuperCell.js @@ -3,9 +3,6 @@ */ -var cellBrassMaterial = new THREE.MeshLambertMaterial({color:"#b5a642"}); -var cellFiberGlassMaterial = new THREE.MeshLambertMaterial({color:"#fff68f"}); - GIKSuperCell = function(length, range, cells){ if (range) this.indices = _.clone(range.max); this.material = globals.lattice.get("materialType"); @@ -60,9 +57,8 @@ GIKSuperCell.prototype._buildWireframe = function(mesh){ }; GIKSuperCell.prototype.getMaterial = function(){ - var material = cellBrassMaterial; - if (this.material == "fiberGlass") material = cellFiberGlassMaterial; - return material; + var material = globals.plist.allMaterialTypes[globals.lattice.get("cellType")][globals.lattice.get("connectionType")][globals.lattice.get("materialType")]; + return new THREE.MeshLambertMaterial({color:material.color}); }; GIKSuperCell.prototype.setMode = function(mode){ diff --git a/js/menus/PartMenuView.js b/js/menus/PartMenuView.js index 79f5ac507d2d623a6fa199f60e126a1ff5c618ea..03050fe082f03062d7105c0c8c3aba73b4a02283 100644 --- a/js/menus/PartMenuView.js +++ b/js/menus/PartMenuView.js @@ -41,26 +41,19 @@ PartMenuView = Backbone.View.extend({ <br/><br/>--><br/>\ <% if (allMaterialTypes[cellType][connectionType]){ %> \ Materials:<br/>\ - <label class="checkbox" for="realisticColorScheme">\ - <input id="realisticColorScheme" data-property="realisticColorScheme" type="checkbox" <% if (realisticColorScheme){ %> checked="checked"<% } %> value="" data-toggle="checkbox" class="appState custom-checkbox">\ - <span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>\ - Use realistic color scheme</label><br/>\ - \ <% _.each(_.keys(allMaterialTypes[cellType][connectionType]), function(key){ %>\ - <label class="radio">\ + <label class="radio colorSwatches">\ <input type="radio" <%if (key == materialType){ %>checked<%}%> name="materialType" value="<%= key %>" data-toggle="radio" class="custom-radio lattice"><span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>\ - <%= allMaterialTypes[cellType][connectionType][key].name %>\ + <div class="materialColorSwatch">\ + <div style="background-color:<%= allMaterialTypes[cellType][connectionType][key].color %>"></div>\ + <span><%= allMaterialTypes[cellType][connectionType][key].name %></span></div>\ </label>\ <% }); %>\ - <br/><br/>\ - <div class="btn-group">\ - <button data-toggle="dropdown" class="btn dropdown-toggle" type="button"><%= allMaterialTypes[cellType][connectionType][materialType].name %><span class="caret"></span></button>\ - <ul role="menu" class="dropdown-menu">\ - <% _.each(_.keys(allMaterialTypes[cellType][connectionType]), function(key){ %>\ - <li><a class="materialType" data-type="<%= key %>" href="#"><%= allMaterialTypes[cellType][connectionType][key].name %></a></li>\ - <% }); %>\ - </ul>\ - </div><br/><br/>\ + <br/>\ + <label class="checkbox" for="realisticColorScheme">\ + <input id="realisticColorScheme" data-property="realisticColorScheme" type="checkbox" <% if (realisticColorScheme){ %> checked="checked"<% } %> value="" data-toggle="checkbox" class="appState custom-checkbox">\ + <span class="icons"><span class="icon-unchecked"></span><span class="icon-checked"></span></span>\ + Use realistic color scheme</label>\ <% } %>\ <br/>\ ') diff --git a/js/models/AllAppPLists.js b/js/models/AllAppPLists.js index b08441dc90f221024041e17477358e74d05200a3..c4f7e6da524f68fd9ddad01befb830b354ca0a59 100644 --- a/js/models/AllAppPLists.js +++ b/js/models/AllAppPLists.js @@ -91,11 +91,23 @@ function AppPList(){ gik: { brass:{ name: "Brass", - color: "#b5a642" + color: "#b5a642", + altColor: "#e67e22" }, fiberGlass: { name: "Fiberglass", - color: "#fef1b5" + color: "#fef1b5", + altColor: "#ecf0f1" + }, + carbonFiber: { + name: "Carbon Fiber", + color: "#222", + altColor: "#000" + }, + silicon: { + name: "Silicon", + color: "#bcc6cc", + altColor: "#34495e" } } },