webXRMicrosoftMixedRealityController.d.ts 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import type { IMinimalMotionControllerObject, MotionControllerHandedness } from "./webXRAbstractMotionController";
  2. import { WebXRAbstractMotionController } from "./webXRAbstractMotionController";
  3. import type { AbstractMesh } from "../../Meshes/abstractMesh";
  4. import type { Scene } from "../../scene";
  5. /**
  6. * The motion controller class for all microsoft mixed reality controllers
  7. */
  8. export declare class WebXRMicrosoftMixedRealityController extends WebXRAbstractMotionController {
  9. protected readonly _mapping: {
  10. defaultButton: {
  11. valueNodeName: string;
  12. unpressedNodeName: string;
  13. pressedNodeName: string;
  14. };
  15. defaultAxis: {
  16. valueNodeName: string;
  17. minNodeName: string;
  18. maxNodeName: string;
  19. };
  20. buttons: {
  21. "xr-standard-trigger": {
  22. rootNodeName: string;
  23. componentProperty: string;
  24. states: string[];
  25. };
  26. "xr-standard-squeeze": {
  27. rootNodeName: string;
  28. componentProperty: string;
  29. states: string[];
  30. };
  31. "xr-standard-touchpad": {
  32. rootNodeName: string;
  33. labelAnchorNodeName: string;
  34. touchPointNodeName: string;
  35. };
  36. "xr-standard-thumbstick": {
  37. rootNodeName: string;
  38. componentProperty: string;
  39. states: string[];
  40. };
  41. };
  42. axes: {
  43. "xr-standard-touchpad": {
  44. "x-axis": {
  45. rootNodeName: string;
  46. };
  47. "y-axis": {
  48. rootNodeName: string;
  49. };
  50. };
  51. "xr-standard-thumbstick": {
  52. "x-axis": {
  53. rootNodeName: string;
  54. };
  55. "y-axis": {
  56. rootNodeName: string;
  57. };
  58. };
  59. };
  60. };
  61. /**
  62. * The base url used to load the left and right controller models
  63. */
  64. static MODEL_BASE_URL: string;
  65. /**
  66. * The name of the left controller model file
  67. */
  68. static MODEL_LEFT_FILENAME: string;
  69. /**
  70. * The name of the right controller model file
  71. */
  72. static MODEL_RIGHT_FILENAME: string;
  73. profileId: string;
  74. constructor(scene: Scene, gamepadObject: IMinimalMotionControllerObject, handedness: MotionControllerHandedness);
  75. protected _getFilenameAndPath(): {
  76. filename: string;
  77. path: string;
  78. };
  79. protected _getModelLoadingConstraints(): boolean;
  80. protected _processLoadedModel(_meshes: AbstractMesh[]): void;
  81. protected _setRootMesh(meshes: AbstractMesh[]): void;
  82. protected _updateModel(): void;
  83. }