import type { IMinimalMotionControllerObject, MotionControllerHandedness } from "./webXRAbstractMotionController"; import { WebXRAbstractMotionController } from "./webXRAbstractMotionController"; import type { AbstractMesh } from "../../Meshes/abstractMesh"; import type { Scene } from "../../scene"; /** * The motion controller class for oculus touch (quest, rift). * This class supports legacy mapping as well the standard xr mapping */ export declare class WebXROculusTouchMotionController extends WebXRAbstractMotionController { private _forceLegacyControllers; private _modelRootNode; /** * The base url used to load the left and right controller models */ static MODEL_BASE_URL: string; /** * The name of the left controller model file */ static MODEL_LEFT_FILENAME: string; /** * The name of the right controller model file */ static MODEL_RIGHT_FILENAME: string; /** * Base Url for the Quest controller model. */ static QUEST_MODEL_BASE_URL: string; profileId: string; constructor(scene: Scene, gamepadObject: IMinimalMotionControllerObject, handedness: MotionControllerHandedness, _legacyMapping?: boolean, _forceLegacyControllers?: boolean); protected _getFilenameAndPath(): { filename: string; path: string; }; protected _getModelLoadingConstraints(): boolean; protected _processLoadedModel(_meshes: AbstractMesh[]): void; protected _setRootMesh(meshes: AbstractMesh[]): void; protected _updateModel(): void; /** * Is this the new type of oculus touch. At the moment both have the same profile and it is impossible to differentiate * between the touch and touch 2. * @returns true if this is the new type of oculus touch controllers. */ private _isQuest; }