@cognite/reveal 2.1.2 → 3.0.0-alpha.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/core/cad.d.ts +1 -2
- package/core/src/datamodels/cad/CadManager.d.ts +10 -10
- package/core/src/datamodels/cad/CadModelFactory.d.ts +10 -4
- package/core/src/datamodels/cad/createCadManager.d.ts +4 -5
- package/core/src/datamodels/cad/picking.d.ts +1 -1
- package/core/src/datamodels/cad/rendering/RenderAlreadyLoadedGeometryProvider.d.ts +2 -1
- package/core/src/datamodels/cad/styling/AssetNodeCollection.d.ts +8 -2
- package/core/src/datamodels/cad/styling/InvertedNodeCollection.d.ts +3 -2
- package/core/src/datamodels/cad/styling/PopulateIndexSetFromPagedResponseHelper.d.ts +10 -4
- package/core/src/datamodels/cad/styling/PropertyFilterNodeCollection.d.ts +5 -11
- package/core/src/datamodels/cad/styling/SinglePropertyFilterNodeCollection.d.ts +5 -14
- package/core/src/datamodels/pointcloud/PointCloudManager.d.ts +5 -4
- package/core/src/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +6 -5
- package/core/src/datamodels/pointcloud/createPointCloudManager.d.ts +2 -4
- package/core/src/datamodels/pointcloud/index.d.ts +5 -0
- package/core/src/index.d.ts +1 -1
- package/core/src/internals.d.ts +15 -0
- package/core/src/public/RevealManager.d.ts +11 -8
- package/core/src/public/createRevealManager.d.ts +2 -3
- package/core/src/public/migration/Cognite3DModel.d.ts +20 -1
- package/core/src/public/migration/Cognite3DViewer.d.ts +30 -10
- package/core/src/public/migration/types.d.ts +36 -23
- package/core/src/public/types.d.ts +3 -1
- package/core/src/{public/migration → storage}/RevealManagerHelper.d.ts +7 -7
- package/core/src/utilities/Spinner.d.ts +4 -5
- package/core/src/utilities/ViewStateHelper.d.ts +2 -2
- package/core/src/utilities/worldToViewport.d.ts +1 -2
- package/extensions/datasource.d.ts +9 -0
- package/extensions/datasource.js +30 -0
- package/extensions/datasource.map +1 -0
- package/index.d.ts +2 -1
- package/index.js +214 -125
- package/index.map +1 -1
- package/package.json +6 -8
- package/packages/cad-geometry-loaders/index.d.ts +4 -11
- package/packages/cad-geometry-loaders/src/{CadModelSectorBudget.d.ts → CadModelBudget.d.ts} +3 -10
- package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +5 -7
- package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +7 -6
- package/packages/cad-geometry-loaders/src/sector/culling/ByScreenSizeSectorCuller.d.ts +23 -0
- package/packages/cad-geometry-loaders/src/sector/culling/ByVisibilityGpuSectorCuller.d.ts +3 -5
- package/packages/cad-geometry-loaders/src/sector/culling/WeightFunctionsHelper.d.ts +50 -0
- package/packages/cad-geometry-loaders/src/sector/culling/computeNdcAreaOfBox.d.ts +12 -0
- package/packages/cad-geometry-loaders/src/sector/culling/computeSectorCost.d.ts +7 -0
- package/packages/cad-geometry-loaders/src/sector/culling/createV8SectorCuller.d.ts +7 -0
- package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenSectorMapBase.d.ts +11 -0
- package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorMap.d.ts +17 -0
- package/packages/cad-geometry-loaders/src/sector/culling/{TakenSectorTree.d.ts → takensectors/TakenV8SectorTree.d.ts} +6 -6
- package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV9SectorMap.d.ts +20 -0
- package/packages/cad-geometry-loaders/src/sector/culling/takensectors/index.d.ts +5 -0
- package/packages/cad-geometry-loaders/src/sector/culling/transformBoxToNDC.d.ts +5 -0
- package/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +16 -4
- package/packages/cad-geometry-loaders/src/sector/rxSectorUtilities.d.ts +2 -2
- package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +3 -2
- package/packages/cad-geometry-loaders/src/utilities/types.d.ts +0 -23
- package/packages/cad-parsers/index.d.ts +7 -6
- package/packages/{cad-geometry-loaders/src/material-manager/rendering → cad-parsers/src/cad}/filterInstanceMesh.d.ts +1 -1
- package/packages/cad-parsers/src/cad/filterPrimitivesCommon.d.ts +5 -0
- package/packages/cad-parsers/src/cad/{filterPrimitives.d.ts → filterPrimitivesV8.d.ts} +0 -0
- package/packages/cad-parsers/src/cad/filterPrimitivesV9.d.ts +6 -0
- package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +1 -1
- package/packages/{cad-geometry-loaders/src/material-manager/rendering → cad-parsers/src/cad}/triangleMeshes.d.ts +1 -1
- package/packages/cad-parsers/src/cad/types.d.ts +2 -2
- package/packages/cad-parsers/src/metadata/CadModelMetadata.d.ts +10 -0
- package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +6 -6
- package/packages/cad-parsers/src/metadata/MetadataRepository.d.ts +3 -2
- package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserGltf.d.ts +6 -0
- package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +2 -47
- package/packages/cad-parsers/src/metadata/parsers/types.d.ts +60 -0
- package/packages/cad-parsers/src/metadata/types.d.ts +15 -4
- package/packages/{cad-geometry-loaders → cad-parsers}/src/sector/RootSectorNode.d.ts +1 -1
- package/packages/{cad-geometry-loaders → cad-parsers}/src/sector/SectorNode.d.ts +1 -1
- package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +2 -5
- package/packages/cad-parsers/src/utilities/computeBoundingBoxFromAttributes.d.ts +10 -0
- package/packages/{cad-geometry-loaders → cad-parsers}/src/utilities/float32BufferToMatrix.d.ts +0 -0
- package/packages/cad-parsers/src/utilities/types.d.ts +26 -0
- package/packages/cad-styling/index.d.ts +4 -0
- package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +4 -2
- package/packages/cad-styling/src/IntersectionNodeCollection.d.ts +4 -0
- package/packages/cad-styling/src/NodeAppearance.d.ts +23 -0
- package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +7 -0
- package/packages/cad-styling/src/NodeCollectionBase.d.ts +7 -0
- package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +17 -1
- package/packages/cad-styling/src/UnionNodeCollection.d.ts +3 -0
- package/packages/cad-styling/src/prioritized/AreaCollection.d.ts +39 -0
- package/packages/cad-styling/src/prioritized/BoxClusterer.d.ts +29 -0
- package/packages/cad-styling/src/prioritized/ClusteredAreaCollection.d.ts +17 -0
- package/packages/cad-styling/src/prioritized/EmptyAreaCollection.d.ts +18 -0
- package/packages/cad-styling/src/prioritized/types.d.ts +7 -0
- package/packages/camera-manager/index.d.ts +3 -1
- package/packages/camera-manager/src/CameraManager.d.ts +84 -0
- package/packages/camera-manager/src/ComboControls.d.ts +60 -42
- package/packages/camera-manager/src/Keyboard.d.ts +10 -7
- package/packages/camera-manager/src/types.d.ts +64 -0
- package/packages/data-source/index.d.ts +6 -0
- package/packages/data-source/src/CdfDataSource.d.ts +19 -0
- package/packages/data-source/src/DataSource.d.ts +26 -0
- package/packages/data-source/src/LocalDataSource.d.ts +15 -0
- package/packages/metrics/index.d.ts +5 -0
- package/packages/metrics/src/MetricsLogger.d.ts +21 -0
- package/packages/metrics/src/types.d.ts +7 -0
- package/packages/modeldata-api/index.d.ts +8 -3
- package/packages/modeldata-api/src/{CdfModelDataClient.d.ts → CdfModelDataProvider.d.ts} +6 -6
- package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +15 -0
- package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +11 -27
- package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +16 -0
- package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +10 -0
- package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -0
- package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +11 -14
- package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -0
- package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +19 -0
- package/packages/modeldata-api/src/types.d.ts +19 -26
- package/packages/nodes-api/index.d.ts +0 -1
- package/packages/nodes-api/src/NodesApiClient.d.ts +16 -8
- package/packages/nodes-api/src/NodesCdfClient.d.ts +9 -4
- package/packages/nodes-api/src/NodesLocalClient.d.ts +10 -5
- package/packages/nodes-api/src/types.d.ts +0 -4
- package/packages/rendering/index.d.ts +17 -0
- package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/CadMaterialManager.d.ts +5 -5
- package/packages/rendering/src/GeometryBatchingManager.d.ts +30 -0
- package/packages/{cad-geometry-loaders → rendering}/src/InstancedMeshManager.d.ts +1 -1
- package/packages/{cad-geometry-loaders → rendering}/src/cameraconfig.d.ts +0 -0
- package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/EffectRenderManager.d.ts +28 -12
- package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/rendering}/NodeAppearanceTextureBuilder.d.ts +8 -7
- package/packages/{cad-parsers/src/cad → rendering/src/rendering}/RenderMode.d.ts +0 -0
- package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/createSimpleGeometryMesh.d.ts +1 -1
- package/packages/{cad-parsers/src/cad → rendering/src/rendering}/matCapTextureData.d.ts +0 -0
- package/packages/{cad-parsers/src/cad → rendering/src/rendering}/materials.d.ts +0 -0
- package/packages/{cad-parsers/src/cad → rendering/src/rendering}/primitives.d.ts +3 -3
- package/packages/{cad-parsers/src/cad → rendering/src/rendering}/shaders.d.ts +1 -1
- package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/types.d.ts +1 -1
- package/packages/{cad-geometry-loaders/src → rendering/src/sector}/CadNode.d.ts +18 -9
- package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/NodeTransformProvider.d.ts +1 -1
- package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/NodeTransformTextureBuilder.d.ts +1 -1
- package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/TransformOverrideBuffer.d.ts +3 -3
- package/packages/rendering/src/utilities/types.d.ts +26 -0
- package/packages/sector-loader/index.d.ts +6 -0
- package/packages/sector-loader/src/GltfSectorRepository.d.ts +14 -0
- package/packages/{cad-geometry-loaders/src/sector/Repository.d.ts → sector-loader/src/SectorRepository.d.ts} +2 -2
- package/packages/{cad-geometry-loaders/src/sector/CachedRepository.d.ts → sector-loader/src/V8SectorRepository.d.ts} +6 -6
- package/packages/{cad-geometry-loaders/src/sector → sector-loader/src/v8}/SimpleAndDetailedToSector3D.d.ts +4 -4
- package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/arrays.d.ts +0 -0
- package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/groupMeshesByNumber.d.ts +0 -0
- package/packages/sector-loader/src/v8/sectorUtilities.d.ts +16 -0
- package/packages/sector-parser/index.d.ts +5 -0
- package/packages/sector-parser/src/GltfSectorParser.d.ts +18 -0
- package/packages/sector-parser/src/reveal-glb-parser/GlbMetadataParser.d.ts +14 -0
- package/packages/sector-parser/src/reveal-glb-parser/primitiveGeometries.d.ts +12 -0
- package/packages/sector-parser/src/types.d.ts +98 -0
- package/packages/tools/index.d.ts +4 -1
- package/packages/tools/src/AxisView/AxisViewTool.d.ts +2 -2
- package/packages/tools/src/DebugLoadedSectorsTool.d.ts +1 -1
- package/packages/tools/src/Geomap/Geomap.d.ts +5 -2
- package/packages/tools/src/Geomap/GeomapTool.d.ts +5 -2
- package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -0
- package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +160 -0
- package/packages/tools/src/Timeline/Keyframe.d.ts +39 -0
- package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -0
- package/packages/tools/src/Timeline/types.d.ts +13 -0
- package/packages/utilities/index.d.ts +7 -3
- package/packages/utilities/src/NumericRange.d.ts +2 -1
- package/packages/utilities/src/RandomColors.d.ts +34 -0
- package/packages/utilities/src/WebGLRendererStateHelper.d.ts +1 -1
- package/packages/utilities/src/counterMap.d.ts +5 -0
- package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +18 -5
- package/packages/utilities/src/events/InputHandler.d.ts +25 -0
- package/packages/utilities/src/events/index.d.ts +1 -0
- package/packages/utilities/src/indexset/IndexSet.d.ts +1 -1
- package/packages/utilities/src/three/isBox3OnPositiveSideOfPlane.d.ts +10 -0
- package/packages/utilities/src/three/toThreeBox3.d.ts +6 -0
- package/packages/utilities/src/three/visitBox3CornerPoints.d.ts +12 -0
- package/packages/utilities/src/types.d.ts +1 -0
- package/tools.js +77 -117
- package/tools.map +1 -1
- package/packages/cad-geometry-loaders/src/sector/sectorUtilities.d.ts +0 -19
- package/packages/cad-parsers/src/cad/computeBoundingBoxFromAttributes.d.ts +0 -9
- package/packages/modeldata-api/src/LocalModelDataClient.d.ts +0 -10
- package/packages/tools/src/HtmlOverlayTool.d.ts +0 -88
- package/packages/utilities/src/metrics.d.ts +0 -15
- package/packages/utilities/src/three/getBox3CornerPoints.d.ts +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cognite/reveal",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-alpha.0",
|
|
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": {
|
|
@@ -19,14 +19,12 @@
|
|
|
19
19
|
"main": "index.js",
|
|
20
20
|
"types": "index.d.ts",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@cognite/potree-core": "1.5.
|
|
23
|
-
"@cognite/reveal-parser-worker": "1.
|
|
24
|
-
"@gltf-transform/core": "^0.12.11",
|
|
25
|
-
"@gltf-transform/extensions": "^0.12.11",
|
|
22
|
+
"@cognite/potree-core": "^1.5.1",
|
|
23
|
+
"@cognite/reveal-parser-worker": "1.3.0",
|
|
26
24
|
"@tweenjs/tween.js": "^18.6.4",
|
|
27
|
-
"@types/three": "0.
|
|
25
|
+
"@types/three": "0.135.0",
|
|
28
26
|
"assert": "^2.0.0",
|
|
29
|
-
"comlink": "4.3.1",
|
|
27
|
+
"comlink": "^4.3.1",
|
|
30
28
|
"geo-three": "^0.0.15",
|
|
31
29
|
"glslify": "^7.1.1",
|
|
32
30
|
"glslify-import": "^3.1.0",
|
|
@@ -35,7 +33,7 @@
|
|
|
35
33
|
"mixpanel-browser": "^2.39.0",
|
|
36
34
|
"rxjs": "^7.1.0",
|
|
37
35
|
"skmeans": "^0.11.3",
|
|
38
|
-
"three": "0.
|
|
36
|
+
"three": "0.135.0"
|
|
39
37
|
},
|
|
40
38
|
"peerDependencies": {
|
|
41
39
|
"@cognite/sdk": "^5.0.0",
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
-
export {
|
|
5
|
-
export { SimpleAndDetailedToSector3D } from './src/sector/SimpleAndDetailedToSector3D';
|
|
6
|
-
export { NodeTransformProvider } from './src/material-manager/styling/NodeTransformProvider';
|
|
7
|
-
export { CadModelSectorBudget } from './src/CadModelSectorBudget';
|
|
8
|
-
export { SectorNode } from './src/sector/SectorNode';
|
|
9
|
-
export { CachedRepository } from './src/sector/CachedRepository';
|
|
10
|
-
export { defaultRenderOptions, SsaoParameters, SsaoSampleQuality, AntiAliasingMode, SectorQuads, RenderOptions } from './src/material-manager/rendering/types';
|
|
4
|
+
export { CadModelBudget } from './src/CadModelBudget';
|
|
11
5
|
export { CadLoadingHints } from './src/CadLoadingHints';
|
|
12
|
-
export { EffectRenderManager } from './src/material-manager/rendering/EffectRenderManager';
|
|
13
|
-
export { CadMaterialManager } from './src/material-manager/CadMaterialManager';
|
|
14
6
|
export { CadModelUpdateHandler } from './src/CadModelUpdateHandler';
|
|
15
7
|
export { LoadingState } from './src/utilities/types';
|
|
16
8
|
export { SectorCuller } from './src/sector/culling/SectorCuller';
|
|
17
|
-
export {
|
|
18
|
-
export {
|
|
9
|
+
export { ByVisibilityGpuSectorCuller } from './src/sector/culling/ByVisibilityGpuSectorCuller';
|
|
10
|
+
export { ByScreenSizeSectorCuller } from './src/sector/culling/ByScreenSizeSectorCuller';
|
|
11
|
+
export { createV8SectorCuller } from './src/sector/culling/createV8SectorCuller';
|
|
19
12
|
export { OccludingGeometryProvider } from './src/sector/culling/OccludingGeometryProvider';
|
|
20
13
|
export { DetermineSectorsInput } from './src/sector/culling/types';
|
|
@@ -4,23 +4,16 @@
|
|
|
4
4
|
/**
|
|
5
5
|
* Represents a measurement of how much geometry can be loaded.
|
|
6
6
|
*/
|
|
7
|
-
export declare type
|
|
7
|
+
export declare type CadModelBudget = {
|
|
8
8
|
/**
|
|
9
9
|
* Sectors within this distance from the camera will always be loaded in high details.
|
|
10
|
+
* @deprecated This is only used for 3D models processed prior to the Reveal 3.0 release (Q1 2022).
|
|
10
11
|
*/
|
|
11
12
|
readonly highDetailProximityThreshold: number;
|
|
12
|
-
/**
|
|
13
|
-
* Number of bytes of the geometry that must be downloaded.
|
|
14
|
-
*/
|
|
15
|
-
readonly geometryDownloadSizeBytes: number;
|
|
16
|
-
/**
|
|
17
|
-
* Maximum number of estimated draw calls of geometry to load.
|
|
18
|
-
*/
|
|
19
|
-
readonly maximumNumberOfDrawCalls: number;
|
|
20
13
|
/**
|
|
21
14
|
* Maximum render cost. This number can be thought of as triangle count, although the number
|
|
22
15
|
* doesn't match this directly.
|
|
23
16
|
*/
|
|
24
17
|
readonly maximumRenderCost: number;
|
|
25
18
|
};
|
|
26
|
-
export declare const
|
|
19
|
+
export declare const defaultCadModelBudget: CadModelBudget;
|
|
@@ -3,16 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { ConsumedSector } from '../../cad-parsers';
|
|
6
|
+
import { CadNode } from '../../rendering';
|
|
6
7
|
import { Observable } from 'rxjs';
|
|
7
|
-
import { CadNode } from './CadNode';
|
|
8
8
|
import { SectorCuller } from './sector/culling/SectorCuller';
|
|
9
9
|
import { CadLoadingHints } from './CadLoadingHints';
|
|
10
|
-
import { Repository } from './sector/Repository';
|
|
11
10
|
import { LoadingState } from './utilities/types';
|
|
12
|
-
import {
|
|
11
|
+
import { CadModelBudget } from './CadModelBudget';
|
|
13
12
|
import { SectorLoadingSpent } from './sector/culling/types';
|
|
14
13
|
export declare class CadModelUpdateHandler {
|
|
15
|
-
private readonly _sectorRepository;
|
|
16
14
|
private readonly _sectorCuller;
|
|
17
15
|
private readonly _modelStateHandler;
|
|
18
16
|
private _budget;
|
|
@@ -24,12 +22,12 @@ export declare class CadModelUpdateHandler {
|
|
|
24
22
|
private readonly _budgetSubject;
|
|
25
23
|
private readonly _progressSubject;
|
|
26
24
|
private readonly _updateObservable;
|
|
27
|
-
constructor(
|
|
25
|
+
constructor(sectorCuller: SectorCuller, continuousModelStreaming?: boolean);
|
|
28
26
|
dispose(): void;
|
|
29
27
|
updateCamera(camera: THREE.PerspectiveCamera): void;
|
|
30
28
|
set clippingPlanes(value: THREE.Plane[]);
|
|
31
|
-
get budget():
|
|
32
|
-
set budget(b:
|
|
29
|
+
get budget(): CadModelBudget;
|
|
30
|
+
set budget(b: CadModelBudget);
|
|
33
31
|
get lastBudgetSpendage(): SectorLoadingSpent;
|
|
34
32
|
addModel(model: CadNode): void;
|
|
35
33
|
removeModel(model: CadNode): void;
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
4
|
import { ConsumedSector } from '../../../cad-parsers';
|
|
5
|
-
import {
|
|
5
|
+
import { DetermineSectorsPayload, SectorLoadingSpent } from './culling/types';
|
|
6
6
|
import { SectorCuller } from './culling/SectorCuller';
|
|
7
7
|
import { ModelStateHandler } from './ModelStateHandler';
|
|
8
|
-
import { Repository } from './Repository';
|
|
9
8
|
/**
|
|
10
9
|
* Loads sector based on a given camera pose, a set of models and budget.
|
|
11
10
|
* Uses {@link SectorCuller} to determine what to load, {@link Repository} to
|
|
@@ -17,12 +16,14 @@ import { Repository } from './Repository';
|
|
|
17
16
|
*/
|
|
18
17
|
export declare class SectorLoader {
|
|
19
18
|
private readonly _modelStateHandler;
|
|
20
|
-
private readonly
|
|
21
|
-
private readonly _sectorRepository;
|
|
19
|
+
private readonly _v8SectorCuller;
|
|
22
20
|
private readonly _progressCallback;
|
|
23
21
|
private readonly _collectStatisticsCallback;
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
private readonly _gltfSectorCuller;
|
|
23
|
+
private readonly _continuousModelStreaming;
|
|
24
|
+
constructor(sectorCuller: SectorCuller, modelStateHandler: ModelStateHandler, collectStatisticsCallback: (spent: SectorLoadingSpent) => void, progressCallback: (sectorsLoaded: number, sectorsScheduled: number, sectorsCulled: number) => void, continuousModelStreaming: boolean);
|
|
25
|
+
loadSectors(input: DetermineSectorsPayload): AsyncIterable<ConsumedSector>;
|
|
26
|
+
private getSectorCuller;
|
|
26
27
|
private filterSectors;
|
|
27
28
|
private startLoadingBatch;
|
|
28
29
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import { DetermineSectorCostDelegate, DetermineSectorsInput, SectorLoadingSpent } from './types';
|
|
5
|
+
import { SectorCuller } from './SectorCuller';
|
|
6
|
+
import { V9SectorMetadata, WantedSector } from '../../../../cad-parsers';
|
|
7
|
+
export declare type ByScreenSizeSectorCullerOptions = {
|
|
8
|
+
/**
|
|
9
|
+
* Optional callback for determining the cost of a sector. The default unit of the cost
|
|
10
|
+
* function is bytes downloaded.
|
|
11
|
+
*/
|
|
12
|
+
determineSectorCost?: DetermineSectorCostDelegate<V9SectorMetadata>;
|
|
13
|
+
};
|
|
14
|
+
export declare class ByScreenSizeSectorCuller implements SectorCuller {
|
|
15
|
+
private readonly _determineSectorCost;
|
|
16
|
+
constructor(options?: ByScreenSizeSectorCullerOptions);
|
|
17
|
+
determineSectors(input: DetermineSectorsInput): {
|
|
18
|
+
wantedSectors: WantedSector[];
|
|
19
|
+
spentBudget: SectorLoadingSpent;
|
|
20
|
+
};
|
|
21
|
+
filterSectorsToLoad(_input: DetermineSectorsInput, wantedSectorsBatch: WantedSector[]): Promise<WantedSector[]>;
|
|
22
|
+
dispose(): void;
|
|
23
|
+
}
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
|
-
import { WantedSector } from '../../../../cad-parsers';
|
|
6
5
|
import { OrderSectorsByVisibilityCoverage } from './OrderSectorsByVisibilityCoverage';
|
|
7
6
|
import { SectorCuller } from './SectorCuller';
|
|
8
7
|
import { DetermineSectorCostDelegate, DetermineSectorsInput, SectorLoadingSpent } from './types';
|
|
9
|
-
import {
|
|
8
|
+
import { WantedSector, V8SectorMetadata } from '../../../../cad-parsers';
|
|
10
9
|
/**
|
|
11
|
-
* Options for creating
|
|
10
|
+
* Options for creating {@link ByVisibilityGpuSectorCuller}.
|
|
12
11
|
*/
|
|
13
12
|
export declare type ByVisibilityGpuSectorCullerOptions = {
|
|
14
13
|
/**
|
|
@@ -19,7 +18,7 @@ export declare type ByVisibilityGpuSectorCullerOptions = {
|
|
|
19
18
|
* Optional callback for determining the cost of a sector. The default unit of the cost
|
|
20
19
|
* function is bytes downloaded.
|
|
21
20
|
*/
|
|
22
|
-
determineSectorCost?: DetermineSectorCostDelegate
|
|
21
|
+
determineSectorCost?: DetermineSectorCostDelegate<V8SectorMetadata>;
|
|
23
22
|
/**
|
|
24
23
|
* Use a custom coverage utility to determine how "visible" each sector is.
|
|
25
24
|
*/
|
|
@@ -50,4 +49,3 @@ export declare class ByVisibilityGpuSectorCuller implements SectorCuller {
|
|
|
50
49
|
private markSectorsAsDetailed;
|
|
51
50
|
private log;
|
|
52
51
|
}
|
|
53
|
-
export declare function createDefaultSectorCuller(renderer: THREE.WebGLRenderer, occludingGeometryProvider: OccludingGeometryProvider): SectorCuller;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
import { SectorMetadata, V9SectorMetadata } from '../../../../cad-parsers';
|
|
6
|
+
import { PrioritizedArea } from '../../../../cad-styling';
|
|
7
|
+
export declare class WeightFunctionsHelper {
|
|
8
|
+
private readonly _camera;
|
|
9
|
+
private _minSectorDistance;
|
|
10
|
+
private _maxSectorDistance;
|
|
11
|
+
private readonly _modifiedFrustums;
|
|
12
|
+
constructor(camera: THREE.PerspectiveCamera);
|
|
13
|
+
addCandidateSectors(sectors: SectorMetadata[], modelMatrix: THREE.Matrix4): void;
|
|
14
|
+
computeTransformedSectorBounds(sectorBounds: THREE.Box3, modelMatrix: THREE.Matrix4, out: THREE.Box3): void;
|
|
15
|
+
/**
|
|
16
|
+
* Computes a weight in range [0-1], where 1 means close to camera and 0 means far away.
|
|
17
|
+
*/
|
|
18
|
+
computeDistanceToCameraWeight(transformedSectorBounds: THREE.Box3): number;
|
|
19
|
+
/**
|
|
20
|
+
* Compute a weight in range [0-1] where 1 means the sector covers the entire screen
|
|
21
|
+
* and 0 means no coverage.
|
|
22
|
+
* @param transformedSectorBounds
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
computeScreenAreaWeight(transformedSectorBounds: THREE.Box3): number;
|
|
26
|
+
/**
|
|
27
|
+
* Compute a weight in range [0-1] based on at what "depths"
|
|
28
|
+
* in the frustum the sector is placed.
|
|
29
|
+
* @param transformedSectorBounds
|
|
30
|
+
*/
|
|
31
|
+
computeFrustumDepthWeight(transformedSectorBounds: THREE.Box3): number;
|
|
32
|
+
/**
|
|
33
|
+
* Computes a weight based on placement in sector tree (i.e. prioritize)
|
|
34
|
+
* sectors right below root sector.
|
|
35
|
+
* @param sector
|
|
36
|
+
*/
|
|
37
|
+
computeSectorTreePlacementWeight(sector: V9SectorMetadata): number;
|
|
38
|
+
/**
|
|
39
|
+
* Computes a weight based on how large the biggest node within the sector
|
|
40
|
+
* will be on screen (a number in range [0-1]).
|
|
41
|
+
*/
|
|
42
|
+
computeMaximumNodeScreenSizeWeight(transformedSectorBounds: THREE.Box3, maxNodeDiagonalLength: number): number;
|
|
43
|
+
/**
|
|
44
|
+
* Returns a weight that is the maximum of the extra priority in intersecting prioritized areas.
|
|
45
|
+
* @param transformedSectorBounds Bounds of sectors in "Reveal coordinates".
|
|
46
|
+
* @param prioritizedAreas Zero or more areas with associated priorities.
|
|
47
|
+
*/
|
|
48
|
+
computePrioritizedAreaWeight(transformedSectorBounds: THREE.Box3, prioritizedAreas: PrioritizedArea[]): number;
|
|
49
|
+
private distanceToCamera;
|
|
50
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
/**
|
|
6
|
+
* Computes area of the box after converting it to NDC space. The returned value will be a number
|
|
7
|
+
* in range [0, 1].
|
|
8
|
+
* @param camera
|
|
9
|
+
* @param box
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare function computeNdcAreaOfBox(camera: THREE.Camera, box: THREE.Box3): number;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import { SectorCost } from './types';
|
|
5
|
+
import { LevelOfDetail, SectorMetadata } from '../../../../cad-parsers';
|
|
6
|
+
export declare function computeV9SectorCost(sectorMetadata: SectorMetadata, lod: LevelOfDetail): SectorCost;
|
|
7
|
+
export declare function computeV8SectorCost(sectorMetadata: SectorMetadata, lod: LevelOfDetail): SectorCost;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
import { SectorCuller } from './SectorCuller';
|
|
6
|
+
import { OccludingGeometryProvider } from './OccludingGeometryProvider';
|
|
7
|
+
export declare function createV8SectorCuller(renderer: THREE.WebGLRenderer, occludingGeometryProvider: OccludingGeometryProvider): SectorCuller;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import { PrioritizedWantedSector, SectorCost, SectorLoadingSpent } from '../types';
|
|
5
|
+
import { CadModelMetadata } from '../../../../../cad-parsers';
|
|
6
|
+
export declare abstract class TakenSectorMapBase {
|
|
7
|
+
protected abstract get modelsMetadata(): CadModelMetadata[];
|
|
8
|
+
abstract get totalCost(): SectorCost;
|
|
9
|
+
abstract collectWantedSectors(): PrioritizedWantedSector[];
|
|
10
|
+
computeSpentBudget(): SectorLoadingSpent;
|
|
11
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PrioritizedWantedSector, DetermineSectorCostDelegate, SectorCost } from '../types';
|
|
2
|
+
import { CadModelBudget } from '../../../CadModelBudget';
|
|
3
|
+
import { TakenSectorMapBase } from './TakenSectorMapBase';
|
|
4
|
+
import { CadModelMetadata, V8SectorMetadata } from '../../../../../cad-parsers';
|
|
5
|
+
export declare class TakenV8SectorMap extends TakenSectorMapBase {
|
|
6
|
+
private readonly _takenSectorTrees;
|
|
7
|
+
private readonly determineSectorCost;
|
|
8
|
+
get totalCost(): SectorCost;
|
|
9
|
+
get modelsMetadata(): CadModelMetadata[];
|
|
10
|
+
constructor(determineSectorCost: DetermineSectorCostDelegate<V8SectorMetadata>);
|
|
11
|
+
initializeScene(modelMetadata: CadModelMetadata): void;
|
|
12
|
+
getWantedSectorCount(): number;
|
|
13
|
+
markSectorDetailed(model: CadModelMetadata, sectorId: number, priority: number): void;
|
|
14
|
+
isWithinBudget(budget: CadModelBudget): boolean;
|
|
15
|
+
collectWantedSectors(): PrioritizedWantedSector[];
|
|
16
|
+
clear(): void;
|
|
17
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { PrioritizedWantedSector, DetermineSectorCostDelegate, SectorCost } from '
|
|
6
|
-
export declare class
|
|
4
|
+
import { V8SectorMetadata } from '../../../../../cad-parsers';
|
|
5
|
+
import { PrioritizedWantedSector, DetermineSectorCostDelegate, SectorCost } from '../types';
|
|
6
|
+
export declare class TakenV8SectorTree {
|
|
7
7
|
get totalCost(): SectorCost;
|
|
8
8
|
private readonly sectors;
|
|
9
9
|
private readonly determineSectorCost;
|
|
10
|
-
private _totalCost;
|
|
11
|
-
constructor(sectorRoot:
|
|
12
|
-
|
|
10
|
+
private readonly _totalCost;
|
|
11
|
+
constructor(sectorRoot: V8SectorMetadata, determineSectorCost: DetermineSectorCostDelegate<V8SectorMetadata>);
|
|
12
|
+
getWantedSectorCount(): number;
|
|
13
13
|
toWantedSectors(modelIdentifier: string, modelBaseUrl: string, geometryClipBox: THREE.Box3 | null): PrioritizedWantedSector[];
|
|
14
14
|
markSectorDetailed(sectorId: number, priority: number): void;
|
|
15
15
|
/**
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import { DetermineSectorCostDelegate, PrioritizedWantedSector, SectorCost } from '../types';
|
|
5
|
+
import { CadModelBudget } from '../../../CadModelBudget';
|
|
6
|
+
import { TakenSectorMapBase } from './TakenSectorMapBase';
|
|
7
|
+
import { CadModelMetadata, V9SectorMetadata } from '../../../../../cad-parsers';
|
|
8
|
+
export declare class TakenV9SectorMap extends TakenSectorMapBase {
|
|
9
|
+
private readonly determineSectorCost;
|
|
10
|
+
private readonly _totalCost;
|
|
11
|
+
private readonly _models;
|
|
12
|
+
get totalCost(): SectorCost;
|
|
13
|
+
get modelsMetadata(): CadModelMetadata[];
|
|
14
|
+
constructor(determineSectorCost: DetermineSectorCostDelegate<V9SectorMetadata>);
|
|
15
|
+
initializeScene(modelMetadata: CadModelMetadata): void;
|
|
16
|
+
markSectorDetailed(model: CadModelMetadata, sectorId: number, priority: number): void;
|
|
17
|
+
isWithinBudget(budget: CadModelBudget): boolean;
|
|
18
|
+
collectWantedSectors(): PrioritizedWantedSector[];
|
|
19
|
+
clear(): void;
|
|
20
|
+
}
|
|
@@ -2,17 +2,29 @@
|
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
|
-
import {
|
|
5
|
+
import { PrioritizedArea } from '../../../../cad-styling';
|
|
6
|
+
import { CadModelMetadata, LevelOfDetail, WantedSector } from '../../../../cad-parsers';
|
|
6
7
|
import { CadLoadingHints } from '../../CadLoadingHints';
|
|
7
|
-
import {
|
|
8
|
+
import { CadModelBudget } from '../../CadModelBudget';
|
|
9
|
+
import { CadNode } from '../../../../rendering';
|
|
8
10
|
export interface DetermineSectorsInput {
|
|
9
11
|
camera: THREE.PerspectiveCamera;
|
|
10
12
|
clippingPlanes: THREE.Plane[];
|
|
11
13
|
cadModelsMetadata: CadModelMetadata[];
|
|
12
14
|
loadingHints: CadLoadingHints;
|
|
13
15
|
cameraInMotion: boolean;
|
|
14
|
-
budget:
|
|
16
|
+
budget: CadModelBudget;
|
|
17
|
+
prioritizedAreas: PrioritizedArea[];
|
|
15
18
|
}
|
|
19
|
+
export declare type DetermineSectorsPayload = {
|
|
20
|
+
camera: THREE.PerspectiveCamera;
|
|
21
|
+
clippingPlanes: THREE.Plane[];
|
|
22
|
+
models: CadNode[];
|
|
23
|
+
loadingHints: CadLoadingHints;
|
|
24
|
+
cameraInMotion: boolean;
|
|
25
|
+
budget: CadModelBudget;
|
|
26
|
+
prioritizedAreas: PrioritizedArea[];
|
|
27
|
+
};
|
|
16
28
|
/**
|
|
17
29
|
* Statistics for how much data is required to load set of sectors.
|
|
18
30
|
*/
|
|
@@ -68,4 +80,4 @@ export declare type PrioritizedWantedSector = WantedSector & {
|
|
|
68
80
|
/**
|
|
69
81
|
* Delegates that computes 'cost' of loading/visualizing a given sector.
|
|
70
82
|
*/
|
|
71
|
-
export declare type DetermineSectorCostDelegate = (sector:
|
|
83
|
+
export declare type DetermineSectorCostDelegate<TSectorMetadata> = (sector: TSectorMetadata, levelOfDetail: LevelOfDetail) => SectorCost;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
4
|
import { LevelOfDetail } from '../../../cad-parsers';
|
|
5
|
-
import {
|
|
6
|
-
export declare function loadingEnabled({
|
|
5
|
+
import { DetermineSectorsPayload } from './culling/types';
|
|
6
|
+
export declare function loadingEnabled({ models, loadingHints }: DetermineSectorsPayload): boolean;
|
|
7
7
|
export interface ModelState {
|
|
8
8
|
[id: number]: LevelOfDetail;
|
|
9
9
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
export declare
|
|
4
|
+
import { Observable, OperatorFunction } from 'rxjs';
|
|
5
|
+
export declare function emissionLastMillis(millis: number): OperatorFunction<unknown, boolean>;
|
|
6
|
+
export declare function delayedSwitch(millis: number): Observable<boolean>;
|
|
@@ -1,29 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
-
import * as THREE from 'three';
|
|
5
|
-
/**
|
|
6
|
-
* Colors from the Cognite theme.
|
|
7
|
-
*/
|
|
8
|
-
export declare class CogniteColors {
|
|
9
|
-
static readonly Black: THREE.Color;
|
|
10
|
-
static readonly White: THREE.Color;
|
|
11
|
-
static readonly Cyan: THREE.Color;
|
|
12
|
-
static readonly Blue: THREE.Color;
|
|
13
|
-
static readonly Purple: THREE.Color;
|
|
14
|
-
static readonly Pink: THREE.Color;
|
|
15
|
-
static readonly Orange: THREE.Color;
|
|
16
|
-
static readonly Yellow: THREE.Color;
|
|
17
|
-
static readonly VeryLightGray: THREE.Color;
|
|
18
|
-
static readonly LightGray: THREE.Color;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Some additional colors to supplement {@link CogniteColors}.
|
|
22
|
-
*/
|
|
23
|
-
export declare class RevealColors {
|
|
24
|
-
static readonly Red: THREE.Color;
|
|
25
|
-
static readonly Green: THREE.Color;
|
|
26
|
-
}
|
|
27
4
|
/**
|
|
28
5
|
* State holding information about data being loaded.
|
|
29
6
|
*/
|
|
@@ -8,13 +8,14 @@ export { CadModelMetadata } from './src/metadata/CadModelMetadata';
|
|
|
8
8
|
export { SectorSceneImpl } from './src/utilities/SectorScene';
|
|
9
9
|
export { SectorSceneFactory } from './src/utilities/SectorSceneFactory';
|
|
10
10
|
export { SectorScene } from './src/utilities/types';
|
|
11
|
-
export {
|
|
11
|
+
export { SectorMetadata, V8SectorMetadata, V9SectorMetadata } from './src/metadata/types';
|
|
12
|
+
export { SectorNode } from './src/sector/SectorNode';
|
|
13
|
+
export { RootSectorNode } from './src/sector/RootSectorNode';
|
|
12
14
|
export { CadSectorParser } from './src/cad/CadSectorParser';
|
|
13
|
-
export { RenderMode } from './src/cad/RenderMode';
|
|
14
15
|
export { LevelOfDetail } from './src/cad/LevelOfDetail';
|
|
16
|
+
export { filterPrimitivesOutsideClipBoxByBaseBoundsAndInstanceMatrix, filterPrimitivesOutsideClipBoxByCenterAndRadius, filterPrimitivesOutsideClipBoxByEllipse, filterPrimitivesOutsideClipBoxByVertices } from './src/cad/filterPrimitivesV8';
|
|
17
|
+
export { filterInstanceMesh } from './src/cad/filterInstanceMesh';
|
|
18
|
+
export { boxGeometry, quadGeometry, coneGeometry, trapeziumGeometry, nutGeometry, torusLodGeometries, boxGeometryBoundingBox, quadGeometryBoundingBox, nutGeometryBoundingBox } from './src/cad/primitiveGeometries';
|
|
15
19
|
export { SectorGeometry, InstancedMeshFile, InstancedMesh, TriangleMesh, WantedSector, ConsumedSector } from './src/cad/types';
|
|
16
|
-
export { createMaterials, Materials } from './src/cad/materials';
|
|
17
|
-
export { createPrimitives } from './src/cad/primitives';
|
|
18
|
-
export { filterPrimitivesOutsideClipBoxByBaseBoundsAndInstanceMatrix } from './src/cad/filterPrimitives';
|
|
19
20
|
export { WellKnownDistanceToMeterConversionFactors } from './src/utilities/types';
|
|
20
|
-
export {
|
|
21
|
+
export { createTriangleMeshes } from './src/cad/triangleMeshes';
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
|
-
import { InstancedMesh } from '
|
|
5
|
+
import { InstancedMesh } from './types';
|
|
6
6
|
export declare function filterInstanceMesh(vertices: Float32Array, indices: Uint32Array, instanceMesh: InstancedMesh, geometryClipBox: THREE.Box3 | null): InstancedMesh;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import * as THREE from 'three';
|
|
5
|
+
export declare function filterPrimitivesOutsideClipBox(attributesByteValues: Uint8Array, elementSize: number, clipBox: THREE.Box3, getBoundsOfElementsCallback: (index: number, elementSize: number, attributeFloatValues: Float32Array, outBox: THREE.Box3) => void): Uint8Array;
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright 2021 Cognite AS
|
|
3
|
+
*/
|
|
4
|
+
import { RevealGeometryCollectionType } from '../../../sector-parser';
|
|
5
|
+
import * as THREE from 'three';
|
|
6
|
+
export declare function filterGeometryOutsideClipBox(geometryBuffer: THREE.BufferGeometry, type: RevealGeometryCollectionType, clipBox?: THREE.Box3): THREE.BufferGeometry | undefined;
|
|
@@ -23,7 +23,7 @@ export declare const coneGeometry: {
|
|
|
23
23
|
export declare const torusLodGeometries: {
|
|
24
24
|
index: THREE.Uint16BufferAttribute;
|
|
25
25
|
position: THREE.Float32BufferAttribute;
|
|
26
|
-
}[]
|
|
26
|
+
}[];
|
|
27
27
|
export declare const nutGeometry: {
|
|
28
28
|
index: THREE.BufferAttribute | null;
|
|
29
29
|
position: THREE.BufferAttribute | THREE.InterleavedBufferAttribute;
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
4
|
import * as THREE from 'three';
|
|
5
|
-
import { TriangleMesh } from '
|
|
5
|
+
import { TriangleMesh } from '../../../cad-parsers';
|
|
6
6
|
export declare function createTriangleMeshes(triangleMeshes: TriangleMesh[], bounds: THREE.Box3, material: THREE.ShaderMaterial, geometryClipBox: THREE.Box3 | null): THREE.Mesh[];
|
|
@@ -6,6 +6,7 @@ import { AutoDisposeGroup } from '../../../utilities';
|
|
|
6
6
|
import { ParsedPrimitives, ParseSectorResult, ParseCtmResult, SectorQuads } from '@cognite/reveal-parser-worker';
|
|
7
7
|
import { SectorMetadata } from '../metadata/types';
|
|
8
8
|
import { LevelOfDetail } from './LevelOfDetail';
|
|
9
|
+
import { ParsedGeometry } from '../../../sector-parser';
|
|
9
10
|
export declare type TriangleMesh = {
|
|
10
11
|
readonly fileId: number;
|
|
11
12
|
readonly indices: Uint32Array;
|
|
@@ -28,8 +29,6 @@ export declare type InstancedMesh = {
|
|
|
28
29
|
readonly treeIndices: Float32Array;
|
|
29
30
|
};
|
|
30
31
|
export interface SectorGeometry {
|
|
31
|
-
readonly nodeIdToTreeIndexMap: Map<number, number>;
|
|
32
|
-
readonly treeIndexToNodeIdMap: Map<number, number>;
|
|
33
32
|
readonly primitives: ParsedPrimitives;
|
|
34
33
|
readonly instanceMeshes: InstancedMeshFile[];
|
|
35
34
|
readonly triangleMeshes: TriangleMesh[];
|
|
@@ -40,6 +39,7 @@ export interface ConsumedSector {
|
|
|
40
39
|
levelOfDetail: LevelOfDetail;
|
|
41
40
|
group: AutoDisposeGroup | undefined;
|
|
42
41
|
instancedMeshes: InstancedMeshFile[] | undefined;
|
|
42
|
+
geometryBatchingQueue?: ParsedGeometry[];
|
|
43
43
|
}
|
|
44
44
|
export interface ParsedSector {
|
|
45
45
|
modelIdentifier: string;
|
|
@@ -4,11 +4,21 @@
|
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { SectorScene } from '../utilities/types';
|
|
6
6
|
import { CameraConfiguration } from '../../../utilities';
|
|
7
|
+
import { File3dFormat } from '../../../modeldata-api';
|
|
7
8
|
export interface CadModelMetadata {
|
|
8
9
|
/**
|
|
9
10
|
* A unique identifier of the model.
|
|
10
11
|
*/
|
|
11
12
|
readonly modelIdentifier: string;
|
|
13
|
+
/**
|
|
14
|
+
* File format of the 3D model (i3d/f3d, gltf, etc.)
|
|
15
|
+
*/
|
|
16
|
+
readonly format: File3dFormat;
|
|
17
|
+
/**
|
|
18
|
+
* Revision of the {@link format} (e.g. 8 for "legacy models" or
|
|
19
|
+
* 9 for GLTF).
|
|
20
|
+
*/
|
|
21
|
+
readonly formatVersion: number;
|
|
12
22
|
/**
|
|
13
23
|
* Base URL of the model.
|
|
14
24
|
*/
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
-
import { CadMetadataParser } from './CadMetadataParser';
|
|
5
4
|
import { CadModelMetadata } from './CadModelMetadata';
|
|
6
5
|
import { MetadataRepository } from './MetadataRepository';
|
|
7
|
-
import {
|
|
8
|
-
export declare class CadModelMetadataRepository
|
|
6
|
+
import { ModelDataProvider, ModelMetadataProvider, ModelIdentifier } from '../../../modeldata-api';
|
|
7
|
+
export declare class CadModelMetadataRepository implements MetadataRepository<Promise<CadModelMetadata>> {
|
|
9
8
|
private readonly _modelMetadataProvider;
|
|
10
|
-
private readonly
|
|
9
|
+
private readonly _modelDataProvider;
|
|
11
10
|
private readonly _cadSceneParser;
|
|
12
11
|
private readonly _blobFileName;
|
|
13
12
|
private _currentModelIdentifier;
|
|
14
|
-
constructor(modelMetadataProvider: ModelMetadataProvider
|
|
15
|
-
loadData(
|
|
13
|
+
constructor(modelMetadataProvider: ModelMetadataProvider, modelDataProvider: ModelDataProvider, blobFileName?: string);
|
|
14
|
+
loadData(modelIdentifier: ModelIdentifier): Promise<CadModelMetadata>;
|
|
15
|
+
private getSupportedOutput;
|
|
16
16
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Copyright 2021 Cognite AS
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import { ModelIdentifier } from '../../../modeldata-api';
|
|
5
|
+
export interface MetadataRepository<Output> {
|
|
6
|
+
loadData(modelIdentifier: ModelIdentifier): Output;
|
|
6
7
|
}
|