@vertexvis/viewer 0.13.1 → 0.13.2-canary.10
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/dist/cjs/{browser.esm-31b03292.js → browser.esm-075810bf.js} +1 -1
- package/dist/cjs/{bundle.esm-dc0a8361.js → bundle.esm-618a5fe9.js} +80 -28
- package/dist/cjs/{config-90ee43d5.js → config-fb124bac.js} +2 -2
- package/dist/cjs/{cursors-ad2fd395.js → cursors-d71f6a74.js} +1 -1
- package/dist/cjs/{dom-dd265f48.js → dom-57ef84e9.js} +1 -1
- package/dist/cjs/{entities-aa59890e.js → entities-90f1347a.js} +3 -3
- package/dist/cjs/index.cjs.js +14 -12
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{mapper-f6e6cafe.js → mapper-80ee2957.js} +2 -2
- package/dist/cjs/{markup-fb1553b1.js → markup-7f7de5f2.js} +2 -2
- package/dist/cjs/{measurement-aba1e0e8.js → measurement-f1ae9248.js} +2 -2
- package/dist/cjs/{model-4ec0c36e.js → model-55abd9ab.js} +1 -1
- package/dist/cjs/{overlays-40c6cbc7.js → overlays-68e8eff2.js} +2 -2
- package/dist/cjs/{png-decoder-27d25eed.js → png-decoder-076131d8.js} +1 -1
- package/dist/cjs/{results-bc325974.js → results-e9496869.js} +1 -1
- package/dist/cjs/{scene-d420fd26.js → scene-92728420.js} +188 -90
- package/dist/cjs/{streamAttributes-d6236448.js → streamAttributes-81eb52f2.js} +1508 -43
- package/dist/cjs/{utils-545b1865.js → utils-463cd52e.js} +1 -1
- package/dist/cjs/{utils-f80be307.js → utils-6397efca.js} +1 -1
- package/dist/cjs/vertex-scene-tree-search_3.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree-table-cell.cjs.entry.js +1 -1
- package/dist/cjs/vertex-scene-tree.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer-dom-element_3.cjs.entry.js +8 -7
- package/dist/cjs/vertex-viewer-markup-arrow_3.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer-markup-tool.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer-markup.cjs.entry.js +4 -4
- package/dist/cjs/vertex-viewer-measurement-details.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer-measurement-distance.cjs.entry.js +20 -15
- package/dist/cjs/vertex-viewer-measurement-line_2.cjs.entry.js +6 -6
- package/dist/cjs/vertex-viewer-measurement-precise.cjs.entry.js +10 -10
- package/dist/cjs/vertex-viewer-measurement-tool.cjs.entry.js +5 -5
- package/dist/cjs/vertex-viewer-measurements.cjs.entry.js +8 -8
- package/dist/cjs/vertex-viewer-view-cube.cjs.entry.js +3 -3
- package/dist/cjs/vertex-viewer.cjs.entry.js +287 -80
- package/dist/cjs/viewer.cjs.js +1 -1
- package/dist/cjs/{viewport-8c39089f.js → viewport-54b1389d.js} +34 -2
- package/dist/collection/components/scene-tree-table-cell/scene-tree-table-cell.css +1 -1
- package/dist/collection/components/viewer/viewer.js +68 -4
- package/dist/collection/components/viewer-dom-renderer/renderer2d.js +1 -1
- package/dist/collection/components/viewer-dom-renderer/renderer3d.js +4 -2
- package/dist/collection/components/viewer-dom-renderer/viewer-dom-renderer.js +5 -6
- package/dist/collection/components/viewer-measurement-distance/hitTest.js +9 -4
- package/dist/collection/components/viewer-measurement-distance/viewer-measurement-distance.js +5 -5
- package/dist/collection/components/viewer-measurement-overlays/viewer-measurement-overlays.js +3 -3
- package/dist/collection/index.js +2 -2
- package/dist/collection/lib/errors.js +8 -1
- package/dist/collection/lib/interactions/index.js +3 -1
- package/dist/collection/lib/interactions/interactionApi.js +4 -25
- package/dist/collection/lib/interactions/interactionApiOrthographic.js +136 -0
- package/dist/collection/lib/interactions/interactionApiPerspective.js +51 -0
- package/dist/collection/lib/interactions/multiTouchInteractionHandler.js +3 -2
- package/dist/collection/lib/mappers/frameStreaming.js +27 -5
- package/dist/collection/lib/rendering/matrices.js +13 -4
- package/dist/collection/lib/rendering/vectors.js +7 -0
- package/dist/collection/lib/scenes/__mocks__/mocks.js +2 -2
- package/dist/collection/lib/scenes/camera.js +163 -83
- package/dist/collection/lib/scenes/mapper.js +3 -2
- package/dist/collection/lib/scenes/scene.js +22 -9
- package/dist/collection/lib/types/clippingPlanes.js +48 -20
- package/dist/collection/lib/types/depthBuffer.js +32 -3
- package/dist/collection/lib/types/frame.js +133 -24
- package/dist/collection/lib/types/frameCamera.js +87 -6
- package/dist/collection/lib/types/viewport.js +34 -2
- package/dist/collection/testing/fixtures.js +28 -15
- package/dist/collection/testing/viewer.js +5 -3
- package/dist/custom-elements/index.js +2135 -283
- package/dist/esm/{browser.esm-59e914f6.js → browser.esm-e72d80ad.js} +1 -1
- package/dist/esm/{bundle.esm-d899b2d5.js → bundle.esm-8ceccb91.js} +80 -29
- package/dist/esm/{config-604c644e.js → config-fb7cd8ff.js} +2 -2
- package/dist/esm/{cursors-a7ec4adb.js → cursors-fc2deed7.js} +1 -1
- package/dist/esm/{dom-780d25be.js → dom-2cd18856.js} +1 -1
- package/dist/esm/{entities-759d97cd.js → entities-78557270.js} +3 -3
- package/dist/esm/index.js +12 -12
- package/dist/esm/index.mjs +12 -12
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loader.mjs +1 -1
- package/dist/esm/{mapper-4b815e31.js → mapper-da36de17.js} +2 -2
- package/dist/esm/{markup-1d177b4a.js → markup-c313d99c.js} +2 -2
- package/dist/esm/{measurement-12cdbf5c.js → measurement-544b69d5.js} +2 -2
- package/dist/esm/{model-e5a4f00f.js → model-2a34b443.js} +1 -1
- package/dist/esm/{overlays-1919b192.js → overlays-354e275c.js} +2 -2
- package/dist/esm/{png-decoder-3f1fa486.js → png-decoder-07de80d1.js} +1 -1
- package/dist/esm/{results-994bdb50.js → results-4d0c3568.js} +1 -1
- package/dist/esm/{scene-2c2460d5.js → scene-2bfcce74.js} +188 -90
- package/dist/esm/{streamAttributes-d623bb60.js → streamAttributes-d0b384b3.js} +1502 -44
- package/dist/esm/{utils-83a19677.js → utils-3ea0acdd.js} +1 -1
- package/dist/esm/{utils-5e57bf24.js → utils-e0941c61.js} +1 -1
- package/dist/esm/vertex-scene-tree-search_3.entry.js +1 -1
- package/dist/esm/vertex-scene-tree-table-cell.entry.js +1 -1
- package/dist/esm/vertex-scene-tree.entry.js +4 -4
- package/dist/esm/vertex-viewer-dom-element_3.entry.js +8 -7
- package/dist/esm/vertex-viewer-markup-arrow_3.entry.js +3 -3
- package/dist/esm/vertex-viewer-markup-tool.entry.js +4 -4
- package/dist/esm/vertex-viewer-markup.entry.js +4 -4
- package/dist/esm/vertex-viewer-measurement-details.entry.js +3 -3
- package/dist/esm/vertex-viewer-measurement-distance.entry.js +20 -15
- package/dist/esm/vertex-viewer-measurement-line_2.entry.js +6 -6
- package/dist/esm/vertex-viewer-measurement-precise.entry.js +10 -10
- package/dist/esm/vertex-viewer-measurement-tool.entry.js +5 -5
- package/dist/esm/vertex-viewer-measurements.entry.js +8 -8
- package/dist/esm/vertex-viewer-view-cube.entry.js +3 -3
- package/dist/esm/vertex-viewer.entry.js +287 -80
- package/dist/esm/viewer.js +1 -1
- package/dist/esm/{viewport-01c886ea.js → viewport-5cc7b128.js} +34 -2
- package/dist/types/components/scene-tree-table-cell/scene-tree-table-cell.d.ts +1 -1
- package/dist/types/components/viewer/viewer.d.ts +8 -0
- package/dist/types/components/viewer-dom-renderer/renderer2d.d.ts +2 -2
- package/dist/types/components/viewer-dom-renderer/renderer3d.d.ts +3 -3
- package/dist/types/components/viewer-dom-renderer/viewer-dom-renderer.d.ts +2 -2
- package/dist/types/components/viewer-measurement-distance/hitTest.d.ts +3 -2
- package/dist/types/components/viewer-measurement-distance/utils.d.ts +2 -2
- package/dist/types/components/viewer-measurement-distance/viewer-measurement-distance.d.ts +2 -2
- package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays-components.d.ts +2 -2
- package/dist/types/components/viewer-measurement-overlays/viewer-measurement-overlays.d.ts +2 -2
- package/dist/types/components.d.ts +15 -7
- package/dist/types/index.d.ts +1 -1
- package/dist/types/lib/errors.d.ts +3 -0
- package/dist/types/lib/interactions/index.d.ts +2 -0
- package/dist/types/lib/interactions/interactionApi.d.ts +34 -26
- package/dist/types/lib/interactions/interactionApiOrthographic.d.ts +35 -0
- package/dist/types/lib/interactions/interactionApiPerspective.d.ts +21 -0
- package/dist/types/lib/mappers/frameStreaming.d.ts +2 -0
- package/dist/types/lib/rendering/vectors.d.ts +2 -0
- package/dist/types/lib/scenes/__mocks__/mocks.d.ts +2 -2
- package/dist/types/lib/scenes/camera.d.ts +101 -38
- package/dist/types/lib/scenes/scene.d.ts +1 -1
- package/dist/types/lib/types/clippingPlanes.d.ts +3 -1
- package/dist/types/lib/types/depthBuffer.d.ts +28 -6
- package/dist/types/lib/types/frame.d.ts +80 -11
- package/dist/types/lib/types/frameCamera.d.ts +22 -3
- package/dist/types/lib/types/viewport.d.ts +24 -4
- package/dist/types/testing/fixtures.d.ts +8 -5
- package/dist/viewer/index.esm.js +1 -1
- package/dist/viewer/{p-f8d01b8a.entry.js → p-0a189e62.entry.js} +1 -1
- package/dist/viewer/{p-e07377fa.entry.js → p-1ca95f9a.entry.js} +1 -1
- package/dist/viewer/{p-d00e9203.js → p-3561d910.js} +1 -1
- package/dist/viewer/p-388a43f7.js +4 -0
- package/dist/viewer/{p-3810c24d.js → p-3f0f83ad.js} +1 -1
- package/dist/viewer/{p-8decee06.entry.js → p-41028d3b.entry.js} +1 -1
- package/dist/viewer/{p-439220c6.js → p-487e054a.js} +1 -1
- package/dist/viewer/p-49d36e94.entry.js +4 -0
- package/dist/viewer/{p-da2f4a56.js → p-5b342e97.js} +1 -1
- package/dist/viewer/p-661f0612.js +18 -0
- package/dist/viewer/{p-364ce21c.js → p-69058178.js} +1 -1
- package/dist/viewer/{p-353cfc7a.entry.js → p-73a5eacc.entry.js} +1 -1
- package/dist/viewer/p-77be081a.js +4 -0
- package/dist/viewer/{p-a0df0e0c.js → p-809d09d9.js} +1 -1
- package/dist/viewer/{p-d90f2f6d.entry.js → p-858bd2c7.entry.js} +1 -1
- package/dist/viewer/{p-25eaab00.entry.js → p-89b66838.entry.js} +1 -1
- package/dist/viewer/p-a93a63a9.js +4 -0
- package/dist/viewer/{p-df292b56.entry.js → p-b043b076.entry.js} +1 -1
- package/dist/viewer/{p-915d95ad.entry.js → p-b0ac6b3c.entry.js} +1 -1
- package/dist/viewer/{p-fec1a8d0.entry.js → p-b7624ff2.entry.js} +1 -1
- package/dist/viewer/{p-f7cb7e59.js → p-b8774c9c.js} +1 -1
- package/dist/viewer/{p-67446e35.js → p-bcb66f97.js} +1 -1
- package/dist/viewer/p-bcde5521.entry.js +4 -0
- package/dist/viewer/{p-7cad9bf4.js → p-d1584404.js} +1 -1
- package/dist/viewer/p-d32b54cb.js +4 -0
- package/dist/viewer/{p-f755af5a.entry.js → p-d3a20af4.entry.js} +1 -1
- package/dist/viewer/{p-c62cb926.entry.js → p-d9f99f4d.entry.js} +1 -1
- package/dist/viewer/p-e38458da.js +4 -0
- package/dist/viewer/{p-301660cf.js → p-e75bba97.js} +2 -2
- package/dist/viewer/{p-6e80f8b0.entry.js → p-ebd55df7.entry.js} +1 -1
- package/dist/viewer/{p-671c113c.entry.js → p-f0411993.entry.js} +1 -1
- package/dist/viewer/{p-2cefb1b0.js → p-fa9a0bed.js} +1 -1
- package/dist/viewer/p-ffdeb08c.js +4 -0
- package/dist/viewer/viewer.esm.js +1 -1
- package/package.json +8 -8
- package/dist/viewer/p-081e6873.js +0 -4
- package/dist/viewer/p-085e908a.js +0 -4
- package/dist/viewer/p-0aba71fd.js +0 -18
- package/dist/viewer/p-3f6ac74f.js +0 -4
- package/dist/viewer/p-423410be.js +0 -4
- package/dist/viewer/p-432267bc.entry.js +0 -4
- package/dist/viewer/p-4985fad5.js +0 -4
- package/dist/viewer/p-e2297df2.entry.js +0 -4
- package/dist/viewer/p-fe11d694.js +0 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Point, Ray } from '@vertexvis/geometry';
|
|
2
2
|
import { Vector3 } from '@vertexvis/geometry';
|
|
3
3
|
import type { DecodedPng } from 'fast-png';
|
|
4
|
-
import {
|
|
4
|
+
import { FrameCameraWithMatrices, FrameImageLike, ImageAttributesLike } from './frame';
|
|
5
5
|
import { Viewport } from './viewport';
|
|
6
6
|
/**
|
|
7
7
|
* A `DepthBuffer` represents the depth information for a rendered frame. This
|
|
@@ -13,7 +13,7 @@ import { Viewport } from './viewport';
|
|
|
13
13
|
* a relative distance between the camera's near and far planes.
|
|
14
14
|
*/
|
|
15
15
|
export declare class DepthBuffer implements FrameImageLike {
|
|
16
|
-
readonly camera:
|
|
16
|
+
readonly camera: FrameCameraWithMatrices;
|
|
17
17
|
readonly imageAttr: ImageAttributesLike;
|
|
18
18
|
readonly pixels: Uint16Array;
|
|
19
19
|
/**
|
|
@@ -28,7 +28,7 @@ export declare class DepthBuffer implements FrameImageLike {
|
|
|
28
28
|
* @param imageAttr The attributes of the depth buffer image.
|
|
29
29
|
* @param pixels A 16-bit typed array of depth values.
|
|
30
30
|
*/
|
|
31
|
-
constructor(camera:
|
|
31
|
+
constructor(camera: FrameCameraWithMatrices, imageAttr: ImageAttributesLike, pixels: Uint16Array);
|
|
32
32
|
/**
|
|
33
33
|
* Creates a `DepthBuffer` from a decoded PNG.
|
|
34
34
|
*
|
|
@@ -38,11 +38,11 @@ export declare class DepthBuffer implements FrameImageLike {
|
|
|
38
38
|
* @throws If the PNG is not a single channel, 16-bit image.
|
|
39
39
|
* @returns A depth buffer.
|
|
40
40
|
*/
|
|
41
|
-
static fromPng(png: Pick<DecodedPng, 'data'>, camera:
|
|
41
|
+
static fromPng(png: Pick<DecodedPng, 'data'>, camera: FrameCameraWithMatrices, imageAttr: ImageAttributesLike): DepthBuffer;
|
|
42
42
|
/**
|
|
43
43
|
* Computes the depth from a 2D point within the coordinate space of the depth
|
|
44
44
|
* buffer. The returned depth is a value that's between the near and far plane
|
|
45
|
-
* of the camera.
|
|
45
|
+
* of the perspective camera.
|
|
46
46
|
*
|
|
47
47
|
* @param point A 2D point within the viewport.
|
|
48
48
|
* @param fallbackNormalizedDepth A fallback value if the depth is the max
|
|
@@ -50,6 +50,17 @@ export declare class DepthBuffer implements FrameImageLike {
|
|
|
50
50
|
* @returns A depth between the near and far plane.
|
|
51
51
|
*/
|
|
52
52
|
getLinearDepthAtPoint(point: Point.Point, fallbackNormalizedDepth?: number): number;
|
|
53
|
+
/**
|
|
54
|
+
* Computes the depth from a 2D point within the coordinate space of the depth
|
|
55
|
+
* buffer. The returned depth is a value that's between the near and far plane
|
|
56
|
+
* of the orthographic camera.
|
|
57
|
+
*
|
|
58
|
+
* @param point A 2D point within the viewport.
|
|
59
|
+
* @param fallbackNormalizedDepth A fallback value if the depth is the max
|
|
60
|
+
* depth value, or cannot be determined.
|
|
61
|
+
* @returns A depth between the near and far plane.
|
|
62
|
+
*/
|
|
63
|
+
getOrthographicDepthAtPoint(point: Point.Point, fallbackNormalizedDepth?: number): number;
|
|
53
64
|
/**
|
|
54
65
|
* Computes a depth from a 2D point within the coordinate space of the frame.
|
|
55
66
|
* The returned depth is a normalized value (`[0, 1]`) between the near and
|
|
@@ -71,7 +82,7 @@ export declare class DepthBuffer implements FrameImageLike {
|
|
|
71
82
|
*/
|
|
72
83
|
hitTest(point: Point.Point): boolean;
|
|
73
84
|
/**
|
|
74
|
-
* Computes a 3D point in world space coordinates from the depth value at the
|
|
85
|
+
* Computes a 3D point in perspective world space coordinates from the depth value at the
|
|
75
86
|
* given pixel and ray.
|
|
76
87
|
*
|
|
77
88
|
* @param point A pixel to use for reading a depth value.
|
|
@@ -81,6 +92,17 @@ export declare class DepthBuffer implements FrameImageLike {
|
|
|
81
92
|
* @returns A point in world space coordinates.
|
|
82
93
|
*/
|
|
83
94
|
getWorldPoint(point: Point.Point, ray: Ray.Ray, fallbackNormalizedDepth?: number): Vector3.Vector3;
|
|
95
|
+
/**
|
|
96
|
+
* Computes a 3D point in orthographic world space coordinates from the depth value at the
|
|
97
|
+
* given pixel and ray.
|
|
98
|
+
*
|
|
99
|
+
* @param point A pixel to use for reading a depth value.
|
|
100
|
+
* @param ray A ray that specifies the origin and direction.
|
|
101
|
+
* @param fallbackNormalizedDepth A fallback value if the depth is the max
|
|
102
|
+
* depth value, or cannot be determined.
|
|
103
|
+
* @returns A point in world space coordinates.
|
|
104
|
+
*/
|
|
105
|
+
getOrthographicWorldPoint(point: Point.Point, ray: Ray.Ray, fallbackNormalizedDepth?: number): Vector3.Vector3;
|
|
84
106
|
/**
|
|
85
107
|
* Returns `true` if the given point in world space is occluded by any
|
|
86
108
|
* geometry.
|
|
@@ -34,40 +34,47 @@ export declare class FrameImage implements FrameImageLike {
|
|
|
34
34
|
constructor(imageAttr: ImageAttributesLike, imageBytes: Uint8Array);
|
|
35
35
|
}
|
|
36
36
|
export declare class FrameScene {
|
|
37
|
-
readonly camera:
|
|
37
|
+
readonly camera: FrameCameraBase;
|
|
38
38
|
readonly boundingBox: BoundingBox.BoundingBox;
|
|
39
39
|
readonly crossSection: CrossSectioning.CrossSectioning;
|
|
40
40
|
readonly worldOrientation: Orientation;
|
|
41
41
|
readonly hasChanged: boolean;
|
|
42
|
-
constructor(camera:
|
|
42
|
+
constructor(camera: FrameCameraBase, boundingBox: BoundingBox.BoundingBox, crossSection: CrossSectioning.CrossSectioning, worldOrientation: Orientation, hasChanged: boolean);
|
|
43
43
|
}
|
|
44
44
|
interface FrameCameraMatrices {
|
|
45
|
-
readonly worldMatrix: Matrix4.Matrix4;
|
|
46
|
-
readonly viewMatrix: Matrix4.Matrix4;
|
|
47
45
|
readonly projectionMatrix: Matrix4.Matrix4;
|
|
48
46
|
readonly projectionMatrixInverse: Matrix4.Matrix4;
|
|
47
|
+
readonly worldMatrix: Matrix4.Matrix4;
|
|
48
|
+
readonly viewMatrix: Matrix4.Matrix4;
|
|
49
49
|
readonly projectionViewMatrix: Matrix4.Matrix4;
|
|
50
50
|
}
|
|
51
|
-
interface
|
|
51
|
+
interface FrameCameraLike {
|
|
52
52
|
readonly position: Vector3.Vector3;
|
|
53
53
|
readonly lookAt: Vector3.Vector3;
|
|
54
54
|
readonly up: Vector3.Vector3;
|
|
55
55
|
readonly near: number;
|
|
56
56
|
readonly far: number;
|
|
57
57
|
readonly aspectRatio: number;
|
|
58
|
+
}
|
|
59
|
+
interface FramePerspectiveCameraLike {
|
|
58
60
|
readonly fovY: number;
|
|
59
61
|
}
|
|
60
|
-
|
|
62
|
+
interface FrameOrthographicCameraLike {
|
|
63
|
+
readonly fovHeight: number;
|
|
64
|
+
readonly top: number;
|
|
65
|
+
readonly bottom: number;
|
|
66
|
+
readonly right: number;
|
|
67
|
+
readonly left: number;
|
|
68
|
+
}
|
|
69
|
+
export declare class FrameCameraBase implements FrameCameraLike {
|
|
61
70
|
readonly position: Vector3.Vector3;
|
|
62
71
|
readonly lookAt: Vector3.Vector3;
|
|
63
72
|
readonly up: Vector3.Vector3;
|
|
64
73
|
readonly near: number;
|
|
65
74
|
readonly far: number;
|
|
66
75
|
readonly aspectRatio: number;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
constructor(position: Vector3.Vector3, lookAt: Vector3.Vector3, up: Vector3.Vector3, near: number, far: number, aspectRatio: number, fovY: number);
|
|
70
|
-
static fromBoundingBox(camera: FrameCamera.FrameCamera, boundingBox: BoundingBox.BoundingBox, aspectRatio: number): FramePerspectiveCamera;
|
|
76
|
+
protected cameraMatrices?: FrameCameraMatrices;
|
|
77
|
+
constructor(position: Vector3.Vector3, lookAt: Vector3.Vector3, up: Vector3.Vector3, near: number, far: number, aspectRatio: number);
|
|
71
78
|
get direction(): Vector3.Vector3;
|
|
72
79
|
get viewVector(): Vector3.Vector3;
|
|
73
80
|
get worldMatrix(): Matrix4.Matrix4;
|
|
@@ -75,7 +82,16 @@ export declare class FramePerspectiveCamera implements FrameCameraMatrices, Fram
|
|
|
75
82
|
get projectionMatrix(): Matrix4.Matrix4;
|
|
76
83
|
get projectionMatrixInverse(): Matrix4.Matrix4;
|
|
77
84
|
get projectionViewMatrix(): Matrix4.Matrix4;
|
|
78
|
-
|
|
85
|
+
get frustumProjectionViewMatrix(): Matrix4.Matrix4;
|
|
86
|
+
static fromBoundingBox(camera: FrameCamera.FrameCamera, boundingBox: BoundingBox.BoundingBox, aspectRatio: number): FrameCameraBase;
|
|
87
|
+
/**
|
|
88
|
+
* Returns whether this `FrameCameraBase` is an orthographic camera.
|
|
89
|
+
*/
|
|
90
|
+
isOrthographic(): this is FrameOrthographicCamera;
|
|
91
|
+
/**
|
|
92
|
+
* Returns whether this `FrameCameraBase` is a perspective camera.
|
|
93
|
+
*/
|
|
94
|
+
isPerspective(): this is FramePerspectiveCamera;
|
|
79
95
|
/**
|
|
80
96
|
* Checks if the given point, in world space, is behind the near plane
|
|
81
97
|
* of the camera.
|
|
@@ -93,5 +109,58 @@ export declare class FramePerspectiveCamera implements FrameCameraMatrices, Fram
|
|
|
93
109
|
* intersect with the near plane.
|
|
94
110
|
*/
|
|
95
111
|
intersectLineWithNear(line: Line3.Line3): Vector3.Vector3 | undefined;
|
|
112
|
+
protected computeCameraMatrices(): FrameCameraMatrices;
|
|
113
|
+
protected updateCameraMatrices(cameraMatrices: FrameCameraMatrices): FrameCameraMatrices;
|
|
114
|
+
}
|
|
115
|
+
export interface FrameCameraWithMatrices extends FrameCameraBase {
|
|
116
|
+
readonly direction: Vector3.Vector3;
|
|
117
|
+
readonly viewVector: Vector3.Vector3;
|
|
118
|
+
readonly worldMatrix: Matrix4.Matrix4;
|
|
119
|
+
readonly viewMatrix: Matrix4.Matrix4;
|
|
120
|
+
readonly projectionMatrix: Matrix4.Matrix4;
|
|
121
|
+
readonly projectionMatrixInverse: Matrix4.Matrix4;
|
|
122
|
+
readonly projectionViewMatrix: Matrix4.Matrix4;
|
|
123
|
+
}
|
|
124
|
+
export declare class FramePerspectiveCamera extends FrameCameraBase implements FrameCameraWithMatrices, FramePerspectiveCameraLike {
|
|
125
|
+
readonly position: Vector3.Vector3;
|
|
126
|
+
readonly lookAt: Vector3.Vector3;
|
|
127
|
+
readonly up: Vector3.Vector3;
|
|
128
|
+
readonly near: number;
|
|
129
|
+
readonly far: number;
|
|
130
|
+
readonly aspectRatio: number;
|
|
131
|
+
readonly fovY: number;
|
|
132
|
+
constructor(position: Vector3.Vector3, lookAt: Vector3.Vector3, up: Vector3.Vector3, near: number, far: number, aspectRatio: number, fovY?: number);
|
|
133
|
+
/**
|
|
134
|
+
* Converts this `FramePerspectiveCamera` to a `FrameOrthographicCamera` using
|
|
135
|
+
* the provided `boundingBox` to compute the viewing frustum.
|
|
136
|
+
*
|
|
137
|
+
* @param boundingBox The visible bounding box.
|
|
138
|
+
*/
|
|
139
|
+
toOrthographic(boundingBox: BoundingBox.BoundingBox): FrameCameraBase;
|
|
140
|
+
isPerspective(): this is FramePerspectiveCamera;
|
|
141
|
+
protected computeCameraMatrices(): FrameCameraMatrices;
|
|
142
|
+
}
|
|
143
|
+
export declare class FrameOrthographicCamera extends FrameCameraBase implements FrameCameraWithMatrices, FrameOrthographicCameraLike {
|
|
144
|
+
readonly lookAt: Vector3.Vector3;
|
|
145
|
+
readonly up: Vector3.Vector3;
|
|
146
|
+
readonly near: number;
|
|
147
|
+
readonly far: number;
|
|
148
|
+
readonly aspectRatio: number;
|
|
149
|
+
readonly fovHeight: number;
|
|
150
|
+
readonly top: number;
|
|
151
|
+
readonly bottom: number;
|
|
152
|
+
readonly right: number;
|
|
153
|
+
readonly left: number;
|
|
154
|
+
constructor(viewVector: Vector3.Vector3, lookAt: Vector3.Vector3, up: Vector3.Vector3, near: number, far: number, aspectRatio: number, fovHeight: number);
|
|
155
|
+
/**
|
|
156
|
+
* Converts this `FrameOrthographicCamera` to a `FramePerspectiveCamera` using
|
|
157
|
+
* the provided `boundingBox` to compute the near and far clipping planes.
|
|
158
|
+
*
|
|
159
|
+
* @param boundingBox The visible bounding box.
|
|
160
|
+
*/
|
|
161
|
+
toPerspective(boundingBox: BoundingBox.BoundingBox): FrameCameraBase;
|
|
162
|
+
isOrthographic(): this is FrameOrthographicCamera;
|
|
163
|
+
get frustumProjectionViewMatrix(): Matrix4.Matrix4;
|
|
164
|
+
protected computeCameraMatrices(): FrameCameraMatrices;
|
|
96
165
|
}
|
|
97
166
|
export {};
|
|
@@ -1,7 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { vertexvis } from '@vertexvis/frame-streaming-protos';
|
|
2
|
+
import { BoundingBox, Vector3 } from '@vertexvis/geometry';
|
|
3
|
+
export interface PerspectiveFrameCamera {
|
|
3
4
|
position: Vector3.Vector3;
|
|
4
5
|
lookAt: Vector3.Vector3;
|
|
5
6
|
up: Vector3.Vector3;
|
|
7
|
+
fovY?: number;
|
|
6
8
|
}
|
|
7
|
-
export
|
|
9
|
+
export interface OrthographicFrameCamera {
|
|
10
|
+
viewVector: Vector3.Vector3;
|
|
11
|
+
lookAt: Vector3.Vector3;
|
|
12
|
+
up: Vector3.Vector3;
|
|
13
|
+
fovHeight: number;
|
|
14
|
+
}
|
|
15
|
+
export declare type FrameCamera = PerspectiveFrameCamera | OrthographicFrameCamera;
|
|
16
|
+
export declare function isPerspectiveFrameCamera(camera: Partial<FrameCamera>): camera is PerspectiveFrameCamera;
|
|
17
|
+
export declare function isOrthographicFrameCamera(camera: Partial<FrameCamera>): camera is OrthographicFrameCamera;
|
|
18
|
+
export declare function withPositionAndViewVector(camera: FrameCamera): FrameCamera & {
|
|
19
|
+
position: Vector3.Vector3;
|
|
20
|
+
viewVector: Vector3.Vector3;
|
|
21
|
+
};
|
|
22
|
+
export declare function createPerspective(data?: Partial<PerspectiveFrameCamera>): PerspectiveFrameCamera;
|
|
23
|
+
export declare function createOrthographic(data?: Partial<OrthographicFrameCamera>): OrthographicFrameCamera;
|
|
24
|
+
export declare function toOrthographic(data: PerspectiveFrameCamera, boundingBox: BoundingBox.BoundingBox): OrthographicFrameCamera;
|
|
25
|
+
export declare function toPerspective(data: OrthographicFrameCamera, fovY?: number): PerspectiveFrameCamera;
|
|
26
|
+
export declare function toProtobuf(camera: Partial<FrameCamera>): vertexvis.protobuf.stream.ICamera;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Dimensions, Matrix4, Point, Ray, Rectangle, Vector3 } from '@vertexvis/geometry';
|
|
2
2
|
import { DepthBuffer } from './depthBuffer';
|
|
3
|
-
import type { FrameImageLike } from './frame';
|
|
4
|
-
import { FramePerspectiveCamera } from './frame';
|
|
3
|
+
import type { FrameCameraWithMatrices, FrameImageLike } from './frame';
|
|
5
4
|
/**
|
|
6
5
|
* A `Viewport` represents the drawing area in the viewer.
|
|
7
6
|
*
|
|
@@ -67,7 +66,7 @@ export declare class Viewport implements Dimensions.Dimensions {
|
|
|
67
66
|
*/
|
|
68
67
|
transformPointToFrame(pt: Point.Point, image: FrameImageLike): Point.Point;
|
|
69
68
|
/**
|
|
70
|
-
* Transforms a point in viewport coordinates to a point in world space
|
|
69
|
+
* Transforms a point in viewport coordinates to a point in perspective world space
|
|
71
70
|
* coordinates. This method expects a depth buffer in order to compute a value
|
|
72
71
|
* for the Z axis.
|
|
73
72
|
*
|
|
@@ -78,6 +77,17 @@ export declare class Viewport implements Dimensions.Dimensions {
|
|
|
78
77
|
* @returns
|
|
79
78
|
*/
|
|
80
79
|
transformPointToWorldSpace(pt: Point.Point, depthBuffer: DepthBuffer, fallbackNormalizedDepth?: number): Vector3.Vector3;
|
|
80
|
+
/**
|
|
81
|
+
* Transforms a point in viewport coordinates to a point in orthographic world space
|
|
82
|
+
* coordinates. This method expects a depth buffer in order to compute a value
|
|
83
|
+
* for the Z axis.
|
|
84
|
+
*
|
|
85
|
+
* @param pt A point in viewport coordinates.
|
|
86
|
+
* @param depthBuffer A depth buffer for computing the Z axis.
|
|
87
|
+
* @param fallbackNormalizedDepth A fallback value if the depth is the max
|
|
88
|
+
* depth value, or cannot be determined.
|
|
89
|
+
*/
|
|
90
|
+
transformPointToOrthographicWorldSpace(pt: Point.Point, depthBuffer: DepthBuffer, fallbackNormalizedDepth?: number): Vector3.Vector3;
|
|
81
91
|
/**
|
|
82
92
|
* Transforms a point in viewport coordinates to a ray. The returned ray will
|
|
83
93
|
* have an origin that is at the position of the camera with a direction that
|
|
@@ -88,7 +98,17 @@ export declare class Viewport implements Dimensions.Dimensions {
|
|
|
88
98
|
* @param camera A camera used to determine orientation of the scene.
|
|
89
99
|
* @returns
|
|
90
100
|
*/
|
|
91
|
-
transformPointToRay(pt: Point.Point, image: FrameImageLike, camera:
|
|
101
|
+
transformPointToRay(pt: Point.Point, image: FrameImageLike, camera: FrameCameraWithMatrices): Ray.Ray;
|
|
102
|
+
/**
|
|
103
|
+
* Transforms a point in viewport coordinates to a ray. The returned ray will
|
|
104
|
+
* have an origin that is at the world point of viewport coordinate with a direction that
|
|
105
|
+
* is pointing into world space away from the camera.
|
|
106
|
+
*
|
|
107
|
+
* @param pt A point in viewport coordinates.
|
|
108
|
+
* @param image An image of a frame.
|
|
109
|
+
* @param camera A camera used to determine orientation of the scene.
|
|
110
|
+
*/
|
|
111
|
+
transformPointToOrthographicRay(pt: Point.Point, image: FrameImageLike, camera: FrameCameraWithMatrices): Ray.Ray;
|
|
92
112
|
/**
|
|
93
113
|
* Maps a screen point to normalized device coordinates (NDC). A screen point
|
|
94
114
|
* at 0,0 represents the top-left of the viewport.
|
|
@@ -4,22 +4,25 @@ import { Color } from '@vertexvis/utils';
|
|
|
4
4
|
import { PointToPointHitTester } from '../components/viewer-measurement-distance/hitTest';
|
|
5
5
|
import { PointToPointHitProvider } from '../components/viewer-measurement-distance/interactions';
|
|
6
6
|
import { RaycasterLike } from '../lib/scenes/raycaster';
|
|
7
|
-
import { DepthBuffer, FeatureMap, Frame, ImageAttributesLike, StencilBuffer, Viewport } from '../lib/types';
|
|
8
|
-
export declare const
|
|
9
|
-
export declare
|
|
7
|
+
import { DepthBuffer, FeatureMap, Frame, FrameCameraBase, ImageAttributesLike, StencilBuffer, Viewport } from '../lib/types';
|
|
8
|
+
export declare const drawFramePayloadPerspective: DrawFramePayload;
|
|
9
|
+
export declare const drawFramePayloadOrthographic: DrawFramePayload;
|
|
10
|
+
export declare function makePerspectiveFrame(): Frame;
|
|
11
|
+
export declare function makeOrthographicFrame(): Frame;
|
|
10
12
|
export declare function makeImagePng(width: number, height: number): Uint8Array;
|
|
11
13
|
export declare function makeDepthImagePng(width: number, height: number, value?: number): Uint8Array;
|
|
12
14
|
export declare function makeDepthImageBytes(width: number, height: number, value?: number): Uint16Array;
|
|
13
|
-
export declare function makeDepthBuffer(width: number, height: number, value?: number): DepthBuffer;
|
|
15
|
+
export declare function makeDepthBuffer(width: number, height: number, value?: number, camera?: FrameCameraBase): DepthBuffer;
|
|
14
16
|
export declare function makeStencilImageBytes(width: number, height: number, fill: (pixel: Point.Point) => number): Uint8Array;
|
|
15
17
|
export declare function makeStencilBuffer(width: number, height: number, fill: (pixel: Point.Point) => number, depthBuffer?: DepthBuffer): StencilBuffer;
|
|
16
18
|
export declare function makeFeatureMap(width: number, height: number, fill: (pixel: Point.Point) => Color.Color): FeatureMap;
|
|
17
19
|
export declare function makeFeatureMapBytes(width: number, height: number, fill: (pixel: Point.Point) => Color.Color): Uint8Array;
|
|
18
20
|
export declare function makeImageAttributes(width: number, height: number): ImageAttributesLike;
|
|
19
|
-
export declare function makeHitTester({ stencilBuffer, depthBuffer, viewport, }?: {
|
|
21
|
+
export declare function makeHitTester({ stencilBuffer, depthBuffer, viewport, camera, }?: {
|
|
20
22
|
stencilBuffer?: StencilBuffer;
|
|
21
23
|
depthBuffer?: DepthBuffer;
|
|
22
24
|
viewport?: Viewport;
|
|
25
|
+
camera?: FrameCameraBase;
|
|
23
26
|
}): PointToPointHitTester;
|
|
24
27
|
export declare function makeRaycaster(): RaycasterLike;
|
|
25
28
|
export declare function makeHitProvider({ hitTester, raycaster, }: {
|
package/dist/viewer/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
export{c as ColorMaterial,l as LoadableResource,S as Scene,a as SynchronizedClock}from"./p-
|
|
4
|
+
export{c as ColorMaterial,l as LoadableResource,S as Scene,a as SynchronizedClock}from"./p-d32b54cb.js";export{C as CursorManager,m as measurementCursor,a as measurementWithArrowCursor}from"./p-3561d910.js";export{M as MeasurementController,a as MeasurementEntity}from"./p-69058178.js";export{M as MeasurementModel}from"./p-5b342e97.js";export{M as MeasurementOverlayManager}from"./p-3f0f83ad.js";export{m as makeMinimumDistanceResult}from"./p-bcb66f97.js";export{A as AngleUnits,f as AreaUnits,D as DistanceUnits,E as EntityType,F as FrameCameraBase,a as ReceivedFrame,b as ReceivedFrameImage,c as ReceivedFrameScene,d as ReceivedOrthographicCamera,e as ReceivedPerspectiveCamera}from"./p-77be081a.js";export{A as ArrowMarkup,C as CircleMarkup,F as FreeformMarkup}from"./p-e38458da.js";export{V as Viewport}from"./p-a93a63a9.js";import"./p-e75bba97.js";import"./p-661f0612.js";import"./p-b8774c9c.js";import"./p-112455b1.js";import"./p-3a20a038.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,c as t,h as i,H as s,g as n}from"./p-cafa57a6.js";import{M as a}from"./p-849bd025.js";import{s as h}from"./p-c738296e.js";import"./p-
|
|
4
|
+
import{r as e,c as t,h as i,H as s,g as n}from"./p-cafa57a6.js";import{M as a}from"./p-849bd025.js";import{s as h}from"./p-c738296e.js";import"./p-77be081a.js";import{D as l}from"./p-ffdeb08c.js";import{i as d}from"./p-fa9a0bed.js";import"./p-661f0612.js";import"./p-e75bba97.js";import"./p-112455b1.js";let o=class{constructor(i){e(this,i),this.measureBegin=t(this,"measureBegin",7),this.measureEnd=t(this,"measureEnd",7),this.tool="distance",this.units="millimeters",this.fractionalDigits=2,this.disabled=!1,this.isMeasuring=!1,this.snapDistance=a,this.stateMap={},this.handleMeasurementEditBegin=()=>{this.isMeasuring=!0,this.measureBegin.emit()},this.handleMeasurementEditEnd=()=>{const{measurementElement:e}=this.stateMap;if(d(e)){const{start:t,end:i,invalid:s}=e;this.isMeasuring=!1,e.start=void 0,e.end=void 0,e.invalid=!1,null!=t&&null!=i&&this.measureEnd.emit(new l({start:t,end:i,invalid:s}))}}}handleViewerChanged(){null!=this.stateMap.measurementElement&&(this.stateMap.measurementElement.viewer=this.viewer)}handleToolChanged(){this.updateMeasurementElement()}handleDistanceTemplateIdChanged(){this.updateMeasurementElement()}handleDisabledChanged(){this.updateMeasurementElement()}handleUnitsChanged(){this.updateMeasurementElement()}handleFractionalDigitsChanged(){this.updateMeasurementElement()}handleSnapDistanceChanged(){this.updateMeasurementElement()}componentDidLoad(){this.updateMeasurementElement()}render(){return this.disabled?i(s,null):i(s,null,"distance"===this.tool?i("vertex-viewer-layer",null,i("slot",null)):`Unsupported tool type '${this.tool}'.`)}createDistanceMeasurementElement(){if(null!=this.distanceTemplateId){const e=h(window.document.body,this.distanceTemplateId,d,(()=>console.warn(`Distance template with ID ${this.distanceTemplateId} not found. Using default distance element.`)),(()=>console.warn("Distance template does not contain a vertex-viewer-measurement-distance. Using default distance element.")));if(null!=e)return e}return document.createElement("vertex-viewer-measurement-distance")}updateMeasurementElement(){const{measurementElement:e}=this.stateMap;if(null!=e&&(e.remove(),e.viewer=void 0,e.removeEventListener("editBegin",this.handleMeasurementEditBegin),e.removeEventListener("editEnd",this.handleMeasurementEditEnd)),!this.disabled){const e=this.createDistanceMeasurementElement();e.mode="replace",e.units=this.units,e.snapDistance=this.snapDistance,e.fractionalDigits=this.fractionalDigits,e.viewer=this.viewer,e.addEventListener("editBegin",this.handleMeasurementEditBegin),e.addEventListener("editEnd",this.handleMeasurementEditEnd),this.stateMap.measurementElement=e,this.hostEl.append(e)}}get hostEl(){return n(this)}static get watchers(){return{viewer:["handleViewerChanged"],tool:["handleToolChanged"],distanceTemplateId:["handleDistanceTemplateIdChanged"],disabled:["handleDisabledChanged"],units:["handleUnitsChanged"],fractionalDigits:["handleFractionalDigitsChanged"],snapDistance:["handleSnapDistanceChanged"]}}};o.style=":host{position:absolute;top:0;bottom:0;left:0;right:0}";export{o as vertex_viewer_measurement_tool}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{r as e,c as t,h as i,H as n,g as r}from"./p-cafa57a6.js";import{p as s}from"./p-
|
|
4
|
+
import{r as e,c as t,h as i,H as n,g as r}from"./p-cafa57a6.js";import{p as s}from"./p-661f0612.js";import{s as a}from"./p-c738296e.js";import{A as o,C as l,F as h}from"./p-e38458da.js";import{i as d,a as u,b as p}from"./p-d1584404.js";import"./p-e75bba97.js";let m=class{constructor(i){e(this,i),this.markupAdded=t(this,"markupAdded",7),this.markupRemoved=t(this,"markupRemoved",7),this.tool="arrow",this.disabled=!1,this.selectNew=!1,this.handlePointerMove=e=>{null!=this.pointerDownPosition&&s.distance(this.pointerDownPosition,s.create(e.clientX,e.clientY))>2&&(this.toSelectMarkupId=void 0)},this.handlePointerUp=async e=>{if(!this.disabled){const t=e.target,i=(await this.getMarkupElements()).find((e=>e===t));null!=(null==i?void 0:i.id)&&""!==i.id&&i.id===this.toSelectMarkupId?this.selectedMarkupId=t.id:null!=this.pointerDownPosition&&s.distance(this.pointerDownPosition,s.create(e.clientX,e.clientY))<=2&&(this.selectedMarkupId=void 0),this.toSelectMarkupId=void 0,this.pointerDownPosition=void 0}window.removeEventListener("pointerup",this.handlePointerUp),window.removeEventListener("pointermove",this.handlePointerMove)}}disconnectedCallback(){window.removeEventListener("pointerup",this.handlePointerUp),window.removeEventListener("pointermove",this.handlePointerMove)}async addMarkup(e){if(e instanceof o){const{start:t,end:i,id:n}=e,r=this.createArrowMarkupElement();return r.id=n,r.start=t,r.end=i,this.appendMarkupElement(r)}if(e instanceof l){const{bounds:t,id:i}=e,n=this.createCircleMarkupElement();return n.id=i,n.bounds=t,this.appendMarkupElement(n)}if(e instanceof h){const{bounds:t,points:i,id:n}=e,r=this.createFreeformMarkupElement();return r.id=n,r.points=i,r.bounds=t,this.appendMarkupElement(r)}throw new Error(`Cannot add markup. Unknown type '${e}'.`)}async removeMarkup(e){const t=await this.getMarkupElement(e);return null!=t&&(t.remove(),this.markupRemoved.emit(t)),t}async getMarkupElements(){return Array.from(this.hostEl.children).filter((e=>d(e)||u(e)||p(e)))}async getMarkupElement(e){return(await this.getMarkupElements()).find((t=>t.id===e))}async handleSelectedMarkupIdChanged(){(await this.getMarkupElements()).forEach((e=>{e.mode=e.id===this.selectedMarkupId?"edit":""}))}handleToolChanged(){this.updatePropsOnMarkupTool()}handleArrowTemplateIdChanged(){this.updatePropsOnMarkupTool()}handleCircleTemplateIdChanged(){this.updatePropsOnMarkupTool()}handleFreeformTemplateIdChanged(){this.updatePropsOnMarkupTool()}async handleViewerChanged(e){this.updatePropsOnMarkupTool(),this.updatePropsOnMarkups()}handleDisabledChanged(){this.updatePropsOnMarkupTool()}async handleMarkupEnd(e){var t;const i=e,n=await this.addMarkup(i.detail);await new Promise((e=>{const t=()=>{n.removeEventListener("viewRendered",t),e()};n.addEventListener("viewRendered",t)})),this.selectNew&&(this.selectedMarkupId=i.detail.id),null===(t=this.getMarkupTool())||void 0===t||t.reset()}async handleMarkupPointerDown(e){if(!this.disabled){const t=e.target,i=(await this.getMarkupElements()).find((e=>e===t));null!=(null==i?void 0:i.id)&&""!==(null==i?void 0:i.id)&&(this.toSelectMarkupId=t.id),this.pointerDownPosition=s.create(e.clientX,e.clientY),window.addEventListener("pointermove",this.handlePointerMove),window.addEventListener("pointerup",this.handlePointerUp)}}componentDidLoad(){this.updatePropsOnMarkupTool()}render(){return i(n,null,i("slot",null))}appendMarkupElement(e){return this.updatePropsOnMarkup(e),this.hostEl.appendChild(e),this.markupAdded.emit(e),e}createArrowMarkupElement(){if(null!=this.arrowTemplateId){const e=a(window.document.body,this.arrowTemplateId,d,(()=>console.warn(`Arrow template with ID ${this.arrowTemplateId} not found. Using default arrow element.`)),(()=>console.warn("Arrow template does not contain a vertex-viewer-markup-arrow. Using default arrow element.")));if(null!=e)return e}return document.createElement("vertex-viewer-markup-arrow")}createCircleMarkupElement(){if(null!=this.circleTemplateId){const e=a(window.document.body,this.circleTemplateId,u,(()=>console.warn(`Circle template with ID ${this.circleTemplateId} not found. Using default circle element.`)),(()=>console.warn("Circle template does not contain a vertex-viewer-markup-circle. Using default circle element.")));if(null!=e)return e}return document.createElement("vertex-viewer-markup-circle")}createFreeformMarkupElement(){if(null!=this.freeformTemplateId){const e=a(window.document.body,this.freeformTemplateId,p,(()=>console.warn(`Freeform template with ID ${this.freeformTemplateId} not found. Using default freeform element.`)),(()=>console.warn("Freeform template does not contain a vertex-viewer-markup-freeform. Using default freeform element.")));if(null!=e)return e}return document.createElement("vertex-viewer-markup-freeform")}async updatePropsOnMarkups(){(await this.getMarkupElements()).forEach((e=>this.updatePropsOnMarkup(e)))}updatePropsOnMarkup(e){e.viewer=this.viewer,e.classList.add("viewer-markup__markup")}updatePropsOnMarkupTool(){const e=this.getMarkupTool();null!=e&&(e.disabled=this.disabled,e.arrowTemplateId=this.arrowTemplateId,e.circleTemplateId=this.circleTemplateId,e.freeformTemplateId=this.freeformTemplateId,e.tool=this.tool,e.viewer=this.viewer)}getMarkupTool(){return this.hostEl.querySelector("vertex-viewer-markup-tool")}get hostEl(){return r(this)}static get watchers(){return{selectedMarkupId:["handleSelectedMarkupIdChanged"],tool:["handleToolChanged"],arrowTemplateId:["handleArrowTemplateIdChanged"],circleTemplateId:["handleCircleTemplateIdChanged"],freeformTemplateId:["handleFreeformTemplateIdChanged"],viewer:["handleViewerChanged"],disabled:["handleDisabledChanged"]}}};m.style=":host{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none}";export{m as vertex_viewer_markup}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/**!
|
|
2
2
|
* Copyright (c) 2022 Vertex Software LLC. All rights reserved.
|
|
3
3
|
*/
|
|
4
|
-
import{E as s}from"./p-
|
|
4
|
+
import{E as s}from"./p-e75bba97.js";class a{constructor(){this.onChanged=new s,this.cursors=[],this.nextId=0}add(s,h=a.NORMAL_PRIORITY){const t=++this.nextId,i={id:t,cursor:s,priority:h,dispose:()=>this.remove(t)};return this.cursors.push(i),this.onChanged.emit(),i}remove(s){const a=this.cursors.findIndex((({id:a})=>a===s));a>=0&&(this.cursors.splice(a,1),this.onChanged.emit())}getActiveCursor(){var s;return null===(s=this.cursors.concat().reverse().sort(((s,a)=>a.priority-s.priority))[0])||void 0===s?void 0:s.cursor}}a.LOW_PRIORITY=0,a.NORMAL_PRIORITY=10,a.HIGH_PRIORITY=20;const h={url:"data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M21.5 8h-19a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h19a.5.5 0 00.5-.5v-6a.5.5 0 00-.5-.5zm-.5 6H3V9h3v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2z' stroke='%23fff' stroke-width='1.25' stroke-opacity='0.5' stroke-miterlimit='10' shape-rendering='crispEdges'/%3E%3Cpath d='M21.5 8h-19a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h19a.5.5 0 00.5-.5v-6a.5.5 0 00-.5-.5zm-.5 6H3V9h3v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2v2.5a.5.5 0 001 0V9h2z' shape-rendering='crispEdges'/%3E%3C/svg%3E",offsetX:-24,offsetY:-24},t={url:"data:image/svg+xml;utf8,%3Csvg id='icons' xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bstroke:%23fff;stroke-miterlimit:10;stroke-width:2px;%7D.cls-2%7Bfill:%23fff;%7D.cls-2,.cls-3%7Bfill-rule:evenodd;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M27.46,21h-19a.5.5,0,0,0-.5.5v6a.5.5,0,0,0,.5.5h19a.5.5,0,0,0,.5-.5v-6A.5.5,0,0,0,27.46,21ZM27,27H9V22h3v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2Z'/%3E%3Cpath d='M27.46,21h-19a.5.5,0,0,0-.5.5v6a.5.5,0,0,0,.5.5h19a.5.5,0,0,0,.5-.5v-6A.5.5,0,0,0,27.46,21ZM27,27H9V22h3v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2v2.5a.5.5,0,0,0,1,0V22h2Z'/%3E%3Cpath class='cls-2' d='M1,17V1L12.59,12.62H5.81l-.41.12Z'/%3E%3Cpath class='cls-2' d='M10.08,17.69l-3.6,1.53L1.8,8.14,5.48,6.58Z'/%3E%3Cpath class='cls-3' d='M8.75,17l-1.84.77-3.1-7.37,1.84-.78Z'/%3E%3Cpath class='cls-3' d='M2,3.41V14.6l3-2.87.43-.14h4.76Z'/%3E%3C/svg%3E",offsetX:-30,offsetY:-30};export{a as C,t as a,h as m}
|