diff --git a/assets/stls/parts/KennyTeqPart.stl b/assets/stls/parts/KennyTeqPart.stl index 40ca3198b63cd714c64d3098fd26ae7ba5827a98..47baebcb3c62f2ea96c239360b9db69df6888499 100644 Binary files a/assets/stls/parts/KennyTeqPart.stl and b/assets/stls/parts/KennyTeqPart.stl differ diff --git a/assets/stls/parts/KennyTeqPartHighRes.stl b/assets/stls/parts/KennyTeqPartHighRes.stl new file mode 100644 index 0000000000000000000000000000000000000000..40ca3198b63cd714c64d3098fd26ae7ba5827a98 Binary files /dev/null and b/assets/stls/parts/KennyTeqPartHighRes.stl differ diff --git a/assets/stls/parts/SamTeqPart.stl b/assets/stls/parts/SamTeqPart.stl new file mode 100644 index 0000000000000000000000000000000000000000..be518a5c14f8aa61b0c6687367359a723d042957 Binary files /dev/null and b/assets/stls/parts/SamTeqPart.stl differ diff --git a/js/cells/DMACell.js b/js/cells/DMACell.js index a389c5e7db1632cfdcf1c467cd55b2663aa17acc..1cd5112840a6008eb2d280b03cf7d34c5e7d1383 100644 --- a/js/cells/DMACell.js +++ b/js/cells/DMACell.js @@ -284,11 +284,12 @@ define(['underscore', 'three', 'threeModel', 'lattice', 'appState', 'globals', ' if (child.name == "object3D") return; child.visible = visible && (child.name == mode); }); - + console.log(self.object3D.children); if (callback) { callback(); return; } + if (!self.superCell) three.conditionalRender(); } }; diff --git a/js/cells/OctaVertexCell.js b/js/cells/OctaVertexCell.js index 791a80ddd92d84747223f292074dca5ed852b6e2..93bd88688e11c4fb2df7bd5b2538a9454f766696 100644 --- a/js/cells/OctaVertexCell.js +++ b/js/cells/OctaVertexCell.js @@ -19,11 +19,7 @@ define(['underscore', 'three', 'threeModel', 'lattice', 'appState', 'cell'], OctaVertexCell.prototype._initParts = function(callback){ var self = this; - var type = lattice.get("partType"); - if (type == "kennyTeq") type = "kennyTeqPart"; - else console.warn("no part type " + type); - - require([type], function(PartClass){ + require([lattice.get("partType") + "Part"], function(PartClass){ var parts = []; for (var i=0;i<3;i++){ parts.push(new PartClass(0, self)); diff --git a/js/main.js b/js/main.js index 297c79074eb1b68dca4afe1996757297a1b7720b..f8ba4ef35e78368424788dfdb18c83a6ad51e7bc 100644 --- a/js/main.js +++ b/js/main.js @@ -88,6 +88,8 @@ require.config({ gikPart: 'parts/GIKPart', gikPartLowPoly: 'parts/GIKPartLowPoly', kennyTeqPart: 'parts/KennyTeqPart', + kennyTeqHighResPart: 'parts/KennyTeqHighResPart', + samTeqPart: 'parts/SamTeqPart', //materials materials: 'materials/DMAMaterials', @@ -151,6 +153,8 @@ require.config({ gikPartLowPolySTL: 'assets/stls/parts/GIKPartLowPoly.stl', gikEndPartLowPolySTL: 'assets/stls/parts/GIKEndPartLowPoly.stl', kennyTeqPartSTL: 'assets/stls/parts/KennyTeqPart.stl', + kennyTeqPartHighResSTL: 'assets/stls/parts/KennyTeqPartHighRes.stl', + samTeqPartSTL: 'assets/stls/parts/SamTeqPart.stl', crabSTL: 'assets/stls/crab/crab.stl' }, diff --git a/js/models/PList.js b/js/models/PList.js index e76b6017f0c5e2b3c656ec4d14149ef466fe6099..2c236ee76f0ffc9738fe0c9cc80c4336db678c07 100644 --- a/js/models/PList.js +++ b/js/models/PList.js @@ -61,8 +61,9 @@ define(['three'], function(THREE){ voxLowPoly: "Snap Voxel (low res)" }, vertex: { - kennyTeq: "Kenny Teq" -// square:"Square", + kennyTeq: "Kenny Teq", + kennyTeqHighRes: "Kenny Teq (High Res)", + samTeq: "Square" // xShape:"X" } }, @@ -74,7 +75,7 @@ define(['three'], function(THREE){ } }, truncatedCube: { - face: null,//{ + face: null//{ // square:"Square", // xShape:"X" // } diff --git a/js/parts/GIKPart.js b/js/parts/GIKPart.js index d7bf74e6763357749a3b78c2dc8a55fc2501367a..9f2fca8ff479cf1157df686a98a2dcade49e1f7f 100644 --- a/js/parts/GIKPart.js +++ b/js/parts/GIKPart.js @@ -3,7 +3,7 @@ */ -define(['underscore', 'three', 'part', 'bin!gikPartSTL', 'bin!gikEndPartSTL', 'stlLoader'], function(_, THREE, DMAPart, gikPart, gikEndPart){ +define(['underscore', 'stlLoader', 'part', 'bin!gikPartSTL', 'bin!gikEndPartSTL'], function(_, THREE, DMAPart, gikPart, gikEndPart){ var loader = new THREE.STLLoader(); var unitGeo = preProcessGeo(loader.parse(gikPart)); diff --git a/js/parts/GIKPartLowPoly.js b/js/parts/GIKPartLowPoly.js index 6eed63b9ed06b51fcda0988a26816e948b23105a..90a9875f69185f958bc6e4efe51fbc1e5c312ae7 100644 --- a/js/parts/GIKPartLowPoly.js +++ b/js/parts/GIKPartLowPoly.js @@ -4,7 +4,7 @@ -define(['underscore', 'three', 'gikPart', 'bin!gikPartLowPolySTL', 'bin!gikEndPartLowPolySTL', 'stlLoader'], function(_, THREE, GIKPart, gikPartLowPoly, gikEndPartLowPoly){ +define(['underscore', 'stlLoader', 'gikPart', 'bin!gikPartLowPolySTL', 'bin!gikEndPartLowPolySTL'], function(_, THREE, GIKPart, gikPartLowPoly, gikEndPartLowPoly){ var loader = new THREE.STLLoader(); var unitGeo = preProcessGeo(loader.parse(gikPartLowPoly)); diff --git a/js/parts/KennyTeqHighresPart.js b/js/parts/KennyTeqHighresPart.js new file mode 100644 index 0000000000000000000000000000000000000000..f47dbce44a72c518644f66129da8a5aa5d40e1bc --- /dev/null +++ b/js/parts/KennyTeqHighresPart.js @@ -0,0 +1,22 @@ +/** + * Created by aghassaei on 6/29/15. + */ + +define(['underscore', 'stlLoader', 'part', 'bin!kennyTeqPartHighResSTL'], function(_, THREE, DMAPart, stl){ + + var loader = new THREE.STLLoader(); + var unitGeo = loader.parse(stl); + var unitScale = 1/6.9597; + unitGeo.applyMatrix(new THREE.Matrix4().makeScale(unitScale, unitScale, unitScale)); + + function PartSubclass(type, parent){ + DMAPart.call(this, type, parent); + } + PartSubclass.prototype = Object.create(DMAPart.prototype); + + PartSubclass.prototype._getGeometry = function(){ + return unitGeo; + }; + + return PartSubclass; +}); \ No newline at end of file diff --git a/js/parts/KennyTeqPart.js b/js/parts/KennyTeqPart.js index 2e801c055a2aef9a84a850dbe5fd1334ecd95ca2..402c92a02bfe3e2bedb9af316242cd778283fe17 100644 --- a/js/parts/KennyTeqPart.js +++ b/js/parts/KennyTeqPart.js @@ -2,21 +2,21 @@ * Created by aghassaei on 6/26/15. */ -define(['underscore', 'three', 'part', 'bin!kennyTeqPartSTL', 'stlLoader'], function(_, THREE, DMAPart, kennyPart){ +define(['underscore', 'stlLoader', 'part', 'bin!kennyTeqPartSTL'], function(_, THREE, DMAPart, stl){ var loader = new THREE.STLLoader(); - var unitGeo = loader.parse(kennyPart); + var unitGeo = loader.parse(stl); var unitScale = 1/6.9597; unitGeo.applyMatrix(new THREE.Matrix4().makeScale(unitScale, unitScale, unitScale)); - function KennyTeqPart(type, parent){ + function PartSubclass(type, parent){ DMAPart.call(this, type, parent); } - KennyTeqPart.prototype = Object.create(DMAPart.prototype); + PartSubclass.prototype = Object.create(DMAPart.prototype); - KennyTeqPart.prototype._getGeometry = function(){ + PartSubclass.prototype._getGeometry = function(){ return unitGeo; }; - return KennyTeqPart; + return PartSubclass; }); \ No newline at end of file diff --git a/js/parts/OctaEdgeVoxPart.js b/js/parts/OctaEdgeVoxPart.js index 96965123377d3371c2b062d80d2edd229d04e802..7cb024acbcedba747d337ff0ce1cb9aed42961c0 100644 --- a/js/parts/OctaEdgeVoxPart.js +++ b/js/parts/OctaEdgeVoxPart.js @@ -2,7 +2,7 @@ * Created by aghassaei on 5/26/15. */ -define(['underscore', 'three', 'part', 'bin!octaEdgeVoxPartSTL', 'stlLoader'], function(_, THREE, DMAPart, voxPart){ +define(['underscore', 'stlLoader', 'part', 'bin!octaEdgeVoxPartSTL'], function(_, THREE, DMAPart, voxPart){ var loader = new THREE.STLLoader(); var unitGeo = loader.parse(voxPart); diff --git a/js/parts/OctaEdgeVoxPartLowPoly.js b/js/parts/OctaEdgeVoxPartLowPoly.js index 90580fe3dc5d335a7af0d76936568c72f7df4de0..6434e9b32b65fe5fde684ceeb23a4e94c3d21f14 100644 --- a/js/parts/OctaEdgeVoxPartLowPoly.js +++ b/js/parts/OctaEdgeVoxPartLowPoly.js @@ -3,7 +3,7 @@ */ -define(['underscore', 'three', 'part', 'bin!octaEdgeVoxPartLowPolySTL', 'stlLoader'], function(_, THREE, DMAPart, voxLowPoly){ +define(['underscore', 'stlLoader', 'part', 'bin!octaEdgeVoxPartLowPolySTL'], function(_, THREE, DMAPart, voxLowPoly){ var loader = new THREE.STLLoader(); var unitGeo = loader.parse(voxLowPoly); diff --git a/js/parts/OctaFaceTriPart.js b/js/parts/OctaFaceTriPart.js index b9c63dc7ec72b8ee4a8c39a6dbef7c9fd3c83171..da92e1a91622f398d8c06d4c1194dd05f74f7eab 100644 --- a/js/parts/OctaFaceTriPart.js +++ b/js/parts/OctaFaceTriPart.js @@ -3,7 +3,7 @@ */ -define(['underscore', 'three', 'part', 'bin!octaFaceTrianglePartSTL', 'stlLoader'], function(_, THREE, DMAPart, trianglePart){ +define(['underscore', 'stlLoader', 'part', 'bin!octaFaceTrianglePartSTL'], function(_, THREE, DMAPart, trianglePart){ var loader = new THREE.STLLoader(); var unitGeo = loader.parse(trianglePart); diff --git a/js/parts/OctaSquarePart.js b/js/parts/OctaSquarePart.js deleted file mode 100644 index 3a69655c88c371a20fe62e547001ccf24a03ab85..0000000000000000000000000000000000000000 --- a/js/parts/OctaSquarePart.js +++ /dev/null @@ -1,3 +0,0 @@ -/** - * Created by aghassaei on 5/26/15. - */ diff --git a/js/parts/OctaXPart.js b/js/parts/OctaXPart.js deleted file mode 100644 index 3a69655c88c371a20fe62e547001ccf24a03ab85..0000000000000000000000000000000000000000 --- a/js/parts/OctaXPart.js +++ /dev/null @@ -1,3 +0,0 @@ -/** - * Created by aghassaei on 5/26/15. - */ diff --git a/js/parts/SamTeqPart.js b/js/parts/SamTeqPart.js new file mode 100644 index 0000000000000000000000000000000000000000..ff682892b053a128c86c05e4d38e1cefe08bbd13 --- /dev/null +++ b/js/parts/SamTeqPart.js @@ -0,0 +1,23 @@ +/** + * Created by aghassaei on 6/26/15. + */ + + +define(['underscore', 'stlLoader', 'part', 'bin!samTeqPartSTL'], function(_, THREE, DMAPart, stl){ + + var loader = new THREE.STLLoader(); + var unitGeo = loader.parse(stl); + var unitScale = Math.sqrt(2); + unitGeo.applyMatrix(new THREE.Matrix4().makeScale(unitScale, unitScale, unitScale)); + + function PartSubclass(type, parent){ + DMAPart.call(this, type, parent); + } + PartSubclass.prototype = Object.create(DMAPart.prototype); + + PartSubclass.prototype._getGeometry = function(){ + return unitGeo; + }; + + return PartSubclass; +}); \ No newline at end of file