@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.
Files changed (179) hide show
  1. package/core/cad.d.ts +1 -2
  2. package/core/src/datamodels/cad/CadManager.d.ts +10 -10
  3. package/core/src/datamodels/cad/CadModelFactory.d.ts +10 -4
  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 +8 -2
  8. package/core/src/datamodels/cad/styling/InvertedNodeCollection.d.ts +3 -2
  9. package/core/src/datamodels/cad/styling/PopulateIndexSetFromPagedResponseHelper.d.ts +10 -4
  10. package/core/src/datamodels/cad/styling/PropertyFilterNodeCollection.d.ts +5 -11
  11. package/core/src/datamodels/cad/styling/SinglePropertyFilterNodeCollection.d.ts +5 -14
  12. package/core/src/datamodels/pointcloud/PointCloudManager.d.ts +5 -4
  13. package/core/src/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +6 -5
  14. package/core/src/datamodels/pointcloud/createPointCloudManager.d.ts +2 -4
  15. package/core/src/datamodels/pointcloud/index.d.ts +5 -0
  16. package/core/src/index.d.ts +1 -1
  17. package/core/src/internals.d.ts +15 -0
  18. package/core/src/public/RevealManager.d.ts +11 -8
  19. package/core/src/public/createRevealManager.d.ts +2 -3
  20. package/core/src/public/migration/Cognite3DModel.d.ts +20 -1
  21. package/core/src/public/migration/Cognite3DViewer.d.ts +30 -10
  22. package/core/src/public/migration/types.d.ts +36 -23
  23. package/core/src/public/types.d.ts +3 -1
  24. package/core/src/{public/migration → storage}/RevealManagerHelper.d.ts +7 -7
  25. package/core/src/utilities/Spinner.d.ts +4 -5
  26. package/core/src/utilities/ViewStateHelper.d.ts +2 -2
  27. package/core/src/utilities/worldToViewport.d.ts +1 -2
  28. package/extensions/datasource.d.ts +9 -0
  29. package/extensions/datasource.js +30 -0
  30. package/extensions/datasource.map +1 -0
  31. package/index.d.ts +2 -1
  32. package/index.js +214 -125
  33. package/index.map +1 -1
  34. package/package.json +6 -8
  35. package/packages/cad-geometry-loaders/index.d.ts +4 -11
  36. package/packages/cad-geometry-loaders/src/{CadModelSectorBudget.d.ts → CadModelBudget.d.ts} +3 -10
  37. package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +5 -7
  38. package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +7 -6
  39. package/packages/cad-geometry-loaders/src/sector/culling/ByScreenSizeSectorCuller.d.ts +23 -0
  40. package/packages/cad-geometry-loaders/src/sector/culling/ByVisibilityGpuSectorCuller.d.ts +3 -5
  41. package/packages/cad-geometry-loaders/src/sector/culling/WeightFunctionsHelper.d.ts +50 -0
  42. package/packages/cad-geometry-loaders/src/sector/culling/computeNdcAreaOfBox.d.ts +12 -0
  43. package/packages/cad-geometry-loaders/src/sector/culling/computeSectorCost.d.ts +7 -0
  44. package/packages/cad-geometry-loaders/src/sector/culling/createV8SectorCuller.d.ts +7 -0
  45. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenSectorMapBase.d.ts +11 -0
  46. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorMap.d.ts +17 -0
  47. package/packages/cad-geometry-loaders/src/sector/culling/{TakenSectorTree.d.ts → takensectors/TakenV8SectorTree.d.ts} +6 -6
  48. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV9SectorMap.d.ts +20 -0
  49. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/index.d.ts +5 -0
  50. package/packages/cad-geometry-loaders/src/sector/culling/transformBoxToNDC.d.ts +5 -0
  51. package/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +16 -4
  52. package/packages/cad-geometry-loaders/src/sector/rxSectorUtilities.d.ts +2 -2
  53. package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +3 -2
  54. package/packages/cad-geometry-loaders/src/utilities/types.d.ts +0 -23
  55. package/packages/cad-parsers/index.d.ts +7 -6
  56. package/packages/{cad-geometry-loaders/src/material-manager/rendering → cad-parsers/src/cad}/filterInstanceMesh.d.ts +1 -1
  57. package/packages/cad-parsers/src/cad/filterPrimitivesCommon.d.ts +5 -0
  58. package/packages/cad-parsers/src/cad/{filterPrimitives.d.ts → filterPrimitivesV8.d.ts} +0 -0
  59. package/packages/cad-parsers/src/cad/filterPrimitivesV9.d.ts +6 -0
  60. package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +1 -1
  61. package/packages/{cad-geometry-loaders/src/material-manager/rendering → cad-parsers/src/cad}/triangleMeshes.d.ts +1 -1
  62. package/packages/cad-parsers/src/cad/types.d.ts +2 -2
  63. package/packages/cad-parsers/src/metadata/CadModelMetadata.d.ts +10 -0
  64. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +6 -6
  65. package/packages/cad-parsers/src/metadata/MetadataRepository.d.ts +3 -2
  66. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserGltf.d.ts +6 -0
  67. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +2 -47
  68. package/packages/cad-parsers/src/metadata/parsers/types.d.ts +60 -0
  69. package/packages/cad-parsers/src/metadata/types.d.ts +15 -4
  70. package/packages/{cad-geometry-loaders → cad-parsers}/src/sector/RootSectorNode.d.ts +1 -1
  71. package/packages/{cad-geometry-loaders → cad-parsers}/src/sector/SectorNode.d.ts +1 -1
  72. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +2 -5
  73. package/packages/cad-parsers/src/utilities/computeBoundingBoxFromAttributes.d.ts +10 -0
  74. package/packages/{cad-geometry-loaders → cad-parsers}/src/utilities/float32BufferToMatrix.d.ts +0 -0
  75. package/packages/cad-parsers/src/utilities/types.d.ts +26 -0
  76. package/packages/cad-styling/index.d.ts +4 -0
  77. package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +4 -2
  78. package/packages/cad-styling/src/IntersectionNodeCollection.d.ts +4 -0
  79. package/packages/cad-styling/src/NodeAppearance.d.ts +23 -0
  80. package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +7 -0
  81. package/packages/cad-styling/src/NodeCollectionBase.d.ts +7 -0
  82. package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +17 -1
  83. package/packages/cad-styling/src/UnionNodeCollection.d.ts +3 -0
  84. package/packages/cad-styling/src/prioritized/AreaCollection.d.ts +39 -0
  85. package/packages/cad-styling/src/prioritized/BoxClusterer.d.ts +29 -0
  86. package/packages/cad-styling/src/prioritized/ClusteredAreaCollection.d.ts +17 -0
  87. package/packages/cad-styling/src/prioritized/EmptyAreaCollection.d.ts +18 -0
  88. package/packages/cad-styling/src/prioritized/types.d.ts +7 -0
  89. package/packages/camera-manager/index.d.ts +3 -1
  90. package/packages/camera-manager/src/CameraManager.d.ts +84 -0
  91. package/packages/camera-manager/src/ComboControls.d.ts +60 -42
  92. package/packages/camera-manager/src/Keyboard.d.ts +10 -7
  93. package/packages/camera-manager/src/types.d.ts +64 -0
  94. package/packages/data-source/index.d.ts +6 -0
  95. package/packages/data-source/src/CdfDataSource.d.ts +19 -0
  96. package/packages/data-source/src/DataSource.d.ts +26 -0
  97. package/packages/data-source/src/LocalDataSource.d.ts +15 -0
  98. package/packages/metrics/index.d.ts +5 -0
  99. package/packages/metrics/src/MetricsLogger.d.ts +21 -0
  100. package/packages/metrics/src/types.d.ts +7 -0
  101. package/packages/modeldata-api/index.d.ts +8 -3
  102. package/packages/modeldata-api/src/{CdfModelDataClient.d.ts → CdfModelDataProvider.d.ts} +6 -6
  103. package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +15 -0
  104. package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +11 -27
  105. package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +16 -0
  106. package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +10 -0
  107. package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -0
  108. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +11 -14
  109. package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -0
  110. package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +19 -0
  111. package/packages/modeldata-api/src/types.d.ts +19 -26
  112. package/packages/nodes-api/index.d.ts +0 -1
  113. package/packages/nodes-api/src/NodesApiClient.d.ts +16 -8
  114. package/packages/nodes-api/src/NodesCdfClient.d.ts +9 -4
  115. package/packages/nodes-api/src/NodesLocalClient.d.ts +10 -5
  116. package/packages/nodes-api/src/types.d.ts +0 -4
  117. package/packages/rendering/index.d.ts +17 -0
  118. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/CadMaterialManager.d.ts +5 -5
  119. package/packages/rendering/src/GeometryBatchingManager.d.ts +30 -0
  120. package/packages/{cad-geometry-loaders → rendering}/src/InstancedMeshManager.d.ts +1 -1
  121. package/packages/{cad-geometry-loaders → rendering}/src/cameraconfig.d.ts +0 -0
  122. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/EffectRenderManager.d.ts +28 -12
  123. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/rendering}/NodeAppearanceTextureBuilder.d.ts +8 -7
  124. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/RenderMode.d.ts +0 -0
  125. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/createSimpleGeometryMesh.d.ts +1 -1
  126. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/matCapTextureData.d.ts +0 -0
  127. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/materials.d.ts +0 -0
  128. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/primitives.d.ts +3 -3
  129. package/packages/{cad-parsers/src/cad → rendering/src/rendering}/shaders.d.ts +1 -1
  130. package/packages/{cad-geometry-loaders/src/material-manager → rendering/src}/rendering/types.d.ts +1 -1
  131. package/packages/{cad-geometry-loaders/src → rendering/src/sector}/CadNode.d.ts +18 -9
  132. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/NodeTransformProvider.d.ts +1 -1
  133. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/NodeTransformTextureBuilder.d.ts +1 -1
  134. package/packages/{cad-geometry-loaders/src/material-manager/styling → rendering/src/transform}/TransformOverrideBuffer.d.ts +3 -3
  135. package/packages/rendering/src/utilities/types.d.ts +26 -0
  136. package/packages/sector-loader/index.d.ts +6 -0
  137. package/packages/sector-loader/src/GltfSectorRepository.d.ts +14 -0
  138. package/packages/{cad-geometry-loaders/src/sector/Repository.d.ts → sector-loader/src/SectorRepository.d.ts} +2 -2
  139. package/packages/{cad-geometry-loaders/src/sector/CachedRepository.d.ts → sector-loader/src/V8SectorRepository.d.ts} +6 -6
  140. package/packages/{cad-geometry-loaders/src/sector → sector-loader/src/v8}/SimpleAndDetailedToSector3D.d.ts +4 -4
  141. package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/arrays.d.ts +0 -0
  142. package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/groupMeshesByNumber.d.ts +0 -0
  143. package/packages/sector-loader/src/v8/sectorUtilities.d.ts +16 -0
  144. package/packages/sector-parser/index.d.ts +5 -0
  145. package/packages/sector-parser/src/GltfSectorParser.d.ts +18 -0
  146. package/packages/sector-parser/src/reveal-glb-parser/GlbMetadataParser.d.ts +14 -0
  147. package/packages/sector-parser/src/reveal-glb-parser/primitiveGeometries.d.ts +12 -0
  148. package/packages/sector-parser/src/types.d.ts +98 -0
  149. package/packages/tools/index.d.ts +4 -1
  150. package/packages/tools/src/AxisView/AxisViewTool.d.ts +2 -2
  151. package/packages/tools/src/DebugLoadedSectorsTool.d.ts +1 -1
  152. package/packages/tools/src/Geomap/Geomap.d.ts +5 -2
  153. package/packages/tools/src/Geomap/GeomapTool.d.ts +5 -2
  154. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -0
  155. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +160 -0
  156. package/packages/tools/src/Timeline/Keyframe.d.ts +39 -0
  157. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -0
  158. package/packages/tools/src/Timeline/types.d.ts +13 -0
  159. package/packages/utilities/index.d.ts +7 -3
  160. package/packages/utilities/src/NumericRange.d.ts +2 -1
  161. package/packages/utilities/src/RandomColors.d.ts +34 -0
  162. package/packages/utilities/src/WebGLRendererStateHelper.d.ts +1 -1
  163. package/packages/utilities/src/counterMap.d.ts +5 -0
  164. package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +18 -5
  165. package/packages/utilities/src/events/InputHandler.d.ts +25 -0
  166. package/packages/utilities/src/events/index.d.ts +1 -0
  167. package/packages/utilities/src/indexset/IndexSet.d.ts +1 -1
  168. package/packages/utilities/src/three/isBox3OnPositiveSideOfPlane.d.ts +10 -0
  169. package/packages/utilities/src/three/toThreeBox3.d.ts +6 -0
  170. package/packages/utilities/src/three/visitBox3CornerPoints.d.ts +12 -0
  171. package/packages/utilities/src/types.d.ts +1 -0
  172. package/tools.js +77 -117
  173. package/tools.map +1 -1
  174. package/packages/cad-geometry-loaders/src/sector/sectorUtilities.d.ts +0 -19
  175. package/packages/cad-parsers/src/cad/computeBoundingBoxFromAttributes.d.ts +0 -9
  176. package/packages/modeldata-api/src/LocalModelDataClient.d.ts +0 -10
  177. package/packages/tools/src/HtmlOverlayTool.d.ts +0 -88
  178. package/packages/utilities/src/metrics.d.ts +0 -15
  179. package/packages/utilities/src/three/getBox3CornerPoints.d.ts +0 -5
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,15 +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
- import { GeometryFilter } from '../..';
11
- export declare class CadManager<TModelIdentifier> {
8
+ import { GeometryFilter } from '../../public/types';
9
+ import { CadModelUpdateHandler, CadModelBudget, LoadingState } from '../../../../packages/cad-geometry-loaders';
10
+ import { CadNode, CadMaterialManager, RenderMode } from '../../../../packages/rendering';
11
+ import { ModelIdentifier } from '../../../../packages/modeldata-api';
12
+ export declare class CadManager {
12
13
  private readonly _materialManager;
13
- private readonly _cadModelMetadataRepository;
14
14
  private readonly _cadModelFactory;
15
15
  private readonly _cadModelUpdateHandler;
16
16
  private readonly _cadModelMap;
@@ -19,13 +19,13 @@ export declare class CadManager<TModelIdentifier> {
19
19
  private readonly _markNeedsRedrawBound;
20
20
  private readonly _materialsChangedListener;
21
21
  get materialManager(): CadMaterialManager;
22
- get budget(): CadModelSectorBudget;
23
- set budget(budget: CadModelSectorBudget);
22
+ get budget(): CadModelBudget;
23
+ set budget(budget: CadModelBudget);
24
24
  /**
25
25
  * Returns statistics about how data loaded (or data about to be loaded).
26
26
  */
27
27
  get loadedStatistics(): CadModelSectorLoadStatistics;
28
- constructor(materialManger: CadMaterialManager, cadModelMetadataRepository: CadModelMetadataRepository<TModelIdentifier>, cadModelFactory: CadModelFactory, cadModelUpdateHandler: CadModelUpdateHandler);
28
+ constructor(materialManger: CadMaterialManager, cadModelFactory: CadModelFactory, cadModelUpdateHandler: CadModelUpdateHandler);
29
29
  dispose(): void;
30
30
  requestRedraw(): void;
31
31
  resetRedraw(): void;
@@ -35,7 +35,7 @@ export declare class CadManager<TModelIdentifier> {
35
35
  set clippingPlanes(clippingPlanes: THREE.Plane[]);
36
36
  get renderMode(): RenderMode;
37
37
  set renderMode(renderMode: RenderMode);
38
- addModel(modelIdentifier: TModelIdentifier, geometryFilter?: GeometryFilter): Promise<CadNode>;
38
+ addModel(modelIdentifier: ModelIdentifier, geometryFilter?: GeometryFilter): Promise<CadNode>;
39
39
  removeModel(model: CadNode): void;
40
40
  getLoadingStateObserver(): Observable<LoadingState>;
41
41
  private markNeedsRedraw;
@@ -1,7 +1,13 @@
1
- import { CadMaterialManager, CadNode } from '../../../../packages/cad-geometry-loaders';
2
- import { CadModelMetadata } from '../../../../packages/cad-parsers';
1
+ import { GeometryFilter } from '../..';
2
+ import { CadMaterialManager, CadNode } from '../../../../packages/rendering';
3
+ import { ModelDataProvider, ModelMetadataProvider, ModelIdentifier } from '../../../../packages/modeldata-api';
3
4
  export declare class CadModelFactory {
4
5
  private readonly _materialManager;
5
- constructor(materialManager: CadMaterialManager);
6
- createModel(modelMetadata: CadModelMetadata): CadNode;
6
+ private readonly _cadModelMetadataRepository;
7
+ private readonly _v8SectorRepository;
8
+ private readonly _gltfSectorRepository;
9
+ constructor(materialManager: CadMaterialManager, modelMetadataProvider: ModelMetadataProvider, modelDataProvider: ModelDataProvider);
10
+ createModel(externalModelIdentifier: ModelIdentifier, geometryFilter?: GeometryFilter): Promise<CadNode>;
11
+ private getSectorRepository;
12
+ dispose(): void;
7
13
  }
@@ -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);
@@ -4,7 +4,7 @@
4
4
  import * as THREE from 'three';
5
5
  import { Cognite3DModel } from '../../../public/migration/Cognite3DModel';
6
6
  import { IndexSet } from '../../../../../packages/utilities';
7
- import { NodeCollectionBase, SerializedNodeCollection } from '../../../../../packages/cad-styling';
7
+ import { NodeCollectionBase, SerializedNodeCollection, AreaCollection } from '../../../../../packages/cad-styling';
8
8
  import { CogniteClient } from '@cognite/sdk';
9
9
  /**
10
10
  * Represents a set of nodes associated with an [asset in Cognite Fusion]{@link https://docs.cognite.com/api/v1/#tag/Assets}
@@ -16,6 +16,7 @@ export declare class AssetNodeCollection extends NodeCollectionBase {
16
16
  static readonly classToken = "AssetNodeCollection";
17
17
  private readonly _client;
18
18
  private _indexSet;
19
+ private _areas;
19
20
  private readonly _model;
20
21
  private _fetchResultHelper;
21
22
  private _filter;
@@ -32,8 +33,13 @@ export declare class AssetNodeCollection extends NodeCollectionBase {
32
33
  assetId?: number;
33
34
  boundingBox?: THREE.Box3;
34
35
  }): Promise<void>;
35
- getFilter(): any;
36
+ private fetchBoundingBoxesForAssetMappings;
37
+ getFilter(): {
38
+ assetId?: number | undefined;
39
+ boundingBox?: THREE.Box3 | undefined;
40
+ } | undefined;
36
41
  clear(): void;
37
42
  getIndexSet(): IndexSet;
43
+ getAreas(): AreaCollection;
38
44
  serialize(): SerializedNodeCollection;
39
45
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Cognite3DModel } from '../../../public/migration/Cognite3DModel';
5
5
  import { IndexSet } from '../../../../../packages/utilities';
6
- import { NodeCollectionBase, SerializedNodeCollection } from '../../../../../packages/cad-styling';
6
+ import { AreaCollection, NodeCollectionBase, SerializedNodeCollection } from '../../../../../packages/cad-styling';
7
7
  /**
8
8
  * Node collection that inverts the result from another node collection.
9
9
  */
@@ -15,10 +15,11 @@ export declare class InvertedNodeCollection extends NodeCollectionBase {
15
15
  constructor(model: Cognite3DModel, innerSet: NodeCollectionBase);
16
16
  get isLoading(): boolean;
17
17
  getIndexSet(): IndexSet;
18
+ getAreas(): AreaCollection;
18
19
  serialize(): SerializedNodeCollection;
19
20
  /**
20
21
  * Not supported.
21
22
  * @throws Always throws an error.
22
23
  */
23
- clear(): void;
24
+ clear(): never;
24
25
  }
@@ -1,24 +1,30 @@
1
1
  /*!
2
2
  * Copyright 2021 Cognite AS
3
3
  */
4
+ import * as THREE from 'three';
4
5
  import { ListResponse } from '@cognite/sdk';
5
6
  import { IndexSet, NumericRange } from '../../../../../packages/utilities';
7
+ import { AreaCollection } from '../../../../../packages/cad-styling';
6
8
  /**
7
9
  * Helper class that populates an IndexSet based on a paged results from the Cognite SDK.
8
10
  */
9
11
  export declare class PopulateIndexSetFromPagedResponseHelper<T> {
10
- private readonly _itemToTreeIndexRangeCallback;
12
+ private readonly _itemsToTreeIndexRangesCallback;
13
+ private readonly _itemsToAreasCallback;
11
14
  private readonly _notifyChangedCallback;
12
15
  private _ongoingOperations;
13
16
  private _interrupted;
14
- constructor(itemToTreeIndexRangeCallback: (item: T) => NumericRange, notifySetChangedCallback: () => void);
17
+ private readonly _indexSet;
18
+ private readonly _areas;
19
+ constructor(itemsToTreeIndexRangesCallback: (items: T[]) => NumericRange[], itemsToAreasCallback: (items: T[]) => Promise<THREE.Box3[]>, notifySetChangedCallback: () => void);
15
20
  interrupt(): void;
16
21
  get isLoading(): boolean;
22
+ get indexSet(): IndexSet;
23
+ get areas(): AreaCollection;
17
24
  /**
18
25
  * Loops through all the pages of the provided response and populated the IndexSet provided.
19
- * @param indexSet
20
26
  * @param request
21
27
  * @returns True if the operation was completed, false if it was interrupted using {@link interrupt}.
22
28
  */
23
- pageResults(indexSet: IndexSet, request: Promise<ListResponse<T[]>>): Promise<boolean>;
29
+ pageResults(request: Promise<ListResponse<T[]>>): Promise<boolean>;
24
30
  }
@@ -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 { AreaCollection, NodeCollectionBase, SerializedNodeCollection } from '../../../../../packages/cad-styling';
7
7
  import { IndexSet } from '../../../../../packages/utilities';
8
8
  /**
9
9
  * Options for {@link PropertyFilterNodeCollection}.
@@ -24,8 +24,8 @@ export declare class PropertyFilterNodeCollection extends NodeCollectionBase {
24
24
  static readonly classToken = "PropertyFilterNodeCollection";
25
25
  private readonly _client;
26
26
  private _indexSet;
27
- private readonly _modelId;
28
- private readonly _revisionId;
27
+ private _areas;
28
+ private readonly _model;
29
29
  private readonly _options;
30
30
  private _fetchResultHelper;
31
31
  private _filter;
@@ -45,17 +45,11 @@ 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
+ getAreas(): AreaCollection;
54
+ serialize(): SerializedNodeCollection;
61
55
  }
@@ -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 { AreaCollection, 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
@@ -15,9 +15,9 @@ import { CogniteClient } from '@cognite/sdk';
15
15
  export declare class SinglePropertyFilterNodeCollection extends NodeCollectionBase {
16
16
  static readonly classToken = "SinglePropertyNodeCollection";
17
17
  private readonly _client;
18
+ private readonly _model;
18
19
  private _indexSet;
19
- private readonly _modelId;
20
- private readonly _revisionId;
20
+ private _areas;
21
21
  private readonly _options;
22
22
  private _fetchResultHelper;
23
23
  private readonly _filter;
@@ -45,16 +45,7 @@ export declare class SinglePropertyFilterNodeCollection extends NodeCollectionBa
45
45
  */
46
46
  clear(): void;
47
47
  getIndexSet(): IndexSet;
48
+ getAreas(): AreaCollection;
48
49
  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
- };
50
+ serialize(): SerializedNodeCollection;
60
51
  }
@@ -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,12 @@
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
+ private getSupportedOutput;
13
14
  }
@@ -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 { CadModelBudget } 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,16 +25,18 @@ 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;
34
37
  update(camera: THREE.PerspectiveCamera): void;
35
- get cadBudget(): CadModelSectorBudget;
36
- set cadBudget(budget: CadModelSectorBudget);
38
+ get cadBudget(): CadModelBudget;
39
+ set cadBudget(budget: CadModelBudget);
37
40
  get cadLoadedStatistics(): CadModelSectorLoadStatistics;
38
41
  get cadRenderMode(): RenderMode;
39
42
  set cadRenderMode(renderMode: RenderMode);
@@ -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,14 @@ 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;
85
93
  /**
86
94
  * Removes styling for previously added styled collection, resetting the style to the default (or
87
95
  * the style imposed by other styled collections).
88
96
  * @param nodeCollection Node collection previously added using {@link assignStyledNodeCollection}.
97
+ * @throws Error if node collection isn't assigned to the model.
89
98
  */
90
99
  unassignStyledNodeCollection(nodeCollection: NodeCollectionBase): void;
91
100
  /**
@@ -133,10 +142,20 @@ export declare class Cognite3DModel extends THREE.Object3D implements CogniteMod
133
142
  * uses a right-hand Y-up coordinate system. This function also accounts for transformation
134
143
  * applied to the model.
135
144
  * @param box The box in ThreeJS/model coordinates.
136
- * @param out Optional preallocated buffer for storing the result. May be `box`.
145
+ * @param out Optional preallocated buffer for storing the result. May be same input as `box`.
137
146
  * @returns Transformed box.
138
147
  */
139
148
  mapBoxFromModelToCdfCoordinates(box: THREE.Box3, out?: THREE.Box3): THREE.Box3;
149
+ /**
150
+ * Maps from a 3D position in "CDF space" to coordinates in "ThreeJS model space".
151
+ * This is necessary because CDF has a right-handed Z-up coordinate system while ThreeJS
152
+ * uses a right-hand Y-up coordinate system. This function also accounts for transformation
153
+ * applied to the model.
154
+ * @param box The box in CDF model coordinates.
155
+ * @param out Optional preallocated buffer for storing the result. May be same input as `box`.
156
+ * @returns Transformed box.
157
+ */
158
+ mapBoxFromCdfToModelCoordinates(box: THREE.Box3, out?: THREE.Box3): THREE.Box3;
140
159
  /**
141
160
  * Cleans up used resources.
142
161
  */
@@ -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 { ComboControls, CameraControlsOptions } 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,10 +39,11 @@ 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;
@@ -94,6 +94,12 @@ export declare class Cognite3DViewer {
94
94
  * Returns reveal version installed.
95
95
  */
96
96
  getVersion(): string;
97
+ /**
98
+ * Sets the log level. Used for debugging.
99
+ * Defaults to 'none' (which is identical to 'silent').
100
+ * @param level
101
+ */
102
+ setLogLevel(level: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'silent' | 'none'): void;
97
103
  /**
98
104
  * Dispose of WebGL resources. Can be used to free up memory when the viewer is no longer in use.
99
105
  * @see {@link https://threejs.org/docs/#manual/en/introduction/How-to-dispose-of-objects}
@@ -141,6 +147,15 @@ export declare class Cognite3DViewer {
141
147
  off(event: 'cameraChange', callback: CameraChangeDelegate): void;
142
148
  off(event: 'sceneRendered', callback: SceneRenderedDelegate): void;
143
149
  off(event: 'disposed', callback: DisposedDelegate): void;
150
+ /**
151
+ * Sets camera control options. See {@link CameraControlsOptions}.
152
+ * @param controlsOptions JSON object with camera controls options.
153
+ */
154
+ setCameraControlsOptions(controlsOptions: CameraControlsOptions): void;
155
+ /**
156
+ * Gets camera controls mode.
157
+ */
158
+ getCameraControlsOptions(): CameraControlsOptions;
144
159
  /**
145
160
  * Gets the current viewer state which includes the camera pose as well as applied styling.
146
161
  * @returns JSON object containing viewer state.
@@ -352,6 +367,7 @@ export declare class Cognite3DViewer {
352
367
  * Set camera's target.
353
368
  * @public
354
369
  * @param target Target in world space.
370
+ * @param animated Whether change of target should be animated or not (default is false).
355
371
  * @example
356
372
  * ```js
357
373
  * // store position, target
@@ -362,7 +378,7 @@ export declare class Cognite3DViewer {
362
378
  * viewer.setCameraTarget(target);
363
379
  * ```
364
380
  */
365
- setCameraTarget(target: THREE.Vector3): void;
381
+ setCameraTarget(target: THREE.Vector3, animated?: boolean): void;
366
382
  /**
367
383
  * Gets the camera controller. See https://www.npmjs.com/package/@cognite/three-combo-controls
368
384
  * for documentation. Note that by default the `minDistance` setting of the controls will
@@ -435,11 +451,11 @@ export declare class Cognite3DViewer {
435
451
  */
436
452
  requestRedraw(): void;
437
453
  /**
438
- * Allows to move camera with WASM or arrows keys.
454
+ * Allows to move camera with WASD or arrows keys.
439
455
  */
440
456
  enableKeyboardNavigation(): void;
441
457
  /**
442
- * Disables camera movement by pressing WASM or arrows keys.
458
+ * Disables camera movement by pressing WASD or arrows keys.
443
459
  */
444
460
  disableKeyboardNavigation(): void;
445
461
  /**
@@ -533,13 +549,17 @@ export declare class Cognite3DViewer {
533
549
  */
534
550
  getIntersectionFromPixel(offsetX: number, offsetY: number, options?: IntersectionFromPixelOptions): Promise<null | Intersection>;
535
551
  private getModels;
536
- /** @private */
537
- private moveCameraTo;
552
+ /**
553
+ * Creates a helper for managing viewer state.
554
+ */
555
+ private createViewStateHelper;
538
556
  /** @private */
539
557
  private animate;
540
558
  /** @private */
559
+ private modelIntersectionCallback;
560
+ /** @private */
541
561
  private updateCameraNearAndFar;
542
562
  /** @private */
543
563
  private resizeIfNecessary;
544
- private startPointerEventListeners;
564
+ private readonly startPointerEventListeners;
545
565
  }