webXRProfiledMotionController.d.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. import type { AbstractMesh } from "../../Meshes/abstractMesh";
  2. import type { IMotionControllerProfile } from "./webXRAbstractMotionController";
  3. import { WebXRAbstractMotionController } from "./webXRAbstractMotionController";
  4. import type { Scene } from "../../scene";
  5. /**
  6. * A profiled motion controller has its profile loaded from an online repository.
  7. * The class is responsible of loading the model, mapping the keys and enabling model-animations
  8. */
  9. export declare class WebXRProfiledMotionController extends WebXRAbstractMotionController {
  10. private _repositoryUrl;
  11. private controllerCache?;
  12. private _buttonMeshMapping;
  13. private _touchDots;
  14. /**
  15. * The profile ID of this controller. Will be populated when the controller initializes.
  16. */
  17. profileId: string;
  18. constructor(scene: Scene, xrInput: XRInputSource, _profile: IMotionControllerProfile, _repositoryUrl: string, controllerCache?: {
  19. filename: string;
  20. path: string;
  21. meshes: AbstractMesh[];
  22. }[] | undefined);
  23. dispose(): void;
  24. protected _getFilenameAndPath(): {
  25. filename: string;
  26. path: string;
  27. };
  28. protected _getModelLoadingConstraints(): boolean;
  29. protected _processLoadedModel(_meshes: AbstractMesh[]): void;
  30. protected _setRootMesh(meshes: AbstractMesh[]): void;
  31. protected _updateModel(_xrFrame: XRFrame): void;
  32. }