{"id":"node_modules\\meta-client\\lib\\Space\\Device\\HeadMountedDisplay\\Controls\\ViveController.js","dependencies":[{"name":"C:\\Users\\florianmaxim\\work\\meta\\examples\\1\\node_modules\\meta-client\\package.json","includedInParent":true,"mtime":1531760501427},{"name":"C:\\Users\\florianmaxim\\work\\meta\\examples\\1\\package.json","includedInParent":true,"mtime":1531761174062},{"name":"C:\\Users\\florianmaxim\\work\\meta\\.babelrc","includedInParent":true,"mtime":1531746256699},{"name":"C:\\Users\\florianmaxim\\work\\meta\\examples\\1\\node_modules\\meta-client\\.babelrc","includedInParent":true,"mtime":1531746256000},{"name":"three","loc":{"line":1,"column":127},"parent":"C:\\Users\\florianmaxim\\work\\meta\\examples\\1\\node_modules\\meta-client\\lib\\Space\\Device\\HeadMountedDisplay\\Controls\\ViveController.js","resolved":"C:\\Users\\florianmaxim\\work\\meta\\examples\\1\\node_modules\\three\\build\\three.module.js"}],"generated":{"js":"'use strict';Object.defineProperty(exports,'__esModule',{value:true});exports.ViveController=ViveController;var _three=require('three');function ViveController(id){_three.Object3D.call(this);var scope=this;var gamepad;var axes=[0,0];var thumbpadIsPressed=false;var triggerIsPressed=false;var gripsArePressed=false;var menuIsPressed=false;function findGamepad(id){var gamepads=navigator.getGamepads&&navigator.getGamepads();for(var i=0,j=0;i<gamepads.length;i++){var gamepad=gamepads[i];if(gamepad&&(gamepad.id==='OpenVR Gamepad'||gamepad.id.startsWith('Oculus Touch')||gamepad.id.startsWith('Spatial Controller'))){if(j===id)return gamepad;j++}}}this.matrixAutoUpdate=false;this.standingMatrix=new _three.Matrix4;this.getGamepad=function(){return gamepad};this.getButtonState=function(button){if(button==='thumbpad')return thumbpadIsPressed;if(button==='trigger')return triggerIsPressed;if(button==='grips')return gripsArePressed;if(button==='menu')return menuIsPressed};this.update=function(){gamepad=findGamepad(id);if(gamepad!==undefined&&gamepad.pose!==undefined){if(gamepad.pose===null)return;var pose=gamepad.pose;if(pose.position!==null)scope.position.fromArray(pose.position);if(pose.orientation!==null)scope.quaternion.fromArray(pose.orientation);scope.matrix.compose(scope.position,scope.quaternion,scope.scale);scope.matrix.premultiply(scope.standingMatrix);scope.matrixWorldNeedsUpdate=true;scope.visible=true;if(axes[0]!==gamepad.axes[0]||axes[1]!==gamepad.axes[1]){axes[0]=gamepad.axes[0];axes[1]=gamepad.axes[1];scope.dispatchEvent({type:'axischanged',axes:axes})}if(thumbpadIsPressed!==gamepad.buttons[0].pressed){thumbpadIsPressed=gamepad.buttons[0].pressed;scope.dispatchEvent({type:thumbpadIsPressed?'thumbpaddown':'thumbpadup',axes:axes})}if(triggerIsPressed!==gamepad.buttons[1].pressed){triggerIsPressed=gamepad.buttons[1].pressed;scope.dispatchEvent({type:triggerIsPressed?'triggerdown':'triggerup'})}if(gripsArePressed!==gamepad.buttons[2].pressed){gripsArePressed=gamepad.buttons[2].pressed;scope.dispatchEvent({type:gripsArePressed?'gripsdown':'gripsup'})}if(menuIsPressed!==gamepad.buttons[3].pressed){menuIsPressed=gamepad.buttons[3].pressed;scope.dispatchEvent({type:menuIsPressed?'menudown':'menuup'})}}else{scope.visible=false}}};ViveController.prototype=Object.create(_three.Object3D.prototype);ViveController.prototype.constructor=ViveController;","map":{"mappings":[{"source":"node_modules\\meta-client\\lib\\Space\\Device\\HeadMountedDisplay\\Controls\\ViveController.js","original":{"line":1,"column":0},"generated":{"line":1,"column":0}}],"sources":{"node_modules\\meta-client\\lib\\Space\\Device\\HeadMountedDisplay\\Controls\\ViveController.js":"'use strict';Object.defineProperty(exports,'__esModule',{value:true});exports.ViveController=ViveController;var _three=require('three');function ViveController(id){_three.Object3D.call(this);var scope=this;var gamepad;var axes=[0,0];var thumbpadIsPressed=false;var triggerIsPressed=false;var gripsArePressed=false;var menuIsPressed=false;function findGamepad(id){var gamepads=navigator.getGamepads&&navigator.getGamepads();for(var i=0,j=0;i<gamepads.length;i++){var gamepad=gamepads[i];if(gamepad&&(gamepad.id==='OpenVR Gamepad'||gamepad.id.startsWith('Oculus Touch')||gamepad.id.startsWith('Spatial Controller'))){if(j===id)return gamepad;j++}}}this.matrixAutoUpdate=false;this.standingMatrix=new _three.Matrix4;this.getGamepad=function(){return gamepad};this.getButtonState=function(button){if(button==='thumbpad')return thumbpadIsPressed;if(button==='trigger')return triggerIsPressed;if(button==='grips')return gripsArePressed;if(button==='menu')return menuIsPressed};this.update=function(){gamepad=findGamepad(id);if(gamepad!==undefined&&gamepad.pose!==undefined){if(gamepad.pose===null)return;var pose=gamepad.pose;if(pose.position!==null)scope.position.fromArray(pose.position);if(pose.orientation!==null)scope.quaternion.fromArray(pose.orientation);scope.matrix.compose(scope.position,scope.quaternion,scope.scale);scope.matrix.premultiply(scope.standingMatrix);scope.matrixWorldNeedsUpdate=true;scope.visible=true;if(axes[0]!==gamepad.axes[0]||axes[1]!==gamepad.axes[1]){axes[0]=gamepad.axes[0];axes[1]=gamepad.axes[1];scope.dispatchEvent({type:'axischanged',axes:axes})}if(thumbpadIsPressed!==gamepad.buttons[0].pressed){thumbpadIsPressed=gamepad.buttons[0].pressed;scope.dispatchEvent({type:thumbpadIsPressed?'thumbpaddown':'thumbpadup',axes:axes})}if(triggerIsPressed!==gamepad.buttons[1].pressed){triggerIsPressed=gamepad.buttons[1].pressed;scope.dispatchEvent({type:triggerIsPressed?'triggerdown':'triggerup'})}if(gripsArePressed!==gamepad.buttons[2].pressed){gripsArePressed=gamepad.buttons[2].pressed;scope.dispatchEvent({type:gripsArePressed?'gripsdown':'gripsup'})}if(menuIsPressed!==gamepad.buttons[3].pressed){menuIsPressed=gamepad.buttons[3].pressed;scope.dispatchEvent({type:menuIsPressed?'menudown':'menuup'})}}else{scope.visible=false}}};ViveController.prototype=Object.create(_three.Object3D.prototype);ViveController.prototype.constructor=ViveController;"},"lineCount":1}},"hash":"cb8ca47b6eb685ff1955e4465b14fded","cacheData":{"env":{}}}