@cognite/reveal 3.1.0 → 4.0.0-dev.20221025

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 (393) hide show
  1. package/4ecf80bd209836dc884c.worker.js.LICENSE.txt +24 -0
  2. package/README.md +34 -1
  3. package/eptBinaryDecoder.worker.map +1 -1
  4. package/extensions/datasource.d.ts +9 -9
  5. package/extensions/datasource.js +2 -26
  6. package/{core/src/public/migration/RenderController.d.ts → extensions/datasource.js.LICENSE.txt} +3 -4
  7. package/extensions/datasource.map +1 -1
  8. package/index.d.ts +16 -13
  9. package/index.js +2 -576
  10. package/index.js.LICENSE.txt +19 -0
  11. package/index.map +1 -1
  12. package/package.json +9 -9
  13. package/packages/360-images/index.d.ts +6 -0
  14. package/packages/360-images/src/Image360Entity.d.ts +44 -0
  15. package/packages/360-images/src/Image360EntityFactory.d.ts +13 -0
  16. package/packages/360-images/src/Image360Facade.d.ts +20 -0
  17. package/packages/360-images/src/Image360Icon.d.ts +16 -0
  18. package/packages/api/index.d.ts +11 -0
  19. package/packages/api/src/api-helpers/Image360ApiHelper.d.ts +28 -0
  20. package/{core → packages/api}/src/public/RevealManager.d.ts +51 -52
  21. package/{core → packages/api}/src/public/createRevealManager.d.ts +24 -24
  22. package/{core → packages/api}/src/public/migration/Cognite3DViewer.d.ts +534 -498
  23. package/{core → packages/api}/src/public/migration/renderOptionsHelpers.d.ts +36 -29
  24. package/{core → packages/api}/src/public/migration/types.d.ts +182 -171
  25. package/{core → packages/api}/src/public/types.d.ts +32 -30
  26. package/{core → packages/api}/src/storage/RevealManagerHelper.d.ts +61 -60
  27. package/{core → packages/api}/src/utilities/Spinner.d.ts +27 -27
  28. package/{core → packages/api}/src/utilities/ViewStateHelper.d.ts +49 -49
  29. package/{core → packages/api}/src/utilities/reflection.d.ts +7 -7
  30. package/packages/cad-geometry-loaders/index.d.ts +9 -10
  31. package/packages/cad-geometry-loaders/src/CadLoadingHints.d.ts +11 -11
  32. package/packages/cad-geometry-loaders/src/CadManager.d.ts +46 -46
  33. package/packages/cad-geometry-loaders/src/CadModelBudget.d.ts +21 -21
  34. package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +44 -44
  35. package/packages/cad-geometry-loaders/src/InternalRevealCadOptions.d.ts +7 -13
  36. package/packages/cad-geometry-loaders/src/createCadManager.d.ts +10 -10
  37. package/packages/cad-geometry-loaders/src/sector/ModelStateHandler.d.ts +12 -12
  38. package/packages/cad-geometry-loaders/src/sector/SectorDownloadScheduler.d.ts +22 -22
  39. package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +31 -32
  40. package/packages/cad-geometry-loaders/src/sector/culling/ByScreenSizeSectorCuller.d.ts +23 -23
  41. package/packages/cad-geometry-loaders/src/sector/culling/SectorCuller.d.ts +33 -33
  42. package/packages/cad-geometry-loaders/src/sector/culling/WeightFunctionsHelper.d.ts +51 -50
  43. package/packages/cad-geometry-loaders/src/sector/culling/computeNdcAreaOfBox.d.ts +12 -12
  44. package/packages/cad-geometry-loaders/src/sector/culling/computeSectorCost.d.ts +6 -7
  45. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenSectorMapBase.d.ts +11 -11
  46. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV9SectorMap.d.ts +20 -20
  47. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/index.d.ts +4 -5
  48. package/packages/cad-geometry-loaders/src/sector/culling/transformBoxToNDC.d.ts +5 -5
  49. package/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +83 -83
  50. package/packages/cad-geometry-loaders/src/sector/rxSectorUtilities.d.ts +12 -12
  51. package/packages/cad-geometry-loaders/src/utilities/PromiseUtils.d.ts +28 -28
  52. package/packages/cad-model/index.d.ts +9 -9
  53. package/packages/cad-model/src/CadModelFactory.d.ts +16 -17
  54. package/packages/cad-model/src/batching/GeometryBatchingManager.d.ts +31 -31
  55. package/packages/cad-model/src/picking/PickingHandler.d.ts +36 -35
  56. package/packages/cad-model/src/picking/readPixelsFromTargetAsync.d.ts +17 -0
  57. package/packages/cad-model/src/types.d.ts +59 -59
  58. package/packages/cad-model/src/utilities/BoundingBoxClipper.d.ts +23 -23
  59. package/packages/cad-model/src/utilities/NodeIdAndTreeIndexMaps.d.ts +4 -4
  60. package/packages/cad-model/src/utilities/callActionWithIndicesAsync.d.ts +4 -4
  61. package/packages/cad-model/src/wrappers/CadNode.d.ts +47 -54
  62. package/packages/cad-model/src/wrappers/Cognite3DModel.d.ts +337 -337
  63. package/packages/cad-parsers/index.d.ts +15 -20
  64. package/packages/cad-parsers/src/cad/LevelOfDetail.d.ts +8 -8
  65. package/packages/cad-parsers/src/cad/filterPrimitivesCommon.d.ts +5 -5
  66. package/packages/cad-parsers/src/cad/filterPrimitivesV9.d.ts +6 -6
  67. package/packages/cad-parsers/src/cad/types.d.ts +44 -56
  68. package/packages/cad-parsers/src/metadata/CadMetadataParser.d.ts +7 -7
  69. package/packages/cad-parsers/src/metadata/CadModelClipper.d.ts +10 -10
  70. package/packages/cad-parsers/src/metadata/CadModelMetadata.d.ts +54 -54
  71. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +16 -16
  72. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserGltf.d.ts +8 -8
  73. package/packages/cad-parsers/src/metadata/parsers/types.d.ts +62 -62
  74. package/packages/cad-parsers/src/metadata/types.d.ts +52 -53
  75. package/packages/cad-parsers/src/sector/RootSectorNode.d.ts +13 -13
  76. package/packages/cad-parsers/src/sector/SectorNode.d.ts +22 -22
  77. package/packages/cad-parsers/src/utilities/SectorScene.d.ts +23 -23
  78. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +9 -9
  79. package/packages/cad-parsers/src/utilities/computeBoundingBoxFromAttributes.d.ts +14 -10
  80. package/packages/cad-parsers/src/utilities/types.d.ts +71 -71
  81. package/packages/cad-styling/index.d.ts +21 -20
  82. package/packages/cad-styling/src/AssetNodeCollection.d.ts +47 -47
  83. package/packages/cad-styling/src/CdfModelNodeCollectionDataProvider.d.ts +26 -26
  84. package/packages/cad-styling/src/CdfNodeCollectionBase.d.ts +20 -0
  85. package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +34 -34
  86. package/packages/cad-styling/src/IntersectionNodeCollection.d.ts +20 -20
  87. package/packages/cad-styling/src/InvertedNodeCollection.d.ts +27 -27
  88. package/packages/cad-styling/src/NodeAppearance.d.ts +85 -85
  89. package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +38 -38
  90. package/packages/cad-styling/src/NodeCollection.d.ts +31 -26
  91. package/packages/cad-styling/src/NodeCollectionDeserializer.d.ts +21 -26
  92. package/packages/cad-styling/src/NodeIdNodeCollection.d.ts +30 -0
  93. package/packages/cad-styling/src/PopulateIndexSetFromPagedResponseHelper.d.ts +30 -30
  94. package/packages/cad-styling/src/PropertyFilterNodeCollection.d.ts +45 -57
  95. package/packages/cad-styling/src/SerializedNodeCollection.d.ts +8 -8
  96. package/packages/cad-styling/src/SinglePropertyFilterNodeCollection.d.ts +41 -53
  97. package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +42 -40
  98. package/packages/cad-styling/src/UnionNodeCollection.d.ts +19 -19
  99. package/packages/cad-styling/src/prioritized/AreaCollection.d.ts +39 -39
  100. package/packages/cad-styling/src/prioritized/BoxClusterer.d.ts +29 -29
  101. package/packages/cad-styling/src/prioritized/ClusteredAreaCollection.d.ts +17 -17
  102. package/packages/cad-styling/src/prioritized/EmptyAreaCollection.d.ts +18 -18
  103. package/packages/cad-styling/src/prioritized/types.d.ts +7 -7
  104. package/packages/camera-manager/index.d.ts +10 -8
  105. package/packages/camera-manager/src/CameraManager.d.ts +78 -74
  106. package/packages/camera-manager/src/CameraManagerHelper.d.ts +42 -42
  107. package/packages/camera-manager/src/ComboControls.d.ts +110 -112
  108. package/packages/camera-manager/src/DefaultCameraManager.d.ts +150 -136
  109. package/packages/camera-manager/src/Keyboard.d.ts +19 -17
  110. package/packages/camera-manager/src/ProxyCameraManager.d.ts +25 -0
  111. package/packages/camera-manager/src/StationaryCameraManager.d.ts +27 -0
  112. package/packages/camera-manager/src/types.d.ts +66 -66
  113. package/packages/data-providers/index.d.ts +21 -0
  114. package/packages/data-providers/src/Image360Provider.d.ts +6 -0
  115. package/packages/data-providers/src/ModelDataProvider.d.ts +21 -0
  116. package/packages/{modeldata-api → data-providers}/src/ModelIdentifier.d.ts +12 -12
  117. package/packages/{modeldata-api → data-providers}/src/ModelMetadataProvider.d.ts +18 -18
  118. package/packages/data-providers/src/PointCloudStylableObjectProvider.d.ts +8 -0
  119. package/packages/data-providers/src/image-360-data-providers/Cdf360ImageEventProvider.d.ts +16 -0
  120. package/packages/data-providers/src/image-360-data-providers/Local360ImageProvider.d.ts +8 -0
  121. package/packages/{modeldata-api/src → data-providers/src/metadata-providers}/CdfModelMetadataProvider.d.ts +20 -20
  122. package/packages/{modeldata-api/src → data-providers/src/metadata-providers}/LocalModelMetadataProvider.d.ts +16 -16
  123. package/packages/{modeldata-api/src → data-providers/src/model-data-providers}/CdfModelDataProvider.d.ts +16 -16
  124. package/packages/{modeldata-api/src → data-providers/src/model-data-providers}/LocalModelDataProvider.d.ts +8 -8
  125. package/packages/{modeldata-api/src → data-providers/src/model-identifiers}/CdfModelIdentifier.d.ts +15 -15
  126. package/packages/{modeldata-api/src → data-providers/src/model-identifiers}/LocalModelIdentifier.d.ts +14 -14
  127. package/packages/data-providers/src/pointcloud-stylable-object-providers/CdfPointCloudStylableObjectProvider.d.ts +14 -0
  128. package/packages/data-providers/src/pointcloud-stylable-object-providers/DummyPointCloudStylableObjectProvider.d.ts +9 -0
  129. package/packages/data-providers/src/pointcloud-stylable-object-providers/StylableObject.d.ts +12 -0
  130. package/packages/data-providers/src/pointcloud-stylable-object-providers/cdfAnnotationsToObjects.d.ts +5 -0
  131. package/packages/data-providers/src/pointcloud-stylable-object-providers/types.d.ts +19 -0
  132. package/packages/data-providers/src/types.d.ts +44 -0
  133. package/packages/{modeldata-api/src → data-providers/src/utilities}/applyDefaultModelTransformation.d.ts +6 -6
  134. package/packages/{modeldata-api/src/utilities.d.ts → data-providers/src/utilities/fetchWithStatusCheck.d.ts} +5 -7
  135. package/packages/data-source/index.d.ts +6 -6
  136. package/packages/data-source/src/CdfDataSource.d.ts +19 -19
  137. package/packages/data-source/src/DataSource.d.ts +25 -25
  138. package/packages/data-source/src/LocalDataSource.d.ts +15 -15
  139. package/packages/logger/index.d.ts +5 -5
  140. package/packages/logger/src/Log.d.ts +5 -5
  141. package/packages/metrics/index.d.ts +4 -4
  142. package/packages/metrics/src/MetricsLogger.d.ts +34 -21
  143. package/packages/metrics/src/types.d.ts +7 -7
  144. package/packages/model-base/index.d.ts +7 -7
  145. package/packages/model-base/src/CogniteModelBase.d.ts +17 -17
  146. package/packages/model-base/src/MetadataRepository.d.ts +7 -7
  147. package/packages/model-base/src/SupportedModelTypes.d.ts +4 -4
  148. package/packages/model-base/src/types.d.ts +36 -36
  149. package/packages/nodes-api/index.d.ts +6 -6
  150. package/packages/nodes-api/src/NodesApiClient.d.ts +50 -50
  151. package/packages/nodes-api/src/NodesCdfClient.d.ts +24 -24
  152. package/packages/nodes-api/src/NodesLocalClient.d.ts +30 -30
  153. package/packages/nodes-api/src/types.d.ts +10 -10
  154. package/packages/pointcloud-styling/index.d.ts +7 -0
  155. package/packages/pointcloud-styling/src/AnnotationIdPointCloudObjectCollection.d.ts +13 -0
  156. package/packages/pointcloud-styling/src/PointCloudAppearance.d.ts +10 -0
  157. package/packages/pointcloud-styling/src/PointCloudObjectCollection.d.ts +23 -0
  158. package/packages/pointcloud-styling/src/StyledPointCloudObjectCollection.d.ts +13 -0
  159. package/packages/pointclouds/index.d.ts +18 -15
  160. package/packages/pointclouds/src/CognitePointCloudModel.d.ts +182 -131
  161. package/packages/pointclouds/src/PointCloudBudget.d.ts +14 -14
  162. package/packages/pointclouds/src/PointCloudFactory.d.ts +18 -13
  163. package/packages/pointclouds/src/PointCloudIntersection.d.ts +30 -26
  164. package/packages/pointclouds/src/PointCloudManager.d.ts +38 -37
  165. package/packages/pointclouds/src/PointCloudMetadata.d.ts +15 -14
  166. package/packages/pointclouds/src/PointCloudMetadataRepository.d.ts +14 -14
  167. package/packages/pointclouds/src/PointCloudNode.d.ts +78 -69
  168. package/packages/pointclouds/src/{picking.d.ts → PointCloudPickingHandler.d.ts} +40 -29
  169. package/packages/pointclouds/src/PotreeGroupWrapper.d.ts +46 -46
  170. package/packages/pointclouds/src/PotreeNodeWrapper.d.ts +52 -36
  171. package/packages/pointclouds/src/PotreePnextLoader.d.ts +4 -4
  172. package/packages/pointclouds/src/classificationsProviders/IPointClassificationsProvider.d.ts +8 -0
  173. package/packages/pointclouds/src/classificationsProviders/LocalPointClassificationsProvider.d.ts +9 -0
  174. package/packages/pointclouds/src/classificationsProviders/UrlPointClassificationsProvider.d.ts +12 -0
  175. package/packages/pointclouds/src/constants.d.ts +5 -0
  176. package/packages/pointclouds/src/createPointCloudManager.d.ts +9 -7
  177. package/packages/pointclouds/src/decomposeStylableObjects.d.ts +5 -0
  178. package/packages/pointclouds/src/potree-three-loader/Potree.d.ts +38 -46
  179. package/packages/pointclouds/src/potree-three-loader/geometry/IPointCloudTreeGeometry.d.ts +10 -10
  180. package/packages/pointclouds/src/potree-three-loader/geometry/IPointCloudTreeGeometryNode.d.ts +11 -11
  181. package/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometry.d.ts +45 -50
  182. package/packages/pointclouds/src/potree-three-loader/geometry/PointCloudEptGeometryNode.d.ts +64 -63
  183. package/packages/pointclouds/src/potree-three-loader/geometry/translationUtils.d.ts +7 -7
  184. package/packages/pointclouds/src/potree-three-loader/index.d.ts +9 -10
  185. package/packages/pointclouds/src/potree-three-loader/loading/ClassificationInfo.d.ts +15 -0
  186. package/packages/pointclouds/src/potree-three-loader/loading/EptBinaryLoader.d.ts +15 -12
  187. package/packages/pointclouds/src/potree-three-loader/loading/EptJson.d.ts +25 -0
  188. package/packages/pointclouds/src/potree-three-loader/loading/EptLoader.d.ts +5 -5
  189. package/packages/pointclouds/src/potree-three-loader/loading/ILoader.d.ts +4 -4
  190. package/packages/pointclouds/src/potree-three-loader/loading/globalLoadingCounter.d.ts +5 -5
  191. package/packages/pointclouds/src/potree-three-loader/tree/IPointCloudTreeNode.d.ts +7 -7
  192. package/packages/pointclouds/src/potree-three-loader/tree/IPointCloudTreeNodeBase.d.ts +18 -18
  193. package/packages/pointclouds/src/potree-three-loader/tree/PointAttributes.d.ts +52 -52
  194. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctree.d.ts +48 -48
  195. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreeNode.d.ts +27 -27
  196. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreePicker.d.ts +14 -11
  197. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudOctreePickerHelper.d.ts +57 -57
  198. package/packages/pointclouds/src/potree-three-loader/tree/PointCloudTree.d.ts +6 -6
  199. package/packages/pointclouds/src/potree-three-loader/types/IPotree.d.ts +11 -11
  200. package/packages/pointclouds/src/potree-three-loader/types/IVisibilityUpdateResult.d.ts +18 -18
  201. package/packages/pointclouds/src/potree-three-loader/types/type-predicates.d.ts +6 -6
  202. package/packages/pointclouds/src/potree-three-loader/types/types.d.ts +14 -14
  203. package/packages/pointclouds/src/potree-three-loader/utils/BinaryHeap.d.ts +11 -11
  204. package/packages/pointclouds/src/potree-three-loader/utils/WorkerPool.d.ts +31 -31
  205. package/packages/pointclouds/src/potree-three-loader/utils/async-blocking-queue.d.ts +8 -8
  206. package/packages/pointclouds/src/potree-three-loader/utils/bounds.d.ts +6 -6
  207. package/packages/pointclouds/src/potree-three-loader/utils/box3-helper.d.ts +13 -13
  208. package/packages/pointclouds/src/potree-three-loader/utils/createObjectIdMaps.d.ts +6 -0
  209. package/packages/pointclouds/src/potree-three-loader/utils/lru.d.ts +32 -32
  210. package/packages/pointclouds/src/potree-three-loader/utils/utils.d.ts +12 -8
  211. package/packages/pointclouds/src/potree-three-loader/version.d.ts +9 -9
  212. package/packages/pointclouds/src/potree-three-loader/workers/assignPointsToObjectsWithWasm.d.ts +5 -0
  213. package/packages/pointclouds/src/potree-three-loader/workers/eptBinaryDecoder.worker.d.ts +7 -18
  214. package/packages/pointclouds/src/potree-three-loader/workers/parseEpt.d.ts +4 -0
  215. package/packages/pointclouds/src/potree-three-loader/workers/types.d.ts +33 -0
  216. package/packages/pointclouds/src/types.d.ts +84 -84
  217. package/packages/pointclouds/wasm/index.d.ts +18 -0
  218. package/packages/rendering/index.d.ts +22 -17
  219. package/packages/rendering/src/CadMaterialManager.d.ts +39 -39
  220. package/packages/rendering/src/PointCloudMaterialManager.d.ts +19 -0
  221. package/packages/rendering/src/RenderPass.d.ts +15 -15
  222. package/packages/rendering/src/RenderPipelineExecutor.d.ts +13 -12
  223. package/packages/rendering/src/RenderPipelineProvider.d.ts +15 -15
  224. package/packages/rendering/src/pipeline-executors/BasicPipelineExecutor.d.ts +22 -11
  225. package/packages/rendering/src/pointcloud-rendering/PointCloudMaterial.d.ts +121 -0
  226. package/packages/rendering/src/pointcloud-rendering/PointCloudObjectAppearanceTexture.d.ts +30 -0
  227. package/packages/rendering/src/pointcloud-rendering/PointCloudObjectIdMaps.d.ts +7 -0
  228. package/packages/rendering/src/pointcloud-rendering/classification.d.ts +2 -0
  229. package/packages/rendering/src/pointcloud-rendering/constants.d.ts +17 -0
  230. package/packages/rendering/src/pointcloud-rendering/enums.d.ts +24 -0
  231. package/packages/{pointclouds/src/potree-three-loader/rendering → rendering/src/pointcloud-rendering}/gradients/SpectralGradient.d.ts +2 -2
  232. package/packages/rendering/src/pointcloud-rendering/index.d.ts +8 -0
  233. package/packages/rendering/src/pointcloud-rendering/texture-generation.d.ts +8 -0
  234. package/packages/{pointclouds/src/potree-three-loader/rendering → rendering/src/pointcloud-rendering}/types.d.ts +18 -10
  235. package/packages/rendering/src/render-passes/GeometryPass.d.ts +16 -16
  236. package/packages/rendering/src/render-passes/PointCloudEffectsPass.d.ts +11 -0
  237. package/packages/rendering/src/render-passes/PostProcessingPass.d.ts +22 -24
  238. package/packages/rendering/src/render-passes/SSAOPass.d.ts +14 -14
  239. package/packages/rendering/src/render-passes/types.d.ts +68 -31
  240. package/packages/rendering/src/render-pipeline-providers/CadGeometryRenderModePipelineProvider.d.ts +23 -23
  241. package/packages/rendering/src/render-pipeline-providers/CadGeometryRenderPipelineProvider.d.ts +25 -25
  242. package/packages/rendering/src/render-pipeline-providers/DefaultRenderPipelineProvider.d.ts +38 -34
  243. package/packages/rendering/src/render-pipeline-providers/PointCloudRenderPipelineProvider.d.ts +25 -0
  244. package/packages/rendering/src/render-pipeline-providers/types.d.ts +23 -19
  245. package/packages/rendering/src/rendering/NodeAppearanceTextureBuilder.d.ts +51 -51
  246. package/packages/rendering/src/rendering/RenderMode.d.ts +15 -15
  247. package/packages/rendering/src/rendering/matCapTextureData.d.ts +5 -5
  248. package/packages/rendering/src/rendering/materials.d.ts +23 -23
  249. package/packages/rendering/src/rendering/shaders.d.ts +104 -87
  250. package/packages/rendering/src/rendering/types.d.ts +88 -76
  251. package/packages/rendering/src/transform/NodeTransformProvider.d.ts +13 -13
  252. package/packages/rendering/src/transform/NodeTransformTextureBuilder.d.ts +24 -23
  253. package/packages/rendering/src/transform/TransformOverrideBuffer.d.ts +21 -21
  254. package/packages/rendering/src/utilities/renderUtilities.d.ts +31 -26
  255. package/packages/rendering/src/utilities/types.d.ts +26 -26
  256. package/packages/sector-loader/index.d.ts +5 -6
  257. package/packages/sector-loader/src/GltfSectorLoader.d.ts +12 -12
  258. package/packages/sector-loader/src/GltfSectorRepository.d.ts +19 -19
  259. package/packages/sector-loader/src/SectorRepository.d.ts +10 -10
  260. package/packages/sector-parser/index.d.ts +5 -5
  261. package/packages/sector-parser/src/DracoDecoderHelper.d.ts +32 -32
  262. package/packages/sector-parser/src/GltfSectorParser.d.ts +19 -19
  263. package/packages/sector-parser/src/constants.d.ts +6 -6
  264. package/packages/sector-parser/src/lib/draco_decoder_gltf.d.ts +5 -0
  265. package/packages/sector-parser/src/reveal-glb-parser/GlbMetadataParser.d.ts +14 -14
  266. package/packages/sector-parser/src/reveal-glb-parser/primitiveGeometries.d.ts +12 -12
  267. package/packages/sector-parser/src/types.d.ts +106 -106
  268. package/packages/tools/index.d.ts +15 -15
  269. package/packages/tools/src/AxisView/AxisViewTool.d.ts +31 -31
  270. package/packages/tools/src/AxisView/types.d.ts +98 -98
  271. package/packages/tools/src/Cognite3DViewerToolBase.d.ts +25 -25
  272. package/packages/tools/src/DebugCameraTool.d.ts +20 -20
  273. package/packages/tools/src/ExplodedViewTool.d.ts +12 -12
  274. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -28
  275. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +166 -160
  276. package/packages/tools/src/Measurement/MeasurementLabels.d.ts +18 -0
  277. package/packages/tools/src/Measurement/MeasurementLine.d.ts +44 -0
  278. package/packages/tools/src/Measurement/MeasurementManager.d.ts +66 -0
  279. package/packages/tools/src/Measurement/MeasurementTool.d.ts +183 -0
  280. package/packages/tools/src/Measurement/types.d.ts +38 -0
  281. package/packages/tools/src/Timeline/Keyframe.d.ts +39 -39
  282. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -79
  283. package/packages/tools/src/Timeline/types.d.ts +13 -13
  284. package/packages/tools/src/types.d.ts +4 -4
  285. package/packages/utilities/index.d.ts +39 -36
  286. package/packages/utilities/src/CameraConfiguration.d.ts +10 -10
  287. package/packages/utilities/src/DeferredPromise.d.ts +17 -17
  288. package/packages/utilities/src/IndexSet.d.ts +1 -1
  289. package/packages/utilities/src/NumericRange.d.ts +22 -22
  290. package/packages/utilities/src/RandomColors.d.ts +34 -34
  291. package/packages/utilities/src/SceneHandler.d.ts +28 -21
  292. package/packages/utilities/src/WebGLRendererStateHelper.d.ts +29 -27
  293. package/packages/utilities/src/assertNever.d.ts +7 -7
  294. package/packages/utilities/src/cache/MemoryRequestCache.d.ts +24 -24
  295. package/packages/utilities/src/cache/MostFrequentlyUsedCache.d.ts +19 -19
  296. package/packages/utilities/src/cache/RequestCache.d.ts +13 -13
  297. package/packages/utilities/src/calculateVolumeOfMesh.d.ts +4 -4
  298. package/packages/utilities/src/counterMap.d.ts +5 -5
  299. package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +33 -33
  300. package/packages/utilities/src/determinePowerOfTwoDimensions.d.ts +11 -11
  301. package/packages/utilities/src/device.d.ts +10 -10
  302. package/packages/utilities/src/disposeAttributeArrayOnUpload.d.ts +17 -17
  303. package/packages/utilities/src/events/EventTrigger.d.ts +13 -13
  304. package/packages/utilities/src/events/InputHandler.d.ts +30 -30
  305. package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -13
  306. package/packages/utilities/src/events/index.d.ts +7 -7
  307. package/packages/utilities/src/events/types.d.ts +40 -27
  308. package/packages/utilities/src/indexset/IndexSet.d.ts +26 -26
  309. package/packages/utilities/src/indexset/IntermediateIndexNode.d.ts +26 -26
  310. package/packages/utilities/src/indexset/LeafIndexNode.d.ts +16 -16
  311. package/packages/utilities/src/isMobileOrTablet.d.ts +5 -5
  312. package/packages/utilities/src/linalg.d.ts +11 -0
  313. package/packages/utilities/src/objectTraversal.d.ts +8 -8
  314. package/packages/utilities/src/shapes/Box.d.ts +12 -0
  315. package/packages/utilities/src/shapes/CompositeShape.d.ts +13 -0
  316. package/packages/utilities/src/shapes/Cylinder.d.ts +14 -0
  317. package/packages/utilities/src/shapes/ISerializableShape.d.ts +11 -0
  318. package/packages/utilities/src/shapes/IShape.d.ts +9 -0
  319. package/packages/utilities/src/shapes/SerializableBox.d.ts +8 -0
  320. package/packages/utilities/src/shapes/SerializableCompositeShape.d.ts +7 -0
  321. package/packages/utilities/src/shapes/SerializableCylinder.d.ts +10 -0
  322. package/packages/utilities/src/shapes/index.d.ts +11 -0
  323. package/packages/utilities/src/three/AutoDisposeGroup.d.ts +17 -17
  324. package/packages/utilities/src/three/BoundingBoxLOD.d.ts +27 -27
  325. package/packages/utilities/src/three/createDistinctColors.d.ts +5 -0
  326. package/packages/utilities/src/three/createFullScreenTriangleGeometry.d.ts +5 -5
  327. package/packages/utilities/src/three/fitCameraToBoundingBox.d.ts +15 -0
  328. package/packages/utilities/src/three/fromThreeVector3.d.ts +5 -0
  329. package/packages/utilities/src/three/isBox3OnPositiveSideOfPlane.d.ts +10 -10
  330. package/packages/utilities/src/three/toThreeBox3.d.ts +6 -6
  331. package/packages/utilities/src/three/unionBoxes.d.ts +5 -5
  332. package/packages/utilities/src/three/visitBox3CornerPoints.d.ts +12 -12
  333. package/packages/utilities/src/transformCameraConfiguration.d.ts +6 -6
  334. package/packages/utilities/src/types.d.ts +11 -11
  335. package/packages/utilities/src/workers/workerize-transferable/index.d.ts +7 -0
  336. package/packages/utilities/src/workers/workerize-transferable/message-types.d.ts +4 -0
  337. package/packages/utilities/src/workers/workerize-transferable/on-main.d.ts +13 -0
  338. package/packages/utilities/src/workers/workerize-transferable/on-worker.d.ts +14 -0
  339. package/packages/utilities/src/workers/workerize-transferable/util.d.ts +10 -0
  340. package/packages/utilities/src/worldToViewport.d.ts +34 -30
  341. package/tools.d.ts +7 -7
  342. package/tools.js +2 -280
  343. package/tools.js.LICENSE.txt +7 -0
  344. package/tools.map +1 -1
  345. package/core/cad.d.ts +0 -4
  346. package/core/index.d.ts +0 -6
  347. package/core/src/index.d.ts +0 -13
  348. package/core/src/internals.d.ts +0 -10
  349. package/core/src/public/migration/NotSupportedInMigrationWrapperError.d.ts +0 -11
  350. package/core/src/utilities/index.d.ts +0 -6
  351. package/core/utilities.d.ts +0 -4
  352. package/packages/cad-geometry-loaders/src/sector/culling/ByVisibilityGpuSectorCuller.d.ts +0 -51
  353. package/packages/cad-geometry-loaders/src/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +0 -106
  354. package/packages/cad-geometry-loaders/src/sector/culling/RenderAlreadyLoadedGeometryProvider.d.ts +0 -11
  355. package/packages/cad-geometry-loaders/src/sector/culling/createV8SectorCuller.d.ts +0 -7
  356. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorMap.d.ts +0 -17
  357. package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorTree.d.ts +0 -24
  358. package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +0 -6
  359. package/packages/cad-model/src/batching/InstancedMeshManager.d.ts +0 -20
  360. package/packages/cad-parsers/src/cad/CadSectorParser.d.ts +0 -15
  361. package/packages/cad-parsers/src/cad/filterInstanceMesh.d.ts +0 -6
  362. package/packages/cad-parsers/src/cad/filterPrimitivesV8.d.ts +0 -9
  363. package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +0 -30
  364. package/packages/cad-parsers/src/cad/triangleMeshes.d.ts +0 -6
  365. package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +0 -6
  366. package/packages/cad-parsers/src/utilities/float32BufferToMatrix.d.ts +0 -12
  367. package/packages/modeldata-api/index.d.ts +0 -12
  368. package/packages/modeldata-api/src/types.d.ts +0 -43
  369. package/packages/pointclouds/src/createPointClassKey.d.ts +0 -5
  370. package/packages/pointclouds/src/potree-three-loader/rendering/PointCloudMaterial.d.ts +0 -203
  371. package/packages/pointclouds/src/potree-three-loader/rendering/classification.d.ts +0 -2
  372. package/packages/pointclouds/src/potree-three-loader/rendering/clipping.d.ts +0 -12
  373. package/packages/pointclouds/src/potree-three-loader/rendering/constants.d.ts +0 -14
  374. package/packages/pointclouds/src/potree-three-loader/rendering/enums.d.ts +0 -46
  375. package/packages/pointclouds/src/potree-three-loader/rendering/features.d.ts +0 -6
  376. package/packages/pointclouds/src/potree-three-loader/rendering/index.d.ts +0 -5
  377. package/packages/pointclouds/src/potree-three-loader/rendering/texture-generation.d.ts +0 -5
  378. package/packages/pointclouds/src/potree-three-loader/utils/math.d.ts +0 -1
  379. package/packages/rendering/src/rendering/createSimpleGeometryMesh.d.ts +0 -6
  380. package/packages/rendering/src/rendering/primitives.d.ts +0 -12
  381. package/packages/sector-loader/src/V8SectorRepository.d.ts +0 -26
  382. package/packages/sector-loader/src/v8/SimpleAndDetailedToSector3D.d.ts +0 -20
  383. package/packages/sector-loader/src/v8/arrays.d.ts +0 -5
  384. package/packages/sector-loader/src/v8/groupMeshesByNumber.d.ts +0 -8
  385. package/packages/sector-loader/src/v8/sectorUtilities.d.ts +0 -16
  386. package/packages/tools/src/DebugLoadedSectorsTool.d.ts +0 -23
  387. package/packages/tools/src/Geomap/Geomap.d.ts +0 -17
  388. package/packages/tools/src/Geomap/GeomapTool.d.ts +0 -23
  389. package/packages/tools/src/Geomap/MapConfig.d.ts +0 -195
  390. package/packages/utilities/src/networking/isTheSameDomain.d.ts +0 -11
  391. package/packages/utilities/src/packFloat.d.ts +0 -6
  392. package/packages/utilities/src/revealEnv.d.ts +0 -10
  393. package/packages/utilities/src/workers/WorkerPool.d.ts +0 -14
@@ -1,12 +1,12 @@
1
- import { Cognite3DModel } from '../../../core';
2
- import { Cognite3DViewerToolBase } from './Cognite3DViewerToolBase';
3
- export declare class ExplodedViewTool extends Cognite3DViewerToolBase {
4
- private readonly _cadModel;
5
- private _treeBoundingBoxdata;
6
- private readonly _rootTreeIndex;
7
- get readyPromise(): Promise<void>;
8
- constructor(treeIndex: number, cadModel: Cognite3DModel);
9
- expand(expandRadius: number): Promise<void>;
10
- reset(): void;
11
- private preloadBoundingBoxData;
12
- }
1
+ import { Cognite3DViewerToolBase } from './Cognite3DViewerToolBase';
2
+ import { Cognite3DModel } from '../../api';
3
+ export declare class ExplodedViewTool extends Cognite3DViewerToolBase {
4
+ private readonly _cadModel;
5
+ private _treeBoundingBoxdata;
6
+ private readonly _rootTreeIndex;
7
+ get readyPromise(): Promise<void>;
8
+ constructor(treeIndex: number, cadModel: Cognite3DModel);
9
+ expand(expandRadius: number): Promise<void>;
10
+ reset(): void;
11
+ private preloadBoundingBoxData;
12
+ }
@@ -1,28 +1,28 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- /**
6
- * Data structure that splits a 2D region into cells where each cell can contain zero to many
7
- * elements. Elements can be stored in several cells. This data structure make overlap lookups
8
- * efficient.
9
- *
10
- * Note! This class is tailored for usage with {@link HtmlOverlayTool} and has a few restrictions
11
- * and assumptions associated with the usage. If used elsewhere, take care as to how this affects
12
- * performance and behaviour.
13
- */
14
- export declare class BucketGrid2D<T> {
15
- private readonly _dimensions;
16
- private readonly _bounds;
17
- private readonly _cells;
18
- /**
19
- * Holds elements that has been removed from the collection using {@link removeOverlappingElements}.
20
- * This is used to avoid expensive re-allocations of cells when removing elements.
21
- */
22
- private readonly _removedElements;
23
- constructor(bounds: THREE.Box2, dimensions: [width: number, height: number]);
24
- insert(bounds: THREE.Box2, element: T): void;
25
- overlappingElements(bounds: THREE.Box2): Generator<T>;
26
- removeOverlappingElements(bounds: THREE.Box2): Generator<T>;
27
- private cellsIntersecting;
28
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ /**
6
+ * Data structure that splits a 2D region into cells where each cell can contain zero to many
7
+ * elements. Elements can be stored in several cells. This data structure make overlap lookups
8
+ * efficient.
9
+ *
10
+ * Note! This class is tailored for usage with {@link HtmlOverlayTool} and has a few restrictions
11
+ * and assumptions associated with the usage. If used elsewhere, take care as to how this affects
12
+ * performance and behaviour.
13
+ */
14
+ export declare class BucketGrid2D<T> {
15
+ private readonly _dimensions;
16
+ private readonly _bounds;
17
+ private readonly _cells;
18
+ /**
19
+ * Holds elements that has been removed from the collection using {@link removeOverlappingElements}.
20
+ * This is used to avoid expensive re-allocations of cells when removing elements.
21
+ */
22
+ private readonly _removedElements;
23
+ constructor(bounds: THREE.Box2, dimensions: [width: number, height: number]);
24
+ insert(bounds: THREE.Box2, element: T): void;
25
+ overlappingElements(bounds: THREE.Box2): Generator<T>;
26
+ removeOverlappingElements(bounds: THREE.Box2): Generator<T>;
27
+ private cellsIntersecting;
28
+ }
@@ -1,160 +1,166 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- import * as THREE from 'three';
5
- import { Cognite3DViewerToolBase } from '../Cognite3DViewerToolBase';
6
- import { Cognite3DViewer } from '../../../../core';
7
- /**
8
- * Callback that is triggered whenever the 2D position of an overlay is updated
9
- * in {@link HtmlOverlayTool}.
10
- */
11
- export declare type HtmlOverlayPositionUpdatedDelegate = (element: HTMLElement, position2D: THREE.Vector2, position3D: THREE.Vector3, distanceToCamera: number, userData: any) => void;
12
- /**
13
- * Callback that is triggered when a set of overlays are clustered together in
14
- * {@link HtmlOverlayTool}.
15
- */
16
- export declare type HtmlOverlayCreateClusterDelegate = (overlayElements: {
17
- htmlElement: HTMLElement;
18
- userData: any;
19
- }[]) => HTMLElement;
20
- /**
21
- * Options for an overlay added using {@link HtmlOverlayTool.add}.
22
- */
23
- export declare type HtmlOverlayOptions = {
24
- /**
25
- * Callback that is triggered whenever the position of the overlay is updated. Optional.
26
- */
27
- positionUpdatedCallback?: HtmlOverlayPositionUpdatedDelegate;
28
- /**
29
- * Optional user specified data that is provided to the {@link HtmlOverlayCreateClusterDelegate} and
30
- * {@link HtmlOverlayPositionUpdatedDelegate}.
31
- */
32
- userData?: any;
33
- };
34
- /**
35
- * Controls how close overlay elements are clustered together.
36
- */
37
- export declare type HtmlOverlayToolClusteringOptions = {
38
- /**
39
- * Currently only 'overlapInScreenSpace' is supported. In this mode,
40
- * overlays are clustered together into a single element as defined by
41
- * the {@link createClusterElementCallback} and hidden when they overlap
42
- * in screen space. The composite element is placed at the midpoint of
43
- * all clustered elements.
44
- *
45
- * Clustered elements are faded in/out using CSS styling `transition`,
46
- * `opacity` and `visibility`.
47
- */
48
- mode: 'overlapInScreenSpace';
49
- /**
50
- * Callback that is triggered when a set of overlays are clustered together
51
- * to create a "composite" element as a placeholder for the clustered elements.
52
- * Note that this callback will be triggered every frame for each cluster so it
53
- * must be performant.
54
- */
55
- createClusterElementCallback: HtmlOverlayCreateClusterDelegate;
56
- };
57
- export declare type HtmlOverlayToolOptions = {
58
- clusteringOptions?: HtmlOverlayToolClusteringOptions;
59
- };
60
- /**
61
-
62
- * Manages HTMLoverlays for {@see Cognite3DViewer}. Attaches HTML elements to a
63
- * 3D position and updates its position/visibility as user moves the camera. This is
64
- * useful to create HTML overlays to highlight information about key positions in the 3D model.
65
- *
66
- * Attached elements *must* have CSS style 'position: absolute'. It's also recommended
67
- * in most cases to have styles 'pointer-events: none' and 'touch-action: none' to avoid
68
- * interfering with 3D navigation. Consider also applying 'transform: translate(-50%, -50%)'
69
- * to anchor the center of the element rather than the top-left corner. In some cases the
70
- * `zIndex`-attribute is necessary for the element to appear on top of the viewer.
71
- *
72
- * @example
73
- * ```js
74
- * const el = document.createElement('div');
75
- * el.style.position = 'absolute'; // Required!
76
- * // Anchor to center of element
77
- * el.style.transform = 'translate(-50%, -50%)';
78
- * // Avoid being target for events
79
- * el.style.pointerEvents = 'none;
80
- * el.style.touchAction = 'none';
81
- * // Render in front of other elements
82
- * el.style.zIndex = 10;
83
- *
84
- * el.style.color = 'red';
85
- * el.innerHtml = '<h1>Overlay</h1>';
86
- *
87
- * const overlayTool = new HtmlOverlayTool(viewer);
88
- * overlayTool.add(el, new THREE.Vector3(10, 10, 10));
89
- * // ...
90
- * overlayTool.remove(el);
91
- * // or, to remove all attached elements
92
- * overlayTool.clear();
93
- *
94
- * // detach the tool from the viewer
95
- * overlayTool.dispose();
96
- * ```
97
- */
98
- export declare class HtmlOverlayTool extends Cognite3DViewerToolBase {
99
- private readonly _viewer;
100
- private readonly _options;
101
- private readonly _htmlOverlays;
102
- private readonly _compositeOverlays;
103
- private readonly _onSceneRenderedHandler;
104
- private readonly _onViewerDisposedHandler;
105
- private readonly _preallocatedVariables;
106
- private readonly scheduleUpdate;
107
- private get viewerDomElement();
108
- private get viewerCamera();
109
- private get viewerRenderer();
110
- constructor(viewer: Cognite3DViewer, options?: HtmlOverlayToolOptions);
111
- /**
112
- * Returns all added HTML elements along with their 3D positions.
113
- */
114
- get elements(): {
115
- element: HTMLElement;
116
- position3D: THREE.Vector3;
117
- }[];
118
- /**
119
- * Removes all elements and detaches from the viewer.
120
- * @override
121
- */
122
- dispose(): void;
123
- /**
124
- * Registers a HTML overlay that will be updated on rendering.
125
- *
126
- * @param htmlElement
127
- * @param position3D
128
- * @param options
129
- */
130
- add(htmlElement: HTMLElement, position3D: THREE.Vector3, options?: HtmlOverlayOptions): void;
131
- /**
132
- * Removes a overlay and removes it from the DOM.
133
- * @param htmlElement
134
- */
135
- remove(htmlElement: HTMLElement): void;
136
- /**
137
- * Removes all attached HTML overlay elements.
138
- */
139
- clear(): void;
140
- /**
141
- * Updates positions of all overlays. This is automatically managed and there
142
- * shouldn't be any reason to trigger this unless the attached elements are
143
- * modified externally.
144
- *
145
- * Calling this function often might cause degraded performance.
146
- */
147
- forceUpdate(): void;
148
- /**
149
- * Update size of new elements. This is only done once as this causes
150
- * layout to be invalidated which is an expensive operation.
151
- */
152
- private updateNewElementSizes;
153
- private commitDOMChanges;
154
- private clusterElements;
155
- private cleanupClusterElements;
156
- private clusterByOverlapInScreenSpace;
157
- private addComposite;
158
- private onSceneRendered;
159
- private onViewerDisposed;
160
- }
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { Cognite3DViewerToolBase } from '../Cognite3DViewerToolBase';
6
+ import { Cognite3DViewer } from '../../../api';
7
+ /**
8
+ * Callback that is triggered whenever the 2D position of an overlay is updated
9
+ * in {@link HtmlOverlayTool}.
10
+ */
11
+ export declare type HtmlOverlayPositionUpdatedDelegate = (element: HTMLElement, position2D: THREE.Vector2, position3D: THREE.Vector3, distanceToCamera: number, userData: any) => void;
12
+ /**
13
+ * Callback that is triggered when a set of overlays are clustered together in
14
+ * {@link HtmlOverlayTool}.
15
+ */
16
+ export declare type HtmlOverlayCreateClusterDelegate = (overlayElements: {
17
+ htmlElement: HTMLElement;
18
+ userData: any;
19
+ }[]) => HTMLElement;
20
+ /**
21
+ * Options for an overlay added using {@link HtmlOverlayTool.add}.
22
+ */
23
+ export declare type HtmlOverlayOptions = {
24
+ /**
25
+ * Callback that is triggered whenever the position of the overlay is updated. Optional.
26
+ */
27
+ positionUpdatedCallback?: HtmlOverlayPositionUpdatedDelegate;
28
+ /**
29
+ * Optional user specified data that is provided to the {@link HtmlOverlayCreateClusterDelegate} and
30
+ * {@link HtmlOverlayPositionUpdatedDelegate}.
31
+ */
32
+ userData?: any;
33
+ };
34
+ /**
35
+ * Controls how close overlay elements are clustered together.
36
+ */
37
+ export declare type HtmlOverlayToolClusteringOptions = {
38
+ /**
39
+ * Currently only 'overlapInScreenSpace' is supported. In this mode,
40
+ * overlays are clustered together into a single element as defined by
41
+ * the {@link createClusterElementCallback} and hidden when they overlap
42
+ * in screen space. The composite element is placed at the midpoint of
43
+ * all clustered elements.
44
+ *
45
+ * Clustered elements are faded in/out using CSS styling `transition`,
46
+ * `opacity` and `visibility`.
47
+ */
48
+ mode: 'overlapInScreenSpace';
49
+ /**
50
+ * Callback that is triggered when a set of overlays are clustered together
51
+ * to create a "composite" element as a placeholder for the clustered elements.
52
+ * Note that this callback will be triggered every frame for each cluster so it
53
+ * must be performant.
54
+ */
55
+ createClusterElementCallback: HtmlOverlayCreateClusterDelegate;
56
+ };
57
+ export declare type HtmlOverlayToolOptions = {
58
+ clusteringOptions?: HtmlOverlayToolClusteringOptions;
59
+ };
60
+ /**
61
+
62
+ * Manages HTMLoverlays for {@link Cognite3DViewer}. Attaches HTML elements to a
63
+ * 3D position and updates its position/visibility as user moves the camera. This is
64
+ * useful to create HTML overlays to highlight information about key positions in the 3D model.
65
+ *
66
+ * Attached elements *must* have CSS style 'position: absolute'. It's also recommended
67
+ * in most cases to have styles 'pointer-events: none' and 'touch-action: none' to avoid
68
+ * interfering with 3D navigation. Consider also applying 'transform: translate(-50%, -50%)'
69
+ * to anchor the center of the element rather than the top-left corner. In some cases the
70
+ * `zIndex`-attribute is necessary for the element to appear on top of the viewer.
71
+ *
72
+ * @example
73
+ * ```js
74
+ * const el = document.createElement('div');
75
+ * el.style.position = 'absolute'; // Required!
76
+ * // Anchor to center of element
77
+ * el.style.transform = 'translate(-50%, -50%)';
78
+ * // Avoid being target for events
79
+ * el.style.pointerEvents = 'none;
80
+ * el.style.touchAction = 'none';
81
+ * // Render in front of other elements
82
+ * el.style.zIndex = 10;
83
+ *
84
+ * el.style.color = 'red';
85
+ * el.innerHtml = '<h1>Overlay</h1>';
86
+ *
87
+ * const overlayTool = new HtmlOverlayTool(viewer);
88
+ * overlayTool.add(el, new THREE.Vector3(10, 10, 10));
89
+ * // ...
90
+ * overlayTool.remove(el);
91
+ * // or, to remove all attached elements
92
+ * overlayTool.clear();
93
+ *
94
+ * // detach the tool from the viewer
95
+ * overlayTool.dispose();
96
+ * ```
97
+ */
98
+ export declare class HtmlOverlayTool extends Cognite3DViewerToolBase {
99
+ private readonly _viewer;
100
+ private readonly _options;
101
+ private readonly _htmlOverlays;
102
+ private readonly _compositeOverlays;
103
+ private _visible;
104
+ private readonly _onSceneRenderedHandler;
105
+ private readonly _onViewerDisposedHandler;
106
+ private readonly _preallocatedVariables;
107
+ private readonly scheduleUpdate;
108
+ private get viewerDomElement();
109
+ private get viewerCamera();
110
+ private get viewerRenderer();
111
+ constructor(viewer: Cognite3DViewer, options?: HtmlOverlayToolOptions);
112
+ /**
113
+ * Returns all added HTML elements along with their 3D positions.
114
+ */
115
+ get elements(): {
116
+ element: HTMLElement;
117
+ position3D: THREE.Vector3;
118
+ }[];
119
+ /**
120
+ * Removes all elements and detaches from the viewer.
121
+ * @override
122
+ */
123
+ dispose(): void;
124
+ /**
125
+ * Registers a HTML overlay that will be updated on rendering.
126
+ *
127
+ * @param htmlElement
128
+ * @param position3D
129
+ * @param options
130
+ */
131
+ add(htmlElement: HTMLElement, position3D: THREE.Vector3, options?: HtmlOverlayOptions): void;
132
+ /**
133
+ * Removes a overlay and removes it from the DOM.
134
+ * @param htmlElement
135
+ */
136
+ remove(htmlElement: HTMLElement): void;
137
+ /**
138
+ * Removes all attached HTML overlay elements.
139
+ */
140
+ clear(): void;
141
+ /**
142
+ * Hide/unhide all HTML overlay elements.
143
+ * @param enable
144
+ */
145
+ visible(enable: boolean): void;
146
+ /**
147
+ * Updates positions of all overlays. This is automatically managed and there
148
+ * shouldn't be any reason to trigger this unless the attached elements are
149
+ * modified externally.
150
+ *
151
+ * Calling this function often might cause degraded performance.
152
+ */
153
+ forceUpdate(): void;
154
+ /**
155
+ * Update size of new elements. This is only done once as this causes
156
+ * layout to be invalidated which is an expensive operation.
157
+ */
158
+ private updateNewElementSizes;
159
+ private commitDOMChanges;
160
+ private clusterElements;
161
+ private cleanupClusterElements;
162
+ private clusterByOverlapInScreenSpace;
163
+ private addComposite;
164
+ private onSceneRendered;
165
+ private onViewerDisposed;
166
+ }
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * Copyright 2022 Cognite AS
3
+ */
4
+ export declare class MeasurementLabels {
5
+ static readonly stylesId = "reveal-measurement-label";
6
+ constructor();
7
+ /**
8
+ * Create a HTML element with a string and return the element.
9
+ * @param label String on the label.
10
+ * @returns HTMLDivElement.
11
+ */
12
+ createLabel(label: string): HTMLDivElement;
13
+ /**
14
+ * Load the the styles from the CSS and appends them to the label.
15
+ * @returns Return if styles already loaded.
16
+ */
17
+ private static ensureStylesLoaded;
18
+ }
@@ -0,0 +1,44 @@
1
+ /*!
2
+ * Copyright 2022 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ export declare class MeasurementLine {
6
+ private readonly _geometry;
7
+ private readonly _meshes;
8
+ private readonly _fixedWidthLineMaterial;
9
+ private readonly _adaptiveWidthLineMaterial;
10
+ private readonly _position;
11
+ constructor(lineWidth: number, lineColor: THREE.Color, startPoint: THREE.Vector3);
12
+ dispose(): void;
13
+ get meshes(): THREE.Group;
14
+ /**
15
+ * Update the measuring line end point.
16
+ * @param endPoint Second point of the line to end the measurement.
17
+ */
18
+ updateLine(endPoint: THREE.Vector3): void;
19
+ /**
20
+ * Get the distance between the measuring line start point & end point.
21
+ * @returns Return distance between start & end point of the line.
22
+ */
23
+ getMeasuredDistance(): number;
24
+ /**
25
+ * Calculate mid point on the Line.
26
+ * @returns Returns mid point between start and end points.
27
+ */
28
+ getMidPointOnLine(): THREE.Vector3;
29
+ /**
30
+ * Update current line width.
31
+ * @param lineWidth Width of the measuring line mesh.
32
+ */
33
+ updateLineWidth(lineWidth: number): void;
34
+ /**
35
+ * Update current line color.
36
+ * @param color Color of the measuring line mesh.
37
+ */
38
+ updateLineColor(color: THREE.Color): void;
39
+ /**
40
+ * Generate line geometry and create the mesh.
41
+ * @param point Point from where the line will be generated.
42
+ */
43
+ private startLine;
44
+ }
@@ -0,0 +1,66 @@
1
+ /*!
2
+ * Copyright 2022 Cognite AS
3
+ */
4
+ import * as THREE from 'three';
5
+ import { HtmlOverlayTool } from '../HtmlOverlay/HtmlOverlayTool';
6
+ import { MeasurementOptions } from './types';
7
+ export declare type Measurement = {
8
+ readonly measurementId: number;
9
+ readonly startPoint: THREE.Vector3;
10
+ readonly endPoint: THREE.Vector3;
11
+ readonly distanceInMeters: number;
12
+ };
13
+ export declare class MeasurementManager {
14
+ private readonly _measurementLabel;
15
+ private readonly _line;
16
+ private readonly _options;
17
+ private readonly _domElement;
18
+ private readonly _camera;
19
+ private readonly _meshGroup;
20
+ private readonly _htmlOverlay;
21
+ private _labelElement;
22
+ private readonly _distanceToCamera;
23
+ private readonly _startPoint;
24
+ private _measurement;
25
+ constructor(viewerDomElement: HTMLElement, camera: THREE.Camera, meshGroup: THREE.Group, options: Required<MeasurementOptions>, overlay: HtmlOverlayTool, startPoint: THREE.Vector3);
26
+ /**
27
+ * Update the measurement line end point to the provided mouse coordinates
28
+ */
29
+ update(mouseEvent: {
30
+ offsetX: number;
31
+ offsetY: number;
32
+ }): void;
33
+ /**
34
+ * End the measurement.
35
+ * @param point World position at which measuring line ends.
36
+ */
37
+ endMeasurement(point: THREE.Vector3): void;
38
+ /**
39
+ * Remove the measurement.
40
+ */
41
+ removeMeasurement(): void;
42
+ getMeasurement(): Readonly<Measurement>;
43
+ /**
44
+ * Update current line width.
45
+ * @param lineWidth Width of the measuring line mesh.
46
+ */
47
+ updateLineWidth(lineWidth: number): void;
48
+ /**
49
+ * Update current line color.
50
+ * @param color Color of the measuring line mesh.
51
+ */
52
+ updateLineColor(color: THREE.Color): void;
53
+ /**
54
+ * Start the measurement.
55
+ * @param point World position to start measurement operation from.
56
+ */
57
+ private startMeasurement;
58
+ /**
59
+ * Creates a measurement label, add it to HTMLOverlay and return the created label element.
60
+ * @param position Label position.
61
+ * @param label Label text.
62
+ * @returns HTML element.
63
+ */
64
+ private addLabel;
65
+ private pointerTo3DPosition;
66
+ }