Skip to content
Snippets Groups Projects
main.js 3.11 KiB
Newer Older
Amanda Ghassaei's avatar
Amanda Ghassaei committed
/**
 * Created by aghassaei on 1/7/15.
 */

Amanda Ghassaei's avatar
Amanda Ghassaei committed
requirejs.config({
    baseUrl: 'js',
    paths: {
        jquery: 'dependencies/jquery-2.1.3',
        underscore: 'dependencies/underscore',
        backbone: 'dependencies/backbone',
        flatUI: 'dependencies/flatUI/js/flat-ui',
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        fileSaverLib: 'dependencies/loaders/FileSaver.min',

        //three
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        three: 'dependencies/three',
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        orbitControls: 'dependencies/OrbitControls',
        threeModel: 'three/ThreeModel',
        threeView: 'three/ThreeView',
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        //models
        plist: 'models/PList',
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        appState: 'models/AppState',
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        lattice: 'lattice/Lattice',
        fileSaver: 'models/FileSaver',
Amanda Ghassaei's avatar
Amanda Ghassaei committed

        //UI
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        navbar: 'menus/Navbar',
        navViewMenu: 'menus/NavViewMenu',//view dropdown
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        ribbon: 'menus/Ribbon',
        menuWrapper: 'menus/MenuWrapperView',
        menuParent: 'menus/MenuParentView',
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        latticeMenu: 'menus/LatticeMenuView',
        importMenu: 'menus/LatticeMenuView',
        partMenu: 'menus/PartMenuView',
        scriptMenu: 'menus/ScriptMenuView',
        physicsMenu: 'menus/PhysicsMenuView',
        materialMenu: 'menus/MaterialMenuView',
        optimizeMenu: 'menus/OptimizationMenuView',
        assemblerMenu: 'menus/AssemblerMenuView',
        camMenu: 'menus/CamMenuView',
        animateMenu: 'menus/AnimationMenuView',
        sendMenu: 'menus/SendMenuView'


Amanda Ghassaei's avatar
Amanda Ghassaei committed
    },
    shim: {
        three: {
            exports: 'THREE'
Amanda Ghassaei's avatar
Amanda Ghassaei committed
        },
        orbitControls: {
            deps: ['three'],
            exports: 'THREE'
        },
        fileSaverLib: {
            exports: 'saveAs'
        },
        flatUI: {
            deps: ['jquery']
Amanda Ghassaei's avatar
Amanda Ghassaei committed

Amanda Ghassaei's avatar
Amanda Ghassaei committed
//init stuff
requirejs(['appState', 'lattice', 'menuWrapper', 'navbar', 'ribbon', 'threeModel', 'threeView', 'flatUI'],
Amanda Ghassaei's avatar
Amanda Ghassaei committed
    function(appState, lattice, MenuWrapper, Navbar, Ribbon, three, ThreeView){
Amanda Ghassaei's avatar
Amanda Ghassaei committed

    new MenuWrapper({model:appState});
    new Navbar({model:appState});
Amanda Ghassaei's avatar
Amanda Ghassaei committed
    new Ribbon({model:appState});
Amanda Ghassaei's avatar
Amanda Ghassaei committed

    new ThreeView({model:three});

//    if (lattice.get("connectionType") != "gik") lattice.addCellAtIndex({x:0,y:0,z:0});//add a cell
Amanda Ghassaei's avatar
Amanda Ghassaei committed
});
Amanda Ghassaei's avatar
Amanda Ghassaei committed
//setup persistent global variables
//if (typeof globals === "undefined") globals = {};
//
//
//$(function(){
//
//    //init web workers
////    window.workers = persistentWorkers(8);
//
//    //init global singletons
//    globals.three = ThreeModel();
//    globals.plist = AppPList();
//    globals.appState = new AppState();
//    globals.lattice = new Lattice();
//    globals.basePlane = null;
//    globals.highlighter = null;
//    globals.lattice.delayedInit();//todo need this?
//    globals.cam = new Cam({appState: globals.appState});
//    globals.fileSaver = GlobalFilesaver();
//
//    //ui
//    new MenuWrapper({model: globals.appState});
//    new NavBar({model:globals.appState});
//    new Ribbon({model:globals.appState});
//    new ScriptView({model:globals.appState});
//
//    //threeJS View
//    new ThreeView({model:globals.three});
//
//    if (globals.lattice.get("connectionType") != "gik") globals.lattice.addCellAtIndex({x:0,y:0,z:0});//add a cell
//
////    return {globals:globals};
//});