{"ast":null,"code":"import { WebXRAbstractMotionController } from \"./webXRAbstractMotionController.js\";\nimport { Mesh } from \"../../Meshes/mesh.js\";\nimport { Quaternion } from \"../../Maths/math.vector.js\";\n/**\n * A generic trigger-only motion controller for WebXR\n */\nexport class WebXRGenericTriggerMotionController extends WebXRAbstractMotionController {\n constructor(scene, gamepadObject, handedness) {\n super(scene, GenericTriggerLayout[handedness], gamepadObject, handedness);\n this.profileId = WebXRGenericTriggerMotionController.ProfileId;\n }\n _getFilenameAndPath() {\n return {\n filename: \"generic.babylon\",\n path: \"https://controllers.babylonjs.com/generic/\"\n };\n }\n _getModelLoadingConstraints() {\n return true;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _processLoadedModel(meshes) {\n // nothing to do\n }\n _setRootMesh(meshes) {\n this.rootMesh = new Mesh(this.profileId + \" \" + this.handedness, this.scene);\n meshes.forEach(mesh => {\n mesh.isPickable = false;\n if (!mesh.parent) {\n mesh.setParent(this.rootMesh);\n }\n });\n this.rootMesh.rotationQuaternion = Quaternion.FromEulerAngles(0, Math.PI, 0);\n }\n _updateModel() {\n // no-op\n }\n}\n/**\n * Static version of the profile id of this controller\n */\nWebXRGenericTriggerMotionController.ProfileId = \"generic-trigger\";\n// https://github.com/immersive-web/webxr-input-profiles/blob/master/packages/registry/profiles/generic/generic-trigger-touchpad-thumbstick.json\nconst GenericTriggerLayout = {\n left: {\n selectComponentId: \"xr-standard-trigger\",\n components: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n \"xr-standard-trigger\": {\n type: \"trigger\",\n gamepadIndices: {\n button: 0\n },\n rootNodeName: \"xr_standard_trigger\",\n visualResponses: {}\n }\n },\n gamepadMapping: \"xr-standard\",\n rootNodeName: \"generic-trigger-left\",\n assetPath: \"left.glb\"\n },\n right: {\n selectComponentId: \"xr-standard-trigger\",\n components: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n \"xr-standard-trigger\": {\n type: \"trigger\",\n gamepadIndices: {\n button: 0\n },\n rootNodeName: \"xr_standard_trigger\",\n visualResponses: {}\n }\n },\n gamepadMapping: \"xr-standard\",\n rootNodeName: \"generic-trigger-right\",\n assetPath: \"right.glb\"\n },\n none: {\n selectComponentId: \"xr-standard-trigger\",\n components: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n \"xr-standard-trigger\": {\n type: \"trigger\",\n gamepadIndices: {\n button: 0\n },\n rootNodeName: \"xr_standard_trigger\",\n visualResponses: {}\n }\n },\n gamepadMapping: \"xr-standard\",\n rootNodeName: \"generic-trigger-none\",\n assetPath: \"none.glb\"\n }\n};","map":{"version":3,"names":["WebXRAbstractMotionController","Mesh","Quaternion","WebXRGenericTriggerMotionController","constructor","scene","gamepadObject","handedness","GenericTriggerLayout","profileId","ProfileId","_getFilenameAndPath","filename","path","_getModelLoadingConstraints","_processLoadedModel","meshes","_setRootMesh","rootMesh","forEach","mesh","isPickable","parent","setParent","rotationQuaternion","FromEulerAngles","Math","PI","_updateModel","left","selectComponentId","components","type","gamepadIndices","button","rootNodeName","visualResponses","gamepadMapping","assetPath","right","none"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/XR/motionController/webXRGenericMotionController.js"],"sourcesContent":["import { WebXRAbstractMotionController } from \"./webXRAbstractMotionController.js\";\nimport { Mesh } from \"../../Meshes/mesh.js\";\nimport { Quaternion } from \"../../Maths/math.vector.js\";\n/**\n * A generic trigger-only motion controller for WebXR\n */\nexport class WebXRGenericTriggerMotionController extends WebXRAbstractMotionController {\n constructor(scene, gamepadObject, handedness) {\n super(scene, GenericTriggerLayout[handedness], gamepadObject, handedness);\n this.profileId = WebXRGenericTriggerMotionController.ProfileId;\n }\n _getFilenameAndPath() {\n return {\n filename: \"generic.babylon\",\n path: \"https://controllers.babylonjs.com/generic/\",\n };\n }\n _getModelLoadingConstraints() {\n return true;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _processLoadedModel(meshes) {\n // nothing to do\n }\n _setRootMesh(meshes) {\n this.rootMesh = new Mesh(this.profileId + \" \" + this.handedness, this.scene);\n meshes.forEach((mesh) => {\n mesh.isPickable = false;\n if (!mesh.parent) {\n mesh.setParent(this.rootMesh);\n }\n });\n this.rootMesh.rotationQuaternion = Quaternion.FromEulerAngles(0, Math.PI, 0);\n }\n _updateModel() {\n // no-op\n }\n}\n/**\n * Static version of the profile id of this controller\n */\nWebXRGenericTriggerMotionController.ProfileId = \"generic-trigger\";\n// https://github.com/immersive-web/webxr-input-profiles/blob/master/packages/registry/profiles/generic/generic-trigger-touchpad-thumbstick.json\nconst GenericTriggerLayout = {\n left: {\n selectComponentId: \"xr-standard-trigger\",\n components: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n \"xr-standard-trigger\": {\n type: \"trigger\",\n gamepadIndices: {\n button: 0,\n },\n rootNodeName: \"xr_standard_trigger\",\n visualResponses: {},\n },\n },\n gamepadMapping: \"xr-standard\",\n rootNodeName: \"generic-trigger-left\",\n assetPath: \"left.glb\",\n },\n right: {\n selectComponentId: \"xr-standard-trigger\",\n components: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n \"xr-standard-trigger\": {\n type: \"trigger\",\n gamepadIndices: {\n button: 0,\n },\n rootNodeName: \"xr_standard_trigger\",\n visualResponses: {},\n },\n },\n gamepadMapping: \"xr-standard\",\n rootNodeName: \"generic-trigger-right\",\n assetPath: \"right.glb\",\n },\n none: {\n selectComponentId: \"xr-standard-trigger\",\n components: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n \"xr-standard-trigger\": {\n type: \"trigger\",\n gamepadIndices: {\n button: 0,\n },\n rootNodeName: \"xr_standard_trigger\",\n visualResponses: {},\n },\n },\n gamepadMapping: \"xr-standard\",\n rootNodeName: \"generic-trigger-none\",\n assetPath: \"none.glb\",\n },\n};\n"],"mappings":"AAAA,SAASA,6BAA6B,QAAQ,oCAAoC;AAClF,SAASC,IAAI,QAAQ,sBAAsB;AAC3C,SAASC,UAAU,QAAQ,4BAA4B;AACvD;AACA;AACA;AACA,OAAO,MAAMC,mCAAmC,SAASH,6BAA6B,CAAC;EACnFI,WAAWA,CAACC,KAAK,EAAEC,aAAa,EAAEC,UAAU,EAAE;IAC1C,KAAK,CAACF,KAAK,EAAEG,oBAAoB,CAACD,UAAU,CAAC,EAAED,aAAa,EAAEC,UAAU,CAAC;IACzE,IAAI,CAACE,SAAS,GAAGN,mCAAmC,CAACO,SAAS;EAClE;EACAC,mBAAmBA,CAAA,EAAG;IAClB,OAAO;MACHC,QAAQ,EAAE,iBAAiB;MAC3BC,IAAI,EAAE;IACV,CAAC;EACL;EACAC,2BAA2BA,CAAA,EAAG;IAC1B,OAAO,IAAI;EACf;EACA;EACAC,mBAAmBA,CAACC,MAAM,EAAE;IACxB;EAAA;EAEJC,YAAYA,CAACD,MAAM,EAAE;IACjB,IAAI,CAACE,QAAQ,GAAG,IAAIjB,IAAI,CAAC,IAAI,CAACQ,SAAS,GAAG,GAAG,GAAG,IAAI,CAACF,UAAU,EAAE,IAAI,CAACF,KAAK,CAAC;IAC5EW,MAAM,CAACG,OAAO,CAAEC,IAAI,IAAK;MACrBA,IAAI,CAACC,UAAU,GAAG,KAAK;MACvB,IAAI,CAACD,IAAI,CAACE,MAAM,EAAE;QACdF,IAAI,CAACG,SAAS,CAAC,IAAI,CAACL,QAAQ,CAAC;MACjC;IACJ,CAAC,CAAC;IACF,IAAI,CAACA,QAAQ,CAACM,kBAAkB,GAAGtB,UAAU,CAACuB,eAAe,CAAC,CAAC,EAAEC,IAAI,CAACC,EAAE,EAAE,CAAC,CAAC;EAChF;EACAC,YAAYA,CAAA,EAAG;IACX;EAAA;AAER;AACA;AACA;AACA;AACAzB,mCAAmC,CAACO,SAAS,GAAG,iBAAiB;AACjE;AACA,MAAMF,oBAAoB,GAAG;EACzBqB,IAAI,EAAE;IACFC,iBAAiB,EAAE,qBAAqB;IACxCC,UAAU,EAAE;MACR;MACA,qBAAqB,EAAE;QACnBC,IAAI,EAAE,SAAS;QACfC,cAAc,EAAE;UACZC,MAAM,EAAE;QACZ,CAAC;QACDC,YAAY,EAAE,qBAAqB;QACnCC,eAAe,EAAE,CAAC;MACtB;IACJ,CAAC;IACDC,cAAc,EAAE,aAAa;IAC7BF,YAAY,EAAE,sBAAsB;IACpCG,SAAS,EAAE;EACf,CAAC;EACDC,KAAK,EAAE;IACHT,iBAAiB,EAAE,qBAAqB;IACxCC,UAAU,EAAE;MACR;MACA,qBAAqB,EAAE;QACnBC,IAAI,EAAE,SAAS;QACfC,cAAc,EAAE;UACZC,MAAM,EAAE;QACZ,CAAC;QACDC,YAAY,EAAE,qBAAqB;QACnCC,eAAe,EAAE,CAAC;MACtB;IACJ,CAAC;IACDC,cAAc,EAAE,aAAa;IAC7BF,YAAY,EAAE,uBAAuB;IACrCG,SAAS,EAAE;EACf,CAAC;EACDE,IAAI,EAAE;IACFV,iBAAiB,EAAE,qBAAqB;IACxCC,UAAU,EAAE;MACR;MACA,qBAAqB,EAAE;QACnBC,IAAI,EAAE,SAAS;QACfC,cAAc,EAAE;UACZC,MAAM,EAAE;QACZ,CAAC;QACDC,YAAY,EAAE,qBAAqB;QACnCC,eAAe,EAAE,CAAC;MACtB;IACJ,CAAC;IACDC,cAAc,EAAE,aAAa;IAC7BF,YAAY,EAAE,sBAAsB;IACpCG,SAAS,EAAE;EACf;AACJ,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}