@realsee/five
Version:
Realsee Renderer SDK
69 lines (68 loc) • 2.24 kB
TypeScript
/**
* @webxr-input-profiles/motion-controllers 1.0.0 https://github.com/immersive-web/webxr-input-profiles
*/
declare const Constants: {
Handedness: Readonly<{
NONE: "none";
LEFT: "left";
RIGHT: "right";
}>;
ComponentState: Readonly<{
DEFAULT: "default";
TOUCHED: "touched";
PRESSED: "pressed";
}>;
ComponentProperty: Readonly<{
BUTTON: "button";
X_AXIS: "xAxis";
Y_AXIS: "yAxis";
STATE: "state";
}>;
ComponentType: Readonly<{
TRIGGER: "trigger";
SQUEEZE: "squeeze";
TOUCHPAD: "touchpad";
THUMBSTICK: "thumbstick";
BUTTON: "button";
}>;
ButtonTouchThreshold: number;
AxisTouchThreshold: number;
VisualResponseProperty: Readonly<{
TRANSFORM: "transform";
VISIBILITY: "visibility";
}>;
};
declare function fetchProfilesList(basePath: string): Promise<any>;
declare function fetchProfile(xrInputSource: XRInputSource, basePath: string, defaultProfile?: string | null, getAssetPath?: boolean): Promise<{
profile: any;
assetPath: any;
}>;
/**
* @description Builds a motion controller with components and visual responses based on the
* supplied profile description. Data is polled from the xrInputSource's gamepad.
* @author Nell Waliczek / https://github.com/NellWaliczek
*/
declare class MotionController {
/**
* @param {Object} xrInputSource - The XRInputSource to build the MotionController around
* @param {Object} profile - The best matched profile description for the supplied xrInputSource
* @param {Object} assetUrl
*/
xrInputSource: XRInputSource;
assetUrl: string;
id: any;
layoutDescription: any;
components: any;
constructor(xrInputSource: XRInputSource, profile: any, assetUrl: string);
get gripSpace(): XRSpace | undefined;
get targetRaySpace(): XRSpace;
/**
* @description Returns a subset of component data for simplified debugging
*/
get data(): any[];
/**
* @description Poll for updated data based on current gamepad state
*/
updateFromGamepad(): void;
}
export { Constants, MotionController, fetchProfile, fetchProfilesList };