(function() { var __moduleName = "js/common/setEvents"; var __moduleAddress = "http://projects.delimited.io/webgl-globes/js/common/setEvents.js";System.register(['THREE', './utils'], function (_export) { 'use strict'; var THREE, debounce, raycaster; _export('setEvents', setEvents); function setEvents(camera, items, type, wait) { var listener = function listener(event) { var mouse = { x: (event.clientX - 1) / window.innerWidth * 2 - 1, y: -((event.clientY - 1) / window.innerHeight) * 2 + 1 }; var vector = new THREE.Vector3(); vector.set(mouse.x, mouse.y, 0.5); vector.unproject(camera); raycaster.ray.set(camera.position, vector.sub(camera.position).normalize()); var target = raycaster.intersectObjects(items); if (target.length) { target[0].type = type; target[0].object.dispatchEvent(target[0]); } }; if (!wait) { document.addEventListener(type, listener, false); } else { document.addEventListener(type, debounce(listener, wait), false); } } return { setters: [function (_THREE) { THREE = _THREE['default']; }, function (_utils) { debounce = _utils.debounce; }], execute: function () { raycaster = new THREE.Raycaster(); } }; }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImh0dHA6Ly9wcm9qZWN0cy5kZWxpbWl0ZWQuaW8vd2ViZ2wtZ2xvYmVzL2pzL2NvbW1vbi9zZXRFdmVudHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O3VCQUdJLFNBQVM7O3VCQUVHLFNBQVM7O0FBQWxCLFdBQVMsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTs7QUFFbkQsUUFBSSxRQUFRLEdBQUcsU0FBWCxRQUFRLENBQVksS0FBSyxFQUFFOztBQUU3QixVQUFJLEtBQUssR0FBRztBQUNWLFNBQUMsRUFBRSxBQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUEsR0FBSSxNQUFNLENBQUMsVUFBVSxHQUFLLENBQUMsR0FBRyxDQUFDO0FBQ3JELFNBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUEsR0FBSSxNQUFNLENBQUMsV0FBVyxDQUFBLEFBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztPQUN2RCxDQUFDOztBQUVGLFVBQUksTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ2pDLFlBQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLFlBQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7O0FBRXpCLGVBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQzs7QUFFNUUsVUFBSSxNQUFNLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUUvQyxVQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7QUFDakIsY0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7QUFDdEIsY0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7T0FDM0M7S0FFRixDQUFDOztBQUVGLFFBQUksQ0FBQyxJQUFJLEVBQUU7QUFDVCxjQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUNsRCxNQUFNO0FBQ0wsY0FBUSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ2xFO0dBQ0Y7Ozs7Ozt3QkFqQ1EsUUFBUTs7O0FBRWIsZUFBUyxHQUFHLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSIsImZpbGUiOiJodHRwOi8vcHJvamVjdHMuZGVsaW1pdGVkLmlvL3dlYmdsLWdsb2Jlcy9qcy9jb21tb24vc2V0RXZlbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFRIUkVFIGZyb20gJ1RIUkVFJztcbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCByYXljYXN0ZXIgPSBuZXcgVEhSRUUuUmF5Y2FzdGVyKCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRFdmVudHMoY2FtZXJhLCBpdGVtcywgdHlwZSwgd2FpdCkge1xuXG4gIGxldCBsaXN0ZW5lciA9IGZ1bmN0aW9uKGV2ZW50KSB7XG5cbiAgICBsZXQgbW91c2UgPSB7XG4gICAgICB4OiAoKGV2ZW50LmNsaWVudFggLSAxKSAvIHdpbmRvdy5pbm5lcldpZHRoICkgKiAyIC0gMSxcbiAgICAgIHk6IC0oKGV2ZW50LmNsaWVudFkgLSAxKSAvIHdpbmRvdy5pbm5lckhlaWdodCkgKiAyICsgMVxuICAgIH07XG5cbiAgICBsZXQgdmVjdG9yID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcbiAgICB2ZWN0b3Iuc2V0KG1vdXNlLngsIG1vdXNlLnksIDAuNSk7XG4gICAgdmVjdG9yLnVucHJvamVjdChjYW1lcmEpO1xuXG4gICAgcmF5Y2FzdGVyLnJheS5zZXQoY2FtZXJhLnBvc2l0aW9uLCB2ZWN0b3Iuc3ViKGNhbWVyYS5wb3NpdGlvbikubm9ybWFsaXplKCkpO1xuXG4gICAgbGV0IHRhcmdldCA9IHJheWNhc3Rlci5pbnRlcnNlY3RPYmplY3RzKGl0ZW1zKTtcblxuICAgIGlmICh0YXJnZXQubGVuZ3RoKSB7XG4gICAgICB0YXJnZXRbMF0udHlwZSA9IHR5cGU7XG4gICAgICB0YXJnZXRbMF0ub2JqZWN0LmRpc3BhdGNoRXZlbnQodGFyZ2V0WzBdKTtcbiAgICB9XG5cbiAgfTtcblxuICBpZiAoIXdhaXQpIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyLCBmYWxzZSk7XG4gIH0gZWxzZSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBkZWJvdW5jZShsaXN0ZW5lciwgd2FpdCksIGZhbHNlKTtcbiAgfVxufVxuIl19 }).call(__global);