-
Amanda Ghassaei authoredAmanda Ghassaei authored
main.js 11.89 KiB
/**
* Created by aghassaei on 1/7/15.
*/
require.config({
baseUrl: 'js',
paths: {
jquery: '../dependencies/jquery-2.1.3',
underscore: '../dependencies/underscore',
backbone: '../dependencies/backbone',
flatUI: '../dependencies/flatUI/js/flat-ui',
bootstrapSlider: '../dependencies/bootstrap-slider/bootstrap-slider',
fileSaverLib: '../dependencies/loaders/FileSaver.min',
numeric: '../dependencies/numeric-1.2.6',
codeMirrorJS: '../dependencies/codemirror/javascript',
codeMirror: '../dependencies/codemirror/codemirror',
text: '../dependencies/require/text',
bin: '../dependencies/require/bin',
//three
three: '../dependencies/three',
orbitControls: '../dependencies/OrbitControls',
stlLoader: '../dependencies/loaders/STLLoader',
stlExport: '../dependencies/loaders/binary_stl_writer',
threeModel: 'three/ThreeModel',
threeView: 'three/ThreeView',
fillGeometry: 'three/FillGeometry',
axes: 'three/Axes',
svgRenderer: '../dependencies/svgRenderer',
threeProjector: '../dependencies/Projector',
//plist
plist: 'plists/PList',
//models
globals: 'models/Globals',
appState: 'models/AppState',
fileSaver: 'models/FileSaver',
dnaExport: 'dnaExport/dnaExport',
//communication
socketio: '../dependencies/socket.io-1.3.5',
serialComm: 'models/SerialComm',
commPlist: 'plists/CommPlist',
machineState: 'models/MachineState',
//lattice classes and extra methods
latticeBase: 'lattice/LatticeBase',
lattice: 'lattice/Lattice',
compositeEditorLattice: 'lattice/CompositeEditorLattice',
latticeImportGeo: 'lattice/ImportGeo',
latticeCAM: 'lattice/LatticeCAM',
//lattice "subclasses"
cubeLattice: 'lattice/latticeSubclasses/CubeLattice',
gikLattice: 'lattice/latticeSubclasses/GIKLattice',
kelvinLattice: 'lattice/latticeSubclasses/KelvinLattice',
octaEdgeLattice: 'lattice/latticeSubclasses/OctaEdgeLattice',
octaFaceLattice: 'lattice/latticeSubclasses/OctaFaceLattice',
octaRotEdgeLattice: 'lattice/latticeSubclasses/OctaRotEdgeLattice',
octaVertexLattice: 'lattice/latticeSubclasses/OctaVertexLattice',
truncatedCubeLattice: 'lattice/latticeSubclasses/TruncatedCubeLattice',
tetraStackedLattice: 'lattice/latticeSubclasses/TetraStackedLattice',
tetraVertexLattice: 'lattice/latticeSubclasses/TetraVertexLattice',
hexLattice: 'lattice/latticeSubclasses/HexagonalLattice',
hexRotLattice: 'lattice/latticeSubclasses/HexagonalRotLattice',
//baseplane
baseplane: 'baseplane/BasePlane',
squareBaseplane: 'baseplane/SquareBasePlane',
octaBaseplane: 'baseplane/OctaBasePlane',
rotEdgeOctaBaseplane: 'baseplane/RotEdgeOctaBasePlane',
hexBaseplane: 'baseplane/HexagonalBasePlane',
hexRotBasePlane: 'baseplane/HexagonalRotBasePlane',
//highlighter
highlighter: 'highlighter/Highlighter',
defaultHighlighter: 'highlighter/DefaultHighlighter',
cubeHighlighter: 'highlighter/CubeHighlighter',
superCellHighlighter: 'highlighter/SuperCellHighlighter',
octaFaceHighlighter: 'highlighter/OctaFaceHighlighter',
truncatedCubeHighlighter: 'highlighter/TruncatedCubeHighlighter',
//cells
cell: 'cells/DMACell',
octaFaceCell: 'cells/OctaFaceCell',
octaEdgeCell: 'cells/OctaEdgeCell',
octaVertexCell: 'cells/OctaVertexCell',
octaRotEdgeCell: 'cells/OctaRotEdgeCell',
tetraStackedCell: 'cells/TetraStackedCell',
tetraVertexCell: 'cells/TetraVertexCell',
truncatedCubeCell: 'cells/TruncatedCubeCell',
kelvinCell: 'cells/KelvinCell',
cubeCell: 'cells/CubeCell',
gikCell: 'cells/GIKCell',
superCell: 'cells/supercells/DMASuperCell',
gikSuperCell: 'cells/supercells/GIKSuperCell',
compositeCell: "cells/supercells/CompositeCell",
hexCell: 'cells/HexagonalCell',
hexRotCell: 'cells/HexagonalRotCell',
dnaBrickCell: 'cells/DNABrickCell',
//parts
part: 'parts/DMAPart',
octaFaceTriPart: 'parts/OctaFaceTriPart',
octaEdgeVoxPart: 'parts/OctaEdgeVoxPart',
octaEdgeVoxPartLowPoly: 'parts/OctaEdgeVoxPartLowPoly',
gikPart: 'parts/GIKPart',
gikPartLowPoly: 'parts/GIKPartLowPoly',
kennyTeqPart: 'parts/KennyTeqPart',
kennyTeqHighResPart: 'parts/KennyTeqHighResPart',
samTeqPart: 'parts/SamTeqPart',
legoPart: 'parts/LegoPart',
dnaStraightPart: 'parts/DNAStraightPart',
dnaLegoPart: 'parts/DNALegoPart',
//materials
materialsPlist: 'plists/MaterialsPlist',
materials: 'materials/DMAMaterials',
material: 'materials/DMAMaterial',
compositeMaterial: 'materials/DMACompositeMaterial',
//UI
navbar: 'menus/Navbar',
navViewMenu: 'menus/NavViewMenu',//view dropdown
ribbon: 'menus/Ribbon',
modalView: 'menus/ModalView',
contextMenu: 'menus/contextMenu/ContextMenu',
menuWrapper: 'menus/MenuWrapperView',
menuParent: 'menus/MenuParentView',
latticeMenu: 'menus/LatticeMenuView',
importMenu: 'menus/ImportMenuView',
partMenu: 'menus/PartMenuView',
scriptMenu: 'menus/ScriptMenuView',
materialMenu: 'menus/MaterialMenuView',
materialPropertiesMenu: 'menus/MaterialPropertiesMenuView',
optimizeMenu: 'menus/OptimizationMenuView',
assemblerMenu: 'menus/AssemblerMenuView',
camMenu: 'menus/CamMenuView',
editCamOutputMenu: 'menus/EditCamOutputMenuView',
animateMenu: 'menus/AnimationMenuView',
sendMenu: 'menus/SendMenuView',
compositeMenu: 'menus/CompositeMenuView',
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',
dnaSetupMenu: 'menus/DNASimSetupMenuView',
dnaExportMenu: 'menus/DNAExportMenuView',
assemblerSetupMenu: 'menus/AssemblerSetupMenuView',
editComponentMenu: 'menus/EditComponentMenuView',
commParentMenu: 'menus/CommParentMenu',
serialMonitorController: 'SerialMonitor/SerialMonitorController',
//templates
navViewMenuTemplate: 'menus/templates/NavViewMenu.html',
ribbonTemplate: 'menus/templates/Ribbon.html',
modalViewTemplate: 'menus/templates/ModalView.html',
scriptView: 'menus/ScriptView',
menuWrapperTemplate: 'menus/templates/MenuWrapperView.html',
latticeMenuTemplate: 'menus/templates/LatticeMenuView.html',
importMenuTemplate: 'menus/templates/ImportMenuView.html',
partMenuTemplate: 'menus/templates/PartMenuView.html',
scriptMenuTemplate: 'menus/templates/ScriptMenuView.html',
materialMenuTemplate: 'menus/templates/MaterialMenuView.html',
optimizeMenuTemplate: 'menus/templates/OptimizationMenuView.html',
assemblerMenuTemplate: 'menus/templates/AssemblerMenuView.html',
camMenuTemplate: 'menus/templates/CamMenuView.html',
editCamOutputMenuTemplate: 'menus/templates/EditCamOutputMenuView.html',
animationMenuTemplate: 'menus/templates/AnimationMenuView.html',
sendMenuTemplate: 'menus/templates/SendMenuView.html',
compositeMenuTemplate: 'menus/templates/CompositeMenuView.html',
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',
assemblerSetupMenuTemplate: 'menus/templates/AssemblerSetupMenuView.html',
editComponentMenuTemplate: 'menus/templates/EditComponentMenuView.html',
//electronic sim
eSimPlist: 'plists/ESimPlist',
eSim: 'simulation/electronics/eSim',
latticeESim: 'simulation/electronics/LatticeEsim',
eSimCell: 'simulation/electronics/cells/eSimCell',
eSimSuperCell: 'simulation/electronics/cells/eSimSuperCell',
eSimField: 'simulation/electronics/eSimField',
//cam
cam: 'cam/Cam',
camPlist: 'plists/CamPList',
//assemblers
assembler: 'cam/assemblers/Assembler',
assemblerPost: 'cam/assemblers/AssemblerPost',
component: 'cam/assemblers/Component',
stockComponent: 'cam/assemblers/StockComponent',
urdfJoint: 'cam/assemblers/URDFJoint',
urdfLink: 'cam/assemblers/URDfLink',
//processes
gcode: 'cam/processes/GCodeExporter',
shopbot: 'cam/processes/ShopbotExporter',
tinyG: 'cam/processes/TinyGExporter',
//stls (not sure why ../ is not working here?)
octaFaceTrianglePartSTL: 'assets/stls/parts/OctaFaceTrianglePart.stl',
octaEdgeVoxPartSTL: 'assets/stls/parts/OctaEdgeVoxPart.stl',
octaEdgeVoxPartLowPolySTL: 'assets/stls/parts/OctaEdgeVoxPartLowPoly.stl',
gikPartSTL: 'assets/stls/parts/GIKPart.stl',
gikEndPartSTL: 'assets/stls/parts/GIKEndPart.stl',
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',
legoBrickSTL: 'assets/stls/parts/legoBrick1x1.stl',
dnaLegoBrickSTL: 'assets/stls/parts/DNALegoBrick1x2.stl',
dnaLegoBrick1x1STL: 'assets/stls/parts/DNALegoBrick1x1.stl'
},
shim: {
three: {
exports: 'THREE'
},
orbitControls: {
deps: ['three'],
exports: 'THREE'
},
stlLoader: {
deps: ['three'],
exports: 'THREE'
},
stlExport: {
exports: 'geometryToSTLBin'
},
threeProjector: {
deps: ['three'],
exports: "THREE"
},
svgRenderer: {
deps: ['three', 'threeProjector'],
exports: "THREE.SVGRenderer"
},
fileSaverLib: {
exports: 'saveAs'
},
flatUI: {
deps: ['jquery']
},
bootstrapSlider:{
deps: ['jquery'],
exports: '$'
},
'socketio': {
exports: 'io'
},
'numeric': {
exports: 'numeric'
}
}
});
//require.onError = function (err) {
// console.log(err.requireType);
// console.log(err.requireModules);
// throw err;
//};
//init stuff
require(['appState', 'lattice', 'navbar', 'threeModel', 'threeView', 'globals', 'flatUI', 'bootstrapSlider', 'ribbon', 'menuWrapper', 'scriptView', 'contextMenu'],
function(appState, lattice, Navbar, three, ThreeView, globals){
new Navbar({model:appState});
var threeView = new ThreeView({model:three});
globals.threeView = threeView;//todo fix this
// three.startAnimationLoop();
// if (lattice.get("connectionType") != "gik") lattice.getUItarget().addCellAtIndex({x:0,y:0,z:0});//add a cell
});