@cognite/reveal 2.1.2 → 2.3.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.
Files changed (120) hide show
  1. package/core/cad.d.ts +1 -2
  2. package/core/src/datamodels/cad/CadManager.d.ts +8 -6
  3. package/core/src/datamodels/cad/CadModelFactory.d.ts +1 -1
  4. package/core/src/datamodels/cad/createCadManager.d.ts +4 -5
  5. package/core/src/datamodels/cad/picking.d.ts +1 -1
  6. package/core/src/datamodels/cad/rendering/RenderAlreadyLoadedGeometryProvider.d.ts +2 -1
  7. package/core/src/datamodels/cad/styling/AssetNodeCollection.d.ts +0 -1
  8. package/core/src/datamodels/cad/styling/InvertedNodeCollection.d.ts +1 -1
  9. package/core/src/datamodels/cad/styling/PropertyFilterNodeCollection.d.ts +2 -9
  10. package/core/src/datamodels/cad/styling/SinglePropertyFilterNodeCollection.d.ts +2 -12
  11. package/core/src/datamodels/pointcloud/PointCloudManager.d.ts +5 -4
  12. package/core/src/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +5 -5
  13. package/core/src/datamodels/pointcloud/createPointCloudManager.d.ts +2 -4
  14. package/core/src/datamodels/pointcloud/index.d.ts +5 -0
  15. package/core/src/index.d.ts +1 -1
  16. package/core/src/internals.d.ts +15 -0
  17. package/core/src/public/RevealManager.d.ts +9 -6
  18. package/core/src/public/createRevealManager.d.ts +2 -3
  19. package/core/src/public/migration/Cognite3DModel.d.ts +16 -0
  20. package/core/src/public/migration/Cognite3DViewer.d.ts +32 -11
  21. package/core/src/public/migration/types.d.ts +50 -0
  22. package/core/src/public/types.d.ts +2 -1
  23. package/core/src/{public/migration → storage}/RevealManagerHelper.d.ts +7 -7
  24. package/core/src/utilities/Spinner.d.ts +4 -5
  25. package/core/src/utilities/ViewStateHelper.d.ts +12 -8
  26. package/core/src/utilities/worldToViewport.d.ts +1 -2
  27. package/extensions/datasource.d.ts +9 -0
  28. package/extensions/datasource.js +33 -0
  29. package/extensions/datasource.map +1 -0
  30. package/index.d.ts +1 -0
  31. package/index.js +154 -133
  32. package/index.map +1 -1
  33. package/package.json +4 -4
  34. package/packages/cad-geometry-loaders/index.d.ts +0 -6
  35. package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +1 -1
  36. package/packages/cad-geometry-loaders/src/sector/CachedRepository.d.ts +1 -1
  37. package/packages/cad-geometry-loaders/src/sector/SimpleAndDetailedToSector3D.d.ts +1 -1
  38. package/packages/cad-geometry-loaders/src/sector/culling/TakenSectorTree.d.ts +1 -1
  39. package/packages/cad-geometry-loaders/src/sector/sectorUtilities.d.ts +4 -3
  40. package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +3 -2
  41. package/packages/cad-geometry-loaders/src/utilities/types.d.ts +0 -23
  42. package/packages/cad-parsers/index.d.ts +6 -5
  43. package/packages/{cad-geometry-loaders/src/material-manager/rendering → cad-parsers/src/cad}/filterInstanceMesh.d.ts +1 -1
  44. package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +1 -1
  45. package/packages/{cad-geometry-loaders/src/material-manager/rendering → cad-parsers/src/cad}/triangleMeshes.d.ts +1 -1
  46. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +5 -5
  47. package/packages/cad-parsers/src/metadata/MetadataRepository.d.ts +3 -2
  48. package/packages/{cad-geometry-loaders → cad-parsers}/src/sector/RootSectorNode.d.ts +1 -1
  49. package/packages/{cad-geometry-loaders → cad-parsers}/src/sector/SectorNode.d.ts +1 -1
  50. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +2 -5
  51. package/packages/cad-parsers/src/{cad → utilities}/computeBoundingBoxFromAttributes.d.ts +0 -0
  52. package/packages/{cad-geometry-loaders → cad-parsers}/src/utilities/float32BufferToMatrix.d.ts +0 -0
  53. package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +1 -1
  54. package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +4 -0
  55. package/packages/camera-manager/index.d.ts +3 -1
  56. package/packages/camera-manager/src/CameraManager.d.ts +85 -0
  57. package/packages/camera-manager/src/ComboControls.d.ts +61 -42
  58. package/packages/camera-manager/src/Keyboard.d.ts +10 -7
  59. package/packages/camera-manager/src/types.d.ts +64 -0
  60. package/packages/data-source/index.d.ts +6 -0
  61. package/packages/data-source/src/CdfDataSource.d.ts +19 -0
  62. package/packages/data-source/src/DataSource.d.ts +26 -0
  63. package/packages/data-source/src/LocalDataSource.d.ts +15 -0
  64. package/packages/metrics/index.d.ts +5 -0
  65. package/packages/metrics/src/MetricsLogger.d.ts +21 -0
  66. package/packages/metrics/src/types.d.ts +7 -0
  67. package/packages/modeldata-api/index.d.ts +8 -3
  68. package/packages/modeldata-api/src/{CdfModelDataClient.d.ts → CdfModelDataProvider.d.ts} +6 -6
  69. package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +17 -0
  70. package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +10 -27
  71. package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +15 -0
  72. package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +10 -0
  73. package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -0
  74. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +9 -14
  75. package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -0
  76. package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +17 -0
  77. package/packages/modeldata-api/src/types.d.ts +12 -26
  78. package/packages/nodes-api/index.d.ts +0 -1
  79. package/packages/nodes-api/src/NodesApiClient.d.ts +12 -3
  80. package/packages/nodes-api/src/NodesCdfClient.d.ts +8 -3
  81. package/packages/nodes-api/src/NodesLocalClient.d.ts +9 -4
  82. package/packages/nodes-api/src/types.d.ts +0 -4
  83. package/packages/rendering/index.d.ts +17 -0
  84. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/CadMaterialManager.d.ts +5 -5
  85. package/packages/{cad-geometry-loaders → rendering}/src/InstancedMeshManager.d.ts +1 -1
  86. package/packages/{cad-geometry-loaders → rendering}/src/cameraconfig.d.ts +0 -0
  87. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/EffectRenderManager.d.ts +28 -12
  88. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/rendering}/NodeAppearanceTextureBuilder.d.ts +8 -7
  89. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/RenderMode.d.ts +0 -0
  90. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/createSimpleGeometryMesh.d.ts +1 -1
  91. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/matCapTextureData.d.ts +0 -0
  92. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/materials.d.ts +0 -0
  93. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/primitives.d.ts +3 -3
  94. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/shaders.d.ts +1 -1
  95. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/types.d.ts +1 -1
  96. package/packages/{cad-geometry-loaders/src → rendering/src/sector}/CadNode.d.ts +7 -7
  97. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/NodeTransformProvider.d.ts +1 -1
  98. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/NodeTransformTextureBuilder.d.ts +1 -1
  99. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/TransformOverrideBuffer.d.ts +3 -3
  100. package/packages/rendering/src/utilities/types.d.ts +26 -0
  101. package/packages/tools/index.d.ts +4 -1
  102. package/packages/tools/src/AxisView/AxisViewTool.d.ts +2 -2
  103. package/packages/tools/src/Geomap/Geomap.d.ts +5 -2
  104. package/packages/tools/src/Geomap/GeomapTool.d.ts +5 -2
  105. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -0
  106. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +159 -0
  107. package/packages/tools/src/Timeline/Keyframe.d.ts +38 -0
  108. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -0
  109. package/packages/tools/src/Timeline/types.d.ts +13 -0
  110. package/packages/utilities/index.d.ts +2 -2
  111. package/packages/utilities/src/NumericRange.d.ts +2 -1
  112. package/packages/utilities/src/RandomColors.d.ts +34 -0
  113. package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +2 -2
  114. package/packages/utilities/src/events/InputHandler.d.ts +34 -0
  115. package/packages/utilities/src/events/index.d.ts +1 -0
  116. package/tools.js +73 -122
  117. package/tools.map +1 -1
  118. package/packages/modeldata-api/src/LocalModelDataClient.d.ts +0 -10
  119. package/packages/tools/src/HtmlOverlayTool.d.ts +0 -88
  120. package/packages/utilities/src/metrics.d.ts +0 -15
package/core/cad.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  /*!
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
- export { LevelOfDetail } from '../packages/cad-parsers';
5
- export { SectorNode } from '../packages/cad-geometry-loaders';
4
+ export { LevelOfDetail, SectorNode } from '../packages/cad-parsers';
@@ -2,13 +2,15 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { CadModelMetadataRepository, RenderMode } from '../../../../packages/cad-parsers';
6
- import { CadNode, CadModelUpdateHandler, CadMaterialManager, CadModelSectorBudget, LoadingState } from '../../../../packages/cad-geometry-loaders';
5
+ import { Observable } from 'rxjs';
7
6
  import { CadModelFactory } from './CadModelFactory';
8
7
  import { CadModelSectorLoadStatistics } from './CadModelSectorLoadStatistics';
9
- import { Observable } from 'rxjs';
10
8
  import { GeometryFilter } from '../..';
11
- export declare class CadManager<TModelIdentifier> {
9
+ import { CadModelMetadataRepository } from '../../../../packages/cad-parsers';
10
+ import { CadModelUpdateHandler, CadModelSectorBudget, LoadingState } from '../../../../packages/cad-geometry-loaders';
11
+ import { CadNode, CadMaterialManager, RenderMode } from '../../../../packages/rendering';
12
+ import { ModelIdentifier } from '../../../../packages/modeldata-api';
13
+ export declare class CadManager {
12
14
  private readonly _materialManager;
13
15
  private readonly _cadModelMetadataRepository;
14
16
  private readonly _cadModelFactory;
@@ -25,7 +27,7 @@ export declare class CadManager<TModelIdentifier> {
25
27
  * Returns statistics about how data loaded (or data about to be loaded).
26
28
  */
27
29
  get loadedStatistics(): CadModelSectorLoadStatistics;
28
- constructor(materialManger: CadMaterialManager, cadModelMetadataRepository: CadModelMetadataRepository<TModelIdentifier>, cadModelFactory: CadModelFactory, cadModelUpdateHandler: CadModelUpdateHandler);
30
+ constructor(materialManger: CadMaterialManager, cadModelMetadataRepository: CadModelMetadataRepository, cadModelFactory: CadModelFactory, cadModelUpdateHandler: CadModelUpdateHandler);
29
31
  dispose(): void;
30
32
  requestRedraw(): void;
31
33
  resetRedraw(): void;
@@ -35,7 +37,7 @@ export declare class CadManager<TModelIdentifier> {
35
37
  set clippingPlanes(clippingPlanes: THREE.Plane[]);
36
38
  get renderMode(): RenderMode;
37
39
  set renderMode(renderMode: RenderMode);
38
- addModel(modelIdentifier: TModelIdentifier, geometryFilter?: GeometryFilter): Promise<CadNode>;
40
+ addModel(modelIdentifier: ModelIdentifier, geometryFilter?: GeometryFilter): Promise<CadNode>;
39
41
  removeModel(model: CadNode): void;
40
42
  getLoadingStateObserver(): Observable<LoadingState>;
41
43
  private markNeedsRedraw;
@@ -1,4 +1,4 @@
1
- import { CadMaterialManager, CadNode } from '../../../../packages/cad-geometry-loaders';
1
+ import { CadMaterialManager, CadNode } from '../../../../packages/rendering';
2
2
  import { CadModelMetadata } from '../../../../packages/cad-parsers';
3
3
  export declare class CadModelFactory {
4
4
  private readonly _materialManager;
@@ -2,9 +2,8 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import { CadManager } from './CadManager';
5
- import { CadMaterialManager, OccludingGeometryProvider } from '../../../../packages/cad-geometry-loaders';
5
+ import { OccludingGeometryProvider } from '../../../../packages/cad-geometry-loaders';
6
+ import { CadMaterialManager } from '../../../../packages/rendering';
6
7
  import { RevealOptions } from '../../public/types';
7
- import { LocalModelDataClient, LocalModelMetadataProvider, CdfModelDataClient, CdfModelMetadataProvider, LocalModelIdentifier, CdfModelIdentifier, ModelDataClient, ModelMetadataProvider } from '../../../../packages/modeldata-api';
8
- export declare function createLocalCadManager(modelMetadataProvider: LocalModelMetadataProvider, modelDataClient: LocalModelDataClient, renderer: THREE.WebGLRenderer, materialManager: CadMaterialManager, alreadyLoadedGeometryProvider: OccludingGeometryProvider, options?: RevealOptions): CadManager<LocalModelIdentifier>;
9
- export declare function createCdfCadManager(modelMetadataProvider: CdfModelMetadataProvider, modelDataClient: CdfModelDataClient, renderer: THREE.WebGLRenderer, materialManager: CadMaterialManager, alreadyLoadedGeometryProvider: OccludingGeometryProvider, options?: RevealOptions): CadManager<CdfModelIdentifier>;
10
- export declare function createCadManager<T>(modelMetadataProvider: ModelMetadataProvider<T>, modelDataClient: ModelDataClient, renderer: THREE.WebGLRenderer, materialManager: CadMaterialManager, occludingGeometryProvider: OccludingGeometryProvider, options: RevealOptions): CadManager<T>;
8
+ import { ModelDataProvider, ModelMetadataProvider } from '../../../../packages/modeldata-api';
9
+ export declare function createCadManager(modelMetadataProvider: ModelMetadataProvider, modelDataProvider: ModelDataProvider, renderer: THREE.WebGLRenderer, materialManager: CadMaterialManager, occludingGeometryProvider: OccludingGeometryProvider, options: RevealOptions): CadManager;
@@ -2,7 +2,7 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { CadNode } from '../../../../packages/cad-geometry-loaders';
5
+ import { CadNode } from '../../../../packages/rendering';
6
6
  import { IntersectInput } from '../base/types';
7
7
  export interface PickingInput {
8
8
  normalizedCoords: {
@@ -1,7 +1,8 @@
1
1
  /*!
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
- import { OccludingGeometryProvider, EffectRenderManager } from '../../../../../packages/cad-geometry-loaders';
4
+ import { OccludingGeometryProvider } from '../../../../../packages/cad-geometry-loaders';
5
+ import { EffectRenderManager } from '../../../../../packages/rendering';
5
6
  export declare class RenderAlreadyLoadedGeometryProvider implements OccludingGeometryProvider {
6
7
  private readonly _renderManager;
7
8
  constructor(renderManager: EffectRenderManager);
@@ -32,7 +32,6 @@ export declare class AssetNodeCollection extends NodeCollectionBase {
32
32
  assetId?: number;
33
33
  boundingBox?: THREE.Box3;
34
34
  }): Promise<void>;
35
- getFilter(): any;
36
35
  clear(): void;
37
36
  getIndexSet(): IndexSet;
38
37
  serialize(): SerializedNodeCollection;
@@ -20,5 +20,5 @@ export declare class InvertedNodeCollection extends NodeCollectionBase {
20
20
  * Not supported.
21
21
  * @throws Always throws an error.
22
22
  */
23
- clear(): void;
23
+ clear(): never;
24
24
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { CogniteClient } from '@cognite/sdk';
5
5
  import { Cognite3DModel } from '../../../public/migration/Cognite3DModel';
6
- import { NodeCollectionBase } from '../../../../../packages/cad-styling';
6
+ import { NodeCollectionBase, SerializedNodeCollection } from '../../../../../packages/cad-styling';
7
7
  import { IndexSet } from '../../../../../packages/utilities';
8
8
  /**
9
9
  * Options for {@link PropertyFilterNodeCollection}.
@@ -45,17 +45,10 @@ export declare class PropertyFilterNodeCollection extends NodeCollectionBase {
45
45
  [key: string]: string;
46
46
  };
47
47
  }): Promise<void>;
48
- getFilter(): {};
49
48
  /**
50
49
  * Clears the node collection and interrupts any ongoing operations.
51
50
  */
52
51
  clear(): void;
53
52
  getIndexSet(): IndexSet;
54
- serialize(): {
55
- token: string;
56
- state: {};
57
- options: {
58
- requestPartitions: number;
59
- };
60
- };
53
+ serialize(): SerializedNodeCollection;
61
54
  }
@@ -4,7 +4,7 @@
4
4
  import { Cognite3DModel } from '../../../public/migration/Cognite3DModel';
5
5
  import { PropertyFilterNodeCollectionOptions } from './PropertyFilterNodeCollection';
6
6
  import { IndexSet } from '../../../../../packages/utilities';
7
- import { NodeCollectionBase } from '../../../../../packages/cad-styling';
7
+ import { NodeCollectionBase, SerializedNodeCollection } from '../../../../../packages/cad-styling';
8
8
  import { CogniteClient } from '@cognite/sdk';
9
9
  /**
10
10
  * Node collection that filters nodes based on a node property from a list of values, similarly to how
@@ -46,15 +46,5 @@ export declare class SinglePropertyFilterNodeCollection extends NodeCollectionBa
46
46
  clear(): void;
47
47
  getIndexSet(): IndexSet;
48
48
  private buildUrl;
49
- serialize(): {
50
- token: string;
51
- state: {
52
- propertyCategory: string;
53
- propertyKey: string;
54
- propertyValues: string[];
55
- };
56
- options: {
57
- requestPartitions: number;
58
- };
59
- };
49
+ serialize(): SerializedNodeCollection;
60
50
  }
@@ -4,14 +4,15 @@
4
4
  import * as THREE from 'three';
5
5
  import { LoadingState } from '../../../../packages/cad-geometry-loaders';
6
6
  import { PointCloudFactory } from './PointCloudFactory';
7
+ import { PointCloudNode } from './PointCloudNode';
7
8
  import { PointCloudMetadataRepository } from './PointCloudMetadataRepository';
8
9
  import { Observable } from 'rxjs';
9
- import { PointCloudNode } from './PointCloudNode';
10
- export declare class PointCloudManager<TModelIdentifier> {
10
+ import { ModelIdentifier } from '../../../../packages/modeldata-api';
11
+ export declare class PointCloudManager {
11
12
  private readonly _pointCloudMetadataRepository;
12
13
  private readonly _pointCloudFactory;
13
14
  private readonly _pointCloudGroupWrapper;
14
- constructor(metadataRepository: PointCloudMetadataRepository<TModelIdentifier>, modelFactory: PointCloudFactory);
15
+ constructor(metadataRepository: PointCloudMetadataRepository, modelFactory: PointCloudFactory);
15
16
  requestRedraw(): void;
16
17
  resetRedraw(): void;
17
18
  get pointBudget(): number;
@@ -20,6 +21,6 @@ export declare class PointCloudManager<TModelIdentifier> {
20
21
  set clippingPlanes(planes: THREE.Plane[]);
21
22
  getLoadingStateObserver(): Observable<LoadingState>;
22
23
  updateCamera(_camera: THREE.PerspectiveCamera): void;
23
- addModel(modelIdentifier: TModelIdentifier): Promise<PointCloudNode>;
24
+ addModel(modelIdentifier: ModelIdentifier): Promise<PointCloudNode>;
24
25
  removeModel(node: PointCloudNode): void;
25
26
  }
@@ -3,11 +3,11 @@
3
3
  */
4
4
  import { PointCloudMetadata } from './PointCloudMetadata';
5
5
  import { MetadataRepository } from '../base';
6
- import { ModelDataClient, ModelMetadataProvider } from '../../../../packages/modeldata-api';
7
- export declare class PointCloudMetadataRepository<TModelIdentifier> implements MetadataRepository<TModelIdentifier, Promise<PointCloudMetadata>> {
6
+ import { ModelDataProvider, ModelMetadataProvider, ModelIdentifier } from '../../../../packages/modeldata-api';
7
+ export declare class PointCloudMetadataRepository implements MetadataRepository<Promise<PointCloudMetadata>> {
8
8
  private readonly _modelMetadataProvider;
9
- private readonly _modelDataClient;
9
+ private readonly _modelDataProvider;
10
10
  private readonly _blobFileName;
11
- constructor(modelMetadataProvider: ModelMetadataProvider<TModelIdentifier>, modelDataClient: ModelDataClient, blobFileName?: string);
12
- loadData(modelIdentifier: TModelIdentifier): Promise<PointCloudMetadata>;
11
+ constructor(modelMetadataProvider: ModelMetadataProvider, modelDataProvider: ModelDataProvider, blobFileName?: string);
12
+ loadData(modelIdentifier: ModelIdentifier): Promise<PointCloudMetadata>;
13
13
  }
@@ -2,7 +2,5 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import { PointCloudManager } from './PointCloudManager';
5
- import { CdfModelDataClient, LocalModelDataClient, CdfModelIdentifier, LocalModelIdentifier, ModelDataClient, LocalModelMetadataProvider, ModelMetadataProvider, CdfModelMetadataProvider } from '../../../../packages/modeldata-api';
6
- export declare function createLocalPointCloudManager(modelMetadataProvider: LocalModelMetadataProvider, modelDataClient: LocalModelDataClient): PointCloudManager<LocalModelIdentifier>;
7
- export declare function createCdfPointCloudManager(modelMetadataProvider: CdfModelMetadataProvider, modelDataClient: CdfModelDataClient): PointCloudManager<CdfModelIdentifier>;
8
- export declare function createPointCloudManager<T>(modelMetadataProvider: ModelMetadataProvider<T>, modelDataClient: ModelDataClient): PointCloudManager<T>;
5
+ import { ModelDataProvider, ModelMetadataProvider } from '../../../../packages/modeldata-api';
6
+ export declare function createPointCloudManager(modelMetadataProvider: ModelMetadataProvider, modelDataProvider: ModelDataProvider): PointCloudManager;
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { PointCloudMetadata } from './PointCloudMetadata';
5
+ export { PointCloudMetadata };
@@ -4,7 +4,7 @@
4
4
  /**
5
5
  * @module @cognite/reveal
6
6
  */
7
- export { NodeAppearanceProvider, NodeAppearance, NodeOutlineColor } from '../../packages/cad-styling';
7
+ export { NodeAppearanceProvider, NodeAppearance, NodeOutlineColor, DefaultNodeAppearance } from '../../packages/cad-styling';
8
8
  export { NodeCollectionBase, TreeIndexNodeCollection, IntersectionNodeCollection, UnionNodeCollection, SerializedNodeCollection } from '../../packages/cad-styling';
9
9
  export { revealEnv, IndexSet, NumericRange } from '../../packages/utilities';
10
10
  export * from './public/migration/Cognite3DViewer';
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ export { CdfModelIdentifier, LocalModelIdentifier, ModelIdentifier, File3dFormat } from '../../packages/modeldata-api';
5
+ export { RevealManager } from './public/RevealManager';
6
+ export { createLocalRevealManager, createCdfRevealManager } from './public/createRevealManager';
7
+ export { intersectCadNodes } from './datamodels/cad/picking';
8
+ export { CadModelSectorLoadStatistics } from './datamodels/cad/CadModelSectorLoadStatistics';
9
+ export { PointCloudMetadata } from './datamodels/pointcloud';
10
+ export * from './datamodels/pointcloud/types';
11
+ export { PotreeNodeWrapper } from './datamodels/pointcloud/PotreeNodeWrapper';
12
+ export { PotreeGroupWrapper } from './datamodels/pointcloud/PotreeGroupWrapper';
13
+ export { PointCloudNode } from './datamodels/pointcloud/PointCloudNode';
14
+ import * as utilities from './utilities';
15
+ export { utilities };
@@ -8,14 +8,15 @@ import { LoadingStateChangeListener, PointCloudBudget } from './types';
8
8
  import { PointCloudNode } from '../datamodels/pointcloud/PointCloudNode';
9
9
  import { CadModelSectorLoadStatistics } from '../datamodels/cad/CadModelSectorLoadStatistics';
10
10
  import { GeometryFilter } from '..';
11
- import { RenderMode } from '../../../packages/cad-parsers';
12
- import { RenderOptions, CadModelSectorBudget, EffectRenderManager, CadNode } from '../../../packages/cad-geometry-loaders';
11
+ import { CadModelSectorBudget } from '../../../packages/cad-geometry-loaders';
13
12
  import { NodeAppearanceProvider } from '../../../packages/cad-styling';
13
+ import { RenderOptions, EffectRenderManager, CadNode, RenderMode } from '../../../packages/rendering';
14
+ import { ModelIdentifier } from '../../../packages/modeldata-api';
14
15
  export declare type AddCadModelOptions = {
15
16
  nodeAppearanceProvider?: NodeAppearanceProvider;
16
17
  geometryFilter?: GeometryFilter;
17
18
  };
18
- export declare class RevealManager<TModelIdentifier> {
19
+ export declare class RevealManager {
19
20
  private readonly _cadManager;
20
21
  private readonly _pointCloudManager;
21
22
  private readonly _effectRenderManager;
@@ -24,10 +25,12 @@ export declare class RevealManager<TModelIdentifier> {
24
25
  private readonly _subscriptions;
25
26
  private readonly _events;
26
27
  private readonly _updateSubject;
27
- constructor(cadManager: CadManager<TModelIdentifier>, renderManager: EffectRenderManager, pointCloudManager: PointCloudManager<TModelIdentifier>);
28
+ constructor(cadManager: CadManager, renderManager: EffectRenderManager, pointCloudManager: PointCloudManager);
28
29
  dispose(): void;
29
30
  requestRedraw(): void;
30
31
  resetRedraw(): void;
32
+ get debugRenderTiming(): boolean;
33
+ set debugRenderTiming(enable: boolean);
31
34
  get renderOptions(): RenderOptions;
32
35
  set renderOptions(options: RenderOptions);
33
36
  get needsRedraw(): boolean;
@@ -50,8 +53,8 @@ export declare class RevealManager<TModelIdentifier> {
50
53
  * @param autoSetTargetSize Auto size target to fit canvas.
51
54
  */
52
55
  setRenderTarget(target: THREE.WebGLRenderTarget | null, autoSetTargetSize?: boolean): void;
53
- addModel(type: 'cad', modelIdentifier: TModelIdentifier, options?: AddCadModelOptions): Promise<CadNode>;
54
- addModel(type: 'pointcloud', modelIdentifier: TModelIdentifier): Promise<PointCloudNode>;
56
+ addModel(type: 'cad', modelIdentifier: ModelIdentifier, options?: AddCadModelOptions): Promise<CadNode>;
57
+ addModel(type: 'pointcloud', modelIdentifier: ModelIdentifier): Promise<PointCloudNode>;
55
58
  removeModel(type: 'cad', model: CadNode): void;
56
59
  removeModel(type: 'pointcloud', model: PointCloudNode): void;
57
60
  addUiObject(object: THREE.Object3D, screenPos: THREE.Vector2, size: THREE.Vector2): void;
@@ -4,7 +4,6 @@
4
4
  import * as THREE from 'three';
5
5
  import { RevealManager } from './RevealManager';
6
6
  import { RevealOptions } from './types';
7
- import { LocalModelIdentifier, CdfModelIdentifier } from '../../../packages/modeldata-api';
8
7
  import { CogniteClient } from '@cognite/sdk';
9
8
  /**
10
9
  * Used to create an instance of reveal manager that works with localhost.
@@ -13,7 +12,7 @@ import { CogniteClient } from '@cognite/sdk';
13
12
  * @param revealOptions
14
13
  * @returns RevealManager instance.
15
14
  */
16
- export declare function createLocalRevealManager(renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions?: RevealOptions): RevealManager<LocalModelIdentifier>;
15
+ export declare function createLocalRevealManager(renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions?: RevealOptions): RevealManager;
17
16
  /**
18
17
  * Used to create an instance of reveal manager that works with the CDF.
19
18
  * @param client
@@ -21,4 +20,4 @@ export declare function createLocalRevealManager(renderer: THREE.WebGLRenderer,
21
20
  * @param scene
22
21
  * @param revealOptions
23
22
  */
24
- export declare function createCdfRevealManager(client: CogniteClient, renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions?: RevealOptions): RevealManager<CdfModelIdentifier>;
23
+ export declare function createCdfRevealManager(client: CogniteClient, renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions?: RevealOptions): RevealManager;
@@ -54,6 +54,13 @@ export declare class Cognite3DModel extends THREE.Object3D implements CogniteMod
54
54
  * {@link assignStyledNodeCollection}.
55
55
  */
56
56
  getDefaultNodeAppearance(): NodeAppearance;
57
+ /**
58
+ * Returns all currently registered node collections and associated appearance.
59
+ */
60
+ get styledNodeCollections(): {
61
+ nodeCollection: NodeCollectionBase;
62
+ appearance: NodeAppearance;
63
+ }[];
57
64
  /**
58
65
  * Customizes rendering style for a set of nodes, e.g. to highlight, hide
59
66
  * or color code a set of 3D objects. This allows for custom look and feel
@@ -80,12 +87,21 @@ export declare class Cognite3DModel extends THREE.Object3D implements CogniteMod
80
87
  * const visibleNodes = new TreeIndexNodeCollection(someTreeIndices);
81
88
  * model.assignStyledNodeCollection(visibleSet, { rendererGhosted: false });
82
89
  * ```
90
+ * @throws Error if node collection already has been assigned to the model.
83
91
  */
84
92
  assignStyledNodeCollection(nodeCollection: NodeCollectionBase, appearance: NodeAppearance): void;
93
+ /**
94
+ * Updates styled node collections with a new appearance.
95
+ * @param nodeCollection A node collection previously assigned using {@link assignStyledNodeCollection}.
96
+ * @param newAppearance New appearance for the nodes in the collection.
97
+ * @throws Error if node collection hasn't previously been assigned using {@link assignStyledNodeCollection}.
98
+ */
99
+ updateStyledNodeCollection(nodeCollection: NodeCollectionBase, newAppearance: NodeAppearance): void;
85
100
  /**
86
101
  * Removes styling for previously added styled collection, resetting the style to the default (or
87
102
  * the style imposed by other styled collections).
88
103
  * @param nodeCollection Node collection previously added using {@link assignStyledNodeCollection}.
104
+ * @throws Error if node collection isn't assigned to the model.
89
105
  */
90
106
  unassignStyledNodeCollection(nodeCollection: NodeCollectionBase): void;
91
107
  /**
@@ -10,7 +10,7 @@ import { DisposedDelegate, SceneRenderedDelegate } from '../types';
10
10
  import { SupportedModelTypes } from '../../datamodels/base';
11
11
  import { IntersectionFromPixelOptions } from '../..';
12
12
  import { ViewerState } from '../../utilities/ViewStateHelper';
13
- import ComboControls from '../../../../packages/camera-manager';
13
+ import { CameraControlsOptions, ComboControls } from '../../../../packages/camera-manager';
14
14
  /**
15
15
  * @example
16
16
  * ```js
@@ -22,7 +22,6 @@ import ComboControls from '../../../../packages/camera-manager';
22
22
  * @module @cognite/reveal
23
23
  */
24
24
  export declare class Cognite3DViewer {
25
- private readonly _viewStateHelper;
26
25
  private get canvas();
27
26
  /**
28
27
  * For now it just always returns true.
@@ -40,16 +39,18 @@ export declare class Cognite3DViewer {
40
39
  * Returns the renderer used to produce images from 3D geometry.
41
40
  */
42
41
  get renderer(): THREE.WebGLRenderer;
42
+ private readonly _cdfSdkClient;
43
+ private readonly _dataSource;
43
44
  private readonly camera;
44
45
  private readonly scene;
45
- private readonly controls;
46
- private readonly sdkClient;
46
+ private readonly _cameraManager;
47
47
  private readonly _subscription;
48
48
  private readonly _revealManagerHelper;
49
49
  private readonly _domElement;
50
50
  private readonly _renderer;
51
51
  private readonly _boundAnimate;
52
52
  private readonly _events;
53
+ private readonly _mouseHandler;
53
54
  private readonly _models;
54
55
  private readonly _extraObjects;
55
56
  private readonly _automaticNearFarPlane;
@@ -94,6 +95,12 @@ export declare class Cognite3DViewer {
94
95
  * Returns reveal version installed.
95
96
  */
96
97
  getVersion(): string;
98
+ /**
99
+ * Sets the log level. Used for debugging.
100
+ * Defaults to 'none' (which is identical to 'silent').
101
+ * @param level
102
+ */
103
+ setLogLevel(level: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent' | 'none'): void;
97
104
  /**
98
105
  * Dispose of WebGL resources. Can be used to free up memory when the viewer is no longer in use.
99
106
  * @see {@link https://threejs.org/docs/#manual/en/introduction/How-to-dispose-of-objects}
@@ -141,6 +148,15 @@ export declare class Cognite3DViewer {
141
148
  off(event: 'cameraChange', callback: CameraChangeDelegate): void;
142
149
  off(event: 'sceneRendered', callback: SceneRenderedDelegate): void;
143
150
  off(event: 'disposed', callback: DisposedDelegate): void;
151
+ /**
152
+ * Sets camera control options. See {@link CameraControlsOptions}.
153
+ * @param controlsOptions JSON object with camera controls options.
154
+ */
155
+ setCameraControlsOptions(controlsOptions: CameraControlsOptions): void;
156
+ /**
157
+ * Gets camera controls mode.
158
+ */
159
+ getCameraControlsOptions(): CameraControlsOptions;
144
160
  /**
145
161
  * Gets the current viewer state which includes the camera pose as well as applied styling.
146
162
  * @returns JSON object containing viewer state.
@@ -206,7 +222,7 @@ export declare class Cognite3DViewer {
206
222
  * .
207
223
  * @param model
208
224
  */
209
- removeModel(model: Cognite3DModel | CognitePointCloudModel): void;
225
+ removeModel(model: CogniteModelBase): void;
210
226
  /**
211
227
  * Use to determine of which type the model is.
212
228
  *
@@ -352,6 +368,7 @@ export declare class Cognite3DViewer {
352
368
  * Set camera's target.
353
369
  * @public
354
370
  * @param target Target in world space.
371
+ * @param animated Whether change of target should be animated or not (default is false).
355
372
  * @example
356
373
  * ```js
357
374
  * // store position, target
@@ -362,7 +379,7 @@ export declare class Cognite3DViewer {
362
379
  * viewer.setCameraTarget(target);
363
380
  * ```
364
381
  */
365
- setCameraTarget(target: THREE.Vector3): void;
382
+ setCameraTarget(target: THREE.Vector3, animated?: boolean): void;
366
383
  /**
367
384
  * Gets the camera controller. See https://www.npmjs.com/package/@cognite/three-combo-controls
368
385
  * for documentation. Note that by default the `minDistance` setting of the controls will
@@ -435,11 +452,11 @@ export declare class Cognite3DViewer {
435
452
  */
436
453
  requestRedraw(): void;
437
454
  /**
438
- * Allows to move camera with WASM or arrows keys.
455
+ * Allows to move camera with WASD or arrows keys.
439
456
  */
440
457
  enableKeyboardNavigation(): void;
441
458
  /**
442
- * Disables camera movement by pressing WASM or arrows keys.
459
+ * Disables camera movement by pressing WASD or arrows keys.
443
460
  */
444
461
  disableKeyboardNavigation(): void;
445
462
  /**
@@ -533,13 +550,17 @@ export declare class Cognite3DViewer {
533
550
  */
534
551
  getIntersectionFromPixel(offsetX: number, offsetY: number, options?: IntersectionFromPixelOptions): Promise<null | Intersection>;
535
552
  private getModels;
536
- /** @private */
537
- private moveCameraTo;
553
+ /**
554
+ * Creates a helper for managing viewer state.
555
+ */
556
+ private createViewStateHelper;
538
557
  /** @private */
539
558
  private animate;
540
559
  /** @private */
560
+ private modelIntersectionCallback;
561
+ /** @private */
541
562
  private updateCameraNearAndFar;
542
563
  /** @private */
543
564
  private resizeIfNecessary;
544
- private startPointerEventListeners;
565
+ private readonly startPointerEventListeners;
545
566
  }
@@ -43,6 +43,20 @@ export interface Cognite3DViewerOptions {
43
43
  target: THREE.WebGLRenderTarget;
44
44
  autoSetSize?: boolean;
45
45
  };
46
+ /**
47
+ * Style the loading indicator.
48
+ */
49
+ loadingIndicatorStyle?: {
50
+ /**
51
+ * What corner the spinner should be placed in. Defaults top topLeft.
52
+ */
53
+ placement: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
54
+ /**
55
+ * Opacity of the spinner in fractions. Valid values are between
56
+ * 0.2 and 1.0. Defaults to 1.0.
57
+ */
58
+ opacity: number;
59
+ };
46
60
  /**
47
61
  * When false, camera near and far planes will not be updated automatically (defaults to true).
48
62
  * This can be useful when you have custom content in the 3D view and need to better
@@ -96,8 +110,20 @@ export interface Cognite3DViewerOptions {
96
110
  enableEdges?: boolean;
97
111
  /** Callback to download stream progress. */
98
112
  onLoading?: OnLoadingCallback;
113
+ /**
114
+ * Allows providing a custom data source that Reveal will
115
+ * use to load model data. Note that some features might not
116
+ * work when implementing a custom data source. Please refer
117
+ * to the Reveal documentation for details.
118
+ *
119
+ * Note that the data source must support {@link CdfModelIdentifier}.
120
+ *
121
+ * This cannot be used together with {@link _localModels}.
122
+ */
123
+ customDataSource?: DataSource;
99
124
  }
100
125
  import { GeometryFilter } from '../../public/types';
126
+ import { DataSource } from '../../../../packages/data-source';
101
127
  export { GeometryFilter };
102
128
  /**
103
129
  * @module @cognite/reveal
@@ -108,6 +134,30 @@ export interface AddModelOptions {
108
134
  localPath?: string;
109
135
  geometryFilter?: GeometryFilter;
110
136
  }
137
+ export declare type CameraControlsOptions = {
138
+ /**
139
+ * Sets mouse wheel initiated action.
140
+ *
141
+ * Modes:
142
+ *
143
+ * 'zoomToTarget' - zooms just to the current target (center of the screen) of the camera.
144
+ *
145
+ * 'zoomPastCursor' - zooms in the direction of the ray coming from camera through cursor screen position, allows going through objects.
146
+ *
147
+ * 'zoomToCursor' - mouse wheel scroll zooms towards the point on the model where cursor is hovering over, doesn't allow going through objects.
148
+ *
149
+ * Default is 'zoomPastCursor'.
150
+ *
151
+ */
152
+ mouseWheelAction?: 'zoomToTarget' | 'zoomPastCursor' | 'zoomToCursor';
153
+ /**
154
+ * Enables or disables change of camera target on mouse click. New target is then set to the point of the model under current cursor position.
155
+ *
156
+ * Default is false.
157
+ *
158
+ */
159
+ onClickTargetChange?: boolean;
160
+ };
111
161
  export declare type CadIntersection = {
112
162
  /**
113
163
  * The intersection type.
@@ -1,7 +1,8 @@
1
1
  /*!
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
- import { SectorQuads, RenderOptions, LoadingState, SectorCuller } from '../../../packages/cad-geometry-loaders';
4
+ import { LoadingState, SectorCuller } from '../../../packages/cad-geometry-loaders';
5
+ import { SectorQuads, RenderOptions } from '../../../packages/rendering';
5
6
  import { SectorGeometry } from '../../../packages/cad-parsers';
6
7
  /**
7
8
  * @property logMetrics Might be used to disable usage statistics.
@@ -2,12 +2,11 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
- import { AddModelOptions } from './types';
6
- import { RevealManager } from '../RevealManager';
7
- import { RevealOptions } from '../..';
8
- import { PointCloudNode } from '../../datamodels/pointcloud/PointCloudNode';
9
- import { CdfModelIdentifier, LocalModelIdentifier } from '../../../../packages/modeldata-api';
10
- import { CadNode } from '../../../../packages/cad-geometry-loaders';
5
+ import { AddModelOptions } from '../public/migration/types';
6
+ import { RevealOptions } from '../public/types';
7
+ import { PointCloudNode, RevealManager } from '../internals';
8
+ import { DataSource } from '../../../packages/data-source';
9
+ import { CadNode } from '../../../packages/rendering';
11
10
  import { CogniteClient } from '@cognite/sdk';
12
11
  /**
13
12
  * Helper for {@link RevealManager} for creating a uniform interface for
@@ -36,7 +35,8 @@ export declare class RevealManagerHelper {
36
35
  * @param sdkClient
37
36
  */
38
37
  static createCdfHelper(renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions: RevealOptions, sdkClient: CogniteClient): RevealManagerHelper;
39
- get revealManager(): RevealManager<LocalModelIdentifier> | RevealManager<CdfModelIdentifier>;
38
+ static createCustomDataSourceHelper(renderer: THREE.WebGLRenderer, scene: THREE.Scene, revealOptions: RevealOptions, dataSource: DataSource): RevealManagerHelper;
39
+ get revealManager(): RevealManager;
40
40
  /**
41
41
  * Adds a local CAD model.
42
42
  * @param model
@@ -2,18 +2,17 @@
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
4
  import * as THREE from 'three';
5
+ export declare type Corner = 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
5
6
  export declare class Spinner {
6
7
  private static readonly stylesId;
7
- static classnames: {
8
- base: string;
9
- loading: string;
10
- dark: string;
11
- };
8
+ private static readonly classnames;
12
9
  private static readonly titles;
13
10
  private _loading;
14
11
  private static loadStyles;
15
12
  private readonly el;
16
13
  constructor(parent: HTMLElement);
14
+ set placement(placement: Corner);
15
+ set opacity(fractionOpacity: number);
17
16
  get loading(): boolean;
18
17
  set loading(loadingState: boolean);
19
18
  /**