UNPKG

hexa-viewer-communicator

Version:

A simple API for <hexa-viewer>

106 lines (105 loc) 5.18 kB
import "regenerator-runtime/runtime.js"; import { IConfigurator } from "./interfaces/configurator.interface"; import { IEventObservable } from "./interfaces/event-observable.interface"; import { IPostMessage, MaterializeMeshConfig, IViewerCommunicator, MeshData, IViewerCommunicatorOptions, ICreateInstanceFromUrlOptions, Collision, IImagesByTourResponse, ILight, IShadowPlaneOptions, IHdriOptions, IAdjustmentsPresetJson, IBroadcastSceneSummaryOption, ISceneSummary, IMeshProps, JsonToHtmlObject, EventSelector, TutorialType, IExportOptions, IExpotedModel, IGifGenOptions, IMatcapOptions, IApplyTextureOptions, IBoundingBox, IAnimationOptions, ICameraControlsStateAnimation, IMaterialPropsOptions, ISwapMaterialType, IDiamondOptions } from "./interfaces/viewer-communicator.interface"; export declare class ViewerCommunicator implements IViewerCommunicator { configurator: IConfigurator; private _hexaViewer; private _frameID; private _isViewerLoaded; private _isModelLoaded; private _isAnimateEnterEnd; private _isViewerListening; private _onMessageBind; private _meshesData; private _mesheAnimations; private _xrSupport; private _eventObservable; private _hasDestroyed; private _onLoadingProgress; constructor(options?: IViewerCommunicatorOptions); get hexaViewer(): HTMLElement; set hexaViewer(hv: HTMLElement); get eventObservable(): IEventObservable; get isModelLoaded(): boolean; get hasDestroyed(): boolean; get isViewerListening(): boolean; private set isViewerListening(value); private set isModelLoaded(value); private initEventObservable; private attachInstance; private initFrameID; private attachEvents; private onMessage; private _checkModelLoaded; private _onAnimateEnterEnd; private _onModelLoaded; private _onViewerFullyLoaded; private _onMeshesData; private _onMeshAnimations; private _updateViewerFullyLoaded; onModelLoaded(): Promise<unknown>; onModelReady(): Promise<unknown>; onViewerListening(): Promise<unknown>; onAnimateEnterEnd(): Promise<unknown>; getMeshesData(): Promise<{ [id: string]: MeshData; }>; getMeshAnimations(): Promise<{ [id: string]: IAnimationOptions; }>; getMaterials(): Promise<{ [id: string]: IAnimationOptions; }>; updateMeshAnimations(meshAnimations: { [id: string]: IAnimationOptions; }): void; private safeParse; private generateUUID; materializeMesh(meshName: string, config: MaterializeMeshConfig): void; sendToViewer(msg: IPostMessage): void; createInstanceFromUrl(viewerURL: string, params?: any, options?: ICreateInstanceFromUrlOptions): Promise<HTMLElement>; private getUrlParams; togglePicInPic(state: boolean): void; toggleWireframe(state: boolean): void; toggleUvMode(state: boolean): void; toggleMatcapMode(state: boolean, options?: IMatcapOptions): void; toggleHideBottom(state: boolean): void; isWebXrSupported(): Promise<boolean>; toggleWebXR(state: boolean, invokeWhenReady?: boolean): void; toggleAR(state: boolean, invokeWhenReady?: boolean): void; waitForCollisions(): Promise<Array<Collision>>; toggleCollision(collisionMode: boolean, color?: string): void; deleteCollision(position: number, count: number): void; removeAllCollisions(): void; adjustScene(): Promise<unknown>; applyPreset(json: IAdjustmentsPresetJson): Promise<unknown>; applyHDRI(hdri: IHdriOptions): void; applyShadowPlane(shadowPlane: IShadowPlaneOptions): void; broadcastSceneSummary(params?: IBroadcastSceneSummaryOption): Promise<ISceneSummary>; setLightsByJson(lights: { [id: string]: Array<ILight>; }): Promise<unknown>; onCreateImagesByTour(): Promise<IImagesByTourResponse>; setMeshProps(optins: IMeshProps): void; appendDynamicElement(obj: JsonToHtmlObject, events: Array<EventSelector>, selectorToAppend?: string): void; controlsTutorial(types?: Array<TutorialType>): void; toggleAutoRotate(state: boolean): void; onModelInteraction(cb?: Function): Promise<string>; goToInitialCamPos(): void; getCurrentScreenshot(): Promise<string>; expotModel(options: IExportOptions): Promise<IExpotedModel>; getScreenshotsSequence(options?: IGifGenOptions): Promise<Array<string> | Blob>; applyTexture(options: IApplyTextureOptions): void; setMaterialProps(options: IMaterialPropsOptions): void; swapMaterialType(options: ISwapMaterialType): void; displayFiles(files: Array<Blob>): void; getBoundingBox(): Promise<IBoundingBox>; toggleNoDistanceLimit(state: boolean): Promise<void>; toggleCloseup(state: boolean): Promise<void>; setCameraPosition(pos: ICameraControlsStateAnimation): Promise<void>; setDiamonds(state: boolean, meshesNames: Array<string>, options: IDiamondOptions): Promise<void>; getDiamondsOptions(): Promise<IDiamondOptions>; registerForLoadingProgress(callback: Function | any): void; destroy(): void; }