@cognite/reveal 4.12.1 → 4.13.0
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/api-entry-points/core.d.ts +2 -2
- package/dist/index.js +228 -224
- package/dist/index.js.map +1 -1
- package/dist/packages/360-images/src/collection/DefaultImage360Collection.d.ts +1 -1
- package/dist/packages/360-images/src/collection/Image360CollectionFactory.d.ts +2 -1
- package/dist/packages/360-images/src/entity/Image360.d.ts +2 -2
- package/dist/packages/360-images/src/entity/Image360Entity.d.ts +4 -4
- package/dist/packages/360-images/src/entity/Image360RevisionEntity.d.ts +2 -1
- package/dist/packages/3d-overlays/src/Overlay3DCollection.d.ts +2 -2
- package/dist/packages/3d-overlays/src/OverlayCollection.d.ts +3 -2
- package/dist/packages/api/src/api-helpers/Image360ApiHelper.d.ts +5 -1
- package/dist/packages/api/src/public/migration/Cognite3DViewer.d.ts +1 -1
- package/dist/packages/api/src/public/migration/types.d.ts +14 -8
- package/dist/packages/cad-model/src/types.d.ts +2 -1
- package/dist/packages/cad-model/src/utilities/GeometryBufferUtils.d.ts +1 -1
- package/dist/packages/cad-styling/src/prioritized/AreaCollection.d.ts +5 -4
- package/dist/packages/cad-styling/src/prioritized/BoxClusterer.d.ts +1 -1
- package/dist/packages/cad-styling/src/prioritized/ClusteredAreaCollection.d.ts +5 -4
- package/dist/packages/cad-styling/src/prioritized/EmptyAreaCollection.d.ts +5 -4
- package/dist/packages/cad-styling/src/prioritized/types.d.ts +2 -1
- package/dist/packages/camera-manager/index.d.ts +1 -2
- package/dist/packages/camera-manager/src/Flexible/FlexibleCameraEventTarget.d.ts +20 -0
- package/dist/packages/camera-manager/src/Flexible/FlexibleCameraManager.d.ts +15 -14
- package/dist/packages/camera-manager/src/Flexible/FlexibleCameraMarkers.d.ts +1 -0
- package/dist/packages/camera-manager/src/Flexible/FlexibleControls.d.ts +22 -20
- package/dist/packages/camera-manager/src/Flexible/IFlexibleCameraManager.d.ts +45 -1
- package/dist/packages/camera-manager/src/Keyboard.d.ts +3 -5
- package/dist/packages/camera-manager/src/types.d.ts +10 -9
- package/dist/packages/pointclouds/src/PointCloudIntersection.d.ts +2 -1
- package/dist/packages/pointclouds/src/PointCloudNode.d.ts +6 -6
- package/dist/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreePickerHelper.d.ts +1 -1
- package/dist/packages/pointclouds/src/potree-three-loader/types/types.d.ts +2 -2
- package/dist/packages/pointclouds/src/potree-three-loader/workers/assignPointsToObjectsWithWasm.d.ts +2 -1
- package/dist/packages/rendering/src/RenderPipelineProvider.d.ts +2 -1
- package/dist/packages/rendering/src/pointcloud-rendering/types.d.ts +3 -3
- package/dist/packages/rendering/src/render-passes/SSAOPass.d.ts +1 -1
- package/dist/packages/rendering/src/render-passes/types.d.ts +4 -4
- package/dist/packages/rendering/src/rendering/SettableRenderTarget.d.ts +2 -1
- package/dist/packages/sector-parser/src/types.d.ts +5 -4
- package/dist/packages/tools/src/Measurement/types.d.ts +4 -3
- package/dist/packages/utilities/index.d.ts +7 -1
- package/dist/packages/utilities/src/CameraConfiguration.d.ts +3 -2
- package/dist/packages/utilities/src/events/InputHandler.d.ts +10 -18
- package/dist/packages/utilities/src/events/PointerEvents.d.ts +16 -0
- package/dist/packages/utilities/src/events/PointerEventsTarget.d.ts +29 -0
- package/dist/packages/utilities/src/events/disposeOfAllEventListeners.d.ts +11 -0
- package/dist/packages/utilities/src/events/getWheelEventDelta.d.ts +8 -0
- package/dist/packages/utilities/src/events/types.d.ts +5 -4
- package/package.json +78 -79
- package/dist/packages/camera-manager/src/Flexible/FlexibleControlsEvent.d.ts +0 -19
- package/dist/packages/camera-manager/src/utils/getWheelDelta.d.ts +0 -4
- package/dist/packages/utilities/src/events/index.d.ts +0 -7
|
@@ -41,5 +41,49 @@ export interface IFlexibleCameraManager extends CameraManager {
|
|
|
41
41
|
* @param callback - The callback function to be removed from the controls type change listeners.
|
|
42
42
|
*/
|
|
43
43
|
removeControlsTypeChangeListener(callback: FlexibleControlsTypeChangeDelegate): void;
|
|
44
|
+
/**
|
|
45
|
+
* Called when a click event is triggered
|
|
46
|
+
* @beta
|
|
47
|
+
*/
|
|
48
|
+
onClick(event: PointerEvent): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Called when double click event is triggered
|
|
51
|
+
* @beta
|
|
52
|
+
*/
|
|
53
|
+
onDoubleClick(event: PointerEvent): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Called when pointer is pressed
|
|
56
|
+
* @beta
|
|
57
|
+
*/
|
|
58
|
+
onPointerDown(event: PointerEvent, leftButton: boolean): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Called when pointer is dragged
|
|
61
|
+
* @beta
|
|
62
|
+
*/
|
|
63
|
+
onPointerDrag(event: PointerEvent, leftButton: boolean): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Called when pointer is released
|
|
66
|
+
* @beta
|
|
67
|
+
*/
|
|
68
|
+
onPointerUp(event: PointerEvent, leftButton: boolean): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Called when wheel event is triggered
|
|
71
|
+
* @beta
|
|
72
|
+
*/
|
|
73
|
+
onWheel(event: WheelEvent): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Called when a key is pressed or released
|
|
76
|
+
* @beta
|
|
77
|
+
*/
|
|
78
|
+
onKey(event: KeyboardEvent, down: boolean): void;
|
|
79
|
+
/**
|
|
80
|
+
* Called when focus is changed
|
|
81
|
+
* @beta
|
|
82
|
+
*/
|
|
83
|
+
onFocusChanged(haveFocus: boolean): void;
|
|
44
84
|
}
|
|
45
|
-
|
|
85
|
+
/**
|
|
86
|
+
* Check id the CameraManager is a IFlexibleCameraManager
|
|
87
|
+
* @beta
|
|
88
|
+
*/
|
|
89
|
+
export declare function isFlexibleCameraManager(manager: CameraManager): manager is IFlexibleCameraManager;
|
|
@@ -6,10 +6,8 @@ type EventCode = (typeof EVENT_CODES)[number];
|
|
|
6
6
|
export default class Keyboard {
|
|
7
7
|
private readonly _keys;
|
|
8
8
|
private _isEnabled;
|
|
9
|
-
private readonly _domElement;
|
|
10
9
|
get isEnabled(): boolean;
|
|
11
10
|
set isEnabled(value: boolean);
|
|
12
|
-
constructor(domElement: HTMLElement);
|
|
13
11
|
isPressed(key: EventCode): boolean;
|
|
14
12
|
isShiftPressed(): boolean;
|
|
15
13
|
isShiftPressedOnly(): boolean;
|
|
@@ -17,7 +15,6 @@ export default class Keyboard {
|
|
|
17
15
|
isCtrlPressedOnly(): boolean;
|
|
18
16
|
isAltPressed(): boolean;
|
|
19
17
|
isMetaPressed(): boolean;
|
|
20
|
-
dispose(): void;
|
|
21
18
|
/**
|
|
22
19
|
* Given two keys representing positive and negative directions (e.g., left and right, or up and down),
|
|
23
20
|
* this method returns 1 for the positive key, -1 for the negative key, or 0 if neither or both is pressed.
|
|
@@ -27,10 +24,11 @@ export default class Keyboard {
|
|
|
27
24
|
* @returns A value indicating the direction of movement: 1 (positive), -1 (negative), or 0 (none).
|
|
28
25
|
*/
|
|
29
26
|
getKeyboardMovementValue(positiveKey: EventCode, negativeKey: EventCode): number;
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
addEventListeners(domElement: HTMLElement): void;
|
|
28
|
+
removeEventListeners(domElement: HTMLElement): void;
|
|
32
29
|
private readonly onKeyDown;
|
|
33
30
|
private readonly onKeyUp;
|
|
31
|
+
onKey(event: KeyboardEvent, down: boolean): void;
|
|
34
32
|
readonly clearPressedKeys: () => void;
|
|
35
33
|
}
|
|
36
34
|
export {};
|
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
+
import type { Box3, Quaternion, Vector3 } from 'three';
|
|
4
5
|
export type ControlsState = {
|
|
5
|
-
position:
|
|
6
|
-
target:
|
|
6
|
+
position: Vector3;
|
|
7
|
+
target: Vector3;
|
|
7
8
|
};
|
|
8
9
|
export type CameraState = {
|
|
9
10
|
/**
|
|
10
11
|
* Camera position in world space.
|
|
11
12
|
*/
|
|
12
|
-
position?:
|
|
13
|
+
position?: Vector3;
|
|
13
14
|
/**
|
|
14
15
|
* Camera target in world space.
|
|
15
16
|
* **/
|
|
16
|
-
target?:
|
|
17
|
+
target?: Vector3;
|
|
17
18
|
/**
|
|
18
19
|
* Camera local rotation in quaternion form.
|
|
19
20
|
*/
|
|
20
|
-
rotation?:
|
|
21
|
+
rotation?: Quaternion;
|
|
21
22
|
};
|
|
22
23
|
/**
|
|
23
24
|
* Delegate for camera update events.
|
|
24
25
|
* @module @cognite/reveal
|
|
25
26
|
*/
|
|
26
|
-
export type CameraChangeDelegate = (position:
|
|
27
|
+
export type CameraChangeDelegate = (position: Vector3, target: Vector3) => void;
|
|
27
28
|
/**
|
|
28
29
|
* Delegate for camera update events.
|
|
29
30
|
* @module @cognite/reveal
|
|
@@ -41,7 +42,7 @@ export type CameraManagerCallbackData = {
|
|
|
41
42
|
/**
|
|
42
43
|
* Coordinate of the intersection.
|
|
43
44
|
*/
|
|
44
|
-
point:
|
|
45
|
+
point: Vector3;
|
|
45
46
|
/**
|
|
46
47
|
* Distance from the camera to the intersection.
|
|
47
48
|
*/
|
|
@@ -50,11 +51,11 @@ export type CameraManagerCallbackData = {
|
|
|
50
51
|
/**
|
|
51
52
|
* Bounding box for all models on the scene
|
|
52
53
|
*/
|
|
53
|
-
modelsBoundingBox:
|
|
54
|
+
modelsBoundingBox: Box3;
|
|
54
55
|
/**
|
|
55
56
|
* Bounding box for the object (node in a model) that was picked
|
|
56
57
|
*/
|
|
57
|
-
pickedBoundingBox:
|
|
58
|
+
pickedBoundingBox: Box3 | undefined;
|
|
58
59
|
};
|
|
59
60
|
/**
|
|
60
61
|
* List of supported event types (adapted from https://stackoverflow.com/questions/44480644/string-union-to-string-array)
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { AnnotationsAssetRef } from '@cognite/sdk';
|
|
5
5
|
import { CognitePointCloudModel } from './CognitePointCloudModel';
|
|
6
|
+
import type { Vector3 } from 'three';
|
|
6
7
|
export type PointCloudIntersection = {
|
|
7
8
|
/**
|
|
8
9
|
* The intersection type.
|
|
@@ -15,7 +16,7 @@ export type PointCloudIntersection = {
|
|
|
15
16
|
/**
|
|
16
17
|
* Coordinate of the intersection.
|
|
17
18
|
*/
|
|
18
|
-
point:
|
|
19
|
+
point: Vector3;
|
|
19
20
|
/**
|
|
20
21
|
* The index of the point that was intersected.
|
|
21
22
|
*/
|
|
@@ -7,7 +7,7 @@ import { WellKnownAsprsPointClassCodes } from './types';
|
|
|
7
7
|
import { PointColorType, PointShape, PointSizeType } from '../../rendering';
|
|
8
8
|
import { PointCloudObjectMetadata, PointCloudObject } from '../../data-providers';
|
|
9
9
|
import { CompletePointCloudAppearance, StyledPointCloudObjectCollection } from '../../pointcloud-styling';
|
|
10
|
-
import { Matrix4, Group, Color } from 'three';
|
|
10
|
+
import { Matrix4, Group, Box3, Color, type Camera, type Plane, type Ray, type WebGLRenderer } from 'three';
|
|
11
11
|
export declare class PointCloudNode extends Group {
|
|
12
12
|
private readonly _cameraConfiguration?;
|
|
13
13
|
private readonly _octree;
|
|
@@ -41,7 +41,7 @@ export declare class PointCloudNode extends Group {
|
|
|
41
41
|
* @param ray Ray representing the direction for picking.
|
|
42
42
|
* @returns Picked point data.
|
|
43
43
|
*/
|
|
44
|
-
pick(renderer:
|
|
44
|
+
pick(renderer: WebGLRenderer, camera: Camera, ray: Ray): PickPoint | null;
|
|
45
45
|
/**
|
|
46
46
|
* Sets a visible filter on points of a given class.
|
|
47
47
|
* @param pointClass ASPRS classification class code. Either one of the well known
|
|
@@ -74,16 +74,16 @@ export declare class PointCloudNode extends Group {
|
|
|
74
74
|
code: number | WellKnownAsprsPointClassCodes;
|
|
75
75
|
color: Color;
|
|
76
76
|
}>;
|
|
77
|
-
getBoundingBox(outBbox?:
|
|
78
|
-
setModelTransformation(matrix:
|
|
79
|
-
getModelTransformation(out?: Matrix4):
|
|
77
|
+
getBoundingBox(outBbox?: Box3): Box3;
|
|
78
|
+
setModelTransformation(matrix: Matrix4): void;
|
|
79
|
+
getModelTransformation(out?: Matrix4): Matrix4;
|
|
80
80
|
getCdfToDefaultModelTransformation(out?: Matrix4): Matrix4;
|
|
81
81
|
get stylableObjectAnnotationMetadata(): Iterable<PointCloudObjectMetadata>;
|
|
82
82
|
getStylableObjectMetadata(objectId: number): PointCloudObjectMetadata | undefined;
|
|
83
83
|
get stylableObjectCount(): number;
|
|
84
84
|
get defaultAppearance(): CompletePointCloudAppearance;
|
|
85
85
|
set defaultAppearance(appearance: CompletePointCloudAppearance);
|
|
86
|
-
set clippingPlanes(clippingPlanes:
|
|
86
|
+
set clippingPlanes(clippingPlanes: Plane[]);
|
|
87
87
|
assignStyledPointCloudObjectCollection(styledCollection: StyledPointCloudObjectCollection): void;
|
|
88
88
|
removeAllStyledPointCloudObjects(): void;
|
|
89
89
|
dispose(): void;
|
package/dist/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreePickerHelper.d.ts
CHANGED
|
@@ -48,7 +48,7 @@ export declare class PointCloudOctreePickerHelper {
|
|
|
48
48
|
private static updatePickMaterial;
|
|
49
49
|
static updatePickRenderTarget(pickState: IPickState, width: number, height: number): void;
|
|
50
50
|
private static makePickRenderTarget;
|
|
51
|
-
static findHit(pixels: Uint8Array, pickWndSize: number, nodes: RenderedNode[], camera:
|
|
51
|
+
static findHit(pixels: Uint8Array, pickWndSize: number, nodes: RenderedNode[], camera: Camera): PointCloudHit | null;
|
|
52
52
|
static getPickPoint(hit: PointCloudHit | null, nodes: RenderedNode[]): PickPoint | null;
|
|
53
53
|
static getPointPosition(nodes: RenderedNode[], pcIndex: number, pIndex: number): Vector3;
|
|
54
54
|
private static addPositionToPickPoint;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Vector3 } from 'three';
|
|
1
|
+
import type { Vector3, Object3D } from 'three';
|
|
2
2
|
import { PointCloudOctree } from '../tree/PointCloudOctree';
|
|
3
3
|
export interface PickPoint {
|
|
4
4
|
pointIndex: number;
|
|
5
|
-
object:
|
|
5
|
+
object: Object3D;
|
|
6
6
|
position: Vector3;
|
|
7
7
|
normal?: Vector3;
|
|
8
8
|
pointCloud?: PointCloudOctree;
|
package/dist/packages/pointclouds/src/potree-three-loader/workers/assignPointsToObjectsWithWasm.d.ts
CHANGED
|
@@ -2,4 +2,5 @@
|
|
|
2
2
|
* Copyright 2022 Cognite AS
|
|
3
3
|
*/
|
|
4
4
|
import { SerializableStylableObject } from '../../../../data-providers';
|
|
5
|
-
|
|
5
|
+
import type { Vector3, Box3 } from 'three';
|
|
6
|
+
export declare function assignPointsToObjectsWithWasm(points: Float32Array, objects: SerializableStylableObject[], pointOffset: Vector3, sectorBoundingBox: Box3): Promise<Uint16Array>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2022 Cognite AS
|
|
3
3
|
*/
|
|
4
|
+
import type { WebGLRenderer } from 'three';
|
|
4
5
|
import { RenderPass } from './RenderPass';
|
|
5
6
|
/**
|
|
6
7
|
* Defines a provider that provides a set of renderpasses
|
|
@@ -10,6 +11,6 @@ import { RenderPass } from './RenderPass';
|
|
|
10
11
|
* render passes given some dependency.
|
|
11
12
|
*/
|
|
12
13
|
export interface RenderPipelineProvider {
|
|
13
|
-
pipeline(renderer:
|
|
14
|
+
pipeline(renderer: WebGLRenderer): Generator<RenderPass>;
|
|
14
15
|
dispose(): void;
|
|
15
16
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Adapted from pnext/three-loader (https://github.com/pnext/three-loader)
|
|
3
3
|
*/
|
|
4
|
-
import { Color, IUniform as IThreeUniform, Vector4 } from 'three';
|
|
4
|
+
import { Color, IUniform as IThreeUniform, Vector4, type Box3, type Vector3 } from 'three';
|
|
5
5
|
export type IGradient = [number, Color][];
|
|
6
6
|
export interface PointClassification {
|
|
7
7
|
[value: string]: Vector4;
|
|
@@ -12,7 +12,7 @@ export interface IUniform<T> extends IThreeUniform {
|
|
|
12
12
|
value: T;
|
|
13
13
|
}
|
|
14
14
|
export type OctreeMaterialParams = {
|
|
15
|
-
scale:
|
|
15
|
+
scale: Vector3;
|
|
16
16
|
spacing: number;
|
|
17
|
-
boundingBox:
|
|
17
|
+
boundingBox: Box3;
|
|
18
18
|
};
|
|
@@ -8,7 +8,7 @@ export declare class SSAOPass implements RenderPass {
|
|
|
8
8
|
private readonly _fullScreenTriangle;
|
|
9
9
|
private readonly _ssaoShaderMaterial;
|
|
10
10
|
set ssaoParameters(ssaoParameters: SsaoParameters);
|
|
11
|
-
constructor(depthTexture: THREE.Texture, ssaoParameters: SsaoParameters);
|
|
11
|
+
constructor(depthTexture: THREE.Texture | null, ssaoParameters: SsaoParameters);
|
|
12
12
|
render(renderer: THREE.WebGLRenderer, camera: THREE.Camera): void;
|
|
13
13
|
private createKernel;
|
|
14
14
|
}
|
|
@@ -18,7 +18,7 @@ export declare enum BlitEffect {
|
|
|
18
18
|
export type BlitOptions = {
|
|
19
19
|
texture: THREE.Texture;
|
|
20
20
|
effect?: BlitEffect;
|
|
21
|
-
depthTexture
|
|
21
|
+
depthTexture: THREE.DepthTexture | null;
|
|
22
22
|
ssaoTexture?: THREE.Texture;
|
|
23
23
|
blendOptions?: BlendOptions;
|
|
24
24
|
overrideAlpha?: number;
|
|
@@ -27,9 +27,9 @@ export type BlitOptions = {
|
|
|
27
27
|
};
|
|
28
28
|
export type DepthBlendBlitOptions = {
|
|
29
29
|
texture: THREE.Texture;
|
|
30
|
-
depthTexture: THREE.DepthTexture;
|
|
30
|
+
depthTexture: THREE.DepthTexture | null;
|
|
31
31
|
blendTexture: THREE.Texture;
|
|
32
|
-
blendDepthTexture: THREE.Texture;
|
|
32
|
+
blendDepthTexture: THREE.Texture | null;
|
|
33
33
|
blendFactor: number;
|
|
34
34
|
overrideAlpha?: number;
|
|
35
35
|
outline?: boolean;
|
|
@@ -37,7 +37,7 @@ export type DepthBlendBlitOptions = {
|
|
|
37
37
|
export type PointCloudPostProcessingOptions = {
|
|
38
38
|
logDepthTexture: THREE.Texture;
|
|
39
39
|
texture: THREE.Texture;
|
|
40
|
-
depthTexture: THREE.DepthTexture;
|
|
40
|
+
depthTexture: THREE.DepthTexture | null;
|
|
41
41
|
pointBlending: boolean;
|
|
42
42
|
edlOptions: EdlOptions;
|
|
43
43
|
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2022 Cognite AS
|
|
3
3
|
*/
|
|
4
|
+
import type { WebGLRenderTarget } from 'three';
|
|
4
5
|
/**
|
|
5
6
|
* Interface for allowing render targets in renderPipelines to be changed dynamicaly in RevealManager.
|
|
6
7
|
*/
|
|
7
8
|
export interface SettableRenderTarget {
|
|
8
|
-
setOutputRenderTarget(target:
|
|
9
|
+
setOutputRenderTarget(target: WebGLRenderTarget | null, autoSizeRenderTarget?: boolean): void;
|
|
9
10
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
+
import type { InstancedBufferGeometry, BufferGeometry, Texture as ThreeTexture } from 'three';
|
|
4
5
|
export type GltfJson = {
|
|
5
6
|
accessors: Accessor[];
|
|
6
7
|
asset: Asset;
|
|
@@ -109,7 +110,7 @@ export type GlbHeaderData = {
|
|
|
109
110
|
};
|
|
110
111
|
export type GeometryProcessingPayload = {
|
|
111
112
|
geometryType: RevealGeometryCollectionType;
|
|
112
|
-
bufferGeometry:
|
|
113
|
+
bufferGeometry: InstancedBufferGeometry | BufferGeometry;
|
|
113
114
|
instancingExtension: {
|
|
114
115
|
attributes: {
|
|
115
116
|
[key: string]: number;
|
|
@@ -117,12 +118,12 @@ export type GeometryProcessingPayload = {
|
|
|
117
118
|
} | undefined;
|
|
118
119
|
meshId: number | undefined;
|
|
119
120
|
glbHeaderData: GlbHeaderData;
|
|
120
|
-
texture?:
|
|
121
|
+
texture?: ThreeTexture;
|
|
121
122
|
data: ArrayBuffer;
|
|
122
123
|
};
|
|
123
124
|
export type ParsedGeometry = {
|
|
124
125
|
type: RevealGeometryCollectionType;
|
|
125
|
-
geometryBuffer:
|
|
126
|
-
texture?:
|
|
126
|
+
geometryBuffer: BufferGeometry;
|
|
127
|
+
texture?: ThreeTexture;
|
|
127
128
|
instanceId?: string;
|
|
128
129
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2022 Cognite AS
|
|
3
3
|
*/
|
|
4
|
+
import type { Vector3, Color } from 'three';
|
|
4
5
|
export type Measurement = {
|
|
5
6
|
readonly measurementId: number;
|
|
6
|
-
readonly startPoint:
|
|
7
|
-
readonly endPoint:
|
|
7
|
+
readonly startPoint: Vector3;
|
|
8
|
+
readonly endPoint: Vector3;
|
|
8
9
|
readonly distanceInMeters: number;
|
|
9
10
|
};
|
|
10
11
|
/**
|
|
@@ -35,5 +36,5 @@ export type MeasurementOptions = {
|
|
|
35
36
|
/**
|
|
36
37
|
* Line color in 32 bit hex.
|
|
37
38
|
*/
|
|
38
|
-
color?:
|
|
39
|
+
color?: Color;
|
|
39
40
|
};
|
|
@@ -5,7 +5,13 @@ export { traverseDepthFirst } from './src/objectTraversal';
|
|
|
5
5
|
export { transformCameraConfiguration } from './src/transformCameraConfiguration';
|
|
6
6
|
export { RandomColors } from './src/RandomColors';
|
|
7
7
|
export { CameraConfiguration } from './src/CameraConfiguration';
|
|
8
|
-
export { EventTrigger
|
|
8
|
+
export { EventTrigger } from './src/events/EventTrigger';
|
|
9
|
+
export { InputHandler } from './src/events/InputHandler';
|
|
10
|
+
export { PointerEvents } from './src/events/PointerEvents';
|
|
11
|
+
export { PointerEventsTarget } from './src/events/PointerEventsTarget';
|
|
12
|
+
export { disposeOfAllEventListeners } from './src/events/disposeOfAllEventListeners';
|
|
13
|
+
export { clickOrTouchEventOffset, getClickOrTouchEventPoint } from './src/events/clickOrTouchEventOffset';
|
|
14
|
+
export { getWheelEventDelta } from './src/events/getWheelEventDelta';
|
|
9
15
|
export { DisposedDelegate, BeforeSceneRenderedDelegate, SceneRenderedDelegate, PointerEventDelegate, PointerEventData } from './src/events/types';
|
|
10
16
|
export { assertNever } from './src/assertNever';
|
|
11
17
|
export { NumericRange } from './src/NumericRange';
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
+
import type { Vector3 } from 'three';
|
|
4
5
|
/**
|
|
5
6
|
* Represents a camera configuration, consisting of a camera position and target.
|
|
6
7
|
*/
|
|
7
8
|
export type CameraConfiguration = {
|
|
8
|
-
readonly position:
|
|
9
|
-
readonly target:
|
|
9
|
+
readonly position: Vector3;
|
|
10
|
+
readonly target: Vector3;
|
|
10
11
|
};
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { EventTrigger } from './EventTrigger';
|
|
2
1
|
import { PointerEventDelegate } from './types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
private readonly
|
|
8
|
-
private
|
|
9
|
-
private static readonly maxClickDuration;
|
|
10
|
-
private readonly _events;
|
|
2
|
+
import { PointerEvents } from './PointerEvents';
|
|
3
|
+
export declare class InputHandler extends PointerEvents {
|
|
4
|
+
private readonly _domElement;
|
|
5
|
+
private readonly _pointerEventsTarget;
|
|
6
|
+
private readonly _clickEvents;
|
|
7
|
+
private readonly _hoverEvents;
|
|
11
8
|
constructor(domElement: HTMLElement);
|
|
9
|
+
dispose(): void;
|
|
12
10
|
/**
|
|
13
11
|
* @example
|
|
14
12
|
* ```js
|
|
@@ -18,13 +16,7 @@ export declare class InputHandler {
|
|
|
18
16
|
*/
|
|
19
17
|
on(event: 'click' | 'hover', callback: PointerEventDelegate): void;
|
|
20
18
|
off(event: 'click' | 'hover', callback: PointerEventDelegate): void;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
private handleClickEvent;
|
|
25
|
-
private readonly onHoverCallback;
|
|
19
|
+
onClick(event: PointerEvent): Promise<void>;
|
|
20
|
+
onHover(event: PointerEvent): void;
|
|
21
|
+
get isEnabled(): boolean;
|
|
26
22
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Method for deleting all external events that are associated with current instance of a class.
|
|
29
|
-
*/
|
|
30
|
-
export declare function disposeOfAllEventListeners(eventList: EventCollection): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2024 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* This base should be extended for listen to various pointer events.
|
|
6
|
+
* @beta
|
|
7
|
+
*/
|
|
8
|
+
export declare class PointerEvents {
|
|
9
|
+
onHover(_event: PointerEvent): void;
|
|
10
|
+
onClick(_event: PointerEvent): Promise<void>;
|
|
11
|
+
onDoubleClick(_event: PointerEvent): Promise<void>;
|
|
12
|
+
onPointerDown(_event: PointerEvent, _leftButton: boolean): Promise<void>;
|
|
13
|
+
onPointerUp(_event: PointerEvent, _leftButton: boolean): Promise<void>;
|
|
14
|
+
onPointerDrag(_event: PointerEvent, _leftButton: boolean): Promise<void>;
|
|
15
|
+
get isEnabled(): boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PointerEvents } from './PointerEvents';
|
|
2
|
+
/**
|
|
3
|
+
* This class fires click, double click, hover end similar events at a PointerEvents
|
|
4
|
+
* onClick will fired if it's a single click, and the mouse hasn't move too much
|
|
5
|
+
* If onDoubleClick is fired, the onClick will not be fired
|
|
6
|
+
* onHover will be fired only if the mouse button is not pressed and not to often
|
|
7
|
+
* If mouse, the onDoubleClick and onClick is fired when the left mouse button is pressed
|
|
8
|
+
* onPointerDrag will be fired wnen the mouse button is pressed and the mouse is moving
|
|
9
|
+
* @beta
|
|
10
|
+
*/
|
|
11
|
+
export declare class PointerEventsTarget {
|
|
12
|
+
private readonly _domElement;
|
|
13
|
+
private readonly _events;
|
|
14
|
+
private readonly _downPosition;
|
|
15
|
+
private _lastDownTimestamp;
|
|
16
|
+
private _prevDownTimestamp;
|
|
17
|
+
private _clickCounter;
|
|
18
|
+
private _isLeftDown;
|
|
19
|
+
private get isEnabled();
|
|
20
|
+
constructor(domElement: HTMLElement, events: PointerEvents);
|
|
21
|
+
addEventListeners(): void;
|
|
22
|
+
removeEventListeners(): void;
|
|
23
|
+
private readonly onPointerDown;
|
|
24
|
+
private readonly onPointerHover;
|
|
25
|
+
private readonly onPointerDrag;
|
|
26
|
+
private readonly onPointerUp;
|
|
27
|
+
private isProperClick;
|
|
28
|
+
private isDoubleClick;
|
|
29
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import { EventTrigger } from './EventTrigger';
|
|
5
|
+
export type EventCollection = {
|
|
6
|
+
[eventName: string]: EventTrigger<(...args: any[]) => void>;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Method for deleting all external events that are associated with current instance of a class.
|
|
10
|
+
*/
|
|
11
|
+
export declare function disposeOfAllEventListeners(eventList: EventCollection): void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2022 Cognite AS
|
|
3
3
|
*/
|
|
4
|
+
import type { PerspectiveCamera, WebGLRenderer } from 'three';
|
|
4
5
|
/**
|
|
5
6
|
* Delegate for pointer events.
|
|
6
7
|
* @module @cognite/reveal
|
|
@@ -25,8 +26,8 @@ export type DisposedDelegate = () => void;
|
|
|
25
26
|
*/
|
|
26
27
|
export type BeforeSceneRenderedDelegate = (event: {
|
|
27
28
|
frameNumber: number;
|
|
28
|
-
renderer:
|
|
29
|
-
camera:
|
|
29
|
+
renderer: WebGLRenderer;
|
|
30
|
+
camera: PerspectiveCamera;
|
|
30
31
|
}) => void;
|
|
31
32
|
/**
|
|
32
33
|
* Delegate for event triggered when scene has been rendered.
|
|
@@ -35,6 +36,6 @@ export type BeforeSceneRenderedDelegate = (event: {
|
|
|
35
36
|
export type SceneRenderedDelegate = (event: {
|
|
36
37
|
frameNumber: number;
|
|
37
38
|
renderTime: number;
|
|
38
|
-
renderer:
|
|
39
|
-
camera:
|
|
39
|
+
renderer: WebGLRenderer;
|
|
40
|
+
camera: PerspectiveCamera;
|
|
40
41
|
}) => void;
|