@cognite/reveal 4.1.1 → 4.2.0-dev.20230328
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/index.js +188 -164
- package/dist/index.js.map +1 -1
- package/dist/packages/360-images/index.d.ts +6 -6
- package/dist/packages/360-images/src/Image360Facade.d.ts +12 -6
- package/dist/packages/360-images/src/cache/Image360LoadingCache.d.ts +30 -0
- package/dist/packages/360-images/src/{DefaultImage360Collection.d.ts → collection/DefaultImage360Collection.d.ts} +22 -5
- package/dist/packages/360-images/src/{Image360Collection.d.ts → collection/Image360Collection.d.ts} +13 -2
- package/dist/packages/360-images/src/collection/Image360CollectionFactory.d.ts +13 -0
- package/dist/packages/360-images/src/{Image360Entity.d.ts → entity/Image360Entity.d.ts} +21 -6
- package/dist/packages/360-images/src/{Image360VisualizationBox.d.ts → entity/Image360VisualizationBox.d.ts} +6 -3
- package/dist/packages/360-images/src/icons/IconCollection.d.ts +34 -0
- package/dist/packages/360-images/src/icons/IconOctree.d.ts +21 -0
- package/dist/packages/360-images/src/icons/Image360Icon.d.ts +29 -0
- package/dist/packages/360-images/src/icons/InstancedIconSprite.d.ts +16 -0
- package/dist/packages/360-images/src/types.d.ts +1 -1
- package/dist/packages/api/src/api-helpers/Image360ApiHelper.d.ts +6 -6
- package/dist/packages/api/src/public/migration/Cognite3DViewer.d.ts +24 -8
- package/dist/packages/cad-geometry-loaders/src/sector/SectorDownloadScheduler.d.ts +5 -1
- package/dist/packages/cad-model/src/picking/PickingHandler.d.ts +4 -1
- package/dist/packages/cad-model/src/wrappers/CadNode.d.ts +1 -1
- package/dist/packages/cad-model/src/wrappers/CogniteCadModel.d.ts +4 -0
- package/dist/packages/cad-parsers/src/metadata/parsers/types.d.ts +1 -0
- package/dist/packages/camera-manager/src/ComboControls.d.ts +2 -0
- package/dist/packages/camera-manager/src/DefaultCameraManager.d.ts +1 -1
- package/dist/packages/camera-manager/src/StationaryCameraManager.d.ts +3 -3
- package/dist/packages/data-providers/index.d.ts +1 -1
- package/dist/packages/data-providers/src/ModelDataProvider.d.ts +2 -1
- package/dist/packages/data-providers/src/image-360-data-providers/Cdf360ImageEventProvider.d.ts +13 -4
- package/dist/packages/data-providers/src/image-360-data-providers/Local360ImageProvider.d.ts +3 -2
- package/dist/packages/data-providers/src/model-data-providers/CdfModelDataProvider.d.ts +1 -1
- package/dist/packages/data-providers/src/model-data-providers/LocalModelDataProvider.d.ts +1 -1
- package/dist/packages/data-providers/src/types.d.ts +18 -8
- package/dist/packages/metrics/index.d.ts +1 -0
- package/dist/packages/metrics/src/SessionLogger.d.ts +22 -0
- package/dist/packages/metrics/src/types.d.ts +1 -1
- package/dist/packages/pointclouds/src/CognitePointCloudModel.d.ts +4 -0
- package/dist/packages/pointclouds/src/PointCloudFactory.d.ts +2 -2
- package/dist/packages/pointclouds/src/PointCloudPickingHandler.d.ts +1 -0
- package/dist/packages/pointclouds/src/potree-three-loader/Potree.d.ts +2 -1
- package/dist/packages/pointclouds/src/potree-three-loader/utils/WorkerPool.d.ts +1 -1
- package/dist/packages/rendering/src/CadMaterialManager.d.ts +3 -0
- package/dist/packages/rendering/src/rendering/materials.d.ts +6 -1
- package/dist/packages/rendering/src/rendering/shaders.d.ts +0 -8
- package/dist/packages/sector-loader/src/GltfSectorLoader.d.ts +1 -1
- package/dist/packages/sector-loader/src/GltfSectorRepository.d.ts +1 -1
- package/dist/packages/sector-loader/src/SectorRepository.d.ts +1 -1
- package/dist/packages/sector-parser/src/GltfSectorParser.d.ts +1 -0
- package/dist/packages/sector-parser/src/types.d.ts +23 -1
- package/dist/packages/tools/src/Measurement/MeasurementLine.d.ts +6 -0
- package/dist/packages/tools/src/Measurement/MeasurementManager.d.ts +5 -0
- package/dist/packages/tools/src/Measurement/MeasurementTool.d.ts +2 -0
- package/dist/packages/utilities/index.d.ts +2 -0
- package/dist/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +2 -2
- package/dist/packages/utilities/src/projectedBounds.d.ts +6 -0
- package/dist/packages/utilities/src/three/AttributeDataAccessor.d.ts +12 -0
- package/dist/packages/utilities/src/three/visitBox3CornerPoints.d.ts +1 -0
- package/package.json +32 -40
- package/dist/packages/360-images/src/Image360EntityFactory.d.ts +0 -13
- package/dist/packages/360-images/src/Image360Icon.d.ts +0 -19
- package/dist/packages/360-images/src/Image360LoadingCache.d.ts +0 -15
- /package/dist/packages/360-images/src/{Image360.d.ts → entity/Image360.d.ts} +0 -0
- /package/dist/packages/360-images/src/{Image360Visualization.d.ts → entity/Image360Visualization.d.ts} +0 -0
package/dist/packages/data-providers/src/image-360-data-providers/Cdf360ImageEventProvider.d.ts
CHANGED
|
@@ -2,16 +2,25 @@
|
|
|
2
2
|
* Copyright 2022 Cognite AS
|
|
3
3
|
*/
|
|
4
4
|
import { CogniteClient, Metadata } from '@cognite/sdk';
|
|
5
|
-
import { Image360Descriptor, Image360Face } from '../types';
|
|
5
|
+
import { Image360Descriptor, Image360Face, Image360FileDescriptor } from '../types';
|
|
6
6
|
import { Image360Provider } from '../Image360Provider';
|
|
7
7
|
export declare class Cdf360ImageEventProvider implements Image360Provider<Metadata> {
|
|
8
8
|
private readonly _client;
|
|
9
9
|
constructor(client: CogniteClient);
|
|
10
|
-
get360ImageDescriptors(metadataFilter: Metadata): Promise<Image360Descriptor[]>;
|
|
11
|
-
get360ImageFiles(
|
|
10
|
+
get360ImageDescriptors(metadataFilter: Metadata, preMultipliedRotation: boolean): Promise<Image360Descriptor[]>;
|
|
11
|
+
get360ImageFiles(image360FaceDescriptors: Image360FileDescriptor[], abortSignal?: AbortSignal): Promise<Image360Face[]>;
|
|
12
|
+
getLowResolution360ImageFiles(image360FaceDescriptors: Image360FileDescriptor[], abortSignal?: AbortSignal): Promise<Image360Face[]>;
|
|
13
|
+
private getFileIds;
|
|
14
|
+
private createFaces;
|
|
15
|
+
private mergeDescriptors;
|
|
12
16
|
private listEvents;
|
|
13
|
-
private
|
|
17
|
+
private listFiles;
|
|
18
|
+
private getNewestFileInfoSet;
|
|
14
19
|
private getFileBuffers;
|
|
20
|
+
getIconBuffers(fileIds: {
|
|
21
|
+
id: number;
|
|
22
|
+
}[], abortSignal?: AbortSignal): Promise<ArrayBuffer[]>;
|
|
23
|
+
private getDownloadUrls;
|
|
15
24
|
private parseEventMetadata;
|
|
16
25
|
get360ImageFaces(): Promise<void>;
|
|
17
26
|
}
|
package/dist/packages/data-providers/src/image-360-data-providers/Local360ImageProvider.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Image360Provider } from '../Image360Provider';
|
|
2
|
-
import { Image360Descriptor, Image360Face } from '../types';
|
|
2
|
+
import { Image360Descriptor, Image360Face, Image360FileDescriptor } from '../types';
|
|
3
3
|
export declare class Local360ImageProvider implements Image360Provider<unknown> {
|
|
4
4
|
private readonly _modelUrl;
|
|
5
5
|
constructor(modelUrl: string);
|
|
6
6
|
get360ImageDescriptors(): Promise<Image360Descriptor[]>;
|
|
7
|
-
get360ImageFiles(
|
|
7
|
+
get360ImageFiles(image360FaceDescriptors: Image360FileDescriptor[], abortSignal?: AbortSignal): Promise<Image360Face[]>;
|
|
8
|
+
getLowResolution360ImageFiles(image360FaceDescriptors: Image360FileDescriptor[], abortSignal?: AbortSignal): Promise<Image360Face[]>;
|
|
8
9
|
}
|
|
@@ -10,7 +10,7 @@ export declare class CdfModelDataProvider implements ModelDataProvider {
|
|
|
10
10
|
private readonly client;
|
|
11
11
|
private authenticationPromise;
|
|
12
12
|
constructor(client: CogniteClient);
|
|
13
|
-
getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer>;
|
|
13
|
+
getBinaryFile(baseUrl: string, fileName: string, abortSignal?: AbortSignal): Promise<ArrayBuffer>;
|
|
14
14
|
getJsonFile(baseUrl: string, fileName: string): Promise<any>;
|
|
15
15
|
private fetchWithRetry;
|
|
16
16
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { ModelDataProvider } from '../ModelDataProvider';
|
|
5
5
|
export declare class LocalModelDataProvider implements ModelDataProvider {
|
|
6
|
-
getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer>;
|
|
6
|
+
getBinaryFile(baseUrl: string, fileName: string, abortSignal?: AbortSignal): Promise<ArrayBuffer>;
|
|
7
7
|
getJsonFile(baseUrl: string, fileName: string): Promise<any>;
|
|
8
8
|
}
|
|
@@ -6,29 +6,39 @@ export interface JsonFileProvider {
|
|
|
6
6
|
getJsonFile(baseUrl: string, fileName: string): Promise<any>;
|
|
7
7
|
}
|
|
8
8
|
export interface BinaryFileProvider {
|
|
9
|
-
getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer>;
|
|
9
|
+
getBinaryFile(baseUrl: string, fileName: string, abortSignal?: AbortSignal): Promise<ArrayBuffer>;
|
|
10
10
|
}
|
|
11
11
|
export interface Image360DescriptorProvider<T> {
|
|
12
|
-
get360ImageDescriptors(metadataFilter: T): Promise<Image360Descriptor[]>;
|
|
12
|
+
get360ImageDescriptors(metadataFilter: T, preMultipliedRotation: boolean): Promise<Image360Descriptor[]>;
|
|
13
13
|
}
|
|
14
14
|
export interface Image360FileProvider {
|
|
15
|
-
get360ImageFiles(
|
|
15
|
+
get360ImageFiles(image360FaceDescriptors: Image360FileDescriptor[], abortSignal?: AbortSignal): Promise<Image360Face[]>;
|
|
16
|
+
getLowResolution360ImageFiles(image360FaceDescriptors: Image360FileDescriptor[], abortSignal?: AbortSignal): Promise<Image360Face[]>;
|
|
16
17
|
}
|
|
17
|
-
export type Image360Descriptor = {
|
|
18
|
+
export type Image360Descriptor = Image360EventDescriptor & {
|
|
19
|
+
faceDescriptors: Image360FileDescriptor[];
|
|
20
|
+
};
|
|
21
|
+
export type Image360EventDescriptor = {
|
|
18
22
|
id: string;
|
|
19
23
|
label: string;
|
|
20
24
|
collectionId: string;
|
|
21
25
|
collectionLabel: string;
|
|
22
|
-
|
|
23
|
-
translation: THREE.Matrix4;
|
|
24
|
-
rotation: THREE.Matrix4;
|
|
25
|
-
};
|
|
26
|
+
transform: THREE.Matrix4;
|
|
26
27
|
};
|
|
27
28
|
export type Image360Face = {
|
|
28
29
|
face: 'front' | 'back' | 'left' | 'right' | 'top' | 'bottom';
|
|
29
30
|
mimeType: 'image/jpeg' | 'image/png';
|
|
30
31
|
data: ArrayBuffer;
|
|
31
32
|
};
|
|
33
|
+
export type Image360Texture = {
|
|
34
|
+
face: 'front' | 'back' | 'left' | 'right' | 'top' | 'bottom';
|
|
35
|
+
texture: THREE.Texture;
|
|
36
|
+
};
|
|
37
|
+
export type Image360FileDescriptor = {
|
|
38
|
+
fileId: number;
|
|
39
|
+
face: 'front' | 'back' | 'left' | 'right' | 'top' | 'bottom';
|
|
40
|
+
mimeType: 'image/jpeg' | 'image/png';
|
|
41
|
+
};
|
|
32
42
|
export declare enum File3dFormat {
|
|
33
43
|
EptPointCloud = "ept-pointcloud",
|
|
34
44
|
/**
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare class SessionLogger {
|
|
2
|
+
private _wasPreviousAnimationFrameRendered;
|
|
3
|
+
private _renderedFramesPerCameraMovement;
|
|
4
|
+
private _renderedFramesStartTime;
|
|
5
|
+
private _averageFpsPerMovementSum;
|
|
6
|
+
private _movementsCount;
|
|
7
|
+
private _canvasVisibility;
|
|
8
|
+
private _sessionStartTime;
|
|
9
|
+
private _isDisposed;
|
|
10
|
+
constructor();
|
|
11
|
+
updateCanvasVisibility(isCanvasVisible: boolean): void;
|
|
12
|
+
tickCurrentAnimationFrame(isRendered: boolean): void;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
private resetSessionState;
|
|
15
|
+
private countCurrentCameraMovement;
|
|
16
|
+
private countCurrentRenderedFrame;
|
|
17
|
+
private resetCurrentCameraMovement;
|
|
18
|
+
private calculateAverageFpsForCurrentMovement;
|
|
19
|
+
private calculateAverageSessionFps;
|
|
20
|
+
private trackSessionEnded;
|
|
21
|
+
private readonly onRevealPageVisibilityChange;
|
|
22
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
-
export type TrackedEvents = 'init' | 'construct3dViewer' | 'loadModel' | 'error' | 'cameraNavigated' | 'toolCreated' | 'cadModelStyleAssigned' | 'cadNodeTransformOverridden' | 'measurementAdded';
|
|
4
|
+
export type TrackedEvents = 'init' | 'construct3dViewer' | 'loadModel' | 'error' | 'cameraNavigated' | 'sessionEnded' | 'toolCreated' | 'cadModelStyleAssigned' | 'cadNodeTransformOverridden' | '360ImageCollectionAdded' | '360ImageEntered' | '360ImageTransitioned' | '360ImageExited' | 'measurementAdded' | 'texturedModelLoaded';
|
|
5
5
|
export type EventProps = {
|
|
6
6
|
[key: string]: any;
|
|
7
7
|
};
|
|
@@ -160,6 +160,10 @@ export declare class CognitePointCloudModel {
|
|
|
160
160
|
* global clipping planes.
|
|
161
161
|
*/
|
|
162
162
|
setModelClippingPlanes(clippingPlanes: THREE.Plane[]): void;
|
|
163
|
+
/**
|
|
164
|
+
* Get the clipping planes for this model.
|
|
165
|
+
*/
|
|
166
|
+
getModelClippingPlanes(): THREE.Plane[];
|
|
163
167
|
/**
|
|
164
168
|
* Gets default point appearance
|
|
165
169
|
*/
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { PointCloudNode } from './PointCloudNode';
|
|
5
5
|
import { PointCloudMetadata } from './PointCloudMetadata';
|
|
6
|
+
import { Potree } from './potree-three-loader';
|
|
6
7
|
import { PointCloudStylableObjectProvider } from '../../data-providers';
|
|
7
8
|
import { IPointClassificationsProvider } from './classificationsProviders/IPointClassificationsProvider';
|
|
8
|
-
import { ModelDataProvider } from '../../data-providers';
|
|
9
9
|
import { PointCloudMaterialManager } from '../../rendering';
|
|
10
10
|
export declare class PointCloudFactory {
|
|
11
11
|
private readonly _potreeInstance;
|
|
12
12
|
private readonly _pointCloudObjectProvider;
|
|
13
13
|
private readonly _classificationsProvider;
|
|
14
14
|
private readonly _pointCloudMaterialManager;
|
|
15
|
-
constructor(
|
|
15
|
+
constructor(potreeInstance: Potree, pointCloudObjectProvider: PointCloudStylableObjectProvider, classificationsProvider: IPointClassificationsProvider, pointCloudMaterialManager: PointCloudMaterialManager);
|
|
16
16
|
dispose(): void;
|
|
17
17
|
createModel(modelMetadata: PointCloudMetadata): Promise<PointCloudNode>;
|
|
18
18
|
}
|
|
@@ -41,5 +41,6 @@ export declare class PointCloudPickingHandler {
|
|
|
41
41
|
private readonly _picker;
|
|
42
42
|
private static readonly PickingWindowSize;
|
|
43
43
|
constructor(renderer: THREE.WebGLRenderer);
|
|
44
|
+
dispose(): void;
|
|
44
45
|
intersectPointClouds(nodes: PointCloudNode[], input: IntersectInput): IntersectPointCloudNodeResult[];
|
|
45
46
|
}
|
|
@@ -17,11 +17,12 @@ export declare class Potree implements IPotree {
|
|
|
17
17
|
private readonly _rendererSize;
|
|
18
18
|
private readonly _modelDataProvider;
|
|
19
19
|
private readonly _materialManager;
|
|
20
|
-
private
|
|
20
|
+
private _throttledUpdateFunc;
|
|
21
21
|
private _shouldLoad;
|
|
22
22
|
maxNumNodesLoading: number;
|
|
23
23
|
lru: LRU;
|
|
24
24
|
constructor(modelDataProvider: ModelDataProvider, pointCloudMaterialManager: PointCloudMaterialManager);
|
|
25
|
+
reset(): void;
|
|
25
26
|
loadPointCloud(baseUrl: string, fileName: string, pointCloudObjects: PointCloudObject[], modelIdentifier: symbol): Promise<PointCloudOctree>;
|
|
26
27
|
updatePointClouds(pointClouds: PointCloudOctree[], camera: Camera, renderer: WebGLRenderer): void;
|
|
27
28
|
set shouldLoad(value: boolean);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare class AutoTerminatingWorker {
|
|
2
|
-
private readonly wrappedWorker;
|
|
3
2
|
private readonly maxIdle;
|
|
4
3
|
private timeoutId;
|
|
5
4
|
private terminated;
|
|
5
|
+
private _wrappedWorker;
|
|
6
6
|
constructor(wrappedWorker: Worker, maxIdle: number);
|
|
7
7
|
get worker(): Worker;
|
|
8
8
|
get isTerminated(): boolean;
|
|
@@ -18,6 +18,8 @@ export declare class CadMaterialManager {
|
|
|
18
18
|
off(event: 'materialsChanged', listener: () => void): void;
|
|
19
19
|
addModelMaterials(modelIdentifier: string, maxTreeIndex: number): void;
|
|
20
20
|
removeModelMaterials(modelIdentifier: string): void;
|
|
21
|
+
addTexturedMeshMaterial(modelIdentifier: string, sectorId: number, texture: THREE.Texture): THREE.RawShaderMaterial;
|
|
22
|
+
removeTexturedMeshMaterial(modelIdentifier: string, sectorId: number): void;
|
|
21
23
|
getModelMaterials(modelIdentifier: string): Materials;
|
|
22
24
|
getModelNodeAppearanceProvider(modelIdentifier: string): NodeAppearanceProvider;
|
|
23
25
|
getModelNodeTransformProvider(modelIdentifier: string): NodeTransformProvider;
|
|
@@ -38,4 +40,5 @@ export declare class CadMaterialManager {
|
|
|
38
40
|
private getModelMaterialsWrapper;
|
|
39
41
|
private applyToAllMaterials;
|
|
40
42
|
private triggerMaterialsChanged;
|
|
43
|
+
private initializeDefinesAndUniforms;
|
|
41
44
|
}
|
|
@@ -19,5 +19,10 @@ export interface Materials {
|
|
|
19
19
|
instancedMesh: THREE.RawShaderMaterial;
|
|
20
20
|
triangleMesh: THREE.RawShaderMaterial;
|
|
21
21
|
simple: THREE.RawShaderMaterial;
|
|
22
|
+
texturedMaterials: {
|
|
23
|
+
[key: string]: THREE.RawShaderMaterial;
|
|
24
|
+
};
|
|
22
25
|
}
|
|
23
|
-
export declare function
|
|
26
|
+
export declare function forEachMaterial(materials: Materials, callback: (material: THREE.RawShaderMaterial) => void): void;
|
|
27
|
+
export declare function createMaterials(renderMode: RenderMode, clippingPlanes: THREE.Plane[], overrideColorPerTreeIndex: THREE.DataTexture, transformOverrideIndexTexture: THREE.DataTexture, transformOverrideLookupTexture: THREE.DataTexture, matCapTexture: THREE.Texture): Materials;
|
|
28
|
+
export declare function initializeDefinesAndUniforms(material: THREE.RawShaderMaterial, overrideColorPerTreeIndex: THREE.DataTexture, transformOverrideIndexTexture: THREE.DataTexture, transformOverrideTexture: THREE.DataTexture, matCapTexture: THREE.Texture, renderMode: RenderMode): void;
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
-
/**
|
|
5
|
-
* Defines used to enable debugging features in shaders.
|
|
6
|
-
*/
|
|
7
|
-
export declare const shaderDefines: {
|
|
8
|
-
defines: {
|
|
9
|
-
COGNITE_COLOR_BY_TREE_INDEX: boolean;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
4
|
export declare const sectorShaders: {
|
|
13
5
|
simpleMesh: {
|
|
14
6
|
fragment: string;
|
|
@@ -6,7 +6,7 @@ export declare class GltfSectorLoader {
|
|
|
6
6
|
private readonly _sectorFileProvider;
|
|
7
7
|
private readonly _materialManager;
|
|
8
8
|
constructor(sectorFileProvider: BinaryFileProvider, materialManager: CadMaterialManager);
|
|
9
|
-
loadSector(sector: WantedSector): Promise<ConsumedSector>;
|
|
9
|
+
loadSector(sector: WantedSector, abortSignal?: AbortSignal): Promise<ConsumedSector>;
|
|
10
10
|
private createTreeIndexSet;
|
|
11
11
|
private createMesh;
|
|
12
12
|
}
|
|
@@ -12,7 +12,7 @@ export declare class GltfSectorRepository implements SectorRepository {
|
|
|
12
12
|
private getEmptySectorWithLod;
|
|
13
13
|
private getEmptyDetailedSector;
|
|
14
14
|
private getEmptyDiscardedSector;
|
|
15
|
-
loadSector(sector: WantedSector): Promise<ConsumedSector>;
|
|
15
|
+
loadSector(sector: WantedSector, abortSignal?: AbortSignal): Promise<ConsumedSector>;
|
|
16
16
|
setCacheSize(sectorCount: number): void;
|
|
17
17
|
clearCache(): void;
|
|
18
18
|
private wantedSectorCacheKey;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { ConsumedSector, WantedSector } from '../../cad-parsers';
|
|
5
5
|
export type SectorId = number;
|
|
6
6
|
export interface SectorRepository {
|
|
7
|
-
loadSector(sector: WantedSector): Promise<ConsumedSector>;
|
|
7
|
+
loadSector(sector: WantedSector, abortSignal?: AbortSignal): Promise<ConsumedSector>;
|
|
8
8
|
setCacheSize(sectorCount: number): void;
|
|
9
9
|
clearCache(): void;
|
|
10
10
|
}
|
|
@@ -7,10 +7,13 @@ export type GltfJson = {
|
|
|
7
7
|
bufferViews: BufferView[];
|
|
8
8
|
buffers: Buffer[];
|
|
9
9
|
extensionsUsed: string[];
|
|
10
|
+
images: Image[];
|
|
11
|
+
materials: Material[];
|
|
10
12
|
meshes: Mesh[];
|
|
11
13
|
nodes: Node[];
|
|
12
14
|
scene: number;
|
|
13
15
|
scenes: Scene[];
|
|
16
|
+
textures: Texture[];
|
|
14
17
|
};
|
|
15
18
|
export type Scene = {
|
|
16
19
|
nodes: number[];
|
|
@@ -66,6 +69,22 @@ export type Primitive = {
|
|
|
66
69
|
bufferView: number;
|
|
67
70
|
} | undefined;
|
|
68
71
|
};
|
|
72
|
+
material: number | undefined;
|
|
73
|
+
};
|
|
74
|
+
export type Material = {
|
|
75
|
+
name: string;
|
|
76
|
+
pbrMetallicRoughness: {
|
|
77
|
+
baseColorTexture: {
|
|
78
|
+
index: number;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
export type Texture = {
|
|
83
|
+
source: number;
|
|
84
|
+
};
|
|
85
|
+
export type Image = {
|
|
86
|
+
bufferView: number;
|
|
87
|
+
mimeType: string;
|
|
69
88
|
};
|
|
70
89
|
export declare enum RevealGeometryCollectionType {
|
|
71
90
|
BoxCollection = 0,
|
|
@@ -80,7 +99,8 @@ export declare enum RevealGeometryCollectionType {
|
|
|
80
99
|
TrapeziumCollection = 9,
|
|
81
100
|
NutCollection = 10,
|
|
82
101
|
TriangleMesh = 11,
|
|
83
|
-
|
|
102
|
+
TexturedTriangleMesh = 12,
|
|
103
|
+
InstanceMesh = 13
|
|
84
104
|
}
|
|
85
105
|
export type GlbHeaderData = {
|
|
86
106
|
json: GltfJson;
|
|
@@ -97,10 +117,12 @@ export type GeometryProcessingPayload = {
|
|
|
97
117
|
} | undefined;
|
|
98
118
|
meshId: number | undefined;
|
|
99
119
|
glbHeaderData: GlbHeaderData;
|
|
120
|
+
texture?: THREE.Texture;
|
|
100
121
|
data: ArrayBuffer;
|
|
101
122
|
};
|
|
102
123
|
export type ParsedGeometry = {
|
|
103
124
|
type: RevealGeometryCollectionType;
|
|
104
125
|
geometryBuffer: THREE.BufferGeometry;
|
|
126
|
+
texture?: THREE.Texture;
|
|
105
127
|
instanceId?: string;
|
|
106
128
|
};
|
|
@@ -17,6 +17,11 @@ export declare class MeasurementLine {
|
|
|
17
17
|
* @param endPoint Second point of the line to end the measurement.
|
|
18
18
|
*/
|
|
19
19
|
updateLine(endPoint: THREE.Vector3): void;
|
|
20
|
+
/**
|
|
21
|
+
* Updates the measuring line clipping planes
|
|
22
|
+
* @param clippingPlanes current active global clipping planes.
|
|
23
|
+
*/
|
|
24
|
+
updateLineClippingPlanes(clippingPlanes: THREE.Plane[]): void;
|
|
20
25
|
/**
|
|
21
26
|
* Get the distance between the measuring line start point & end point.
|
|
22
27
|
* @returns Return distance between start & end point of the line.
|
|
@@ -41,4 +46,5 @@ export declare class MeasurementLine {
|
|
|
41
46
|
* Generate line geometry and create the mesh.
|
|
42
47
|
*/
|
|
43
48
|
private startLine;
|
|
49
|
+
private clippingPlanesContainPoint;
|
|
44
50
|
}
|
|
@@ -40,6 +40,11 @@ export declare class MeasurementManager {
|
|
|
40
40
|
*/
|
|
41
41
|
removeMeasurement(): void;
|
|
42
42
|
getMeasurement(): Readonly<Measurement>;
|
|
43
|
+
/**
|
|
44
|
+
* Updates the measuring line clipping planes
|
|
45
|
+
* @param clippingPlanes current active global clipping planes.
|
|
46
|
+
*/
|
|
47
|
+
updateLineClippingPlanes(clippingPlanes: THREE.Plane[]): void;
|
|
43
48
|
/**
|
|
44
49
|
* Update current line width.
|
|
45
50
|
* @param lineWidth Width of the measuring line mesh.
|
|
@@ -52,6 +52,7 @@ export declare class MeasurementTool extends Cognite3DViewerToolBase {
|
|
|
52
52
|
private readonly _handlePointerClick;
|
|
53
53
|
private readonly _handlePointerMove;
|
|
54
54
|
private readonly _handleMeasurementCancel;
|
|
55
|
+
private readonly _handleClippingPlanes;
|
|
55
56
|
private readonly _events;
|
|
56
57
|
private readonly _overlayOptions;
|
|
57
58
|
private static readonly defaultLineOptions;
|
|
@@ -187,4 +188,5 @@ export declare class MeasurementTool extends Cognite3DViewerToolBase {
|
|
|
187
188
|
* Cancel the active measurement.
|
|
188
189
|
*/
|
|
189
190
|
private cancelActiveMeasurement;
|
|
191
|
+
private onClipping;
|
|
190
192
|
}
|
|
@@ -12,6 +12,7 @@ export { NumericRange } from './src/NumericRange';
|
|
|
12
12
|
export { determinePowerOfTwoDimensions } from './src/determinePowerOfTwoDimensions';
|
|
13
13
|
export { IndexSet } from './src/IndexSet';
|
|
14
14
|
export { DynamicDefragmentedBuffer } from './src/datastructures/DynamicDefragmentedBuffer';
|
|
15
|
+
export { AttributeDataAccessor } from './src/three/AttributeDataAccessor';
|
|
15
16
|
export { AutoDisposeGroup } from './src/three/AutoDisposeGroup';
|
|
16
17
|
export { BoundingBoxLOD } from './src/three/BoundingBoxLOD';
|
|
17
18
|
export { toThreeBox3 } from './src/three/toThreeBox3';
|
|
@@ -31,6 +32,7 @@ export { MostFrequentlyUsedCache } from './src/cache/MostFrequentlyUsedCache';
|
|
|
31
32
|
export { disposeAttributeArrayOnUpload } from './src/disposeAttributeArrayOnUpload';
|
|
32
33
|
export { incrementOrInsertIndex, decrementOrDeleteIndex } from './src/counterMap';
|
|
33
34
|
export { calculateVolumeOfMesh } from './src/calculateVolumeOfMesh';
|
|
35
|
+
export { getApproximateProjectedBounds, getScreenArea } from './src/projectedBounds';
|
|
34
36
|
export { worldToNormalizedViewportCoordinates, worldToViewportCoordinates, pixelToNormalizedDeviceCoordinates } from './src/worldToViewport';
|
|
35
37
|
export { DeferredPromise } from './src/DeferredPromise';
|
|
36
38
|
export { SceneHandler } from './src/SceneHandler';
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Determines clicked or touched coordinate as offset
|
|
6
|
-
* @param ev An
|
|
6
|
+
* @param ev An PointerEvent or WheelEvent.
|
|
7
7
|
* @param target HTML element to find coordinates relative to.
|
|
8
8
|
* @returns A struct containing coordinates relative to the HTML element provided.
|
|
9
9
|
*/
|
|
10
|
-
export declare function clickOrTouchEventOffset(ev:
|
|
10
|
+
export declare function clickOrTouchEventOffset(ev: PointerEvent | WheelEvent, target: HTMLElement): {
|
|
11
11
|
offsetX: number;
|
|
12
12
|
offsetY: number;
|
|
13
13
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2023 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import { BufferAttribute } from 'three';
|
|
5
|
+
import { TypedArray } from '../types';
|
|
6
|
+
export declare class AttributeDataAccessor<T extends TypedArray> {
|
|
7
|
+
private readonly _dataView;
|
|
8
|
+
private readonly _attribute;
|
|
9
|
+
constructor(dataView: T, attribute: BufferAttribute);
|
|
10
|
+
set(array: ArrayLike<number>, offset?: number | undefined): void;
|
|
11
|
+
at(index: number): number | undefined;
|
|
12
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cognite/reveal",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0-dev.20230328",
|
|
4
4
|
"description": "WebGL based 3D viewer for CAD and point clouds processed in Cognite Data Fusion.",
|
|
5
5
|
"homepage": "https://github.com/cognitedata/reveal/tree/master/viewer",
|
|
6
6
|
"repository": {
|
|
@@ -55,12 +55,6 @@
|
|
|
55
55
|
"coverage": "yarn run build:wasm-test && cross-env NODE_OPTIONS=--experimental-vm-modules jest --coverage",
|
|
56
56
|
"lint": "eslint . --ext .ts,.js --max-warnings 0 --cache",
|
|
57
57
|
"update-api": "api-extractor run --local && shx rm -rf api-extractor-temp/",
|
|
58
|
-
"prebump": "yarn version --no-git-tag-version && yarn && cd ../documentation && yarn replace-latest-by-next",
|
|
59
|
-
"bump": " yarn bump:commit && yarn bump:tag && yarn bump:push",
|
|
60
|
-
"bump:commit": "git add -A && cross-var git commit -m \"chore(viewer): bump version $npm_package_version\"",
|
|
61
|
-
"bump:tag": "cross-var git tag $npm_package_name@$npm_package_version",
|
|
62
|
-
"bump:push": "git push -u origin head && git push --tags",
|
|
63
|
-
"release": "yarn build:prod && cd dist && yarn publish --non-interactive",
|
|
64
58
|
"ws:serve": "yarn run build:wasm && webpack-dev-server --config packages/webpack.config.js",
|
|
65
59
|
"ws:test": "cd $INIT_CWD && jest --runInBand",
|
|
66
60
|
"ws:test:wasm": "cd $INIT_CWD && wasm-pack test --chrome --headless ./wasm",
|
|
@@ -71,7 +65,6 @@
|
|
|
71
65
|
"@tweenjs/tween.js": "18.6.4",
|
|
72
66
|
"assert": "2.0.0",
|
|
73
67
|
"async-mutex": "0.4.0",
|
|
74
|
-
"comlink": "4.3.1",
|
|
75
68
|
"glslify": "7.1.1",
|
|
76
69
|
"glslify-import": "3.1.0",
|
|
77
70
|
"html2canvas": "^1.4.1",
|
|
@@ -81,80 +74,79 @@
|
|
|
81
74
|
"path-browserify": "1.0.1",
|
|
82
75
|
"rxjs": "7.8.0",
|
|
83
76
|
"skmeans": "0.11.3",
|
|
84
|
-
"
|
|
77
|
+
"sparse-octree": "7.1.6",
|
|
78
|
+
"three-stdlib": "2.21.8"
|
|
85
79
|
},
|
|
86
80
|
"devDependencies": {
|
|
87
|
-
"@azure/msal-browser": "2.
|
|
88
|
-
"@cognite/sdk": "7.
|
|
81
|
+
"@azure/msal-browser": "2.34.0",
|
|
82
|
+
"@cognite/sdk": "7.19.1",
|
|
89
83
|
"@microsoft/api-extractor": "^7.33.6",
|
|
90
|
-
"@types/dat.gui": "0.7.
|
|
91
|
-
"@types/expect-puppeteer": "5.0.2",
|
|
84
|
+
"@types/dat.gui": "0.7.9",
|
|
92
85
|
"@types/gl": "^6.0.2",
|
|
93
|
-
"@types/glob": "8.
|
|
94
|
-
"@types/jest": "29.
|
|
86
|
+
"@types/glob": "8.1.0",
|
|
87
|
+
"@types/jest": "29.5.0",
|
|
95
88
|
"@types/jest-environment-puppeteer": "5.0.3",
|
|
96
89
|
"@types/jest-image-snapshot": "6.1.0",
|
|
97
|
-
"@types/jsdom": "
|
|
90
|
+
"@types/jsdom": "21.1.1",
|
|
98
91
|
"@types/lodash": "4.14.191",
|
|
99
92
|
"@types/mixpanel-browser": "2.38.1",
|
|
100
|
-
"@types/node": "18.
|
|
93
|
+
"@types/node": "18.15.0",
|
|
101
94
|
"@types/random-seed": "0.3.3",
|
|
102
|
-
"@types/skmeans": "0.11.
|
|
95
|
+
"@types/skmeans": "0.11.4",
|
|
103
96
|
"@types/stats": "0.16.30",
|
|
104
|
-
"@types/three": "0.
|
|
97
|
+
"@types/three": "0.149.0",
|
|
105
98
|
"@types/tween.js": "18.5.1",
|
|
106
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
107
|
-
"@typescript-eslint/parser": "5.
|
|
99
|
+
"@typescript-eslint/eslint-plugin": "5.56.0",
|
|
100
|
+
"@typescript-eslint/parser": "5.56.0",
|
|
108
101
|
"concurrently": "7.6.0",
|
|
109
102
|
"cross-env": "7.0.3",
|
|
110
|
-
"cross-var": "1.1.0",
|
|
111
103
|
"dat.gui": "0.7.9",
|
|
112
|
-
"eslint": "8.
|
|
113
|
-
"eslint-config-prettier": "8.
|
|
104
|
+
"eslint": "8.36.0",
|
|
105
|
+
"eslint-config-prettier": "8.8.0",
|
|
114
106
|
"eslint-plugin-header": "3.1.1",
|
|
115
|
-
"eslint-plugin-jsdoc": "
|
|
107
|
+
"eslint-plugin-jsdoc": "40.1.0",
|
|
116
108
|
"eslint-plugin-lodash": "7.4.0",
|
|
117
109
|
"eslint-plugin-prettier": "4.2.1",
|
|
118
110
|
"eslint-plugin-unused-imports": "2.0.0",
|
|
119
111
|
"file-loader": "6.2.0",
|
|
120
112
|
"gl": "6.0.2",
|
|
121
|
-
"glob": "
|
|
113
|
+
"glob": "9.3.2",
|
|
122
114
|
"glslify-loader": "2.0.0",
|
|
123
115
|
"html-webpack-plugin": "5.5.0",
|
|
124
|
-
"jest": "29.
|
|
116
|
+
"jest": "29.5.0",
|
|
125
117
|
"jest-canvas-mock": "2.4.0",
|
|
126
|
-
"jest-environment-jsdom": "29.
|
|
127
|
-
"jest-extended": "3.2.
|
|
118
|
+
"jest-environment-jsdom": "29.5.0",
|
|
119
|
+
"jest-extended": "3.2.4",
|
|
128
120
|
"jest-image-snapshot": "6.1.0",
|
|
129
|
-
"jest-puppeteer": "
|
|
130
|
-
"jsdom": "21.1.
|
|
121
|
+
"jest-puppeteer": "8.0.5",
|
|
122
|
+
"jsdom": "21.1.1",
|
|
131
123
|
"moq.ts": "10.0.2",
|
|
132
124
|
"nock": "13.3.0",
|
|
133
|
-
"prettier": "2.8.
|
|
125
|
+
"prettier": "2.8.6",
|
|
134
126
|
"process": "0.11.10",
|
|
135
|
-
"puppeteer": "19.
|
|
127
|
+
"puppeteer": "19.7.4",
|
|
136
128
|
"random-seed": "0.3.0",
|
|
137
129
|
"raw-loader": "4.0.2",
|
|
138
130
|
"remove-files-webpack-plugin": "1.5.0",
|
|
139
131
|
"resize-observer-polyfill": "1.5.1",
|
|
140
132
|
"shx": "0.3.4",
|
|
141
133
|
"stats.js": "0.17.0",
|
|
142
|
-
"three": "0.
|
|
134
|
+
"three": "0.149.0",
|
|
143
135
|
"ts-jest": "29.0.5",
|
|
144
136
|
"ts-loader": "9.4.2",
|
|
145
|
-
"tsc-alias": "1.8.
|
|
146
|
-
"typescript": "
|
|
137
|
+
"tsc-alias": "1.8.4",
|
|
138
|
+
"typescript": "5.0.2",
|
|
147
139
|
"wasm-pack": "0.10.3",
|
|
148
|
-
"webpack": "5.
|
|
140
|
+
"webpack": "5.76.3",
|
|
149
141
|
"webpack-cli": "5.0.1",
|
|
150
|
-
"webpack-dev-server": "4.
|
|
142
|
+
"webpack-dev-server": "4.13.1",
|
|
151
143
|
"webpack-node-externals": "3.0.0",
|
|
152
144
|
"whatwg-fetch": "3.6.2",
|
|
153
145
|
"workerize-loader": "2.0.2"
|
|
154
146
|
},
|
|
155
147
|
"peerDependencies": {
|
|
156
148
|
"@cognite/sdk": "^7.16.0",
|
|
157
|
-
"three": "0.
|
|
149
|
+
"three": "0.149.0"
|
|
158
150
|
},
|
|
159
151
|
"glslify": {
|
|
160
152
|
"transform": [
|
|
@@ -164,5 +156,5 @@
|
|
|
164
156
|
"files": [
|
|
165
157
|
"./dist/*"
|
|
166
158
|
],
|
|
167
|
-
"packageManager": "yarn@3.
|
|
159
|
+
"packageManager": "yarn@3.5.0"
|
|
168
160
|
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright 2022 Cognite AS
|
|
3
|
-
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
import { Image360Entity } from './Image360Entity';
|
|
6
|
-
import { SceneHandler } from '../../utilities';
|
|
7
|
-
import { Image360Provider } from '../../data-providers';
|
|
8
|
-
export declare class Image360EntityFactory<T> {
|
|
9
|
-
private readonly _sceneHandler;
|
|
10
|
-
private readonly _image360DataProvider;
|
|
11
|
-
constructor(image360DataProvider: Image360Provider<T>, sceneHandler: SceneHandler);
|
|
12
|
-
create(dataProviderFilter: T, postTransform: THREE.Matrix4, preMultipliedRotation: boolean): Promise<Image360Entity[]>;
|
|
13
|
-
}
|