@lumiscaphe/viewer 4.0.12 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.prettierrc ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "arrowParens": "avoid",
3
+ "printWidth": 1000,
4
+ "singleQuote": true,
5
+ "trailingComma": "none"
6
+ }
@@ -1,15 +1,18 @@
1
+ import { Resolution } from './Resolution';
1
2
  export declare class Canvas2D {
2
3
  element: HTMLCanvasElement;
3
4
  image?: HTMLImageElement;
4
- private fit;
5
+ fit: 'contain' | 'cover' | 'fill';
5
6
  private context;
6
7
  private backCanvas;
7
8
  private backContext;
9
+ private pixelRatio;
8
10
  private requestAnimationId?;
9
11
  constructor(fit: 'contain' | 'cover' | 'fill');
10
12
  destroy(): void;
11
13
  show(useDisplay: boolean): void;
12
14
  hide(useDisplay: boolean): void;
15
+ get resolution(): Resolution;
13
16
  resize(width: number, height: number, pixelRatio: number): void;
14
17
  draw(img: HTMLImageElement, fade: boolean, speed?: number): void;
15
18
  private fadeLoop;
@@ -0,0 +1,25 @@
1
+ import { PointOfView } from './PointOfView';
2
+ interface Camera {
3
+ id: string;
4
+ name: string;
5
+ pointOfView: PointOfView;
6
+ }
7
+ interface CameraGroup {
8
+ id: string;
9
+ name: string;
10
+ cameras: Camera[];
11
+ }
12
+ export declare class Database {
13
+ xmlDoc: Document;
14
+ constructor(xmlDoc: Document);
15
+ get id(): string | null | undefined;
16
+ getCameraId(cameraName: string, cameraGroup?: string): string | null | undefined;
17
+ getCameraById(cameraId: string, groupId?: string): Camera | null;
18
+ getCameraByName(cameraName: string, groupName?: string): Camera | null;
19
+ getCameraGroupId(cameraGroup: string): string | null | undefined;
20
+ getCameraGroupById(id: string): CameraGroup | null;
21
+ getCameraGroupByName(name: string): CameraGroup | null;
22
+ private mapElementToCamera;
23
+ private mapElementToCameraGroup;
24
+ }
25
+ export {};
package/dist/Loader.d.ts CHANGED
@@ -1,12 +1,15 @@
1
1
  import { Hotspot } from './Hotspot';
2
2
  import { LoaderDelegate } from './LoaderDelegate';
3
3
  import { Snapshot } from './Snapshot';
4
+ import { WRAPIv2 } from './WRAPIv2';
4
5
  export declare class Loader {
5
6
  private webrender;
7
+ private webrenderV2?;
6
8
  private delegate?;
7
9
  private loadingId;
8
10
  private loaded;
9
11
  private total;
12
+ private databases;
10
13
  constructor(server: string, api: string, delegate: LoaderDelegate);
11
14
  get progress(): number;
12
15
  loadImageSnapshot(snapshot: Snapshot): Promise<HTMLImageElement>;
@@ -18,9 +21,15 @@ export declare class Loader {
18
21
  private loadVideo;
19
22
  private loadVideoFrame;
20
23
  private loadVideoFrames;
21
- loadImageHotspots(snapshot: Snapshot, tags: string[]): Promise<Hotspot[]>;
22
- loadVRCubeHotspots(snapshot: Snapshot, tags: string[]): Promise<Hotspot[][]>;
23
- loadVRObjectHotspots(snapshot: Snapshot, tags: string[]): Promise<Hotspot[][]>;
24
+ loadImageHotspots(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>): Promise<Hotspot[]>;
25
+ loadVRCubeHotspots(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>): Promise<Hotspot[][]>;
26
+ loadVRObjectHotspots(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>): Promise<Hotspot[][]>;
27
+ loadImagePick(snapshot: Snapshot, position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResult>;
28
+ loadVRObjectPick(snapshot: Snapshot, position: WRAPIv2.Vector2D, index: number, frames: number): Promise<WRAPIv2.PickResult>;
29
+ loadVRCubePick(snapshot: Snapshot, position: WRAPIv2.Vector2D, face: string): Promise<WRAPIv2.PickResult>;
30
+ private convert;
31
+ private vrObjectFrameSnapshot;
32
+ private vrCubeFrameSnapshot;
24
33
  private onLoadStart;
25
34
  private onLoadProgress;
26
35
  private onLoadEnd;
package/dist/Maths.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { m4 } from 'twgl.js';
2
2
  export declare class Maths {
3
3
  static accelerate(v: number, f: number): number;
4
+ static clamp(v: number, min: number, max: number): number;
4
5
  static degreesToRadians(a: number): number;
5
6
  static radiansToDegrees(a: number): number;
6
7
  static mod(x: number, y: number): number;
@@ -4,6 +4,7 @@ export declare class PointOfView {
4
4
  eye: v3.Vec3;
5
5
  up: v3.Vec3;
6
6
  static readonly default: PointOfView;
7
+ static initCubeFace(eye: v3.Vec3, target: v3.Vec3, face: string): PointOfView;
7
8
  constructor(target: v3.Vec3, eye: v3.Vec3, up: v3.Vec3);
8
9
  get viewVector(): v3.Vec3;
9
10
  get rightVector(): v3.Vec3;
@@ -0,0 +1,11 @@
1
+ import { v3 } from 'twgl.js';
2
+ import { PointOfView } from './PointOfView';
3
+ export declare class Spherical {
4
+ target: v3.Vec3;
5
+ longitude: number;
6
+ latitude: number;
7
+ distance: number;
8
+ constructor(pov: PointOfView);
9
+ get vector(): v3.Vec3;
10
+ pointOfView(target: v3.Vec3): PointOfView;
11
+ }
package/dist/View.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export interface View {
2
2
  mode: string;
3
- camera?: string;
3
+ camera?: string | any;
4
4
  background?: string;
5
5
  animation?: string;
6
6
  frames?: number;
package/dist/Viewer.d.ts CHANGED
@@ -7,6 +7,7 @@ import { Transition } from './Transition';
7
7
  import { View } from './View';
8
8
  import { WidgetVRCube } from './WidgetVRCube';
9
9
  import { WidgetVRObject } from './WidgetVRObject';
10
+ import { WRAPIv2 } from './WRAPIv2';
10
11
  import './index.css';
11
12
  export declare class Viewer {
12
13
  options: Options;
@@ -21,7 +22,7 @@ export declare class Viewer {
21
22
  private view?;
22
23
  private parameters;
23
24
  private encoder;
24
- private tags?;
25
+ private hotspots;
25
26
  private resolution;
26
27
  private widget;
27
28
  private widgetImage;
@@ -34,13 +35,14 @@ export declare class Viewer {
34
35
  load(scene: Scene | Scene[], transition?: Transition): Promise<void>;
35
36
  setEncoder(encoder: Encoder): Promise<void>;
36
37
  setParameters(parameters: Parameters): Promise<void>;
37
- setTags(tags: string[]): void;
38
+ setHotspots(hotspots: Array<string | WRAPIv2.Vector3D>): void;
38
39
  setView(view: View, transition?: Transition): Promise<void>;
39
40
  setVrcube(data: Partial<WidgetVRCube>): void;
40
41
  setVrobject(data: Partial<WidgetVRObject>): void;
41
42
  private loadAnimation;
42
43
  playAnimation(animation: Animation): Promise<void>;
43
44
  stopAnimation(): void;
45
+ pick(position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResult>;
44
46
  snapshot(type: string, quality: number): string;
45
47
  private loadWidget;
46
48
  private get viewWidget();
@@ -1,3 +1,4 @@
1
+ import { Position } from './Position';
1
2
  import { Resolution } from './Resolution';
2
3
  export declare class Viewport {
3
4
  top: number;
@@ -6,6 +7,8 @@ export declare class Viewport {
6
7
  height: number;
7
8
  constructor(top: number, left: number, width: number, height: number);
8
9
  static fit(resolution: Resolution, viewportResolution: Resolution, fit: 'contain' | 'cover' | 'fill'): Viewport;
10
+ static project(resolution: Resolution, viewportResolution: Resolution, fit: 'contain' | 'cover' | 'fill', position: Position): Position;
11
+ static unproject(resolution: Resolution, viewportResolution: Resolution, fit: 'contain' | 'cover' | 'fill', position: Position): Position;
9
12
  static getStandardAspectRatio(width: number, height: number): number;
10
13
  static getStandardResolution(width: number, height: number): Resolution;
11
14
  private static getStandardQuality;
package/dist/WRAPIv2.d.ts CHANGED
@@ -49,7 +49,8 @@ export declare namespace WRAPIv2 {
49
49
  scene: Scene;
50
50
  mode: AnimationMode | ImageMode | ImagesMode | VrCubeMode | VrObjectMode;
51
51
  renderParameters?: RenderParameters;
52
- tags: string[];
52
+ positions?: Vector3D[];
53
+ tags?: string[];
53
54
  }
54
55
  interface ImageMode {
55
56
  image: {
@@ -1,7 +1,9 @@
1
+ import { Database } from './Database';
1
2
  import { Snapshot } from './Snapshot';
2
3
  export declare class WebRenderStatic {
3
4
  constructor();
4
5
  animation(snapshot: Snapshot): Promise<string[]>;
6
+ database(databaseId: string): Promise<Database>;
5
7
  image(snapshot: Snapshot): Promise<string>;
6
8
  video(snapshot: Snapshot): Promise<string>;
7
9
  vrCube(snapshot: Snapshot): Promise<string[]>;
@@ -1,3 +1,4 @@
1
+ import { Database } from './Database';
1
2
  import { Snapshot } from './Snapshot';
2
3
  export declare class WebRenderV1 {
3
4
  private server;
@@ -9,6 +10,7 @@ export declare class WebRenderV1 {
9
10
  private static encoderParameters;
10
11
  private static fetch;
11
12
  animation(snapshot: Snapshot): Promise<string[]>;
13
+ database(databaseId: string): Promise<Database>;
12
14
  image(snapshot: Snapshot): Promise<string>;
13
15
  video(snapshot: Snapshot): Promise<string>;
14
16
  vrCube(snapshot: Snapshot): Promise<string[]>;
@@ -1,5 +1,7 @@
1
+ import { Database } from './Database';
1
2
  import { Hotspot } from './Hotspot';
2
3
  import { Snapshot } from './Snapshot';
4
+ import { WRAPIv2 } from './WRAPIv2';
3
5
  export declare class WebRenderV2 {
4
6
  private server;
5
7
  constructor(server: string);
@@ -10,11 +12,15 @@ export declare class WebRenderV2 {
10
12
  private static fetchFrameArray;
11
13
  private static fetchHotspots;
12
14
  private static fetchHotspotsArray;
15
+ private static fetchPick;
16
+ database(databaseId: string): Promise<Database>;
13
17
  image(snapshot: Snapshot): Promise<string>;
14
18
  vrCube(snapshot: Snapshot): Promise<string[]>;
15
19
  vrObject(snapshot: Snapshot): Promise<string[]>;
16
20
  animation(snapshot: Snapshot): Promise<string[]>;
17
- imageHotspots(snapshot: Snapshot, tags: string[]): Promise<Hotspot[]>;
18
- vrCubeHotspots(snapshot: Snapshot, tags: string[]): Promise<Hotspot[][]>;
19
- vrObjectHotspots(snapshot: Snapshot, tags: string[]): Promise<Hotspot[][]>;
21
+ imageHotspots(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>): Promise<Hotspot[]>;
22
+ imagePick(snapshot: Snapshot, position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResult>;
23
+ vrCubeHotspots(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>): Promise<Hotspot[][]>;
24
+ vrObjectHotspots(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>): Promise<Hotspot[][]>;
25
+ private hotspotsBody;
20
26
  }
package/dist/Widget.d.ts CHANGED
@@ -1,10 +1,14 @@
1
1
  import { Hotspot } from './Hotspot';
2
+ import { Resolution } from './Resolution';
2
3
  import { Snapshot } from './Snapshot';
4
+ import { WRAPIv2 } from './WRAPIv2';
3
5
  export interface Widget {
4
6
  destroy(): void;
5
7
  show(): void;
6
8
  hide(): void;
7
- load(snapshot: Snapshot, tags: string[], reset: boolean, fade: boolean): Promise<Hotspot[]>;
9
+ load(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>, reset: boolean, fade: boolean): Promise<void>;
10
+ hotspots(resolution: Resolution): Hotspot[];
11
+ pick(snapshot: Snapshot, position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResult>;
8
12
  snapshot(type: string, quality: number): string;
9
13
  onMouseDown(e: MouseEvent): void;
10
14
  onMouseEnter(e: MouseEvent): void;
@@ -1,21 +1,25 @@
1
1
  import { Canvas2D } from './Canvas2D';
2
2
  import { Hotspot } from './Hotspot';
3
3
  import { Loader } from './Loader';
4
+ import { Resolution } from './Resolution';
4
5
  import { Snapshot } from './Snapshot';
5
6
  import { Widget } from './Widget';
7
+ import { WRAPIv2 } from './WRAPIv2';
6
8
  export declare class WidgetImage implements Widget {
7
9
  private container;
8
10
  private canvas;
9
11
  private loader;
10
12
  private image?;
11
- private hotspots;
13
+ private hotspotList;
14
+ private hotspotsHash?;
12
15
  private snapshotHash?;
13
- private tagsHash?;
14
16
  constructor(container: HTMLElement, canvas: Canvas2D, loader: Loader);
15
17
  destroy(): void;
16
18
  show(): void;
17
19
  hide(): void;
18
- load(snapshot: Snapshot, tags: string[], reset: boolean, fade: boolean): Promise<Hotspot[]>;
20
+ load(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>, reset: boolean, fade: boolean): Promise<void>;
21
+ pick(snapshot: Snapshot, position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResult>;
22
+ hotspots(resolution: Resolution): Hotspot[];
19
23
  snapshot(type: string, quality: number): string;
20
24
  onMouseDown(e: MouseEvent): void;
21
25
  onMouseMove(e: MouseEvent): void;
@@ -4,6 +4,7 @@ import { Loader } from './Loader';
4
4
  import { PointOfView } from './PointOfView';
5
5
  import { Snapshot } from './Snapshot';
6
6
  import { Widget } from './Widget';
7
+ import { WRAPIv2 } from './WRAPIv2';
7
8
  export declare class WidgetVRCube implements Widget {
8
9
  private container;
9
10
  private canvas;
@@ -16,8 +17,8 @@ export declare class WidgetVRCube implements Widget {
16
17
  private programInfo;
17
18
  private quad;
18
19
  private uniforms;
20
+ private hotspotsHash?;
19
21
  private snapshotHash?;
20
- private tagsHash?;
21
22
  private animationFrameId?;
22
23
  constructor(container: HTMLElement, canvas: Canvas3D, loader: Loader, onInteraction: (...args: any[]) => void);
23
24
  destroy(): void;
@@ -27,8 +28,9 @@ export declare class WidgetVRCube implements Widget {
27
28
  set pov(pov: PointOfView);
28
29
  get fov(): number;
29
30
  set fov(fov: number);
30
- get hotspots(): Hotspot[];
31
- load(snapshot: Snapshot, tags: string[], reset: boolean, fade: boolean): Promise<Hotspot[]>;
31
+ load(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>, reset: boolean, fade: boolean): Promise<void>;
32
+ pick(snapshot: Snapshot, position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResult>;
33
+ hotspots(): Hotspot[];
32
34
  snapshot(type: string, quality: number): string;
33
35
  private get modelViewProjectionMatrix();
34
36
  render(): void;
@@ -1,8 +1,10 @@
1
1
  import { Canvas2D } from './Canvas2D';
2
2
  import { Hotspot } from './Hotspot';
3
3
  import { Loader } from './Loader';
4
+ import { Resolution } from './Resolution';
4
5
  import { Snapshot } from './Snapshot';
5
6
  import { Widget } from './Widget';
7
+ import { WRAPIv2 } from './WRAPIv2';
6
8
  export declare class WidgetVRObject implements Widget {
7
9
  private container;
8
10
  private canvas;
@@ -12,8 +14,8 @@ export declare class WidgetVRObject implements Widget {
12
14
  private hotspotsList;
13
15
  private interaction;
14
16
  private onInteraction;
17
+ private hotspotsHash?;
15
18
  private snapshotHash?;
16
- private tagsHash?;
17
19
  private animationFrameId?;
18
20
  constructor(container: HTMLElement, canvas: Canvas2D, loader: Loader, onInteraction: (...args: any[]) => void);
19
21
  destroy(): void;
@@ -23,8 +25,9 @@ export declare class WidgetVRObject implements Widget {
23
25
  get position(): number;
24
26
  set position(position: number);
25
27
  get image(): HTMLImageElement;
26
- get hotspots(): Hotspot[];
27
- load(snapshot: Snapshot, tags: string[], reset: boolean, fade: boolean): Promise<Hotspot[]>;
28
+ load(snapshot: Snapshot, hotspots: Array<string | WRAPIv2.Vector3D>, reset: boolean, fade: boolean): Promise<void>;
29
+ pick(snapshot: Snapshot, position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResult>;
30
+ hotspots(resolution: Resolution): Hotspot[];
28
31
  snapshot(type: string, quality: number): string;
29
32
  onMouseDown(e: MouseEvent): void;
30
33
  onMouseMove(e: MouseEvent): void;
@@ -1,8 +1,10 @@
1
1
  import { Hotspot } from './Hotspot';
2
2
  import { Loader } from './Loader';
3
+ import { Resolution } from './Resolution';
3
4
  import { Snapshot } from './Snapshot';
4
5
  import { Video } from './Video';
5
6
  import { Widget } from './Widget';
7
+ import { WRAPIv2 } from './WRAPIv2';
6
8
  export declare class WidgetVideo implements Widget {
7
9
  private container;
8
10
  private loader;
@@ -12,7 +14,9 @@ export declare class WidgetVideo implements Widget {
12
14
  destroy(): void;
13
15
  show(): void;
14
16
  hide(): void;
15
- load(snapshot: Snapshot): Promise<Hotspot[]>;
17
+ load(snapshot: Snapshot): Promise<void>;
18
+ pick(snapshot: Snapshot, position: WRAPIv2.Vector2D): Promise<WRAPIv2.PickResult>;
19
+ hotspots(resolution: Resolution): Hotspot[];
16
20
  snapshot(type: string, quality: number): string;
17
21
  play(): Promise<void>;
18
22
  onMouseDown(e: MouseEvent): void;
package/dist/index.d.ts CHANGED
@@ -9,8 +9,8 @@ export * from './View';
9
9
  export * from './Viewer';
10
10
  export * from './Widget';
11
11
  export * from './WidgetImage';
12
- export * from './WidgetVideo';
13
12
  export * from './WidgetVRCube';
14
13
  export * from './WidgetVRObject';
14
+ export * from './WidgetVideo';
15
15
  export * from './WRAPIv1';
16
16
  export * from './WRAPIv2';