UNPKG

glam

Version:

Experimental WebGL Engine

76 lines (48 loc) 1.93 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createScene; var _remove = require('./node/remove'); var _remove2 = _interopRequireDefault(_remove); var _add = require('./node/add'); var _add2 = _interopRequireDefault(_add); var _children = require('./node/children'); var _children2 = _interopRequireDefault(_children); var _parent = require('./node/parent'); var _parent2 = _interopRequireDefault(_parent); var _attachRenderer = require('./attach-renderer'); var _attachRenderer2 = _interopRequireDefault(_attachRenderer); var _getByType = require('./get-by-type'); var _getByType2 = _interopRequireDefault(_getByType); var _updateTransforms = require('./update-transforms'); var _updateTransforms2 = _interopRequireDefault(_updateTransforms); var _es6Map = require('es6-map'); var _es6Map2 = _interopRequireDefault(_es6Map); var _objectAssign = require('object-assign'); var _objectAssign2 = _interopRequireDefault(_objectAssign); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function Scene() { var graph = { children: new _es6Map2.default(), parent: new _es6Map2.default(), types: {} }; this.flags = { changed: true }; this.render = function doNothing() {}; this.renderer = null; this.add = _add2.default.bind(null, this, graph); this.remove = _remove2.default.bind(null, this, graph); this.children = _children2.default.bind(null, this, graph); this.parent = _parent2.default.bind(null, graph); this.attachRenderer = _attachRenderer2.default.bind(null, this); this.getByType = _getByType2.default.bind(null, graph); this.updateTransforms = _updateTransforms2.default.bind(null, this, graph); } function createScene(properties) { var scene = new Scene(); if (properties && properties.renderer) { (0, _attachRenderer2.default)(scene, properties.renderer); } return scene; }