@cognite/reveal 2.2.2 → 3.0.0-beta.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 (255) hide show
  1. package/core/cad.d.ts +4 -4
  2. package/core/index.d.ts +7 -7
  3. package/core/src/datamodels/base/SupportedModelTypes.d.ts +4 -4
  4. package/core/src/datamodels/base/index.d.ts +6 -6
  5. package/core/src/datamodels/base/types.d.ts +14 -14
  6. package/core/src/datamodels/cad/CadManager.d.ts +43 -45
  7. package/core/src/datamodels/cad/CadModelFactory.d.ts +14 -7
  8. package/core/src/datamodels/cad/CadModelSectorLoadStatistics.d.ts +38 -38
  9. package/core/src/datamodels/cad/createCadManager.d.ts +9 -9
  10. package/core/src/datamodels/cad/picking.d.ts +28 -28
  11. package/core/src/datamodels/cad/rendering/RenderAlreadyLoadedGeometryProvider.d.ts +10 -10
  12. package/core/src/datamodels/cad/sector/CadModelClipper.d.ts +10 -10
  13. package/core/src/datamodels/cad/styling/AssetNodeCollection.d.ts +45 -38
  14. package/core/src/datamodels/cad/styling/InvertedNodeCollection.d.ts +25 -24
  15. package/core/src/datamodels/cad/styling/NodeCollectionDeserializer.d.ts +26 -26
  16. package/core/src/datamodels/cad/styling/PopulateIndexSetFromPagedResponseHelper.d.ts +30 -24
  17. package/core/src/datamodels/cad/styling/PropertyFilterNodeCollection.d.ts +55 -54
  18. package/core/src/datamodels/cad/styling/SinglePropertyFilterNodeCollection.d.ts +51 -50
  19. package/core/src/datamodels/cad/styling/index.d.ts +8 -8
  20. package/core/src/datamodels/pointcloud/PointCloudFactory.d.ts +9 -9
  21. package/core/src/datamodels/pointcloud/PointCloudManager.d.ts +26 -26
  22. package/core/src/datamodels/pointcloud/PointCloudMetadata.d.ts +14 -11
  23. package/core/src/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +14 -13
  24. package/core/src/datamodels/pointcloud/PointCloudNode.d.ts +62 -62
  25. package/core/src/datamodels/pointcloud/PotreeGroupWrapper.d.ts +39 -39
  26. package/core/src/datamodels/pointcloud/PotreeNodeWrapper.d.ts +38 -38
  27. package/core/src/datamodels/pointcloud/createPointCloudManager.d.ts +6 -6
  28. package/core/src/datamodels/pointcloud/index.d.ts +5 -5
  29. package/core/src/datamodels/pointcloud/picking.d.ts +29 -29
  30. package/core/src/datamodels/pointcloud/types.d.ts +114 -114
  31. package/core/src/index.d.ts +21 -19
  32. package/core/src/internals.d.ts +15 -15
  33. package/core/src/migration.d.ts +8 -8
  34. package/core/src/public/RevealManager.d.ts +64 -64
  35. package/core/src/public/createRevealManager.d.ts +23 -23
  36. package/core/src/public/migration/Cognite3DModel.d.ts +339 -339
  37. package/core/src/public/migration/Cognite3DViewer.d.ts +486 -611
  38. package/core/src/public/migration/CogniteModelBase.d.ts +17 -17
  39. package/core/src/public/migration/CognitePointCloudModel.d.ts +121 -121
  40. package/core/src/public/migration/NodeIdAndTreeIndexMaps.d.ts +4 -4
  41. package/core/src/public/migration/NotSupportedInMigrationWrapperError.d.ts +11 -11
  42. package/core/src/public/migration/RenderController.d.ts +4 -4
  43. package/core/src/public/migration/types.d.ts +239 -290
  44. package/core/src/public/types.d.ts +47 -46
  45. package/core/src/storage/RevealManagerHelper.d.ts +58 -58
  46. package/core/src/utilities/BoundingBoxClipper.d.ts +23 -23
  47. package/core/src/utilities/Spinner.d.ts +27 -27
  48. package/core/src/utilities/ViewStateHelper.d.ts +49 -33
  49. package/core/src/utilities/callActionWithIndicesAsync.d.ts +4 -4
  50. package/core/src/utilities/index.d.ts +8 -8
  51. package/core/src/utilities/reflection.d.ts +7 -7
  52. package/core/src/utilities/worldToViewport.d.ts +30 -30
  53. package/core/utilities.d.ts +4 -4
  54. package/extensions/datasource.d.ts +9 -9
  55. package/extensions/datasource.js +9 -12
  56. package/extensions/datasource.map +1 -1
  57. package/index.d.ts +9 -8
  58. package/index.js +219 -124
  59. package/index.map +1 -1
  60. package/package.json +17 -18
  61. package/packages/cad-geometry-loaders/index.d.ts +13 -14
  62. package/packages/cad-geometry-loaders/src/CadLoadingHints.d.ts +11 -11
  63. package/packages/cad-geometry-loaders/src/{CadModelSectorBudget.d.ts → CadModelBudget.d.ts} +21 -26
  64. package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +44 -44
  65. package/packages/cad-geometry-loaders/src/sector/ModelStateHandler.d.ts +12 -12
  66. package/packages/cad-geometry-loaders/src/sector/SectorDownloadScheduler.d.ts +22 -0
  67. package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +31 -28
  68. package/packages/cad-geometry-loaders/src/sector/culling/ByScreenSizeSectorCuller.d.ts +23 -0
  69. package/packages/cad-geometry-loaders/src/sector/culling/ByVisibilityGpuSectorCuller.d.ts +51 -53
  70. package/packages/cad-geometry-loaders/src/sector/culling/OccludingGeometryProvider.d.ts +6 -6
  71. package/packages/cad-geometry-loaders/src/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +107 -107
  72. package/packages/cad-geometry-loaders/src/sector/culling/SectorCuller.d.ts +33 -33
  73. package/packages/cad-geometry-loaders/src/sector/culling/WeightFunctionsHelper.d.ts +50 -0
  74. package/packages/cad-geometry-loaders/src/sector/culling/computeNdcAreaOfBox.d.ts +12 -0
  75. package/packages/cad-geometry-loaders/src/sector/culling/computeSectorCost.d.ts +7 -0
  76. package/packages/cad-geometry-loaders/src/sector/culling/createV8SectorCuller.d.ts +7 -0
  77. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenSectorMapBase.d.ts +11 -0
  78. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorMap.d.ts +17 -0
  79. package/packages/cad-geometry-loaders/src/sector/culling/{TakenSectorTree.d.ts → takensectors/TakenV8SectorTree.d.ts} +24 -24
  80. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV9SectorMap.d.ts +20 -0
  81. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/index.d.ts +5 -0
  82. package/packages/cad-geometry-loaders/src/sector/culling/transformBoxToNDC.d.ts +5 -0
  83. package/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +83 -71
  84. package/packages/cad-geometry-loaders/src/sector/rxSectorUtilities.d.ts +12 -12
  85. package/packages/cad-geometry-loaders/src/utilities/PromiseUtils.d.ts +28 -18
  86. package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +6 -6
  87. package/packages/cad-geometry-loaders/src/utilities/types.d.ts +25 -25
  88. package/packages/cad-parsers/index.d.ts +21 -21
  89. package/packages/cad-parsers/src/cad/CadSectorParser.d.ts +15 -15
  90. package/packages/cad-parsers/src/cad/LevelOfDetail.d.ts +8 -8
  91. package/packages/cad-parsers/src/cad/filterInstanceMesh.d.ts +6 -6
  92. package/packages/cad-parsers/src/cad/filterPrimitivesCommon.d.ts +5 -0
  93. package/packages/cad-parsers/src/cad/{filterPrimitives.d.ts → filterPrimitivesV8.d.ts} +9 -9
  94. package/packages/cad-parsers/src/cad/filterPrimitivesV9.d.ts +6 -0
  95. package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +31 -31
  96. package/packages/cad-parsers/src/cad/triangleMeshes.d.ts +6 -6
  97. package/packages/cad-parsers/src/cad/types.d.ts +56 -56
  98. package/packages/cad-parsers/src/metadata/CadMetadataParser.d.ts +7 -7
  99. package/packages/cad-parsers/src/metadata/CadModelMetadata.d.ts +54 -44
  100. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +16 -16
  101. package/packages/cad-parsers/src/metadata/MetadataRepository.d.ts +7 -7
  102. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserGltf.d.ts +8 -0
  103. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +6 -51
  104. package/packages/cad-parsers/src/metadata/parsers/types.d.ts +62 -0
  105. package/packages/cad-parsers/src/metadata/types.d.ts +53 -41
  106. package/packages/cad-parsers/src/sector/RootSectorNode.d.ts +12 -12
  107. package/packages/cad-parsers/src/sector/SectorNode.d.ts +21 -21
  108. package/packages/cad-parsers/src/utilities/SectorScene.d.ts +21 -21
  109. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +9 -9
  110. package/packages/cad-parsers/src/utilities/computeBoundingBoxFromAttributes.d.ts +10 -9
  111. package/packages/cad-parsers/src/utilities/float32BufferToMatrix.d.ts +12 -12
  112. package/packages/cad-parsers/src/utilities/types.d.ts +71 -48
  113. package/packages/cad-styling/index.d.ts +14 -9
  114. package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +34 -31
  115. package/packages/cad-styling/src/IntersectionNodeCollection.d.ts +20 -15
  116. package/packages/cad-styling/src/NodeAppearance.d.ts +85 -62
  117. package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +38 -33
  118. package/packages/cad-styling/src/NodeCollection.d.ts +26 -0
  119. package/packages/cad-styling/src/SerializedNodeCollection.d.ts +8 -0
  120. package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +40 -23
  121. package/packages/cad-styling/src/UnionNodeCollection.d.ts +19 -15
  122. package/packages/cad-styling/src/prioritized/AreaCollection.d.ts +39 -0
  123. package/packages/cad-styling/src/prioritized/BoxClusterer.d.ts +29 -0
  124. package/packages/cad-styling/src/prioritized/ClusteredAreaCollection.d.ts +17 -0
  125. package/packages/cad-styling/src/prioritized/EmptyAreaCollection.d.ts +18 -0
  126. package/packages/cad-styling/src/prioritized/types.d.ts +7 -0
  127. package/packages/camera-manager/index.d.ts +6 -4
  128. package/packages/camera-manager/src/CameraManager.d.ts +72 -0
  129. package/packages/camera-manager/src/ComboControls.d.ts +112 -100
  130. package/packages/camera-manager/src/DefaultCameraManager.d.ts +138 -0
  131. package/packages/camera-manager/src/Keyboard.d.ts +17 -17
  132. package/packages/camera-manager/src/types.d.ts +78 -0
  133. package/packages/data-source/index.d.ts +6 -6
  134. package/packages/data-source/src/CdfDataSource.d.ts +19 -19
  135. package/packages/data-source/src/DataSource.d.ts +25 -26
  136. package/packages/data-source/src/LocalDataSource.d.ts +15 -15
  137. package/packages/logger/index.d.ts +5 -5
  138. package/packages/logger/src/Log.d.ts +5 -5
  139. package/packages/metrics/index.d.ts +5 -5
  140. package/packages/metrics/src/MetricsLogger.d.ts +21 -21
  141. package/packages/metrics/src/types.d.ts +7 -7
  142. package/packages/modeldata-api/index.d.ts +13 -13
  143. package/packages/modeldata-api/src/CdfModelDataProvider.d.ts +17 -15
  144. package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +15 -17
  145. package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +20 -19
  146. package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +16 -15
  147. package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +10 -10
  148. package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -14
  149. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +16 -14
  150. package/packages/modeldata-api/src/Model3DOutputList.d.ts +17 -17
  151. package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -12
  152. package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +18 -17
  153. package/packages/modeldata-api/src/applyDefaultModelTransformation.d.ts +6 -6
  154. package/packages/modeldata-api/src/types.d.ts +47 -41
  155. package/packages/modeldata-api/src/utilities.d.ts +7 -7
  156. package/packages/nodes-api/index.d.ts +6 -6
  157. package/packages/nodes-api/src/NodesApiClient.d.ts +50 -52
  158. package/packages/nodes-api/src/NodesCdfClient.d.ts +24 -24
  159. package/packages/nodes-api/src/NodesLocalClient.d.ts +30 -30
  160. package/packages/nodes-api/src/types.d.ts +10 -10
  161. package/packages/rendering/index.d.ts +17 -17
  162. package/packages/rendering/src/CadMaterialManager.d.ts +37 -37
  163. package/packages/rendering/src/GeometryBatchingManager.d.ts +30 -0
  164. package/packages/rendering/src/InstancedMeshManager.d.ts +20 -20
  165. package/packages/rendering/src/rendering/EffectRenderManager.d.ts +99 -99
  166. package/packages/rendering/src/rendering/NodeAppearanceTextureBuilder.d.ts +51 -51
  167. package/packages/rendering/src/rendering/RenderMode.d.ts +15 -15
  168. package/packages/rendering/src/rendering/createSimpleGeometryMesh.d.ts +6 -6
  169. package/packages/rendering/src/rendering/matCapTextureData.d.ts +5 -5
  170. package/packages/rendering/src/rendering/materials.d.ts +23 -23
  171. package/packages/rendering/src/rendering/primitives.d.ts +12 -12
  172. package/packages/rendering/src/rendering/shaders.d.ts +101 -101
  173. package/packages/rendering/src/rendering/types.d.ts +76 -76
  174. package/packages/rendering/src/sector/CadNode.d.ts +57 -54
  175. package/packages/rendering/src/transform/NodeTransformProvider.d.ts +13 -13
  176. package/packages/rendering/src/transform/NodeTransformTextureBuilder.d.ts +23 -23
  177. package/packages/rendering/src/transform/TransformOverrideBuffer.d.ts +21 -21
  178. package/packages/rendering/src/utilities/types.d.ts +26 -26
  179. package/packages/sector-loader/index.d.ts +6 -0
  180. package/packages/sector-loader/src/GltfSectorLoader.d.ts +12 -0
  181. package/packages/sector-loader/src/GltfSectorRepository.d.ts +19 -0
  182. package/packages/sector-loader/src/SectorRepository.d.ts +10 -0
  183. package/packages/{cad-geometry-loaders/src/sector/CachedRepository.d.ts → sector-loader/src/V8SectorRepository.d.ts} +26 -25
  184. package/packages/{cad-geometry-loaders/src/sector → sector-loader/src/v8}/SimpleAndDetailedToSector3D.d.ts +20 -20
  185. package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/arrays.d.ts +5 -5
  186. package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/groupMeshesByNumber.d.ts +8 -8
  187. package/packages/sector-loader/src/v8/sectorUtilities.d.ts +16 -0
  188. package/packages/sector-parser/index.d.ts +5 -0
  189. package/packages/sector-parser/src/DracoDecoderHelper.d.ts +32 -0
  190. package/packages/sector-parser/src/GltfSectorParser.d.ts +19 -0
  191. package/packages/sector-parser/src/constants.d.ts +6 -0
  192. package/packages/sector-parser/src/reveal-glb-parser/GlbMetadataParser.d.ts +14 -0
  193. package/packages/sector-parser/src/reveal-glb-parser/primitiveGeometries.d.ts +12 -0
  194. package/packages/sector-parser/src/types.d.ts +106 -0
  195. package/packages/tools/index.d.ts +15 -15
  196. package/packages/tools/src/AxisView/AxisViewTool.d.ts +32 -32
  197. package/packages/tools/src/AxisView/types.d.ts +98 -98
  198. package/packages/tools/src/Cognite3DViewerToolBase.d.ts +25 -25
  199. package/packages/tools/src/DebugCameraTool.d.ts +20 -20
  200. package/packages/tools/src/DebugLoadedSectorsTool.d.ts +23 -23
  201. package/packages/tools/src/ExplodedViewTool.d.ts +12 -12
  202. package/packages/tools/src/Geomap/Geomap.d.ts +17 -17
  203. package/packages/tools/src/Geomap/GeomapTool.d.ts +23 -24
  204. package/packages/tools/src/Geomap/MapConfig.d.ts +195 -195
  205. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -28
  206. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +160 -159
  207. package/packages/tools/src/Timeline/Keyframe.d.ts +39 -38
  208. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -79
  209. package/packages/tools/src/Timeline/types.d.ts +13 -13
  210. package/packages/tools/src/types.d.ts +4 -4
  211. package/packages/utilities/index.d.ts +30 -24
  212. package/packages/utilities/src/CameraConfiguration.d.ts +10 -10
  213. package/packages/utilities/src/DeferredPromise.d.ts +17 -0
  214. package/packages/utilities/src/IndexSet.d.ts +1 -1
  215. package/packages/utilities/src/NumericRange.d.ts +22 -22
  216. package/packages/utilities/src/RandomColors.d.ts +34 -34
  217. package/packages/utilities/src/WebGLRendererStateHelper.d.ts +15 -15
  218. package/packages/utilities/src/assertNever.d.ts +7 -7
  219. package/packages/utilities/src/cache/MemoryRequestCache.d.ts +24 -22
  220. package/packages/utilities/src/cache/MostFrequentlyUsedCache.d.ts +19 -19
  221. package/packages/utilities/src/cache/RequestCache.d.ts +13 -13
  222. package/packages/utilities/src/calculateVolumeOfMesh.d.ts +4 -0
  223. package/packages/utilities/src/counterMap.d.ts +5 -0
  224. package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +33 -22
  225. package/packages/utilities/src/determinePowerOfTwoDimensions.d.ts +11 -11
  226. package/packages/utilities/src/disposeAttributeArrayOnUpload.d.ts +17 -17
  227. package/packages/utilities/src/events/EventTrigger.d.ts +13 -13
  228. package/packages/utilities/src/events/InputHandler.d.ts +34 -0
  229. package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -13
  230. package/packages/utilities/src/events/index.d.ts +6 -5
  231. package/packages/utilities/src/indexset/IndexSet.d.ts +26 -26
  232. package/packages/utilities/src/indexset/IntermediateIndexNode.d.ts +26 -26
  233. package/packages/utilities/src/indexset/LeafIndexNode.d.ts +16 -16
  234. package/packages/utilities/src/isMobileOrTablet.d.ts +4 -4
  235. package/packages/utilities/src/networking/isTheSameDomain.d.ts +11 -11
  236. package/packages/utilities/src/objectTraversal.d.ts +8 -8
  237. package/packages/utilities/src/packFloat.d.ts +6 -6
  238. package/packages/utilities/src/revealEnv.d.ts +10 -10
  239. package/packages/utilities/src/three/AutoDisposeGroup.d.ts +17 -17
  240. package/packages/utilities/src/three/BoundingBoxLOD.d.ts +27 -27
  241. package/packages/utilities/src/three/isBox3OnPositiveSideOfPlane.d.ts +10 -0
  242. package/packages/utilities/src/three/toThreeBox3.d.ts +6 -0
  243. package/packages/utilities/src/three/unionBoxes.d.ts +5 -0
  244. package/packages/utilities/src/three/visitBox3CornerPoints.d.ts +12 -0
  245. package/packages/utilities/src/transformCameraConfiguration.d.ts +6 -6
  246. package/packages/utilities/src/types.d.ts +11 -10
  247. package/packages/utilities/src/workers/WorkerPool.d.ts +14 -14
  248. package/tools.d.ts +7 -7
  249. package/tools.js +82 -68
  250. package/tools.map +1 -1
  251. package/packages/cad-geometry-loaders/src/sector/Repository.d.ts +0 -9
  252. package/packages/cad-geometry-loaders/src/sector/sectorUtilities.d.ts +0 -20
  253. package/packages/cad-styling/src/NodeCollectionBase.d.ts +0 -47
  254. package/packages/rendering/src/cameraconfig.d.ts +0 -12
  255. package/packages/utilities/src/three/getBox3CornerPoints.d.ts +0 -5
@@ -1,290 +1,239 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { CogniteClient } from '@cognite/sdk';
5
- import { Cognite3DModel } from './Cognite3DModel';
6
- import { CognitePointCloudModel } from './CognitePointCloudModel';
7
- /**
8
- * @module @cognite/reveal
9
- */
10
- export declare type Color = {
11
- r: number;
12
- g: number;
13
- b: number;
14
- };
15
- /**
16
- * Units supported by {@link Cognite3DModel}.
17
- */
18
- export declare type WellKnownUnit = 'Meters' | 'Centimeters' | 'Millimeters' | 'Micrometers' | 'Kilometers' | 'Feet' | 'Inches' | 'Yards' | 'Miles' | 'Mils' | 'Microinches';
19
- /**
20
- * Callback to monitor loaded requests and progress.
21
- * Use OnLoadingCallback instead of onProgress/onComplete.
22
- * @module @cognite/reveal
23
- *
24
- * @param itemsLoaded Number of items loaded so far in this batch.
25
- * @param itemsRequested Total number of items to load in this batch.
26
- * @param itemsCulled Number of items deemed unnecessary to load in this batch.
27
- */
28
- export declare type OnLoadingCallback = (itemsLoaded: number, itemsRequested: number, itemsCulled: number) => void;
29
- /**
30
- * @module @cognite/reveal
31
- */
32
- export interface Cognite3DViewerOptions {
33
- /** Initialized connection to CDF used to load data. */
34
- sdk: CogniteClient;
35
- /** An existing DOM element that we will render canvas into. */
36
- domElement?: HTMLElement;
37
- /** Send anonymous usage statistics. */
38
- logMetrics?: boolean;
39
- /**
40
- * Render to offscreen buffer instead of canvas.
41
- */
42
- renderTargetOptions?: {
43
- target: THREE.WebGLRenderTarget;
44
- autoSetSize?: boolean;
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
- };
60
- /**
61
- * When false, camera near and far planes will not be updated automatically (defaults to true).
62
- * This can be useful when you have custom content in the 3D view and need to better
63
- * control the view frustum.
64
- *
65
- * When automatic camera near/far planes are disabled, you are responsible for setting
66
- * this on your own.
67
- * @example
68
- * ```
69
- * viewer.camera.near = 0.1;
70
- * viewer.camera.far = 1000.0;
71
- * viewer.camera.updateProjectionMatrix();
72
- * ```
73
- */
74
- automaticCameraNearFar?: boolean;
75
- /**
76
- * When false, the sensitivity of the camera controls will not be updated automatically.
77
- * This can be useful to better control the sensitivity of the 3D navigation.
78
- *
79
- * When not set, control the sensitivity of the camera using `viewer.cameraControls.minDistance`
80
- * and `viewer.cameraControls.maxDistance`.
81
- */
82
- automaticControlsSensitivity?: boolean;
83
- /** Renderer used to visualize model (optional). */
84
- renderer?: THREE.WebGLRenderer;
85
- /**
86
- * Hints Reveal to use a given anti-aliasing technique.
87
- *
88
- * Fast approximate anti-aliasing (FXAA) is a fast technique that will remove some, but not all aliasing effects. See
89
- * https://en.wikipedia.org/wiki/Fast_approximate_anti-aliasing.
90
- *
91
- * Multi-sampling anti-aliasinbg (MSAA) is a technique for taking multiple samples per pixel to avoid aliasing effects.
92
- * This mode requires WebGL 2. See https://www.khronos.org/opengl/wiki/Multisampling.
93
- *
94
- * The combined modes will apply both MSAA and FXAA anti-aliasing and yields the best visual result.
95
- *
96
- * When using the MSAA modes combined with FXAA Reveal will fall back to FXAA on WebGL 1. There is no fallback for the
97
- * "plain" MSAA modes on WebGL 1.
98
- *
99
- * Currently the default mode is FXAA, but this is subject to change.
100
- */
101
- antiAliasingHint?: 'disabled' | 'fxaa' | 'msaa2+fxaa' | 'msaa4+fxaa' | 'msaa8+fxaa' | 'msaa16+fxaa' | 'msaa2' | 'msaa4' | 'msaa8' | 'msaa16';
102
- /**
103
- * Hints the renderer of the quality it should aim for for screen space ambient occlusion,
104
- * an effect creating shadows and that gives the rendered image more depth.
105
- */
106
- ssaoQualityHint?: 'medium' | 'high' | 'veryhigh' | 'disabled';
107
- /**
108
- * Enables / disables visualizing the edges of geometry. Defaults to true.
109
- */
110
- enableEdges?: boolean;
111
- /** Callback to download stream progress. */
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;
124
- }
125
- import { GeometryFilter } from '../../public/types';
126
- import { DataSource } from '../../../../packages/data-source';
127
- export { GeometryFilter };
128
- /**
129
- * @module @cognite/reveal
130
- */
131
- export interface AddModelOptions {
132
- modelId: number;
133
- revisionId: number;
134
- localPath?: string;
135
- geometryFilter?: GeometryFilter;
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
- };
161
- export declare type CadIntersection = {
162
- /**
163
- * The intersection type.
164
- */
165
- type: 'cad';
166
- /**
167
- * The model that was intersected.
168
- */
169
- model: Cognite3DModel;
170
- /**
171
- * Coordinate of the intersection.
172
- */
173
- point: THREE.Vector3;
174
- /**
175
- * Tree index of the intersected 3D node.
176
- */
177
- treeIndex: number;
178
- /**
179
- * Distance from the camera to the intersection.
180
- */
181
- distanceToCamera: number;
182
- };
183
- export declare type PointCloudIntersection = {
184
- /**
185
- * The intersection type.
186
- */
187
- type: 'pointcloud';
188
- /**
189
- * The model that was intersected.
190
- */
191
- model: CognitePointCloudModel;
192
- /**
193
- * Tree index of the intersected 3D node.
194
- */
195
- point: THREE.Vector3;
196
- /**
197
- * The index of the point that was intersected.
198
- */
199
- pointIndex: number;
200
- /**
201
- * Distance from the camera to the intersection.
202
- */
203
- distanceToCamera: number;
204
- };
205
- /**
206
- * Represents the result from {@link Cognite3DViewer.getIntersectionFromPixel}.
207
- * @module @cognite/reveal
208
- */
209
- export declare type Intersection = CadIntersection | PointCloudIntersection;
210
- /**
211
- * @module @cognite/reveal
212
- */
213
- export { CameraConfiguration } from '../../../../packages/utilities';
214
- /**
215
- * Delegate for pointer events.
216
- * @module @cognite/reveal
217
- * @see {@link Cognite3DViewer.on}.
218
- */
219
- export declare type PointerEventDelegate = (event: {
220
- offsetX: number;
221
- offsetY: number;
222
- }) => void;
223
- /**
224
- * Delegate for camera update events.
225
- * @module @cognite/reveal
226
- * @see {@link Cognite3DViewer.on}.
227
- */
228
- export declare type CameraChangeDelegate = (position: THREE.Vector3, target: THREE.Vector3) => void;
229
- /**
230
- * Delegate for disposal events.
231
- */
232
- export declare type DisposedDelegate = () => void;
233
- /**
234
- * Delegate for rendering events.
235
- * @module @cognite/reveal
236
- * @see {@link Cognite3DViewer.on}.
237
- */
238
- export declare type SceneRenderedDelegate = (event: {
239
- frameNumber: number;
240
- renderTime: number;
241
- renderer: THREE.WebGLRenderer;
242
- camera: THREE.PerspectiveCamera;
243
- }) => void;
244
- export * from './NotSupportedInMigrationWrapperError';
245
- export { CogniteModelBase } from './CogniteModelBase';
246
- /**
247
- * Represents a measurement of how much geometry can be loaded.
248
- */
249
- export declare type CadModelBudget = {
250
- /**
251
- * Sectors within this distance from the camera will always be loaded in high details.
252
- */
253
- readonly highDetailProximityThreshold: number;
254
- /**
255
- * Number of bytes of the geometry that must be downloaded.
256
- */
257
- readonly geometryDownloadSizeBytes: number;
258
- /**
259
- * Estimated maximum number of WebGL draw calls to download geometry for. Draw calls
260
- * are very important for the framerate.
261
- */
262
- readonly maximumNumberOfDrawCalls: number;
263
- /**
264
- * Maximum render cost. This number can be thought of as triangle count, although the number
265
- * doesn't match this directly.
266
- */
267
- readonly maximumRenderCost: number;
268
- };
269
- /**
270
- * Represents a budget of how many point from point clouds can be
271
- * loaded at the same time.
272
- */
273
- export declare type PointCloudBudget = {
274
- /**
275
- * Total number of points that can be loaded for all point clouds models
276
- * accumulated.
277
- */
278
- readonly numberOfPoints: number;
279
- };
280
- /**
281
- * Options to control how {@link Cognite3DViewer.getIntersectionFromPixel} behaves.
282
- */
283
- export interface IntersectionFromPixelOptions {
284
- /**
285
- * Threshold (in meters) for how close a point must be an intersection
286
- * ray for it to be considered an intersection for point clouds. Defaults
287
- * to 0.05.
288
- */
289
- pointIntersectionThreshold?: number;
290
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { CogniteClient } from '@cognite/sdk';
5
+ import { CadModelBudget } from '../../../../packages/cad-geometry-loaders';
6
+ import { Cognite3DModel } from './Cognite3DModel';
7
+ import { CognitePointCloudModel } from './CognitePointCloudModel';
8
+ import { CameraManager } from '../../../../packages/camera-manager';
9
+ /**
10
+ * @module @cognite/reveal
11
+ */
12
+ export declare type Color = {
13
+ r: number;
14
+ g: number;
15
+ b: number;
16
+ };
17
+ /**
18
+ * Units supported by {@link Cognite3DModel}.
19
+ */
20
+ export declare type WellKnownUnit = 'Meters' | 'Centimeters' | 'Millimeters' | 'Micrometers' | 'Kilometers' | 'Feet' | 'Inches' | 'Yards' | 'Miles' | 'Mils' | 'Microinches';
21
+ /**
22
+ * Callback to monitor loaded requests and progress.
23
+ * Use OnLoadingCallback instead of onProgress/onComplete.
24
+ * @module @cognite/reveal
25
+ *
26
+ * @param itemsLoaded Number of items loaded so far in this batch.
27
+ * @param itemsRequested Total number of items to load in this batch.
28
+ * @param itemsCulled Number of items deemed unnecessary to load in this batch.
29
+ */
30
+ export declare type OnLoadingCallback = (itemsLoaded: number, itemsRequested: number, itemsCulled: number) => void;
31
+ /**
32
+ * @module @cognite/reveal
33
+ */
34
+ export interface Cognite3DViewerOptions {
35
+ /** Initialized connection to CDF used to load data. */
36
+ sdk: CogniteClient;
37
+ /** An existing DOM element that we will render canvas into. */
38
+ domElement?: HTMLElement;
39
+ /** Send anonymous usage statistics. */
40
+ logMetrics?: boolean;
41
+ /**
42
+ * Render to offscreen buffer instead of canvas.
43
+ */
44
+ renderTargetOptions?: {
45
+ target: THREE.WebGLRenderTarget;
46
+ autoSetSize?: boolean;
47
+ };
48
+ /**
49
+ * Style the loading indicator.
50
+ */
51
+ loadingIndicatorStyle?: {
52
+ /**
53
+ * What corner the spinner should be placed in. Defaults top topLeft.
54
+ */
55
+ placement: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight';
56
+ /**
57
+ * Opacity of the spinner in fractions. Valid values are between
58
+ * 0.2 and 1.0. Defaults to 1.0.
59
+ */
60
+ opacity: number;
61
+ };
62
+ /**
63
+ * Camera manager instance that is used for controlling the camera.
64
+ * It is responsible for all manipulations that are done with the camera,
65
+ * including animations and modification of state. Also, gives ability
66
+ * to provide custom `THREE.PerspectiveCamera` instance to {@link Cognite3DViewer}.
67
+ * Default implementation is {@link DefaultCameraManager}.
68
+ */
69
+ cameraManager?: CameraManager;
70
+ /** Renderer used to visualize model (optional). */
71
+ renderer?: THREE.WebGLRenderer;
72
+ /**
73
+ * Hints Reveal to use a given anti-aliasing technique.
74
+ *
75
+ * Fast approximate anti-aliasing (FXAA) is a fast technique that will remove some, but not all aliasing effects. See
76
+ * https://en.wikipedia.org/wiki/Fast_approximate_anti-aliasing.
77
+ *
78
+ * Multi-sampling anti-aliasinbg (MSAA) is a technique for taking multiple samples per pixel to avoid aliasing effects.
79
+ * This mode requires WebGL 2. See https://www.khronos.org/opengl/wiki/Multisampling.
80
+ *
81
+ * The combined modes will apply both MSAA and FXAA anti-aliasing and yields the best visual result.
82
+ *
83
+ * When using the MSAA modes combined with FXAA Reveal will fall back to FXAA on WebGL 1. There is no fallback for the
84
+ * "plain" MSAA modes on WebGL 1.
85
+ *
86
+ * Currently the default mode is FXAA, but this is subject to change.
87
+ */
88
+ antiAliasingHint?: 'disabled' | 'fxaa' | 'msaa2+fxaa' | 'msaa4+fxaa' | 'msaa8+fxaa' | 'msaa16+fxaa' | 'msaa2' | 'msaa4' | 'msaa8' | 'msaa16';
89
+ /**
90
+ * Hints the renderer of the quality it should aim for for screen space ambient occlusion,
91
+ * an effect creating shadows and that gives the rendered image more depth.
92
+ */
93
+ ssaoQualityHint?: 'medium' | 'high' | 'veryhigh' | 'disabled';
94
+ /**
95
+ * Enables / disables visualizing the edges of geometry. Defaults to true.
96
+ */
97
+ enableEdges?: boolean;
98
+ /** Callback to download stream progress. */
99
+ onLoading?: OnLoadingCallback;
100
+ /**
101
+ * Allows providing a custom data source that Reveal will
102
+ * use to load model data. Note that some features might not
103
+ * work when implementing a custom data source. Please refer
104
+ * to the Reveal documentation for details.
105
+ *
106
+ * Note that the data source must support {@link CdfModelIdentifier}.
107
+ *
108
+ * This cannot be used together with {@link _localModels}.
109
+ */
110
+ customDataSource?: DataSource;
111
+ /**
112
+ * Allows for controlling if geometry streaming should be halted when
113
+ * the camera is moving. Note that this option should left to false on
114
+ * low-end devices as more loading can cause frame drops.
115
+ *
116
+ * Default value is set to false.
117
+ */
118
+ continuousModelStreaming?: boolean;
119
+ }
120
+ import { GeometryFilter } from '../../public/types';
121
+ import { DataSource } from '../../../../packages/data-source';
122
+ export { GeometryFilter };
123
+ /**
124
+ * @module @cognite/reveal
125
+ */
126
+ export interface AddModelOptions {
127
+ modelId: number;
128
+ revisionId: number;
129
+ localPath?: string;
130
+ geometryFilter?: GeometryFilter;
131
+ }
132
+ export declare type CadIntersection = {
133
+ /**
134
+ * The intersection type.
135
+ */
136
+ type: 'cad';
137
+ /**
138
+ * The model that was intersected.
139
+ */
140
+ model: Cognite3DModel;
141
+ /**
142
+ * Coordinate of the intersection.
143
+ */
144
+ point: THREE.Vector3;
145
+ /**
146
+ * Tree index of the intersected 3D node.
147
+ */
148
+ treeIndex: number;
149
+ /**
150
+ * Distance from the camera to the intersection.
151
+ */
152
+ distanceToCamera: number;
153
+ };
154
+ export declare type PointCloudIntersection = {
155
+ /**
156
+ * The intersection type.
157
+ */
158
+ type: 'pointcloud';
159
+ /**
160
+ * The model that was intersected.
161
+ */
162
+ model: CognitePointCloudModel;
163
+ /**
164
+ * Tree index of the intersected 3D node.
165
+ */
166
+ point: THREE.Vector3;
167
+ /**
168
+ * The index of the point that was intersected.
169
+ */
170
+ pointIndex: number;
171
+ /**
172
+ * Distance from the camera to the intersection.
173
+ */
174
+ distanceToCamera: number;
175
+ };
176
+ /**
177
+ * Represents the result from {@link Cognite3DViewer.getIntersectionFromPixel}.
178
+ * @module @cognite/reveal
179
+ */
180
+ export declare type Intersection = CadIntersection | PointCloudIntersection;
181
+ /**
182
+ * @module @cognite/reveal
183
+ */
184
+ export { CameraConfiguration } from '../../../../packages/utilities';
185
+ /**
186
+ * Delegate for pointer events.
187
+ * @module @cognite/reveal
188
+ * @see {@link Cognite3DViewer.on}.
189
+ */
190
+ export declare type PointerEventDelegate = (event: {
191
+ offsetX: number;
192
+ offsetY: number;
193
+ }) => void;
194
+ /**
195
+ * Delegate for camera update events.
196
+ * @module @cognite/reveal
197
+ * @see {@link Cognite3DViewer.on}.
198
+ */
199
+ export declare type CameraChangeDelegate = (position: THREE.Vector3, target: THREE.Vector3) => void;
200
+ /**
201
+ * Delegate for disposal events.
202
+ */
203
+ export declare type DisposedDelegate = () => void;
204
+ /**
205
+ * Delegate for rendering events.
206
+ * @module @cognite/reveal
207
+ * @see {@link Cognite3DViewer.on}.
208
+ */
209
+ export declare type SceneRenderedDelegate = (event: {
210
+ frameNumber: number;
211
+ renderTime: number;
212
+ renderer: THREE.WebGLRenderer;
213
+ camera: THREE.PerspectiveCamera;
214
+ }) => void;
215
+ export * from './NotSupportedInMigrationWrapperError';
216
+ export { CogniteModelBase } from './CogniteModelBase';
217
+ export { CadModelBudget };
218
+ /**
219
+ * Represents a budget of how many point from point clouds can be
220
+ * loaded at the same time.
221
+ */
222
+ export declare type PointCloudBudget = {
223
+ /**
224
+ * Total number of points that can be loaded for all point clouds models
225
+ * accumulated.
226
+ */
227
+ readonly numberOfPoints: number;
228
+ };
229
+ /**
230
+ * Options to control how {@link Cognite3DViewer.getIntersectionFromPixel} behaves.
231
+ */
232
+ export interface IntersectionFromPixelOptions {
233
+ /**
234
+ * Threshold (in meters) for how close a point must be an intersection
235
+ * ray for it to be considered an intersection for point clouds. Defaults
236
+ * to 0.05.
237
+ */
238
+ pointIntersectionThreshold?: number;
239
+ }
@@ -1,46 +1,47 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import { LoadingState, SectorCuller } from '../../../packages/cad-geometry-loaders';
5
- import { SectorQuads, RenderOptions } from '../../../packages/rendering';
6
- import { SectorGeometry } from '../../../packages/cad-parsers';
7
- /**
8
- * @property logMetrics Might be used to disable usage statistics.
9
- * @property nodeAppearanceProvider Style node by tree-index.
10
- * @property internal Internals are for internal usage only (like unit-testing).
11
- */
12
- export declare type RevealOptions = {
13
- logMetrics?: boolean;
14
- renderOptions?: RenderOptions;
15
- internal?: {
16
- parseCallback?: (parsed: {
17
- lod: string;
18
- data: SectorGeometry | SectorQuads;
19
- }) => void;
20
- sectorCuller?: SectorCuller;
21
- };
22
- };
23
- export interface GeometryFilter {
24
- /**
25
- * The bounds to load geometry within. By default this box is in CDF coordinate space which
26
- * will be transformed into coordinates relative to the model using the the model transformation
27
- * which can be specified using {@link https://docs.cognite.com/api/v1/#operation/update3DRevisions |the CDF API},
28
- * or set in {@link https://fusion.cognite.com/ |Cognite Fusion}.
29
- * @see {@link isBoundingBoxInModelCoordinates}.
30
- */
31
- boundingBox?: THREE.Box3;
32
- /**
33
- * When set, the geometry filter {@link boundingBox} will be considered to be in "Reveal/ThreeJS space".
34
- * Rather than CDF space which is the default. When using Reveal space, the model transformation
35
- * which can be specified using {@link https://docs.cognite.com/api/v1/#operation/update3DRevisions |the CDF API},
36
- * or set in {@link https://fusion.cognite.com/ |Cognite Fusion}.
37
- */
38
- isBoundingBoxInModelCoordinates?: boolean;
39
- }
40
- /**
41
- * Handler for events about data being loaded.
42
- */
43
- export declare type LoadingStateChangeListener = (loadingState: LoadingState) => any;
44
- export * from '../datamodels/pointcloud/types';
45
- export * from './migration/types';
46
- export { SupportedModelTypes } from '../datamodels/base';
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import { LoadingState, SectorCuller } from '../../../packages/cad-geometry-loaders';
5
+ import { SectorQuads, RenderOptions } from '../../../packages/rendering';
6
+ import { SectorGeometry } from '../../../packages/cad-parsers';
7
+ /**
8
+ * @property logMetrics Might be used to disable usage statistics.
9
+ * @property nodeAppearanceProvider Style node by tree-index.
10
+ * @property internal Internals are for internal usage only (like unit-testing).
11
+ */
12
+ export declare type RevealOptions = {
13
+ logMetrics?: boolean;
14
+ renderOptions?: RenderOptions;
15
+ continuousModelStreaming?: boolean;
16
+ internal?: {
17
+ parseCallback?: (parsed: {
18
+ lod: string;
19
+ data: SectorGeometry | SectorQuads;
20
+ }) => void;
21
+ sectorCuller?: SectorCuller;
22
+ };
23
+ };
24
+ export interface GeometryFilter {
25
+ /**
26
+ * The bounds to load geometry within. By default this box is in CDF coordinate space which
27
+ * will be transformed into coordinates relative to the model using the the model transformation
28
+ * which can be specified using {@link https://docs.cognite.com/api/v1/#operation/update3DRevisions |the CDF API},
29
+ * or set in {@link https://fusion.cognite.com/ |Cognite Fusion}.
30
+ * @see {@link isBoundingBoxInModelCoordinates}.
31
+ */
32
+ boundingBox?: THREE.Box3;
33
+ /**
34
+ * When set, the geometry filter {@link boundingBox} will be considered to be in "Reveal/ThreeJS space".
35
+ * Rather than CDF space which is the default. When using Reveal space, the model transformation
36
+ * which can be specified using {@link https://docs.cognite.com/api/v1/#operation/update3DRevisions |the CDF API},
37
+ * or set in {@link https://fusion.cognite.com/ |Cognite Fusion}.
38
+ */
39
+ isBoundingBoxInModelCoordinates?: boolean;
40
+ }
41
+ /**
42
+ * Handler for events about data being loaded.
43
+ */
44
+ export declare type LoadingStateChangeListener = (loadingState: LoadingState) => any;
45
+ export * from '../datamodels/pointcloud/types';
46
+ export * from './migration/types';
47
+ export { SupportedModelTypes } from '../datamodels/base';