@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,6 +1,6 @@
|
|
|
1
1
|
import { h } from '../../stencil-public-runtime';
|
|
2
2
|
import { DepthBuffer } from '../../lib/types';
|
|
3
|
-
import {
|
|
3
|
+
import { FrameCameraBase } from '../../lib/types/frame';
|
|
4
4
|
export declare type ViewerDomRendererDrawMode = '2d' | '3d';
|
|
5
5
|
/**
|
|
6
6
|
* The `ViewerDomRenderer` is responsible for managing a
|
|
@@ -27,7 +27,7 @@ export declare class ViewerDomRenderer {
|
|
|
27
27
|
* This property will automatically be set when supplying a viewer to the
|
|
28
28
|
* component, or when added as a child to `<vertex-viewer>`.
|
|
29
29
|
*/
|
|
30
|
-
camera?:
|
|
30
|
+
camera?: FrameCameraBase;
|
|
31
31
|
/**
|
|
32
32
|
* The current depth buffer of the frame.
|
|
33
33
|
*
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { Point, Vector3 } from '@vertexvis/geometry';
|
|
2
|
-
import { DepthBuffer, StencilBuffer, Viewport } from '../../lib/types';
|
|
2
|
+
import { DepthBuffer, FrameCameraBase, StencilBuffer, Viewport } from '../../lib/types';
|
|
3
3
|
export declare class PointToPointHitTester {
|
|
4
4
|
private stencil;
|
|
5
5
|
private depthBuffer;
|
|
6
6
|
private viewport;
|
|
7
|
-
|
|
7
|
+
private camera?;
|
|
8
|
+
constructor(stencil: StencilBuffer | undefined, depthBuffer: DepthBuffer, viewport: Viewport, camera?: FrameCameraBase | undefined);
|
|
8
9
|
hitTest(pt: Point.Point): boolean;
|
|
9
10
|
snapToNearestPixel(pt: Point.Point, radius: number): Point.Point;
|
|
10
11
|
transformPointToWorld(pt: Point.Point, { ignoreHitTest }?: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Line3, Point } from '@vertexvis/geometry';
|
|
2
|
-
import {
|
|
2
|
+
import { FrameCameraBase, Viewport } from '../../lib/types';
|
|
3
3
|
export declare type Anchor = 'start' | 'end';
|
|
4
4
|
export interface MeasurementElementPositions {
|
|
5
5
|
startPt?: Point.Point;
|
|
@@ -11,7 +11,7 @@ export interface MeasurementElementPositions {
|
|
|
11
11
|
}
|
|
12
12
|
export interface RenderParams {
|
|
13
13
|
viewport: Viewport;
|
|
14
|
-
camera:
|
|
14
|
+
camera: FrameCameraBase;
|
|
15
15
|
}
|
|
16
16
|
export declare function translateWorldLineToViewport(line: Line3.Line3, params: RenderParams): {
|
|
17
17
|
start: Point.Point;
|
|
@@ -2,7 +2,7 @@ import { EventEmitter, h } from '../../stencil-public-runtime';
|
|
|
2
2
|
import { Vector3 } from '@vertexvis/geometry';
|
|
3
3
|
import { Formatter } from '../../lib/formatter';
|
|
4
4
|
import { MeasurementModel } from '../../lib/measurement';
|
|
5
|
-
import { DistanceUnitType,
|
|
5
|
+
import { DistanceUnitType, FrameCameraBase } from '../../lib/types';
|
|
6
6
|
import { PointToPointHitProvider } from './interactions';
|
|
7
7
|
import { Anchor } from './utils';
|
|
8
8
|
/**
|
|
@@ -138,7 +138,7 @@ export declare class ViewerMeasurementDistance {
|
|
|
138
138
|
* The camera used to position the anchors. If `viewer` is defined, then the
|
|
139
139
|
* projection view matrix of the viewer will be used.
|
|
140
140
|
*/
|
|
141
|
-
camera?:
|
|
141
|
+
camera?: FrameCameraBase;
|
|
142
142
|
/**
|
|
143
143
|
* @internal
|
|
144
144
|
*/
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { FunctionalComponent } from '../../stencil-public-runtime';
|
|
2
2
|
import { MeasurementOverlay } from '../../lib/measurement';
|
|
3
|
-
import {
|
|
3
|
+
import { FrameCameraBase, Viewport } from '../../lib/types';
|
|
4
4
|
interface MeasurementOverlayViewProps<O extends MeasurementOverlay> {
|
|
5
5
|
overlay: O;
|
|
6
6
|
viewport: Viewport;
|
|
7
|
-
camera:
|
|
7
|
+
camera: FrameCameraBase;
|
|
8
8
|
}
|
|
9
9
|
export declare const MeasurementOverlayView: FunctionalComponent<MeasurementOverlayViewProps<MeasurementOverlay>>;
|
|
10
10
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h } from '../../stencil-public-runtime';
|
|
2
2
|
import { MeasurementOverlayManager } from '../../lib/measurement';
|
|
3
|
-
import {
|
|
3
|
+
import { FrameCameraBase } from '../../lib/types';
|
|
4
4
|
export declare class ViewerMeasurementOverlays {
|
|
5
5
|
/**
|
|
6
6
|
* The model that contains the overlays to present.
|
|
@@ -14,7 +14,7 @@ export declare class ViewerMeasurementOverlays {
|
|
|
14
14
|
/**
|
|
15
15
|
* @internal
|
|
16
16
|
*/
|
|
17
|
-
camera?:
|
|
17
|
+
camera?: FrameCameraBase;
|
|
18
18
|
/**
|
|
19
19
|
* The viewer that this component is bound to.
|
|
20
20
|
*/
|
|
@@ -18,9 +18,9 @@ import { RowDataProvider as RowDataProvider1 } from "./components/scene-tree/sce
|
|
|
18
18
|
import { DomScrollToOptions } from "./components/scene-tree-table-layout/lib/dom";
|
|
19
19
|
import { FeatureHighlightOptions, FeatureLineOptions, FrameType } from "./interfaces";
|
|
20
20
|
import { ColorMaterial } from "./lib/scenes/colorMaterial";
|
|
21
|
-
import { Frame,
|
|
21
|
+
import { Frame, FrameCameraBase } from "./lib/types/frame";
|
|
22
22
|
import { ViewerStream } from "./lib/stream/stream";
|
|
23
|
-
import { AngleUnitType, DepthBuffer, DistanceUnitType, EntityType,
|
|
23
|
+
import { AngleUnitType, DepthBuffer, DistanceUnitType, EntityType, FrameCameraBase as FrameCameraBase1, FramePerspectiveCamera, Measurement, Orientation, StencilBufferManager, Viewport } from "./lib/types";
|
|
24
24
|
import { TapEventDetails } from "./lib/interactions/tapEventDetails";
|
|
25
25
|
import { ConnectionStatus } from "./components/viewer/viewer";
|
|
26
26
|
import { Dimensions, Euler, Matrix4, Point, Quaternion, Rectangle, Vector3 } from "@vertexvis/geometry";
|
|
@@ -305,6 +305,10 @@ export namespace Components {
|
|
|
305
305
|
* Enables or disables the default mouse and touch interactions provided by the viewer. Enabled by default.
|
|
306
306
|
*/
|
|
307
307
|
"cameraControls": boolean;
|
|
308
|
+
/**
|
|
309
|
+
* The type of camera model to represent the scene with. Can be either `perspective` or `orthographic`, and defaults to `perspective`.
|
|
310
|
+
*/
|
|
311
|
+
"cameraType": 'perspective' | 'orthographic';
|
|
308
312
|
/**
|
|
309
313
|
* The Client ID associated with your Vertex Application.
|
|
310
314
|
*/
|
|
@@ -542,7 +546,7 @@ export namespace Components {
|
|
|
542
546
|
/**
|
|
543
547
|
* The current camera of the frame. This property will automatically be set when supplying a viewer to the component, or when added as a child to `<vertex-viewer>`.
|
|
544
548
|
*/
|
|
545
|
-
"camera"?:
|
|
549
|
+
"camera"?: FrameCameraBase;
|
|
546
550
|
/**
|
|
547
551
|
* The current depth buffer of the frame. This property will automatically be set when supplying a viewer to the component, or when added as a child to `<vertex-viewer>`.
|
|
548
552
|
*/
|
|
@@ -786,7 +790,7 @@ export namespace Components {
|
|
|
786
790
|
/**
|
|
787
791
|
* The camera used to position the anchors. If `viewer` is defined, then the projection view matrix of the viewer will be used.
|
|
788
792
|
*/
|
|
789
|
-
"camera"?:
|
|
793
|
+
"camera"?: FrameCameraBase;
|
|
790
794
|
/**
|
|
791
795
|
* Computes the bounding boxes of the anchors and label. **Note:** invoking this function uses `getBoundingClientRect` internally and will cause a relayout of the DOM.
|
|
792
796
|
*/
|
|
@@ -877,7 +881,7 @@ export namespace Components {
|
|
|
877
881
|
"start": Point.Point;
|
|
878
882
|
}
|
|
879
883
|
interface VertexViewerMeasurementOverlays {
|
|
880
|
-
"camera"?:
|
|
884
|
+
"camera"?: FrameCameraBase;
|
|
881
885
|
/**
|
|
882
886
|
* The model that contains the overlays to present.
|
|
883
887
|
*/
|
|
@@ -1447,6 +1451,10 @@ declare namespace LocalJSX {
|
|
|
1447
1451
|
* Enables or disables the default mouse and touch interactions provided by the viewer. Enabled by default.
|
|
1448
1452
|
*/
|
|
1449
1453
|
"cameraControls"?: boolean;
|
|
1454
|
+
/**
|
|
1455
|
+
* The type of camera model to represent the scene with. Can be either `perspective` or `orthographic`, and defaults to `perspective`.
|
|
1456
|
+
*/
|
|
1457
|
+
"cameraType"?: 'perspective' | 'orthographic';
|
|
1450
1458
|
/**
|
|
1451
1459
|
* The Client ID associated with your Vertex Application.
|
|
1452
1460
|
*/
|
|
@@ -1681,7 +1689,7 @@ declare namespace LocalJSX {
|
|
|
1681
1689
|
/**
|
|
1682
1690
|
* The current camera of the frame. This property will automatically be set when supplying a viewer to the component, or when added as a child to `<vertex-viewer>`.
|
|
1683
1691
|
*/
|
|
1684
|
-
"camera"?:
|
|
1692
|
+
"camera"?: FrameCameraBase;
|
|
1685
1693
|
/**
|
|
1686
1694
|
* The current depth buffer of the frame. This property will automatically be set when supplying a viewer to the component, or when added as a child to `<vertex-viewer>`.
|
|
1687
1695
|
*/
|
|
@@ -1947,7 +1955,7 @@ declare namespace LocalJSX {
|
|
|
1947
1955
|
/**
|
|
1948
1956
|
* The camera used to position the anchors. If `viewer` is defined, then the projection view matrix of the viewer will be used.
|
|
1949
1957
|
*/
|
|
1950
|
-
"camera"?:
|
|
1958
|
+
"camera"?: FrameCameraBase;
|
|
1951
1959
|
/**
|
|
1952
1960
|
* The distance between `start` and `end` in real world units. Value will be undefined if the start and end positions are undefined, or if the measurement is invalid.
|
|
1953
1961
|
*/
|
package/dist/types/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export * from './lib/interactions/interactionHandler';
|
|
|
12
12
|
export * from './lib/interactions/keyInteraction';
|
|
13
13
|
export * from './lib/measurement';
|
|
14
14
|
export { Scene } from './lib/scenes';
|
|
15
|
-
export { EntityType, LoadableResource, Frame as ReceivedFrame, FrameImage as ReceivedFrameImage, FrameScene as ReceivedFrameScene, FramePerspectiveCamera as ReceivedPerspectiveCamera, SynchronizedClock, Viewport, } from './lib/types';
|
|
15
|
+
export { EntityType, FrameCameraBase, LoadableResource, Frame as ReceivedFrame, FrameImage as ReceivedFrameImage, FrameScene as ReceivedFrameScene, FrameOrthographicCamera as ReceivedOrthographicCamera, FramePerspectiveCamera as ReceivedPerspectiveCamera, SynchronizedClock, Viewport, } from './lib/types';
|
|
16
16
|
export * from './lib/types/markup';
|
|
17
17
|
export * from './lib/types/measurementUnits';
|
|
18
18
|
import { TapEventDetails } from './lib/interactions/tapEventDetails';
|
|
@@ -43,3 +43,6 @@ export declare class NoImplementationFoundError extends CustomError {
|
|
|
43
43
|
export declare class InvalidArgumentError extends CustomError {
|
|
44
44
|
constructor(message: string, e?: Error);
|
|
45
45
|
}
|
|
46
|
+
export declare class InvalidCameraError extends CustomError {
|
|
47
|
+
constructor(message: string, e?: Error);
|
|
48
|
+
}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './flyToPartKeyInteraction';
|
|
5
5
|
export * from './interactionApi';
|
|
6
|
+
export * from './interactionApiOrthographic';
|
|
7
|
+
export * from './interactionApiPerspective';
|
|
6
8
|
export * from './interactionEvent';
|
|
7
9
|
export * from './interactionHandler';
|
|
8
10
|
export * from './interactionHandler';
|
|
@@ -1,44 +1,53 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import { vertexvis } from '@vertexvis/frame-streaming-protos';
|
|
3
|
-
import { BoundingBox, Point, Ray, Vector3 } from '@vertexvis/geometry';
|
|
3
|
+
import { BoundingBox, Plane, Point, Ray, Vector3 } from '@vertexvis/geometry';
|
|
4
4
|
import { StreamApi } from '@vertexvis/stream-api';
|
|
5
5
|
import { Disposable } from '@vertexvis/utils';
|
|
6
6
|
import { ReceivedFrame } from '../..';
|
|
7
7
|
import { Cursor, CursorManager } from '../cursors';
|
|
8
8
|
import { Camera, Scene } from '../scenes';
|
|
9
|
-
import { DepthBuffer, EntityType, Interactions, Viewport } from '../types';
|
|
9
|
+
import { DepthBuffer, EntityType, FrameCameraBase, Interactions, Viewport } from '../types';
|
|
10
10
|
import { TapEventDetails, TapEventKeys } from './tapEventDetails';
|
|
11
|
-
declare type SceneProvider = () => Scene;
|
|
12
|
-
declare type InteractionConfigProvider = () => Interactions.InteractionConfig;
|
|
13
|
-
declare type CameraTransform = (data: {
|
|
14
|
-
camera:
|
|
11
|
+
export declare type SceneProvider = () => Scene;
|
|
12
|
+
export declare type InteractionConfigProvider = () => Interactions.InteractionConfig;
|
|
13
|
+
export declare type CameraTransform<T extends Camera = Camera, R extends Camera = Camera> = (data: {
|
|
14
|
+
camera: T;
|
|
15
15
|
viewport: Viewport;
|
|
16
16
|
scale: Point.Point;
|
|
17
17
|
boundingBox: BoundingBox.BoundingBox;
|
|
18
18
|
frame: ReceivedFrame;
|
|
19
19
|
depthBuffer?: DepthBuffer;
|
|
20
|
-
}) =>
|
|
20
|
+
}) => R;
|
|
21
|
+
export interface PanData {
|
|
22
|
+
hitPt: Vector3.Vector3;
|
|
23
|
+
hitPlane: Plane.Plane;
|
|
24
|
+
startingCamera: FrameCameraBase;
|
|
25
|
+
}
|
|
26
|
+
export interface ZoomData {
|
|
27
|
+
hitPt: Vector3.Vector3;
|
|
28
|
+
hitPlane: Plane.Plane;
|
|
29
|
+
}
|
|
21
30
|
/**
|
|
22
31
|
* The `InteractionApi` provides methods that API developers can use to modify
|
|
23
32
|
* the internal state of an interaction.
|
|
24
33
|
*/
|
|
25
|
-
export declare class InteractionApi {
|
|
26
|
-
|
|
34
|
+
export declare abstract class InteractionApi {
|
|
35
|
+
protected stream: StreamApi;
|
|
27
36
|
private cursors;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
37
|
+
protected getConfig: InteractionConfigProvider;
|
|
38
|
+
protected getScene: SceneProvider;
|
|
39
|
+
protected getFrame: () => ReceivedFrame | undefined;
|
|
40
|
+
protected getViewport: () => Viewport;
|
|
32
41
|
private tapEmitter;
|
|
33
42
|
private doubleTapEmitter;
|
|
34
43
|
private longPressEmitter;
|
|
35
44
|
private interactionStartedEmitter;
|
|
36
45
|
private interactionFinishedEmitter;
|
|
37
|
-
|
|
46
|
+
protected currentCamera?: Camera;
|
|
38
47
|
private lastAngle;
|
|
39
48
|
private worldRotationPoint?;
|
|
40
|
-
|
|
41
|
-
|
|
49
|
+
protected panData?: PanData;
|
|
50
|
+
protected zoomData?: ZoomData;
|
|
42
51
|
constructor(stream: StreamApi, cursors: CursorManager, getConfig: InteractionConfigProvider, getScene: SceneProvider, getFrame: () => ReceivedFrame | undefined, getViewport: () => Viewport, tapEmitter: EventEmitter<TapEventDetails>, doubleTapEmitter: EventEmitter<TapEventDetails>, longPressEmitter: EventEmitter<TapEventDetails>, interactionStartedEmitter: EventEmitter<void>, interactionFinishedEmitter: EventEmitter<void>);
|
|
43
52
|
/**
|
|
44
53
|
* Displays a cursor over the viewer with the given priority. Cursors with
|
|
@@ -117,14 +126,6 @@ export declare class InteractionApi {
|
|
|
117
126
|
* @param screenPt A point in screen coordinates.
|
|
118
127
|
*/
|
|
119
128
|
panCameraToScreenPoint(screenPt: Point.Point): Promise<void>;
|
|
120
|
-
/**
|
|
121
|
-
* Performs a pan operation of the scene's camera, and requests a new image
|
|
122
|
-
* for the updated scene.
|
|
123
|
-
*
|
|
124
|
-
* @param delta A position delta `{x, y}` in the 2D coordinate space of the
|
|
125
|
-
* viewer.
|
|
126
|
-
*/
|
|
127
|
-
panCameraByDelta(delta: Point.Point): Promise<void>;
|
|
128
129
|
/**
|
|
129
130
|
* Performs a view all operation for the scene's bounding box, and requests a
|
|
130
131
|
* new image for the updated scene.
|
|
@@ -181,6 +182,13 @@ export declare class InteractionApi {
|
|
|
181
182
|
hitItems(pt: Point.Point): Promise<vertexvis.protobuf.stream.IHit[]>;
|
|
182
183
|
private emitTapEvent;
|
|
183
184
|
private isCoarseInputDevice;
|
|
184
|
-
|
|
185
|
+
protected getWorldPoint(point: Point.Point, depthBuffer: DepthBuffer, fallbackPoint: Vector3.Vector3): Vector3.Vector3;
|
|
186
|
+
/**
|
|
187
|
+
* Performs a pan operation of the scene's camera, and requests a new image
|
|
188
|
+
* for the updated scene.
|
|
189
|
+
*
|
|
190
|
+
* @param delta A position delta `{x, y}` in the 2D coordinate space of the
|
|
191
|
+
* viewer.
|
|
192
|
+
*/
|
|
193
|
+
abstract panCameraByDelta(delta: Point.Point): Promise<void>;
|
|
185
194
|
}
|
|
186
|
-
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { Point, Vector3 } from '@vertexvis/geometry';
|
|
3
|
+
import { StreamApi } from '@vertexvis/stream-api';
|
|
4
|
+
import { ReceivedFrame } from '../..';
|
|
5
|
+
import { CursorManager } from '../cursors';
|
|
6
|
+
import { OrthographicCamera } from '../scenes';
|
|
7
|
+
import { DepthBuffer, Viewport } from '../types';
|
|
8
|
+
import { CameraTransform, InteractionApi, InteractionConfigProvider, SceneProvider } from './interactionApi';
|
|
9
|
+
import { TapEventDetails } from './tapEventDetails';
|
|
10
|
+
export declare class InteractionApiOrthographic extends InteractionApi {
|
|
11
|
+
private orthographicZoomData?;
|
|
12
|
+
constructor(stream: StreamApi, cursors: CursorManager, getConfig: InteractionConfigProvider, getScene: SceneProvider, getFrame: () => ReceivedFrame | undefined, getViewport: () => Viewport, tapEmitter: EventEmitter<TapEventDetails>, doubleTapEmitter: EventEmitter<TapEventDetails>, longPressEmitter: EventEmitter<TapEventDetails>, interactionStartedEmitter: EventEmitter<void>, interactionFinishedEmitter: EventEmitter<void>);
|
|
13
|
+
/**
|
|
14
|
+
* Performs a pan operation of the scene's camera, and requests a new image
|
|
15
|
+
* for the updated scene.
|
|
16
|
+
*
|
|
17
|
+
* @param delta A position delta `{x, y}` in the 2D coordinate space of the
|
|
18
|
+
* viewer.
|
|
19
|
+
*/
|
|
20
|
+
panCameraByDelta(delta: Point.Point): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* Moves the camera's position and look at to the given screen coordinate.
|
|
23
|
+
*
|
|
24
|
+
* If the screen coordinate intersects with an object, the camera will track
|
|
25
|
+
* the hit point so the mouse position is always under the mouse.
|
|
26
|
+
*
|
|
27
|
+
* If the screen coordinate doesn't intersect with an object, then ???.
|
|
28
|
+
*
|
|
29
|
+
* @param screenPt A point in screen coordinates.
|
|
30
|
+
*/
|
|
31
|
+
panCameraToScreenPoint(screenPt: Point.Point): Promise<void>;
|
|
32
|
+
zoomCameraToPoint(point: Point.Point, delta: number): Promise<void>;
|
|
33
|
+
protected getWorldPoint(point: Point.Point, depthBuffer: DepthBuffer, fallbackPoint: Vector3.Vector3): Vector3.Vector3;
|
|
34
|
+
transformCamera(t: CameraTransform<OrthographicCamera>): Promise<void>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { Point } from '@vertexvis/geometry';
|
|
3
|
+
import { StreamApi } from '@vertexvis/stream-api';
|
|
4
|
+
import { ReceivedFrame } from '../..';
|
|
5
|
+
import { CursorManager } from '../cursors';
|
|
6
|
+
import { PerspectiveCamera } from '../scenes';
|
|
7
|
+
import { Viewport } from '../types';
|
|
8
|
+
import { CameraTransform, InteractionApi, InteractionConfigProvider, SceneProvider } from './interactionApi';
|
|
9
|
+
import { TapEventDetails } from './tapEventDetails';
|
|
10
|
+
export declare class InteractionApiPerspective extends InteractionApi {
|
|
11
|
+
constructor(stream: StreamApi, cursors: CursorManager, getConfig: InteractionConfigProvider, getScene: SceneProvider, getFrame: () => ReceivedFrame | undefined, getViewport: () => Viewport, tapEmitter: EventEmitter<TapEventDetails>, doubleTapEmitter: EventEmitter<TapEventDetails>, longPressEmitter: EventEmitter<TapEventDetails>, interactionStartedEmitter: EventEmitter<void>, interactionFinishedEmitter: EventEmitter<void>);
|
|
12
|
+
/**
|
|
13
|
+
* Performs a pan operation of the scene's camera, and requests a new image
|
|
14
|
+
* for the updated scene.
|
|
15
|
+
*
|
|
16
|
+
* @param delta A position delta `{x, y}` in the 2D coordinate space of the
|
|
17
|
+
* viewer.
|
|
18
|
+
*/
|
|
19
|
+
panCameraByDelta(delta: Point.Point): Promise<void>;
|
|
20
|
+
transformCamera(t: CameraTransform<PerspectiveCamera>): Promise<void>;
|
|
21
|
+
}
|
|
@@ -2,6 +2,8 @@ import { vertexvis } from '@vertexvis/frame-streaming-protos';
|
|
|
2
2
|
import { Mapper as M } from '@vertexvis/utils';
|
|
3
3
|
import { Token } from '../token';
|
|
4
4
|
import { CrossSectioning, Frame, FrameCamera, ImageAttributesLike, Orientation } from '../types';
|
|
5
|
+
export declare const fromPbPerspectiveCamera: M.Func<vertexvis.protobuf.stream.IPerspectiveCamera, FrameCamera.PerspectiveFrameCamera>;
|
|
6
|
+
export declare const fromPbOrthographicCamera: M.Func<vertexvis.protobuf.stream.IOrthographicCamera, FrameCamera.OrthographicFrameCamera>;
|
|
5
7
|
export declare const fromPbCamera: M.Func<vertexvis.protobuf.stream.ICamera, FrameCamera.FrameCamera>;
|
|
6
8
|
export declare const fromPbSectionPlane: M.Func<vertexvis.protobuf.stream.ISectionPlane, CrossSectioning.SectionPlane>;
|
|
7
9
|
export declare const fromPbCrossSectioning: M.Func<vertexvis.protobuf.stream.ICrossSectioning, CrossSectioning.CrossSectioning>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BoundingBox, Vector3 } from '@vertexvis/geometry';
|
|
2
2
|
import { StreamApi } from '@vertexvis/stream-api';
|
|
3
3
|
import { FrameDecoder } from '../mappers';
|
|
4
|
-
import { Animation, FlyTo, FrameCamera, FramePerspectiveCamera, StandardView } from '../types';
|
|
4
|
+
import { Animation, ClippingPlanes, FlyTo, FrameCamera, FrameCameraBase, FrameOrthographicCamera, FramePerspectiveCamera, StandardView } from '../types';
|
|
5
5
|
import { CameraRenderResult } from './cameraRenderResult';
|
|
6
6
|
interface CameraRenderOptions {
|
|
7
7
|
animation?: Animation.Animation;
|
|
@@ -35,28 +35,22 @@ export interface FlyToParams {
|
|
|
35
35
|
* This class in intended to treated as an immutable type. Any mutations return
|
|
36
36
|
* a new instance of the class with the updated properties.
|
|
37
37
|
*/
|
|
38
|
-
export declare class Camera
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
export declare abstract class Camera {
|
|
39
|
+
protected stream: StreamApi;
|
|
40
|
+
protected aspect: number;
|
|
41
41
|
private data;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
constructor(stream: StreamApi, aspect: number, data: FrameCamera.FrameCamera, boundingBox: BoundingBox.BoundingBox, decodeFrame: FrameDecoder);
|
|
46
|
-
|
|
47
|
-
* Updates the position of the camera such that the given bounding box will
|
|
48
|
-
* be contained within the camera's view.
|
|
49
|
-
*
|
|
50
|
-
* @param boundingBox The bounding box to position to.
|
|
51
|
-
*/
|
|
52
|
-
fitToBoundingBox(boundingBox: BoundingBox.BoundingBox): Camera;
|
|
42
|
+
protected boundingBox: BoundingBox.BoundingBox;
|
|
43
|
+
protected decodeFrame: FrameDecoder;
|
|
44
|
+
protected flyToOptions?: FlyTo.FlyToOptions | undefined;
|
|
45
|
+
constructor(stream: StreamApi, aspect: number, data: FrameCamera.FrameCamera, boundingBox: BoundingBox.BoundingBox, decodeFrame: FrameDecoder, flyToOptions?: FlyTo.FlyToOptions | undefined);
|
|
46
|
+
protected fitCameraToBoundingBox(boundingBox: BoundingBox.BoundingBox, distance: number, viewVector: Vector3.Vector3): Camera;
|
|
53
47
|
/**
|
|
54
48
|
* Returns the distance from the camera's position to the center
|
|
55
49
|
* of the provided bounding box (or the scene's visible bounding box if not provided).
|
|
56
50
|
*
|
|
57
51
|
* @param boundingBox - The bounding box to determine distance from.
|
|
58
52
|
*/
|
|
59
|
-
|
|
53
|
+
signedDistanceToBoundingBoxCenter(boundingBox?: BoundingBox.BoundingBox): number;
|
|
60
54
|
/**
|
|
61
55
|
* Specifies that the next render of the camera will be repositioned to one of
|
|
62
56
|
* the options specified in `options`.
|
|
@@ -65,13 +59,6 @@ export declare class Camera implements FrameCamera.FrameCamera {
|
|
|
65
59
|
* be positioned.
|
|
66
60
|
*/
|
|
67
61
|
flyTo(paramsOrQuery: FlyToParams | ((q: FlyToExecutor) => TerminalFlyToExecutor)): Camera;
|
|
68
|
-
/**
|
|
69
|
-
* Shifts the position of the camera by the given delta.
|
|
70
|
-
*
|
|
71
|
-
* @param delta The number of units to shift the camera on the X, Y, and Z
|
|
72
|
-
* axis.
|
|
73
|
-
*/
|
|
74
|
-
moveBy(delta: Vector3.Vector3): Camera;
|
|
75
62
|
viewAll(): Camera;
|
|
76
63
|
/**
|
|
77
64
|
* Queues the rendering for a new frame using this camera. The returned
|
|
@@ -85,6 +72,16 @@ export declare class Camera implements FrameCamera.FrameCamera {
|
|
|
85
72
|
* @param axis A normalized vector to rotate around.
|
|
86
73
|
*/
|
|
87
74
|
rotateAroundAxis(angleInRadians: number, axis: Vector3.Vector3): Camera;
|
|
75
|
+
/**
|
|
76
|
+
* Updates the `position` and `up` vectors of the camera to the given standard
|
|
77
|
+
* view.
|
|
78
|
+
*
|
|
79
|
+
* @param standardView The standard view to apply.
|
|
80
|
+
* @returns A new camera.
|
|
81
|
+
*/
|
|
82
|
+
standardView(standardView: StandardView): Camera;
|
|
83
|
+
private buildFlyToType;
|
|
84
|
+
protected computeClippingPlanes(camera: FrameCamera.FrameCamera): ClippingPlanes.ClippingPlanes;
|
|
88
85
|
/**
|
|
89
86
|
* Repositions the camera by rotating its current position around an axis
|
|
90
87
|
* defined at a specific world point.
|
|
@@ -93,32 +90,55 @@ export declare class Camera implements FrameCamera.FrameCamera {
|
|
|
93
90
|
* @param point The point in world space to place the axis at.
|
|
94
91
|
* @param axis A normalized vector to rotate around.
|
|
95
92
|
*/
|
|
96
|
-
rotateAroundAxisAtPoint(angleInRadians: number, point: Vector3.Vector3, axis: Vector3.Vector3): Camera;
|
|
93
|
+
abstract rotateAroundAxisAtPoint(angleInRadians: number, point: Vector3.Vector3, axis: Vector3.Vector3): Camera;
|
|
97
94
|
/**
|
|
98
|
-
* Updates the
|
|
99
|
-
* view.
|
|
95
|
+
* Updates the position of the camera such that the given bounding box will
|
|
96
|
+
* be contained within the camera's view.
|
|
100
97
|
*
|
|
101
|
-
* @param
|
|
102
|
-
* @returns A new camera.
|
|
98
|
+
* @param boundingBox The bounding box to position to.
|
|
103
99
|
*/
|
|
104
|
-
|
|
100
|
+
abstract fitToBoundingBox(boundingBox: BoundingBox.BoundingBox): Camera;
|
|
101
|
+
abstract get position(): Vector3.Vector3;
|
|
102
|
+
abstract get lookAt(): Vector3.Vector3;
|
|
103
|
+
abstract get up(): Vector3.Vector3;
|
|
104
|
+
abstract get near(): number;
|
|
105
|
+
abstract get far(): number;
|
|
106
|
+
abstract get aspectRatio(): number;
|
|
107
|
+
abstract get viewVector(): Vector3.Vector3;
|
|
108
|
+
/**
|
|
109
|
+
* Shifts the position of the camera by the given delta.
|
|
110
|
+
*
|
|
111
|
+
* @param delta The number of units to shift the camera on the X, Y, and Z
|
|
112
|
+
* axis.
|
|
113
|
+
*/
|
|
114
|
+
abstract moveBy(delta: Vector3.Vector3): Camera;
|
|
105
115
|
/**
|
|
106
116
|
* Updates the `position`, `lookAt` and/or `up` vectors of the camera.
|
|
107
117
|
*
|
|
108
118
|
* @param camera The values to update the camera to.
|
|
109
119
|
*/
|
|
110
|
-
update(camera: Partial<FrameCamera.FrameCamera>): Camera;
|
|
120
|
+
abstract update(camera: Partial<FrameCamera.FrameCamera>): Camera;
|
|
111
121
|
/**
|
|
112
|
-
* Returns a `
|
|
122
|
+
* Returns a `FrameCameraBase` representation.
|
|
113
123
|
*/
|
|
114
|
-
toFrameCamera():
|
|
115
|
-
|
|
116
|
-
|
|
124
|
+
abstract toFrameCamera(): FrameCameraBase;
|
|
125
|
+
protected abstract updateFlyToOptions(flyToOptions?: FlyTo.FlyToOptions): Camera;
|
|
126
|
+
}
|
|
127
|
+
export declare class PerspectiveCamera extends Camera implements FrameCamera.PerspectiveFrameCamera {
|
|
128
|
+
private perspectiveData;
|
|
129
|
+
constructor(stream: StreamApi, aspect: number, perspectiveData: FrameCamera.PerspectiveFrameCamera, boundingBox: BoundingBox.BoundingBox, decodeFrame: FrameDecoder, flyToOptions?: FlyTo.FlyToOptions);
|
|
117
130
|
/**
|
|
118
|
-
*
|
|
119
|
-
*
|
|
131
|
+
* Shifts the position of the camera by the given delta.
|
|
132
|
+
*
|
|
133
|
+
* @param delta The number of units to shift the camera on the X, Y, and Z
|
|
134
|
+
* axis.
|
|
120
135
|
*/
|
|
121
|
-
|
|
136
|
+
moveBy(delta: Vector3.Vector3): Camera;
|
|
137
|
+
rotateAroundAxisAtPoint(angleInRadians: number, point: Vector3.Vector3, axis: Vector3.Vector3): Camera;
|
|
138
|
+
fitToBoundingBox(boundingBox: BoundingBox.BoundingBox): Camera;
|
|
139
|
+
update(camera: Partial<FrameCamera.FrameCamera>): Camera;
|
|
140
|
+
toFrameCamera(): FramePerspectiveCamera;
|
|
141
|
+
get viewVector(): Vector3.Vector3;
|
|
122
142
|
/**
|
|
123
143
|
* The position vector for the camera, in world space coordinates.
|
|
124
144
|
*/
|
|
@@ -134,7 +154,49 @@ export declare class Camera implements FrameCamera.FrameCamera {
|
|
|
134
154
|
/**
|
|
135
155
|
* The camera's field of view.
|
|
136
156
|
*/
|
|
137
|
-
get fovY(): number;
|
|
157
|
+
get fovY(): number | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* The aspect ratio of the camera.
|
|
160
|
+
*/
|
|
161
|
+
get aspectRatio(): number;
|
|
162
|
+
/**
|
|
163
|
+
* The camera's near clipping plane.
|
|
164
|
+
*/
|
|
165
|
+
get near(): number;
|
|
166
|
+
/**
|
|
167
|
+
* The camera's far clipping plane.
|
|
168
|
+
*/
|
|
169
|
+
get far(): number;
|
|
170
|
+
protected updateFlyToOptions(flyToOptions?: FlyTo.FlyToOptions): PerspectiveCamera;
|
|
171
|
+
}
|
|
172
|
+
export declare class OrthographicCamera extends Camera implements FrameCamera.OrthographicFrameCamera {
|
|
173
|
+
private orthographicData;
|
|
174
|
+
constructor(stream: StreamApi, aspect: number, orthographicData: FrameCamera.OrthographicFrameCamera, boundingBox: BoundingBox.BoundingBox, decodeFrame: FrameDecoder, flyToOptions?: FlyTo.FlyToOptions);
|
|
175
|
+
/**
|
|
176
|
+
* Shifts the position of the camera by the given delta.
|
|
177
|
+
*
|
|
178
|
+
* @param delta The number of units to shift the camera on the X, Y, and Z
|
|
179
|
+
* axis.
|
|
180
|
+
*/
|
|
181
|
+
moveBy(delta: Vector3.Vector3): Camera;
|
|
182
|
+
rotateAroundAxisAtPoint(angleInRadians: number, point: Vector3.Vector3, axis: Vector3.Vector3): Camera;
|
|
183
|
+
fitToBoundingBox(boundingBox: BoundingBox.BoundingBox): Camera;
|
|
184
|
+
update(camera: Partial<FrameCamera.FrameCamera>): Camera;
|
|
185
|
+
toFrameCamera(): FrameOrthographicCamera;
|
|
186
|
+
get viewVector(): Vector3.Vector3;
|
|
187
|
+
get position(): Vector3.Vector3;
|
|
188
|
+
/**
|
|
189
|
+
* A normalized vector representing the up direction.
|
|
190
|
+
*/
|
|
191
|
+
get up(): Vector3.Vector3;
|
|
192
|
+
/**
|
|
193
|
+
* A vector, in world space coordinates, of where the camera is pointed at.
|
|
194
|
+
*/
|
|
195
|
+
get lookAt(): Vector3.Vector3;
|
|
196
|
+
/**
|
|
197
|
+
* The camera's field of view.
|
|
198
|
+
*/
|
|
199
|
+
get fovHeight(): number;
|
|
138
200
|
/**
|
|
139
201
|
* The aspect ratio of the camera.
|
|
140
202
|
*/
|
|
@@ -147,5 +209,6 @@ export declare class Camera implements FrameCamera.FrameCamera {
|
|
|
147
209
|
* The camera's far clipping plane.
|
|
148
210
|
*/
|
|
149
211
|
get far(): number;
|
|
212
|
+
protected updateFlyToOptions(flyToOptions?: FlyTo.FlyToOptions): OrthographicCamera;
|
|
150
213
|
}
|
|
151
214
|
export {};
|
|
@@ -4,7 +4,7 @@ import { StreamApi } from '@vertexvis/stream-api';
|
|
|
4
4
|
import { UUID } from '@vertexvis/utils';
|
|
5
5
|
import { FrameDecoder } from '../mappers';
|
|
6
6
|
import { Frame } from '../types/frame';
|
|
7
|
-
import { Camera } from '
|
|
7
|
+
import { Camera } from '.';
|
|
8
8
|
import { ColorMaterial } from './colorMaterial';
|
|
9
9
|
import { CrossSectioner } from './crossSectioner';
|
|
10
10
|
import { ItemOperation, SceneItemOperations, SceneOperationBuilder } from './operations';
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { BoundingBox } from '@vertexvis/geometry';
|
|
2
|
-
import { FrameCamera } from './frameCamera';
|
|
2
|
+
import { FrameCamera, OrthographicFrameCamera, PerspectiveFrameCamera } from './frameCamera';
|
|
3
3
|
export interface ClippingPlanes {
|
|
4
4
|
near: number;
|
|
5
5
|
far: number;
|
|
6
6
|
}
|
|
7
7
|
export declare function fromBoundingBoxAndLookAtCamera(boundingBox: BoundingBox.BoundingBox, camera: FrameCamera): ClippingPlanes;
|
|
8
|
+
export declare function fromBoundingBoxAndPerspectiveCamera(boundingBox: BoundingBox.BoundingBox, camera: PerspectiveFrameCamera): ClippingPlanes;
|
|
9
|
+
export declare function fromBoundingBoxAndOrthographicCamera(boundingBox: BoundingBox.BoundingBox, camera: OrthographicFrameCamera): ClippingPlanes;
|