/*! * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. */ /// import { IComponent, IComponentVisual } from "./component.js"; import { Core } from "../main.js"; import { mat4 } from "gl-matrix"; export interface IControllerOptions { profiles?: string[]; handedness?: string; obj?: string; texture?: ImageData; } export interface IControllerVisual extends IComponentVisual { controller: Controller; rayMMatrix: mat4; } export declare class ControllerVisual implements IControllerVisual { controller: Controller; rayMMatrix: mat4; isVisible: boolean; viewports: DOMRect[]; viewportOffset: number; viewportCount: number; mMatrix: mat4; mvMatrices: mat4[]; vMatrices: mat4[]; inverseVMatrices: mat4[]; pMatrices: mat4[]; isInitialized: boolean; render(elapsedTime: number, xrFrame?: XRFrame): void; update(elapsedTime: number): void; constructor(controller: Controller); } export declare class Controller implements IComponent { private _core; private _isInitialized; get isInitialized(): boolean; private _cubeObj; private _obj; private _mMatrix; get mMatrix(): mat4; private _indexCount; get indexCount(): number; private _vertices; get vertices(): ArrayBuffer; private _indices; get indices(): Uint16Array; private _texture; get texture(): ImageData; private _rayMMatrix; get rayMMatrix(): mat4; private _rayIndexCount; get rayIndexCount(): number; private _rayVertices; get rayVertices(): ArrayBuffer; private _rayIndices; get rayIndices(): Uint16Array; isRayVisible: boolean; useRayPose: boolean; constructor(core: Core, options: IControllerOptions); initialize(): void; update(elapsedTime: number): void; }