@webarkit/ar-nft
Version:
WebAR Javscript library for markerless AR
60 lines (59 loc) • 2.06 kB
TypeScript
import { ConfigData } from "./config/ConfigData";
import { CameraViewRenderer, ICameraViewRenderer } from "./renderers/CameraViewRenderer";
export interface IEntity {
name: string;
markerUrl: string;
}
export interface IInitConfig {
width: number;
height: number;
configUrl: string;
stats?: boolean;
autoUpdate?: boolean;
}
export interface INameInitConfig extends IInitConfig {
markerUrls: Array<Array<string>>;
names: Array<Array<string>>;
}
export interface IEntityInitConfig extends IInitConfig {
entities: IEntity[];
}
export interface IViews {
container: HTMLDivElement;
canvas: HTMLCanvasElement;
video: HTMLVideoElement;
loading?: HTMLElement;
stats?: HTMLElement;
}
export default class ARnft {
cameraView: CameraViewRenderer;
appData: ConfigData;
addPath: string;
width: number;
height: number;
configUrl: string;
markerUrl: string;
camData: string;
autoUpdate: boolean;
private controllers;
private static entities;
private target;
private uuid;
private version;
private initialized;
private _views;
constructor(width: number, height: number, configUrl: string);
static init(width: number, height: number, markerUrls: Array<Array<string>>, names: Array<Array<string>>, configUrl: string, stats: boolean): Promise<object>;
static initWithEntities(width: number, height: number, entities: Array<IEntity>, configUrl: string, stats: boolean): Promise<object>;
static initWithConfig(params: INameInitConfig | IEntityInitConfig): Promise<ARnft>;
private _initialize;
initializeRaw(markerUrls: Array<Array<string>>, names: Array<string>, cameraView: ICameraViewRenderer, stats: boolean): Promise<this>;
update(): void;
static getEntities(): IEntity[];
getEventTarget(): EventTarget;
get views(): Readonly<IViews>;
dispose(): void;
disposeNFT(name: string): void;
disposeAllNFTs(): void;
disposeVideoStream(): void;
}