@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,9 +1,9 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- /**
5
- * @module @cognite/reveal/extensions/datasource
6
- */
7
- export { DataSource } from '../packages/data-source';
8
- export { NodesApiClient } from '../packages/nodes-api';
9
- export { ModelIdentifier, CdfModelIdentifier, ModelMetadataProvider, ModelDataProvider, BlobOutputMetadata, File3dFormat } from '../packages/modeldata-api';
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * @module @cognite/reveal/extensions/datasource
6
+ */
7
+ export { DataSource } from '../packages/data-source';
8
+ export { NodesApiClient } from '../packages/nodes-api';
9
+ export { ModelIdentifier, CdfModelIdentifier, ModelMetadataProvider, ModelDataProvider, BlobOutputMetadata, File3dFormat, JsonFileProvider, BinaryFileProvider } from '../packages/data-providers';
@@ -1,27 +1,3 @@
1
- !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var o in r)("object"==typeof exports?exports:t)[o]=r[o]}}("undefined"!=typeof self?self:this,(function(){return function(t){var e={};function r(o){if(e[o])return e[o].exports;var n=e[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,o){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(o,n,function(e){return t[e]}.bind(null,n));return o},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.3.0/",r(r.s=73)}({0:function(t,e){t.exports=require("three")},18:function(t,e){t.exports=require("@cognite/sdk-core")},6:function(t,e,r){"use strict";r.d(e,"a",(function(){return o})),r.d(e,"b",(function(){return n})),r.d(e,"c",(function(){return u})),r.d(e,"e",(function(){return f})),r.d(e,"f",(function(){return h})),r.d(e,"g",(function(){return m})),r.d(e,"d",(function(){return i}));class o{constructor(t){this.client=t,this.authenticationPromise=t.authenticate()}async getBinaryFile(t,e){const r=`${t}/${e}`,o={...this.client.getDefaultRequestHeaders(),Accept:"*/*"};return(await this.fetchWithRetry(r,{headers:o,method:"GET"}).catch(t=>{throw Error("Could not download binary file")})).arrayBuffer()}async getJsonFile(t,e){return(await this.client.get(`${t}/${e}`).catch(t=>{throw Error("Could not download Json file")})).data}async fetchWithRetry(t,e,r=3){let o;for(let n=0;n<r;n++)try{await this.authenticationPromise;const r=await fetch(t,e);if(401===r.status){this.authenticationPromise=this.client.authenticate();continue}return r}catch(t){void 0!==o&&(o=t)}throw o}}class n{constructor(t,e){this.revealInternalId=Symbol(`${t}/${e}`),this.modelId=t,this.revisionId=e}toString(){return`${n.name} (${String(this.revealInternalId)})`}}var i,a=r(0);
2
- /*!
3
- * Copyright 2021 Cognite AS
4
- */!function(t){t.EptPointCloud="ept-pointcloud",t.RevealCadModel="reveal-directory",t.GltfCadModel="gltf-directory",t.AnyFormat="all-outputs"}(i||(i={}));
5
- /*!
6
- * Copyright 2021 Cognite AS
7
- */
8
- const s=(new a.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1);function c(t,e){switch(e){case i.RevealCadModel:case i.GltfCadModel:case i.EptPointCloud:t.premultiply(s);break;default:throw new Error("Unknown model format '"+e)}}
9
- /*!
10
- * Copyright 2021 Cognite AS
11
- */class u{constructor(t){this._client=t}async getModelMatrix(t,e){if(!(t instanceof n))throw new Error(`Model must be a ${n.name}, but got ${t.toString()}`);const{modelId:r,revisionId:o}=t,i=await this._client.revisions3D.retrieve(r,o),s=new a.Matrix4;return i.rotation&&s.makeRotationFromEuler(new a.Euler(...i.rotation)),c(s,e),s}async getModelCamera(t){if(!(t instanceof n))throw new Error(`Model must be a ${n.name}, but got ${t.toString()}`);const{modelId:e,revisionId:r}=t,o=await this._client.revisions3D.retrieve(e,r);if(o.camera&&o.camera.position&&o.camera.target){const{position:t,target:e}=o.camera;return{position:new a.Vector3(t[0],t[1],t[2]),target:new a.Vector3(e[0],e[1],e[2])}}}async getModelUri(t,e){if(!(t instanceof n))throw new Error(`Model must be a ${n.name}, but got ${t.toString()}`);return`${this._client.getBaseUrl()}${this.getRequestPath(e.blobId)}`}async getModelOutputs(t){if(!(t instanceof n))throw new Error(`Model must be a ${n.name}, but got ${t.toString()}`);const{modelId:e,revisionId:r}=t,o=`/api/v1/projects/${this._client.project}/3d/models/${e}/revisions/${r}/outputs`,a=await this._client.get(o,{params:{format:i.AnyFormat}});if(200===a.status)return a.data.items.filter(t=>Object.values(i).includes(t.format));throw new Error(`Unexpected response ${a.status} (payload: '${a.data})`)}getRequestPath(t){return`/api/v1/projects/${this._client.project}/3d/files/${t}`}}var l=r(18);
12
- /*!
13
- * Copyright 2021 Cognite AS
14
- */async function d(t){const e=await fetch(t);if(!e.ok){const t={};throw e.headers.forEach((e,r)=>{t[e]=r}),new l.HttpError(e.status,e.body,t)}return e}
15
- /*!
16
- * Copyright 2021 Cognite AS
17
- */class f{async getBinaryFile(t,e){return(await d(`${t}/${e}`)).arrayBuffer()}async getJsonFile(t,e){return(await d(`${t}/${e}`)).json()}}
18
- /*!
19
- * Copyright 2021 Cognite AS
20
- */class h{constructor(t){this.revealInternalId=Symbol(t),this.localPath=t}toString(){return`${h.name} (${this.localPath})`}}
21
- /*!
22
- * Copyright 2021 Cognite AS
23
- */class m{getModelUri(t){if(!(t instanceof h))throw new Error(`Model must be a ${h.name}, but got ${t.toString()}`);return t.localPath.startsWith("http")?Promise.resolve(t.localPath):Promise.resolve(`${location.origin}/${t.localPath}`)}async getModelMatrix(t,e){if(!(t instanceof h))throw new Error(`Model must be a ${h.name}, but got ${t.toString()}`);const r=new a.Matrix4;return c(r,e),r}getModelCamera(t){if(!(t instanceof h))throw new Error(`Model must be a ${h.name}, but got ${t.toString()}`);return Promise.resolve(void 0)}async getModelOutputs(t){var e;const r=await this.getModelUri(t),o=null!==(e=await async function(t){let e;try{e=(await(await d(t+"/scene.json")).json()).version}catch(t){return}switch(e){case 8:return Promise.resolve({blobId:-1,format:i.RevealCadModel,version:8});case 9:return Promise.resolve({blobId:-1,format:i.GltfCadModel,version:9});default:return}}(r))&&void 0!==e?e:await async function(t){let e;try{e=await(await d(t+"/ept.json")).json()}catch(t){return}return e?Promise.resolve({blobId:-1,format:i.EptPointCloud,version:-1}):void 0}(r);if(o)return[o];throw new Error("Only point cloud or CAD models (version 8 and 9) are supported)")}}
24
- /*!
25
- * Copyright 2021 Cognite AS
26
- */},73:function(t,e,r){"use strict";r.r(e);var o=r(6);r.d(e,"CdfModelIdentifier",(function(){return o.b})),r.d(e,"File3dFormat",(function(){return o.d}))}})}));
1
+ /*! For license information please see datasource.js.LICENSE.txt */
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["@cognite/reveal"]=t():e["@cognite/reveal"]=t()}("undefined"!=typeof self?self:this,(()=>(()=>{"use strict";var e={n:t=>{var s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},d:(t,s)=>{for(var i in s)e.o(s,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:s[i]})}};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};e.r(t),e.d(t,{CdfModelIdentifier:()=>s,File3dFormat:()=>r});class s{constructor(e,t){this.revealInternalId=Symbol(`${e}/${t}`),this.modelId=e,this.revisionId=t}toString(){return`${s.name} (${String(this.revealInternalId)})`}}const i=require("three");var r,o;(o=r||(r={})).EptPointCloud="ept-pointcloud",o.GltfCadModel="gltf-directory",o.AnyFormat="all-outputs",(new i.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1),require("lodash/groupBy"),require("lodash/orderBy"),require("lodash/zipWith"),require("assert"),require("@cognite/sdk-core");class n{static color(e){const t=n._colors.get(e);if(void 0!==t)return t;const s=n.generateRandomColor();return n._colors.set(e,s),s}static colorRGB(e){const t=n.color(e);return[Math.floor(255*t.r),Math.floor(255*t.g),Math.floor(255*t.b)]}static colorCSS(e){const[t,s,i]=n.colorRGB(e);return`rgb(${t}, ${s}, ${i})`}static generateRandomColor(){const e=Math.random(),t=.4+.6*Math.random(),s=.3+.4*Math.random();return(new i.Color).setHSL(e,t,s)}}function a(e,t){const s=t.getBoundingClientRect();if(e instanceof MouseEvent)return{offsetX:e.clientX-s.left,offsetY:e.clientY-s.top};if(e.changedTouches.length>0){const t=e.changedTouches[0];return{offsetX:t.clientX-s.left,offsetY:t.clientY-s.top}}return{offsetX:-1,offsetY:-1}}n._colors=new Map;class l{constructor(){this._listeners=[]}subscribe(e){this._listeners.push(e)}unsubscribe(e){const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}unsubscribeAll(){this._listeners.splice(0)}fire(...e){this._listeners.forEach((t=>t(...e)))}}const h=require("lodash/debounce");var d,c,u=e.n(h);function _(e,t){throw new Error(t||"Unexpected object: "+e)}class f{constructor(e){this._events={click:new l,hover:new l},this.onHoverCallback=u()((e=>{this._events.hover.fire(a(e,this.domElement))}),100),this.domElement=e,this.setupEventListeners()}on(e,t){switch(e){case"click":this._events.click.subscribe(t);break;case"hover":this._events.hover.subscribe(t);break;default:_(e)}}off(e,t){switch(e){case"click":this._events.click.unsubscribe(t);break;case"hover":this._events.hover.unsubscribe(t);break;default:_(e)}}dispose(){!function(e){for(const t of Object.keys(e))e[t].unsubscribeAll()}(this._events)}setupEventListeners(){const{domElement:e}=this;let t=!1,s=0,r=!1;const o=new i.Vector2,n=i=>{this.handleClickEvent(i,o,t,r,s),t=!1,r=!1,e.removeEventListener("mouseup",n),e.removeEventListener("touchend",n),e.addEventListener("mousemove",this.onHoverCallback)},l=i=>{t=!0,r=!0,s=i.timeStamp;const{offsetX:l,offsetY:h}=a(i,e);o.set(l,h),e.addEventListener("mouseup",n),e.addEventListener("touchend",n),e.removeEventListener("mousemove",this.onHoverCallback)};e.addEventListener("mousedown",l),e.addEventListener("touchstart",l),e.addEventListener("mousemove",this.onHoverCallback)}isProperClick(e,t,s,i,r){const{offsetX:o,offsetY:n}=a(e,this.domElement),l=e.timeStamp-r,h=Math.abs(o-t.x)+Math.abs(n-t.y)>f.maxMoveDistance;return s&&i&&l<f.maxClickDuration&&!h}handleClickEvent(e,t,s,i,r){if(this.isProperClick(e,t,s,i,r)){const t={...a(e,this.domElement),button:e instanceof MouseEvent?e.button:void 0};this._events.click.fire(t)}}}f.maxMoveDistance=8,f.maxClickDuration=250,Math.log(2),new i.BufferGeometry;class v extends i.Group{constructor(){super(...arguments),this._isDisposed=!1,this._referenceCount=0}reference(){this.ensureNotDisposed(),this._referenceCount++}dereference(){if(this.ensureNotDisposed(),0===this._referenceCount)throw new Error("No references");0==--this._referenceCount&&this.dispose()}dispose(){this.ensureNotDisposed(),this._isDisposed=!0;for(const e of this.children)e instanceof THREE.Mesh&&void 0!==e.geometry&&(e.geometry.dispose(),e.geometry=emptyGeometry),e instanceof THREE.BufferGeometry&&e.dispose();this.clear()}ensureNotDisposed(){if(this._isDisposed)throw new Error("Already disposed/dereferenced")}}new i.Vector3,new i.Box3;class p extends i.Object3D{constructor(e){super(),this._activeLevel=0,this._levels=[],this.isLOD=!0,this.autoUpdate=!0,this._boundingBox=e.clone(),this.type="BoundingBoxLOD"}setBoundingBox(e){this._boundingBox.copy(e)}addLevel(e,t=0){this._levels.push({object:e,distance:Math.abs(t)}),this._levels.sort(((e,t)=>t.distance-e.distance)),e.visible=!1,this.add(e)}getCurrentLevel(){return this._levels.length>0?this._levels.length-this._activeLevel-1:0}update(e){this.updateCurrentLevel(e)}updateCurrentLevel(e){const t=this._levels,{camPos:s,bounds:i}=updateVars;i.copy(this._boundingBox).applyMatrix4(this.matrixWorld);const r=e instanceof THREE.PerspectiveCamera?e.zoom:1;if(t.length>0){s.setFromMatrixPosition(e.matrixWorld);const o=i.distanceToPoint(s)/r;t[this._activeLevel].object.visible=!1,this._activeLevel=t.findIndex((e=>o>=e.distance)),this._activeLevel=this._activeLevel>=0?this._activeLevel:t.length-1,t[this._activeLevel].object.visible=!0}}}new i.Vector3;class g{constructor(e){this._originalState={},this._renderer=e,this._originalState={}}setScissor(e,t,s,r){const o=this._renderer.getScissor(new i.Vector4);this._originalState={scissorData:o,...this._originalState},this._renderer.setScissor(e,t,s,r)}setScissorTest(e){this._originalState={scissorTest:this._renderer.getScissorTest(),...this._originalState},this._renderer.setScissorTest(e)}setClearColor(e,t){this._originalState={clearColor:this._renderer.getClearColor(new i.Color),clearAlpha:this._renderer.getClearAlpha(),...this._originalState},this._renderer.setClearColor(e,t)}setWebGLState(e,t=g.DefaultWebGLState){var s,i,r,o,n,a,l;if(this._originalState={webGLState:{buffers:(null==e?void 0:e.buffers)?{}:void 0},...this._originalState},null===(s=null==e?void 0:e.buffers)||void 0===s?void 0:s.depth){const s=null===(i=e.buffers.depth)||void 0===i?void 0:i.test,h=null===(r=e.buffers.depth)||void 0===r?void 0:r.mask;this._originalState.webGLState.buffers.depth={test:void 0!==s?null===(n=null===(o=t.buffers)||void 0===o?void 0:o.depth)||void 0===n?void 0:n.test:void 0,mask:void 0!==h?null===(l=null===(a=t.buffers)||void 0===a?void 0:a.depth)||void 0===l?void 0:l.mask:void 0},void 0!==h&&this._renderer.state.buffers.depth.setMask(h),void 0!==s&&this._renderer.state.buffers.depth.setTest(s)}}setSize(e,t){this._originalState={size:this._renderer.getSize(new i.Vector2),...this._originalState},this._renderer.setSize(e,t)}set localClippingEnabled(e){this._originalState={localClippingEnabled:this._renderer.localClippingEnabled,...this._originalState},this._renderer.localClippingEnabled=e}set autoClear(e){this._originalState={autoClear:this._renderer.autoClear,...this._originalState},this._renderer.autoClear=e}set autoClearDepth(e){this._originalState={autoClearDepth:this._renderer.autoClearDepth,...this._originalState},this._renderer.autoClearDepth=e}setRenderTarget(e){this._originalState={renderTarget:this._renderer.getRenderTarget(),...this._originalState},this._renderer.setRenderTarget(e)}resetState(){var e,t,s,i;if(void 0!==this._originalState.autoClear&&(this._renderer.autoClear=this._originalState.autoClear),void 0!==this._originalState.autoClearDepth&&(this._renderer.autoClearDepth=this._originalState.autoClearDepth),void 0!==this._originalState.clearColor&&this._renderer.setClearColor(this._originalState.clearColor,this._originalState.clearAlpha),void 0!==this._originalState.localClippingEnabled&&(this._renderer.localClippingEnabled=this._originalState.localClippingEnabled),void 0!==this._originalState.size&&this._renderer.setSize(this._originalState.size.width,this._originalState.size.height),void 0!==this._originalState.renderTarget&&this._renderer.setRenderTarget(this._originalState.renderTarget),void 0!==this._originalState.scissorData&&this._renderer.setScissor(this._originalState.scissorData),void 0!==this._originalState.scissorTest&&this._renderer.setScissorTest(this._originalState.scissorTest),void 0!==this._originalState.webGLState&&(this._renderer.state.reset(),null===(t=null===(e=this._originalState.webGLState)||void 0===e?void 0:e.buffers)||void 0===t?void 0:t.depth)){const e=null===(s=this._originalState.webGLState.buffers.depth)||void 0===s?void 0:s.test,t=null===(i=this._originalState.webGLState.buffers.depth)||void 0===i?void 0:i.mask;void 0!==t&&this._renderer.state.buffers.depth.setMask(t),void 0!==e&&this._renderer.state.buffers.depth.setTest(e)}this._originalState={}}}g.DefaultWebGLState={buffers:{depth:{mask:!0,test:!0}}};class b{constructor(e){this._value=e,this._lastAccessTime=Date.now()}get value(){return this.touch(),this._value}get lastAccessTime(){return this._lastAccessTime}touch(){this._lastAccessTime=Date.now()}}class m{constructor(e=50,t,s=10){this._data=new Map,this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(s,1),this._removeCallback=t}has(e){return this._data.has(e)}forceInsert(e,t){this.isFull()&&this.cleanCache(this._defaultCleanupCount),this.insert(e,t)}insert(e,t){if(this._data.size<this._maxElementsInCache)this._data.set(e,new b(t));else if(this._maxElementsInCache>0)throw new Error("Cache full, please clean Cache and retry adding data")}remove(e){if(void 0!==this._removeCallback){const t=this._data.get(e);void 0!==t&&this._removeCallback(t.value)}this._data.delete(e)}get(e){const t=this._data.get(e);if(void 0!==t)return t.value;throw new Error(`Cache element ${e} does not exist`)}isFull(){return this._data.size>=this._maxElementsInCache}cleanCache(e){const t=Array.from(this._data.entries());t.sort(((e,t)=>t[1].lastAccessTime-e[1].lastAccessTime));for(let s=0;s<e;s++){const e=t.pop();if(void 0===e)return;this.remove(e[0])}}resize(e){this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(e*m.CLEANUP_COUNT_TO_CAPACITY_RATIO,1),this.isFull()&&this.cleanCache(this._data.size-this._maxElementsInCache)}clear(){if(void 0!==this._removeCallback)for(const e of this._data.values())this._removeCallback(e.value);this._data.clear()}}return m.CLEANUP_COUNT_TO_CAPACITY_RATIO=.2,require("lodash/chunk"),require("lodash/map"),new i.Vector2,new i.Vector3,Symbol.toStringTag,require("lodash/remove"),function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==e.g)return e.g;throw new Error("unable to locate global object")}(),(c=d||(d={}))[c.Box=0]="Box",c[c.Cylinder=1]="Cylinder",c[c.Composite=2]="Composite",t})()));
27
3
  //# sourceMappingURL=datasource.map
@@ -1,4 +1,3 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- export {};
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///external \"three\"","webpack:///external \"@cognite/sdk-core\"","webpack:///./packages/modeldata-api/src/CdfModelDataProvider.ts","webpack:///./packages/modeldata-api/src/CdfModelIdentifier.ts","webpack:///./packages/modeldata-api/src/types.ts","webpack:///./packages/modeldata-api/src/applyDefaultModelTransformation.ts","webpack:///./packages/modeldata-api/src/CdfModelMetadataProvider.ts","webpack:///./packages/modeldata-api/src/utilities.ts","webpack:///./packages/modeldata-api/src/LocalModelDataProvider.ts","webpack:///./packages/modeldata-api/src/LocalModelIdentifier.ts","webpack:///./packages/modeldata-api/src/LocalModelMetadataProvider.ts","webpack:///./extensions/datasource.ts"],"names":["root","factory","exports","module","define","amd","a","i","self","this","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","CdfModelDataProvider","client","authenticationPromise","authenticate","baseUrl","fileName","url","headers","getDefaultRequestHeaders","Accept","fetchWithRetry","method","catch","_err","Error","arrayBuffer","data","input","options","retries","error","response","fetch","status","err","undefined","CdfModelIdentifier","modelId","revisionId","revealInternalId","String","File3dFormat","cadFromCdfToThreeMatrix","set","applyDefaultModelTransformation","matrix","format","RevealCadModel","GltfCadModel","EptPointCloud","premultiply","_client","modelIdentifier","toString","model","revisions3D","retrieve","modelMatrix","rotation","makeRotationFromEuler","camera","position","target","formatMetadata","getBaseUrl","getRequestPath","blobId","project","params","AnyFormat","items","filter","output","values","includes","directoryId","async","fetchWithStatusCheck","ok","forEach","body","json","LocalModelIdentifier","localPath","startsWith","Promise","resolve","location","origin","modelUri","getModelUri","version","getCadOutput","scene","getPointCloudOutput"],"mappings":"CAAA,SAA2CA,EAAMC,GAChD,GAAsB,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,SACb,GAAqB,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,OACP,CACJ,IAAIK,EAAIL,IACR,IAAI,IAAIM,KAAKD,GAAuB,iBAAZJ,QAAuBA,QAAUF,GAAMO,GAAKD,EAAEC,IAPxE,CASoB,oBAATC,KAAuBA,KAAOC,MAAO,WAChD,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUV,QAGnC,IAAIC,EAASO,EAAiBE,GAAY,CACzCL,EAAGK,EACHC,GAAG,EACHX,QAAS,IAUV,OANAY,EAAQF,GAAUG,KAAKZ,EAAOD,QAASC,EAAQA,EAAOD,QAASS,GAG/DR,EAAOU,GAAI,EAGJV,EAAOD,QA0Df,OArDAS,EAAoBK,EAAIF,EAGxBH,EAAoBM,EAAIP,EAGxBC,EAAoBO,EAAI,SAAShB,EAASiB,EAAMC,GAC3CT,EAAoBU,EAAEnB,EAASiB,IAClCG,OAAOC,eAAerB,EAASiB,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhET,EAAoBe,EAAI,SAASxB,GACX,oBAAXyB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAerB,EAASyB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAerB,EAAS,aAAc,CAAE2B,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBO,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAASlC,GAChC,IAAIiB,EAASjB,GAAUA,EAAO6B,WAC7B,WAAwB,OAAO7B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAQ,EAAoBO,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRT,EAAoBU,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG5B,EAAoB+B,EAAI,uEAIjB/B,EAAoBA,EAAoBgC,EAAI,I,kBClFrDxC,EAAOD,QAAU0C,QAAQ,U,iBCAzBzC,EAAOD,QAAU0C,QAAQ,sB,6QCUlB,MAAMC,EAIX,YAAYC,GACVrC,KAAKqC,OAASA,EACdrC,KAAKsC,sBAAwBD,EAAOE,eAG/B,oBAAoBC,EAAiBC,GAC1C,MAAMC,EAAM,GAAGF,KAAWC,IACpBE,EAAU,IACX3C,KAAKqC,OAAOO,2BACfC,OAAQ,OAMV,aAHuB7C,KAAK8C,eAAeJ,EAAK,CAAEC,UAASI,OAAQ,QAASC,MAAMC,IAChF,MAAMC,MAAM,qCAEEC,cAGlB,kBAAkBX,EAAiBC,GAIjC,aAHuBzC,KAAKqC,OAAOrB,IAAI,GAAGwB,KAAWC,KAAYO,MAAMC,IACrE,MAAMC,MAAM,mCAEEE,KAGV,qBAAqBC,EAAoBC,EAAsBC,EAAkB,GACvF,IAAIC,EACJ,IAAK,IAAI1D,EAAI,EAAGA,EAAIyD,EAASzD,IAC3B,UACQE,KAAKsC,sBAEX,MAAMmB,QAAiBC,MAAML,EAAOC,GAGpC,GAAwB,MAApBG,EAASE,OAAgB,CAC3B3D,KAAKsC,sBAAwBtC,KAAKqC,OAAOE,eACzC,SAGF,OAAOkB,EACP,MAAOG,QAEOC,IAAVL,IACFA,EAAQI,GAId,MAAMJ,GCpDH,MAAMM,EAMX,YAAYC,EAAiBC,GAC3BhE,KAAKiE,iBAAmB/C,OAAO,GAAG6C,KAAWC,KAC7ChE,KAAK+D,QAAUA,EACf/D,KAAKgE,WAAaA,EAGb,WACL,MAAO,GAAGF,EAAmBpD,SAASwD,OAAOlE,KAAKiE,sB,ICQ1CE,E;;;IAAZ,SAAYA,GACV,iCAIA,oCAIA,gCACA,0BAVF,CAAYA,MAAY;;;;ACrBxB,MAAMC,GAA0B,IAAI,WAAgBC,IAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE/F,SAASC,EAAgCC,EAAuBC,GACrE,OAAQA,GACN,KAAKL,EAAaM,eAClB,KAAKN,EAAaO,aAClB,KAAKP,EAAaQ,cAChBJ,EAAOK,YAAYR,GACnB,MAEF,QACE,MAAM,IAAIlB,MAAM,yBAAyBsB;;;GCJxC,MAAM,EAGX,YAAYnC,GACVrC,KAAK6E,QAAUxC,EAGV,qBAAqByC,EAAkCN,GAC5D,KAAMM,aAA2BhB,GAC/B,MAAM,IAAIZ,MAAM,mBAAmBY,EAAmBpD,iBAAiBoE,EAAgBC,cAGzF,MAAM,QAAEhB,EAAO,WAAEC,GAAec,EAC1BE,QAAchF,KAAK6E,QAAQI,YAAYC,SAASnB,EAASC,GAEzDmB,EAAc,IAAI,UAKxB,OAJIH,EAAMI,UACRD,EAAYE,sBAAsB,IAAI,WAAeL,EAAMI,WAE7Dd,EAAgCa,EAAaX,GACtCW,EAGF,qBACLL,GAEA,KAAMA,aAA2BhB,GAC/B,MAAM,IAAIZ,MAAM,mBAAmBY,EAAmBpD,iBAAiBoE,EAAgBC,cAGzF,MAAM,QAAEhB,EAAO,WAAEC,GAAec,EAC1BE,QAAchF,KAAK6E,QAAQI,YAAYC,SAASnB,EAASC,GAC/D,GAAIgB,EAAMM,QAAUN,EAAMM,OAAOC,UAAYP,EAAMM,OAAOE,OAAQ,CAChE,MAAM,SAAED,EAAQ,OAAEC,GAAWR,EAAMM,OACnC,MAAO,CACLC,SAAU,IAAI,UAAcA,EAAS,GAAIA,EAAS,GAAIA,EAAS,IAC/DC,OAAQ,IAAI,UAAcA,EAAO,GAAIA,EAAO,GAAIA,EAAO,MAMtD,kBAAkBV,EAAkCW,GACzD,KAAMX,aAA2BhB,GAC/B,MAAM,IAAIZ,MAAM,mBAAmBY,EAAmBpD,iBAAiBoE,EAAgBC,cAEzF,MAAO,GAAG/E,KAAK6E,QAAQa,eAAe1F,KAAK2F,eAAeF,EAAeG,UAGpE,sBAAsBd,GAC3B,KAAMA,aAA2BhB,GAC/B,MAAM,IAAIZ,MAAM,mBAAmBY,EAAmBpD,iBAAiBoE,EAAgBC,cAGzF,MAAM,QAAEhB,EAAO,WAAEC,GAAec,EAE1BpC,EAAM,oBAAoB1C,KAAK6E,QAAQgB,qBAAqB9B,eAAqBC,YAEjFP,QAAiBzD,KAAK6E,QAAQ7D,IAAuC0B,EAAK,CAC9EoD,OAAQ,CAAEtB,OAAQL,EAAa4B,aAGjC,GAAwB,MAApBtC,EAASE,OACX,OAAOF,EAASL,KAAK4C,MAAMC,OAAOC,GAAUrF,OAAOsF,OAAehC,GAAciC,SAASF,EAAO1B,SAGlG,MAAM,IAAItB,MAAM,uBAAuBO,EAASE,qBAAqBF,EAASL,SAGxE,eAAeiD,GACrB,MAAO,oBAAoBrG,KAAK6E,QAAQgB,oBAAoBQ,K;;;GCjEzDC,eAAeC,EAAqB7D,GACzC,MAAMe,QAAiBC,MAAMhB,GAC7B,IAAKe,EAAS+C,GAAI,CAChB,MAAM7D,EAAqC,GAI3C,MAHAc,EAASd,QAAQ8D,QAAQ,CAAC/E,EAAKN,KAC7BuB,EAAQjB,GAAON,IAEX,IAAI,YAAUqC,EAASE,OAAQF,EAASiD,KAAM/D,GAEtD,OAAOc;;;GCvBF,MAAM,EACX,oBAAoBjB,EAAiBC,GAEnC,aADuB8D,EAAqB,GAAG/D,KAAWC,MAC1CU,cAGlB,kBAAkBX,EAAiBC,GAEjC,aADuB8D,EAAqB,GAAG/D,KAAWC,MAC1CkE;;;GCLb,MAAMC,EAIX,YAAYC,GACV7G,KAAKiE,iBAAmB/C,OAAO2F,GAC/B7G,KAAK6G,UAAYA,EAGZ,WACL,MAAO,GAAGD,EAAqBlG,SAASV,KAAK6G;;;GCR1C,MAAM,EACX,YAAY/B,GACV,KAAMA,aAA2B8B,GAC/B,MAAM,IAAI1D,MAAM,mBAAmB0D,EAAqBlG,iBAAiBoE,EAAgBC,cAE3F,OAAID,EAAgB+B,UAAUC,WAAW,QAChCC,QAAQC,QAAQlC,EAAgB+B,WAElCE,QAAQC,QAAQ,GAAGC,SAASC,UAAUpC,EAAgB+B,aAG/D,qBAAqB/B,EAAkCN,GACrD,KAAMM,aAA2B8B,GAC/B,MAAM,IAAI1D,MAAM,mBAAmB0D,EAAqBlG,iBAAiBoE,EAAgBC,cAG3F,MAAMR,EAAS,IAAI,UAEnB,OADAD,EAAgCC,EAAQC,GACjCD,EAGT,eACEO,GAEA,KAAMA,aAA2B8B,GAC/B,MAAM,IAAI1D,MAAM,mBAAmB0D,EAAqBlG,iBAAiBoE,EAAgBC,cAG3F,OAAOgC,QAAQC,aAAQnD,GAGzB,sBAAsBiB,G,MACpB,MAAMqC,QAAiBnH,KAAKoH,YAAYtC,GAElCoB,EAAuC,QAA7B,QAQhBI,eAA4Ba,GAC1B,IAAIE,EAEJ,IACEA,eAAwBd,EAAqBY,EAAW,gBAAgBR,QAAQU,QAChF,MAAO7D,GACP,OAEF,OAAQ6D,GACN,KAAK,EACH,OAAON,QAAQC,QAAQ,CACrBpB,QAAS,EACTpB,OAAQL,EAAaM,eACrB4C,QAAS,IAEb,KAAK,EACH,OAAON,QAAQC,QAAQ,CACrBpB,QAAS,EACTpB,OAAQL,EAAaO,aACrB2C,QAAS,IAEb,QACE,QA9BgBC,CAAaH,UAAU,cAkC7Cb,eAAmCa,GACjC,IAAII,EAEJ,IACEA,cAAqBhB,EAAqBY,EAAW,cAAcR,OACnE,MAAOnD,GACP,OAGF,OAAI+D,EACKR,QAAQC,QAAQ,CACrBpB,QAAS,EACTpB,OAAQL,EAAaQ,cACrB0C,SAAU,SAGZ,EAlDoDG,CAAoBL,GAE5E,GAAIjB,EACF,MAAO,CAACA,GAGV,MAAM,IAAIhD,MAAM;;;qCCpDpB","file":"extensions/datasource.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})((typeof self !== 'undefined' ? self : this), function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.3.0/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 73);\n","module.exports = require(\"three\");","module.exports = require(\"@cognite/sdk-core\");","/*!\n * Copyright 2021 Cognite AS\n */\nimport { CogniteClient } from '@cognite/sdk';\n\nimport { ModelDataProvider } from './types';\n\n/**\n * Provides 3D V2 specific extensions for the standard CogniteClient used by Reveal.\n */\nexport class CdfModelDataProvider implements ModelDataProvider {\n private readonly client: CogniteClient;\n private authenticationPromise: Promise<string | undefined>;\n\n constructor(client: CogniteClient) {\n this.client = client;\n this.authenticationPromise = client.authenticate();\n }\n\n public async getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer> {\n const url = `${baseUrl}/${fileName}`;\n const headers = {\n ...this.client.getDefaultRequestHeaders(),\n Accept: '*/*'\n };\n\n const response = await this.fetchWithRetry(url, { headers, method: 'GET' }).catch(_err => {\n throw Error('Could not download binary file');\n });\n return response.arrayBuffer();\n }\n\n async getJsonFile(baseUrl: string, fileName: string): Promise<any> {\n const response = await this.client.get(`${baseUrl}/${fileName}`).catch(_err => {\n throw Error('Could not download Json file');\n });\n return response.data;\n }\n\n private async fetchWithRetry(input: RequestInfo, options: RequestInit, retries: number = 3) {\n let error: Error | undefined;\n for (let i = 0; i < retries; i++) {\n try {\n await this.authenticationPromise;\n\n const response = await fetch(input, options);\n\n // Authentication error\n if (response.status === 401) {\n this.authenticationPromise = this.client.authenticate();\n continue;\n }\n\n return response;\n } catch (err) {\n // Keep first error only\n if (error !== undefined) {\n error = err as Error;\n }\n }\n }\n throw error;\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\nimport { ModelIdentifier } from '..';\n\n/**\n * Identifies a 3D model stored in CDF by the combination of a modelId, a revisionId\n * and a format.\n */\nexport class CdfModelIdentifier implements ModelIdentifier {\n readonly revealInternalId: symbol;\n\n readonly modelId: number;\n readonly revisionId: number;\n\n constructor(modelId: number, revisionId: number) {\n this.revealInternalId = Symbol(`${modelId}/${revisionId}`);\n this.modelId = modelId;\n this.revisionId = revisionId;\n }\n\n public toString(): string {\n return `${CdfModelIdentifier.name} (${String(this.revealInternalId)})`;\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\nexport interface JsonFileProvider {\n getJsonFile(baseUrl: string, fileName: string): Promise<any>;\n}\n\nexport interface BinaryFileProvider {\n getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer>;\n}\n\n/**\n * Provides data for 3D models.\n */\nexport interface ModelDataProvider extends JsonFileProvider, BinaryFileProvider {\n /**\n * Download and parse a JSON file and return the resulting struct.\n * @param baseUrl Base URL of the model.\n * @param fileName Filename of JSON file.\n */\n getJsonFile(baseUrl: string, fileName: string): Promise<any>;\n /**\n * Downloads a binary blob.\n * @param baseUrl Base URL of the model.\n * @param fileName Filename of binary file.\n */\n getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer>;\n}\n\nexport enum File3dFormat {\n EptPointCloud = 'ept-pointcloud',\n /**\n * V8 models only due to bug for version checks in Reveal <3.0\n */\n RevealCadModel = 'reveal-directory',\n /**\n * Reveal v9 and above (GLTF based output)\n */\n GltfCadModel = 'gltf-directory',\n AnyFormat = 'all-outputs'\n}\n\nexport interface BlobOutputMetadata {\n blobId: number;\n format: File3dFormat | string;\n version: number;\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\nimport * as THREE from 'three';\n\nimport { File3dFormat } from './types';\n\n// The below is equal to new THREE.Matrix4().makeRotationFromEuler(new THREE.Euler(-Math.PI / 2, 0, 0));\nconst cadFromCdfToThreeMatrix = new THREE.Matrix4().set(1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1);\n\nexport function applyDefaultModelTransformation(matrix: THREE.Matrix4, format: File3dFormat | string): void {\n switch (format) {\n case File3dFormat.RevealCadModel:\n case File3dFormat.GltfCadModel:\n case File3dFormat.EptPointCloud:\n matrix.premultiply(cadFromCdfToThreeMatrix);\n break;\n\n default:\n throw new Error(`Unknown model format '${format}`);\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\nimport * as THREE from 'three';\nimport { BlobOutputMetadata, File3dFormat } from './types';\nimport { ModelMetadataProvider } from './ModelMetadataProvider';\n\nimport { applyDefaultModelTransformation } from './applyDefaultModelTransformation';\n\nimport { CogniteClient } from '@cognite/sdk';\nimport { ItemsResponse } from '@cognite/sdk-core';\nimport { ModelIdentifier } from './ModelIdentifier';\nimport { CdfModelIdentifier } from './CdfModelIdentifier';\n\n// TODO 2020-06-25 larsmoa: Extend CogniteClient.files3d.retrieve() to support subpath instead of\n// using URLs directly. Also add support for listing outputs in the SDK.\nexport class CdfModelMetadataProvider implements ModelMetadataProvider {\n private readonly _client: CogniteClient;\n\n constructor(client: CogniteClient) {\n this._client = client;\n }\n\n public async getModelMatrix(modelIdentifier: ModelIdentifier, format: File3dFormat): Promise<THREE.Matrix4> {\n if (!(modelIdentifier instanceof CdfModelIdentifier)) {\n throw new Error(`Model must be a ${CdfModelIdentifier.name}, but got ${modelIdentifier.toString()}`);\n }\n\n const { modelId, revisionId } = modelIdentifier;\n const model = await this._client.revisions3D.retrieve(modelId, revisionId);\n\n const modelMatrix = new THREE.Matrix4();\n if (model.rotation) {\n modelMatrix.makeRotationFromEuler(new THREE.Euler(...model.rotation));\n }\n applyDefaultModelTransformation(modelMatrix, format);\n return modelMatrix;\n }\n\n public async getModelCamera(\n modelIdentifier: ModelIdentifier\n ): Promise<{ position: THREE.Vector3; target: THREE.Vector3 } | undefined> {\n if (!(modelIdentifier instanceof CdfModelIdentifier)) {\n throw new Error(`Model must be a ${CdfModelIdentifier.name}, but got ${modelIdentifier.toString()}`);\n }\n\n const { modelId, revisionId } = modelIdentifier;\n const model = await this._client.revisions3D.retrieve(modelId, revisionId);\n if (model.camera && model.camera.position && model.camera.target) {\n const { position, target } = model.camera;\n return {\n position: new THREE.Vector3(position[0], position[1], position[2]),\n target: new THREE.Vector3(target[0], target[1], target[2])\n };\n }\n return undefined;\n }\n\n public async getModelUri(modelIdentifier: ModelIdentifier, formatMetadata: BlobOutputMetadata): Promise<string> {\n if (!(modelIdentifier instanceof CdfModelIdentifier)) {\n throw new Error(`Model must be a ${CdfModelIdentifier.name}, but got ${modelIdentifier.toString()}`);\n }\n return `${this._client.getBaseUrl()}${this.getRequestPath(formatMetadata.blobId)}`;\n }\n\n public async getModelOutputs(modelIdentifier: ModelIdentifier): Promise<BlobOutputMetadata[]> {\n if (!(modelIdentifier instanceof CdfModelIdentifier)) {\n throw new Error(`Model must be a ${CdfModelIdentifier.name}, but got ${modelIdentifier.toString()}`);\n }\n\n const { modelId, revisionId } = modelIdentifier;\n\n const url = `/api/v1/projects/${this._client.project}/3d/models/${modelId}/revisions/${revisionId}/outputs`;\n\n const response = await this._client.get<ItemsResponse<BlobOutputMetadata>>(url, {\n params: { format: File3dFormat.AnyFormat }\n });\n\n if (response.status === 200) {\n return response.data.items.filter(output => Object.values<string>(File3dFormat).includes(output.format));\n }\n\n throw new Error(`Unexpected response ${response.status} (payload: '${response.data})`);\n }\n\n private getRequestPath(directoryId: number): string {\n return `/api/v1/projects/${this._client.project}/3d/files/${directoryId}`;\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\nimport { Versioned3DFile } from '@cognite/sdk';\n\n// To avoid direct dependency on @cognite/sdk we use sdk-core here for HttpError.\n// that's why it's avoided https://github.com/cognitedata/cdf-hub/pull/687/files#r489204315\nimport { HttpError } from '@cognite/sdk-core';\n\nexport const supportedVersions = [8];\n\nexport function getNewestVersionedFile(files: Versioned3DFile[]): Versioned3DFile {\n return files\n .filter(file => supportedVersions.includes(file.version))\n .reduce((newestFile, file) => (file.version > newestFile.version ? file : newestFile), {\n fileId: -1,\n version: -1\n });\n}\n\nexport async function fetchWithStatusCheck(url: string): Promise<Response> {\n const response = await fetch(url);\n if (!response.ok) {\n const headers: { [key: string]: string } = {};\n response.headers.forEach((key, value) => {\n headers[key] = value;\n });\n throw new HttpError(response.status, response.body, headers);\n }\n return response;\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\nimport { ModelDataProvider } from './types';\nimport { fetchWithStatusCheck } from './utilities';\n\nexport class LocalModelDataProvider implements ModelDataProvider {\n async getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer> {\n const response = await fetchWithStatusCheck(`${baseUrl}/${fileName}`);\n return response.arrayBuffer();\n }\n\n async getJsonFile(baseUrl: string, fileName: string): Promise<any> {\n const response = await fetchWithStatusCheck(`${baseUrl}/${fileName}`);\n return response.json();\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\nimport { ModelIdentifier } from './ModelIdentifier';\n\n/**\n * Identifies a 3D model by a URL. This implementation is used for testing\n * purposes.\n */\nexport class LocalModelIdentifier implements ModelIdentifier {\n readonly revealInternalId: symbol;\n readonly localPath: string;\n\n constructor(localPath: string) {\n this.revealInternalId = Symbol(localPath);\n this.localPath = localPath;\n }\n\n public toString(): string {\n return `${LocalModelIdentifier.name} (${this.localPath})`;\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\nimport * as THREE from 'three';\n\nimport { applyDefaultModelTransformation } from './applyDefaultModelTransformation';\nimport { LocalModelIdentifier } from './LocalModelIdentifier';\nimport { ModelIdentifier } from './ModelIdentifier';\nimport { ModelMetadataProvider } from './ModelMetadataProvider';\nimport { BlobOutputMetadata, File3dFormat } from './types';\nimport { fetchWithStatusCheck } from './utilities';\n\nexport class LocalModelMetadataProvider implements ModelMetadataProvider {\n getModelUri(modelIdentifier: ModelIdentifier): Promise<string> {\n if (!(modelIdentifier instanceof LocalModelIdentifier)) {\n throw new Error(`Model must be a ${LocalModelIdentifier.name}, but got ${modelIdentifier.toString()}`);\n }\n if (modelIdentifier.localPath.startsWith('http')) {\n return Promise.resolve(modelIdentifier.localPath);\n }\n return Promise.resolve(`${location.origin}/${modelIdentifier.localPath}`);\n }\n\n async getModelMatrix(modelIdentifier: ModelIdentifier, format: File3dFormat): Promise<THREE.Matrix4> {\n if (!(modelIdentifier instanceof LocalModelIdentifier)) {\n throw new Error(`Model must be a ${LocalModelIdentifier.name}, but got ${modelIdentifier.toString()}`);\n }\n\n const matrix = new THREE.Matrix4();\n applyDefaultModelTransformation(matrix, format);\n return matrix;\n }\n\n getModelCamera(\n modelIdentifier: ModelIdentifier\n ): Promise<{ position: THREE.Vector3; target: THREE.Vector3 } | undefined> {\n if (!(modelIdentifier instanceof LocalModelIdentifier)) {\n throw new Error(`Model must be a ${LocalModelIdentifier.name}, but got ${modelIdentifier.toString()}`);\n }\n\n return Promise.resolve(undefined);\n }\n\n async getModelOutputs(modelIdentifier: ModelIdentifier): Promise<BlobOutputMetadata[]> {\n const modelUri = await this.getModelUri(modelIdentifier);\n\n const output = (await getCadOutput(modelUri)) ?? (await getPointCloudOutput(modelUri));\n\n if (output) {\n return [output];\n }\n\n throw new Error(`Only point cloud or CAD models (version 8 and 9) are supported)`);\n\n async function getCadOutput(modelUri: string): Promise<BlobOutputMetadata | undefined> {\n let version: number;\n\n try {\n version = (await (await fetchWithStatusCheck(modelUri + '/scene.json')).json()).version;\n } catch (error) {\n return undefined;\n }\n switch (version) {\n case 8:\n return Promise.resolve({\n blobId: -1,\n format: File3dFormat.RevealCadModel,\n version: 8\n });\n case 9:\n return Promise.resolve({\n blobId: -1,\n format: File3dFormat.GltfCadModel,\n version: 9\n });\n default:\n return undefined;\n }\n }\n\n async function getPointCloudOutput(modelUri: string): Promise<BlobOutputMetadata | undefined> {\n let scene: any;\n\n try {\n scene = await (await fetchWithStatusCheck(modelUri + '/ept.json')).json();\n } catch (error) {\n return undefined;\n }\n\n if (scene) {\n return Promise.resolve({\n blobId: -1,\n format: File3dFormat.EptPointCloud,\n version: -1\n });\n } else {\n return undefined;\n }\n }\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\n/**\n * @module @cognite/reveal/extensions/datasource\n */\n\nexport { DataSource } from '../packages/data-source';\nexport { NodesApiClient } from '../packages/nodes-api';\nexport {\n ModelIdentifier,\n CdfModelIdentifier,\n ModelMetadataProvider,\n ModelDataProvider,\n BlobOutputMetadata,\n File3dFormat\n} from '../packages/modeldata-api';\n"],"sourceRoot":""}
1
+ {"version":3,"file":"extensions/datasource.js","mappings":"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","sources":["webpack://@cognite/reveal/webpack/universalModuleDefinition","webpack://@cognite/reveal/webpack/bootstrap","webpack://@cognite/reveal/webpack/runtime/compat get default export","webpack://@cognite/reveal/webpack/runtime/define property getters","webpack://@cognite/reveal/webpack/runtime/global","webpack://@cognite/reveal/webpack/runtime/hasOwnProperty shorthand","webpack://@cognite/reveal/webpack/runtime/make namespace object","webpack://@cognite/reveal/./packages/data-providers/src/model-identifiers/CdfModelIdentifier.ts","webpack://@cognite/reveal/external commonjs \"three\"","webpack://@cognite/reveal/./packages/data-providers/src/types.ts","webpack://@cognite/reveal/./packages/data-providers/src/utilities/applyDefaultModelTransformation.ts","webpack://@cognite/reveal/external commonjs \"lodash/groupBy\"","webpack://@cognite/reveal/external commonjs \"lodash/orderBy\"","webpack://@cognite/reveal/external commonjs \"lodash/zipWith\"","webpack://@cognite/reveal/external commonjs \"assert\"","webpack://@cognite/reveal/external commonjs \"@cognite/sdk-core\"","webpack://@cognite/reveal/./packages/utilities/src/RandomColors.ts","webpack://@cognite/reveal/./packages/utilities/src/events/clickOrTouchEventOffset.ts","webpack://@cognite/reveal/./packages/utilities/src/events/EventTrigger.ts","webpack://@cognite/reveal/external commonjs \"lodash/debounce\"","webpack://@cognite/reveal/./packages/utilities/src/shapes/ISerializableShape.ts","webpack://@cognite/reveal/./packages/utilities/src/assertNever.ts","webpack://@cognite/reveal/./packages/utilities/src/events/InputHandler.ts","webpack://@cognite/reveal/./packages/utilities/src/determinePowerOfTwoDimensions.ts","webpack://@cognite/reveal/./packages/utilities/src/three/AutoDisposeGroup.ts","webpack://@cognite/reveal/./packages/utilities/src/three/BoundingBoxLOD.ts","webpack://@cognite/reveal/./packages/utilities/src/three/visitBox3CornerPoints.ts","webpack://@cognite/reveal/./packages/utilities/src/WebGLRendererStateHelper.ts","webpack://@cognite/reveal/./packages/utilities/src/cache/MemoryRequestCache.ts","webpack://@cognite/reveal/external commonjs \"lodash/chunk\"","webpack://@cognite/reveal/external commonjs \"lodash/map\"","webpack://@cognite/reveal/./packages/utilities/src/worldToViewport.ts","webpack://@cognite/reveal/./packages/utilities/src/DeferredPromise.ts","webpack://@cognite/reveal/external commonjs \"lodash/remove\"","webpack://@cognite/reveal/./packages/utilities/src/workers/workerize-transferable/util.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@cognite/reveal\"] = factory();\n\telse\n\t\troot[\"@cognite/reveal\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/*!\n * Copyright 2021 Cognite AS\n */\nimport { ModelIdentifier } from '../..';\n\n/**\n * Identifies a 3D model stored in CDF by the combination of a modelId, a revisionId\n * and a format.\n */\nexport class CdfModelIdentifier implements ModelIdentifier {\n readonly revealInternalId: symbol;\n\n readonly modelId: number;\n readonly revisionId: number;\n\n constructor(modelId: number, revisionId: number) {\n this.revealInternalId = Symbol(`${modelId}/${revisionId}`);\n this.modelId = modelId;\n this.revisionId = revisionId;\n }\n\n public toString(): string {\n return `${CdfModelIdentifier.name} (${String(this.revealInternalId)})`;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"three\");","/*!\n * Copyright 2021 Cognite AS\n */\nimport * as THREE from 'three';\n\nexport interface JsonFileProvider {\n getJsonFile(baseUrl: string, fileName: string): Promise<any>;\n}\n\nexport interface BinaryFileProvider {\n getBinaryFile(baseUrl: string, fileName: string): Promise<ArrayBuffer>;\n}\n\nexport interface Image360DescriptorProvider<T> {\n get360ImageDescriptors(metadataFilter: T): Promise<Image360Descriptor[]>;\n}\n\nexport interface Image360FileProvider {\n get360ImageFiles(image360Descriptor: Image360Descriptor): Promise<Image360Face[]>;\n}\n\nexport type Image360Descriptor = {\n id: string;\n label: string;\n collectionId: string;\n collectionLabel: string;\n transformations: {\n translation: THREE.Matrix4;\n rotation: THREE.Matrix4;\n };\n};\n\nexport type Image360Face = {\n face: 'front' | 'back' | 'left' | 'right' | 'top' | 'bottom';\n mimeType: 'image/jpeg' | 'image/png';\n data: ArrayBuffer;\n};\n\nexport enum File3dFormat {\n EptPointCloud = 'ept-pointcloud',\n /**\n * Reveal v9 and above (GLTF based output)\n */\n GltfCadModel = 'gltf-directory',\n AnyFormat = 'all-outputs'\n}\n\nexport interface BlobOutputMetadata {\n blobId: number;\n format: File3dFormat | string;\n version: number;\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\nimport * as THREE from 'three';\n\nimport { File3dFormat } from '../types';\n\n// The below is equal to new THREE.Matrix4().makeRotationFromEuler(new THREE.Euler(-Math.PI / 2, 0, 0));\nconst cadFromCdfToThreeMatrix = new THREE.Matrix4().set(1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1);\n\nexport function applyDefaultModelTransformation(matrix: THREE.Matrix4, format: File3dFormat | string): void {\n switch (format) {\n case File3dFormat.GltfCadModel:\n case File3dFormat.EptPointCloud:\n matrix.premultiply(cadFromCdfToThreeMatrix);\n break;\n\n default:\n throw new Error(`Unknown model format '${format}`);\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/groupBy\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/orderBy\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/zipWith\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"assert\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@cognite/sdk-core\");","/*!\n * Copyright 2021 Cognite AS\n */\nimport * as THREE from 'three';\n\n/**\n * Utility class for creating reasonable visible colors. Mainly meant for use\n * in debugging.\n */\nexport class RandomColors {\n private static readonly _colors: Map<number, THREE.Color> = new Map();\n\n /**\n * Returns a color as a THREE.Color.\n * @param colorIndex\n * @returns\n */\n static color(colorIndex: number): THREE.Color {\n const color = RandomColors._colors.get(colorIndex);\n if (color !== undefined) {\n return color;\n }\n\n const newColor = RandomColors.generateRandomColor();\n RandomColors._colors.set(colorIndex, newColor);\n return newColor;\n }\n\n /**\n * Returns color as RGB components between 0 and 255.\n * @param colorIndex Return\n * @returns\n */\n static colorRGB(colorIndex: number): [number, number, number] {\n const c = RandomColors.color(colorIndex);\n return [Math.floor(c.r * 255), Math.floor(c.g * 255), Math.floor(c.b * 255)];\n }\n\n /**\n * Returns a color string suitable for usage in CSS styles.\n * @param colorIndex\n * @returns\n */\n static colorCSS(colorIndex: number): string {\n const [r, g, b] = RandomColors.colorRGB(colorIndex);\n return `rgb(${r}, ${g}, ${b})`;\n }\n\n /**\n * Returns a random color with reasonable lightness and saturation\n * to make the color easily distinguishable from other colors.\n */\n static generateRandomColor(): THREE.Color {\n const hue = Math.random();\n const saturation = 0.4 + Math.random() * 0.6;\n const lightness = 0.3 + 0.4 * Math.random();\n return new THREE.Color().setHSL(hue, saturation, lightness);\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\n/**\n * Determines clicked or touched coordinate as offset\n * @param ev An MouseEvent or TouchEvent.\n * @param target HTML element to find coordinates relative to.\n * @returns A struct containing coordinates relative to the HTML element provided.\n */\nexport function clickOrTouchEventOffset(\n ev: MouseEvent | TouchEvent,\n target: HTMLElement\n): { offsetX: number; offsetY: number } {\n const rect = target.getBoundingClientRect();\n\n if (ev instanceof MouseEvent) {\n return {\n offsetX: ev.clientX - rect.left,\n offsetY: ev.clientY - rect.top\n };\n } else if (ev.changedTouches.length > 0) {\n const touch = ev.changedTouches[0];\n return {\n offsetX: touch.clientX - rect.left,\n offsetY: touch.clientY - rect.top\n };\n }\n\n // Invalid event\n return {\n offsetX: -1,\n offsetY: -1\n };\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\n/**\n * Subscribable event source.\n */\nexport class EventTrigger<TListener extends (...args: any[]) => void> {\n private readonly _listeners: TListener[] = [];\n\n subscribe(listener: TListener): void {\n this._listeners.push(listener);\n }\n\n unsubscribe(listener: TListener): void {\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n unsubscribeAll(): void {\n this._listeners.splice(0);\n }\n\n fire(...args: Parameters<TListener>): void {\n this._listeners.forEach(listener => listener(...args));\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/debounce\");","/*!\n * Copyright 2022 Cognite AS\n */\n\nexport enum ShapeType {\n Box,\n Cylinder,\n Composite\n}\n\nexport interface ISerializableShape {\n readonly shapeType: ShapeType;\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\n/**\n * See https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html#union-exhaustiveness-checking\n */\nexport function assertNever(x: never, message?: string): never {\n throw new Error(message || 'Unexpected object: ' + x);\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\nimport { clickOrTouchEventOffset } from './clickOrTouchEventOffset';\nimport { EventTrigger } from './EventTrigger';\nimport debounce from 'lodash/debounce';\nimport { assertNever } from '../assertNever';\nimport { Vector2 } from 'three';\nimport { PointerEventDelegate } from './types';\n\nexport type EventCollection = { [eventName: string]: EventTrigger<(...args: any[]) => void> };\n\nexport class InputHandler {\n private readonly domElement: HTMLElement;\n private static readonly maxMoveDistance = 8;\n private static readonly maxClickDuration = 250;\n\n private readonly _events = {\n click: new EventTrigger<PointerEventDelegate>(),\n hover: new EventTrigger<PointerEventDelegate>()\n };\n\n constructor(domElement: HTMLElement) {\n this.domElement = domElement;\n\n this.setupEventListeners();\n }\n /**\n * @example\n * ```js\n * const onClick = (event) => { console.log(event.offsetX, event.offsetY) };\n * viewer.on('click', onClick);\n * ```\n */\n on(event: 'click' | 'hover', callback: PointerEventDelegate): void {\n switch (event) {\n case 'click':\n this._events.click.subscribe(callback as PointerEventDelegate);\n break;\n\n case 'hover':\n this._events.hover.subscribe(callback as PointerEventDelegate);\n break;\n default:\n assertNever(event);\n }\n }\n\n off(event: 'click' | 'hover', callback: PointerEventDelegate): void {\n switch (event) {\n case 'click':\n this._events.click.unsubscribe(callback as PointerEventDelegate);\n break;\n\n case 'hover':\n this._events.hover.unsubscribe(callback as PointerEventDelegate);\n break;\n default:\n assertNever(event);\n }\n }\n\n dispose(): void {\n disposeOfAllEventListeners(this._events);\n }\n\n private setupEventListeners() {\n const { domElement } = this;\n\n let pointerDown = false;\n let pointerDownTimestamp = 0;\n let validClick = false;\n\n const startOffset = new Vector2();\n\n const onUp = (e: MouseEvent | TouchEvent) => {\n this.handleClickEvent(e, startOffset, pointerDown, validClick, pointerDownTimestamp);\n\n pointerDown = false;\n validClick = false;\n\n // up\n domElement.removeEventListener('mouseup', onUp);\n domElement.removeEventListener('touchend', onUp);\n\n // add back onHover\n domElement.addEventListener('mousemove', this.onHoverCallback);\n };\n\n const onDown = (e: MouseEvent | TouchEvent) => {\n pointerDown = true;\n validClick = true;\n pointerDownTimestamp = e.timeStamp;\n\n const { offsetX, offsetY } = clickOrTouchEventOffset(e, domElement);\n startOffset.set(offsetX, offsetY);\n\n // up\n domElement.addEventListener('mouseup', onUp);\n domElement.addEventListener('touchend', onUp);\n\n // no more onHover\n domElement.removeEventListener('mousemove', this.onHoverCallback);\n };\n\n // down\n domElement.addEventListener('mousedown', onDown);\n domElement.addEventListener('touchstart', onDown);\n\n // on hover callback\n domElement.addEventListener('mousemove', this.onHoverCallback);\n }\n\n private isProperClick(\n e: MouseEvent | TouchEvent,\n startOffset: Vector2,\n pointerDown: boolean,\n validClick: boolean,\n pointerDownTimestamp: number\n ) {\n const { offsetX, offsetY } = clickOrTouchEventOffset(e, this.domElement);\n const clickDuration = e.timeStamp - pointerDownTimestamp;\n\n const hasMovedDuringClick =\n Math.abs(offsetX - startOffset.x) + Math.abs(offsetY - startOffset.y) > InputHandler.maxMoveDistance;\n\n const isProperClick =\n pointerDown && validClick && clickDuration < InputHandler.maxClickDuration && !hasMovedDuringClick;\n\n return isProperClick;\n }\n\n private handleClickEvent(\n e: MouseEvent | TouchEvent,\n startOffset: Vector2,\n pointerDown: boolean,\n validClick: boolean,\n pointerDownTimestamp: number\n ) {\n const isProperClick = this.isProperClick(e, startOffset, pointerDown, validClick, pointerDownTimestamp);\n\n if (isProperClick) {\n const firedEvent = {\n ...clickOrTouchEventOffset(e, this.domElement),\n button: e instanceof MouseEvent ? e.button : undefined\n };\n\n this._events.click.fire(firedEvent);\n }\n }\n\n private readonly onHoverCallback = debounce((e: MouseEvent) => {\n this._events.hover.fire(clickOrTouchEventOffset(e, this.domElement));\n }, 100);\n}\n\n/**\n * Method for deleting all external events that are associated with current instance of a class.\n */\nexport function disposeOfAllEventListeners(eventList: EventCollection): void {\n for (const eventType of Object.keys(eventList)) {\n eventList[eventType].unsubscribeAll();\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\n/**\n * Computes minimal power-of-two width and height that holds at least the number of elements provided.\n * This is useful to compute texture sizes.\n */\nexport function determinePowerOfTwoDimensions(elementCount: number): { width: number; height: number } {\n const width = Math.max(1, ceilToPowerOfTwo(Math.sqrt(elementCount)));\n const height = Math.max(1, ceilToPowerOfTwo(elementCount / width));\n return { width, height };\n}\n\nconst log2 = Math.log(2);\nfunction ceilToPowerOfTwo(v: number): number {\n return Math.pow(2, Math.ceil(Math.log(v) / log2));\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\nimport * as THREE from 'three';\n\nconst emptyGeometry = new THREE.BufferGeometry();\n\n/**\n * Referenced count implementation of THREE.Group that\n * automatically disposes all geometries contained in meshes that\n * are direct children of the group.\n */\nexport class AutoDisposeGroup extends THREE.Group {\n private _isDisposed = false;\n private _referenceCount = 0;\n\n reference(): void {\n this.ensureNotDisposed();\n this._referenceCount++;\n }\n\n dereference(): void {\n this.ensureNotDisposed();\n if (this._referenceCount === 0) {\n throw new Error('No references');\n }\n if (--this._referenceCount === 0) {\n this.dispose();\n }\n }\n\n private dispose(): void {\n this.ensureNotDisposed();\n this._isDisposed = true;\n\n for (const child of this.children) {\n if (child instanceof THREE.Mesh && child.geometry !== undefined) {\n child.geometry.dispose();\n\n // // NOTE: Forcefully creating a new reference here to make sure\n // // there are no lingering references to the large geometry buffer\n child.geometry = emptyGeometry;\n }\n if (child instanceof THREE.BufferGeometry) {\n child.dispose();\n }\n }\n\n this.clear();\n }\n\n private ensureNotDisposed() {\n if (this._isDisposed) {\n throw new Error('Already disposed/dereferenced');\n }\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\nimport * as THREE from 'three';\n\n// For BoundingBoxLOD.update()\nconst updateVars = {\n camPos: new THREE.Vector3(),\n bounds: new THREE.Box3()\n};\n\n/**\n * Class similar to THREE.LOD except that it doesn't use `matrixWorld` to determine distance to camera, but a\n * bounding box.\n */\nexport class BoundingBoxLOD extends THREE.Object3D {\n private readonly _boundingBox: THREE.Box3;\n private _activeLevel = 0;\n private readonly _levels: { distance: number; object: THREE.Object3D }[] = [];\n\n // Note! isLOD and autoUpdate is used by WebGLRenderer to perform automatic update of LOD\n // level before rendering\n public readonly isLOD = true;\n public readonly autoUpdate = true;\n\n constructor(boundingBox: THREE.Box3) {\n super();\n this._boundingBox = boundingBox.clone();\n this.type = 'BoundingBoxLOD';\n }\n\n setBoundingBox(boundingBox: THREE.Box3): void {\n this._boundingBox.copy(boundingBox);\n }\n\n addLevel(object: THREE.Object3D, distance: number = 0): void {\n this._levels.push({ object, distance: Math.abs(distance) });\n this._levels.sort((a, b) => b.distance - a.distance);\n object.visible = false;\n this.add(object);\n }\n\n /**\n * Returns the index of the current active LOD. 0 means highest detail.\n */\n getCurrentLevel(): number {\n return this._levels.length > 0 ? this._levels.length - this._activeLevel - 1 : 0;\n }\n\n /**\n * Update selected LOD level based on distance to camera.\n */\n update(camera: THREE.Camera): void {\n this.updateCurrentLevel(camera);\n }\n\n private updateCurrentLevel(camera: THREE.Camera) {\n const levels = this._levels;\n const { camPos, bounds } = updateVars;\n bounds.copy(this._boundingBox).applyMatrix4(this.matrixWorld);\n const cameraZoom = camera instanceof THREE.PerspectiveCamera ? camera.zoom : 1.0;\n\n if (levels.length > 0) {\n camPos.setFromMatrixPosition(camera.matrixWorld);\n const distanceToCamera = bounds.distanceToPoint(camPos) / cameraZoom;\n\n levels[this._activeLevel].object.visible = false;\n this._activeLevel = levels.findIndex(p => distanceToCamera >= p.distance);\n this._activeLevel = this._activeLevel >= 0 ? this._activeLevel : levels.length - 1;\n levels[this._activeLevel].object.visible = true;\n }\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\nimport * as THREE from 'three';\n\nconst visitBox3CornerPointsVars = {\n tmpVector: new THREE.Vector3()\n};\n\n/**\n * Visits each corner point of the box given by applying\n * the callback provided to each of the points.\n * Note that the callback is invoked with a vector\n * that will be changed later, so if this is to be stored\n * it must be cloned first.\n */\nexport function visitBox3CornerPoints(box: THREE.Box3, callback: (corner: THREE.Vector3) => void): void {\n const { tmpVector } = visitBox3CornerPointsVars;\n tmpVector.set(box.min.x, box.min.y, box.min.z); // 000\n callback(tmpVector);\n tmpVector.set(box.min.x, box.min.y, box.max.z); // 001\n callback(tmpVector);\n tmpVector.set(box.min.x, box.max.y, box.min.z); // 010\n callback(tmpVector);\n tmpVector.set(box.min.x, box.max.y, box.max.z); // 011\n callback(tmpVector);\n tmpVector.set(box.max.x, box.min.y, box.min.z); // 100\n callback(tmpVector);\n tmpVector.set(box.max.x, box.min.y, box.max.z); // 101\n callback(tmpVector);\n tmpVector.set(box.max.x, box.max.y, box.min.z); // 110\n callback(tmpVector);\n tmpVector.set(box.max.x, box.max.y, box.max.z); // 111\n callback(tmpVector);\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\nimport * as THREE from 'three';\nimport { Vector4 } from 'three';\n\ntype WebGLRendererState = {\n autoClear?: boolean;\n autoClearDepth?: boolean;\n clearColor?: THREE.Color | string | number;\n clearAlpha?: number;\n size?: THREE.Vector2;\n localClippingEnabled?: boolean;\n renderTarget?: THREE.WebGLRenderTarget | null;\n scissorData?: THREE.Vector4;\n scissorTest?: boolean;\n webGLState?: WebGLState;\n};\n\ntype WebGLState = {\n buffers?: {\n depth?: {\n mask?: boolean;\n test?: boolean;\n };\n };\n};\n\nexport class WebGLRendererStateHelper {\n private _originalState: WebGLRendererState = {};\n private readonly _renderer: THREE.WebGLRenderer;\n\n private static readonly DefaultWebGLState: WebGLState = {\n buffers: {\n depth: {\n mask: true,\n test: true\n }\n }\n };\n\n constructor(renderer: THREE.WebGLRenderer) {\n this._renderer = renderer;\n this._originalState = {};\n }\n\n setScissor(x: number, y: number, width: number, height: number): void {\n const scissorData = this._renderer.getScissor(new Vector4());\n this._originalState = { scissorData, ...this._originalState };\n this._renderer.setScissor(x, y, width, height);\n }\n\n setScissorTest(enabled: boolean): void {\n this._originalState = { scissorTest: this._renderer.getScissorTest(), ...this._originalState };\n this._renderer.setScissorTest(enabled);\n }\n\n setClearColor(color: THREE.Color | number | string, alpha?: number): void {\n this._originalState = {\n clearColor: this._renderer.getClearColor(new THREE.Color()),\n clearAlpha: this._renderer.getClearAlpha(),\n ...this._originalState\n };\n this._renderer.setClearColor(color, alpha);\n }\n\n setWebGLState(state: WebGLState, resetState: WebGLState = WebGLRendererStateHelper.DefaultWebGLState): void {\n this._originalState = {\n webGLState: {\n buffers: state?.buffers ? {} : undefined\n },\n ...this._originalState\n };\n\n if (state?.buffers?.depth) {\n const newTest = state.buffers.depth?.test;\n const newMask = state.buffers.depth?.mask;\n\n this._originalState.webGLState!.buffers!.depth = {\n test: newTest !== undefined ? resetState.buffers?.depth?.test : undefined,\n mask: newMask !== undefined ? resetState.buffers?.depth?.mask : undefined\n };\n\n if (newMask !== undefined) this._renderer.state.buffers.depth.setMask(newMask);\n if (newTest !== undefined) this._renderer.state.buffers.depth.setTest(newTest);\n }\n }\n\n setSize(width: number, height: number): void {\n this._originalState = { size: this._renderer.getSize(new THREE.Vector2()), ...this._originalState };\n this._renderer.setSize(width, height);\n }\n\n set localClippingEnabled(enabled: boolean) {\n this._originalState = { localClippingEnabled: this._renderer.localClippingEnabled, ...this._originalState };\n this._renderer.localClippingEnabled = enabled;\n }\n\n set autoClear(enabled: boolean) {\n this._originalState = { autoClear: this._renderer.autoClear, ...this._originalState };\n this._renderer.autoClear = enabled;\n }\n\n set autoClearDepth(enabled: boolean) {\n this._originalState = { autoClearDepth: this._renderer.autoClearDepth, ...this._originalState };\n this._renderer.autoClearDepth = enabled;\n }\n\n setRenderTarget(renderTarget: THREE.WebGLRenderTarget | null): void {\n this._originalState = { renderTarget: this._renderer.getRenderTarget(), ...this._originalState };\n this._renderer.setRenderTarget(renderTarget);\n }\n\n resetState(): void {\n if (this._originalState.autoClear !== undefined) {\n this._renderer.autoClear = this._originalState.autoClear;\n }\n if (this._originalState.autoClearDepth !== undefined) {\n this._renderer.autoClearDepth = this._originalState.autoClearDepth;\n }\n if (this._originalState.clearColor !== undefined) {\n this._renderer.setClearColor(this._originalState.clearColor, this._originalState.clearAlpha);\n }\n if (this._originalState.localClippingEnabled !== undefined) {\n this._renderer.localClippingEnabled = this._originalState.localClippingEnabled;\n }\n if (this._originalState.size !== undefined) {\n this._renderer.setSize(this._originalState.size.width, this._originalState.size.height);\n }\n if (this._originalState.renderTarget !== undefined) {\n this._renderer.setRenderTarget(this._originalState.renderTarget);\n }\n if (this._originalState.scissorData !== undefined) {\n this._renderer.setScissor(this._originalState.scissorData);\n }\n if (this._originalState.scissorTest !== undefined) {\n this._renderer.setScissorTest(this._originalState.scissorTest);\n }\n if (this._originalState.webGLState !== undefined) {\n this._renderer.state.reset();\n\n if (this._originalState.webGLState?.buffers?.depth) {\n const lastTest = this._originalState.webGLState.buffers.depth?.test;\n const lastMask = this._originalState.webGLState.buffers.depth?.mask;\n\n if (lastMask !== undefined) this._renderer.state.buffers.depth.setMask(lastMask);\n if (lastTest !== undefined) this._renderer.state.buffers.depth.setTest(lastTest);\n }\n }\n\n this._originalState = {};\n }\n}\n","/*!\n * Copyright 2021 Cognite AS\n */\n\nimport { RequestCache } from './RequestCache';\n\nclass TimestampedContainer<T> {\n private _lastAccessTime: number;\n private readonly _value: T;\n\n constructor(value: T) {\n this._value = value;\n this._lastAccessTime = Date.now();\n }\n\n get value() {\n this.touch();\n return this._value;\n }\n\n get lastAccessTime() {\n return this._lastAccessTime;\n }\n\n private touch() {\n this._lastAccessTime = Date.now();\n }\n}\n\nexport interface MemoryRequestCacheOptions {\n maxElementsInCache?: number;\n}\n\nexport class MemoryRequestCache<Key, Data> implements RequestCache<Key, Data> {\n private _maxElementsInCache: number;\n private readonly _data: Map<Key, TimestampedContainer<Data>>;\n private _defaultCleanupCount: number;\n private readonly _removeCallback: ((value: Data) => void) | undefined;\n\n private static readonly CLEANUP_COUNT_TO_CAPACITY_RATIO = 1.0 / 5.0;\n\n constructor(\n maxElementsInCache: number = 50,\n removeCallback?: (value: Data) => void,\n defaultCleanupCount: number = 10\n ) {\n this._data = new Map();\n this._maxElementsInCache = maxElementsInCache;\n this._defaultCleanupCount = Math.max(defaultCleanupCount, 1);\n this._removeCallback = removeCallback;\n }\n\n has(id: Key): boolean {\n return this._data.has(id);\n }\n\n forceInsert(id: Key, data: Data): void {\n if (this.isFull()) {\n this.cleanCache(this._defaultCleanupCount);\n }\n this.insert(id, data);\n }\n\n insert(id: Key, data: Data): void {\n if (this._data.size < this._maxElementsInCache) {\n this._data.set(id, new TimestampedContainer(data));\n } else if (this._maxElementsInCache > 0) {\n throw new Error('Cache full, please clean Cache and retry adding data');\n }\n }\n\n remove(id: Key): void {\n if (this._removeCallback !== undefined) {\n const value = this._data.get(id);\n if (value !== undefined) {\n this._removeCallback(value.value);\n }\n }\n this._data.delete(id);\n }\n\n get(id: Key): Data {\n const data = this._data.get(id);\n if (data !== undefined) {\n // Don't really like the touch for lastTime being hidden within a get function. Should we maybe make a\n // TimeConstrainedCache interface where the geter is called something like getAndUpdateTimestamp for clarity?\n return data.value;\n }\n throw new Error(`Cache element ${id} does not exist`);\n }\n\n isFull(): boolean {\n return this._data.size >= this._maxElementsInCache;\n }\n\n cleanCache(count: number): void {\n const allResults = Array.from(this._data.entries());\n allResults.sort((left, right) => {\n return right[1].lastAccessTime - left[1].lastAccessTime;\n });\n for (let i = 0; i < count; i++) {\n const entry = allResults.pop();\n if (entry !== undefined) {\n this.remove(entry[0]);\n } else {\n return;\n }\n }\n }\n\n resize(cacheSize: number): void {\n this._maxElementsInCache = cacheSize;\n this._defaultCleanupCount = Math.max(cacheSize * MemoryRequestCache.CLEANUP_COUNT_TO_CAPACITY_RATIO, 1);\n\n if (this.isFull()) {\n this.cleanCache(this._data.size - this._maxElementsInCache);\n }\n }\n\n clear(): void {\n if (this._removeCallback !== undefined) {\n for (const value of this._data.values()) {\n this._removeCallback(value.value);\n }\n }\n this._data.clear();\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/chunk\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/map\");","/*!\n * Copyright 2021 Cognite AS\n */\n\nimport * as THREE from 'three';\n\nconst worldToViewportVars = {\n renderSize: new THREE.Vector2(),\n position: new THREE.Vector3()\n};\n\n/**\n * Maps from 3D world coordinates to normalized screen coordinates\n * relative to the canvas being rendered to. X and Y will\n * be in range [0, 1]. Z is in range [-1, 1] if the coordinate\n * is inside the camera near and far planes.\n * @param camera Camera used to project point from 3D to NDC coordinates\n * @param position3D World position in 3D\n * @param out Optionally pre-allocated THREE.Vector3\n * @returns Relative screen coordinates in X, Y and Z in range [-1, 1] if point\n * is within near/far of camera.\n */\n\nexport function worldToNormalizedViewportCoordinates(\n camera: THREE.PerspectiveCamera,\n position3D: THREE.Vector3,\n out: THREE.Vector3 = new THREE.Vector3()\n): THREE.Vector3 {\n const { position } = worldToViewportVars;\n\n // map to normalized device coordinate (NDC) space\n position.copy(position3D);\n position.project(camera);\n\n // map to 2D screen space\n const x = (position.x + 1) / 2;\n const y = (-position.y + 1) / 2;\n\n return out.set(x, y, position.z);\n}\n\n/**\n * Maps from 3D world coordinates to screen coordinates\n * relative to the canvas. X and Y will be in absolute\n * coordinates (0,0 being the top left of the canvas). Z is\n * in range [-1, 1] if the coordinate\n * is inside the camera near and far planes.\n * @param renderer Renderer used to render the \"world\"\n * @param camera Camera used to project point from 3D to NDC coordinates\n * @param position3D World position in 3D\n * @param out Optionally pre-allocated THREE.Vector3\n * @returns Relative screen coordinates in X, Y and Z in range [-1, 1] if point\n * is within near/far of camera.\n */\nexport function worldToViewportCoordinates(\n renderer: THREE.WebGLRenderer,\n camera: THREE.PerspectiveCamera,\n position3D: THREE.Vector3,\n out: THREE.Vector3 = new THREE.Vector3()\n): THREE.Vector3 {\n worldToNormalizedViewportCoordinates(camera, position3D, out);\n\n const { renderSize } = worldToViewportVars;\n renderer.getSize(renderSize);\n\n const canvas = renderer.domElement;\n const { width: canvasWidth, height: canvasHeight } = canvas.getBoundingClientRect();\n\n out.x = Math.round(out.x * canvasWidth);\n out.y = Math.round(out.y * canvasHeight);\n return out;\n}\n\n/**\n * Converts a pixel coordinate to normalized device coordinate (in range [-1, 1])\n */\nexport function pixelToNormalizedDeviceCoordinates(x: number, y: number, width: number, height: number): THREE.Vector2 {\n return new THREE.Vector2((x / width) * 2 - 1, (y / height) * -2 + 1);\n}\n","/*!\n * Copyright 2022 Cognite AS\n */\n\nexport class DeferredPromise<T> implements Promise<T> {\n [Symbol.toStringTag] = 'Promise';\n\n private readonly _promise: Promise<T>;\n private _resolve!: (value: T | PromiseLike<T>) => void;\n private _reject!: (reason: any) => void;\n private _state: 'pending' | 'fulfilled' | 'rejected' = 'pending';\n\n public get state(): 'pending' | 'fulfilled' | 'rejected' {\n return this._state;\n }\n\n constructor() {\n this._promise = new Promise<T>((resolve, reject) => {\n this._resolve = resolve;\n this._reject = reject;\n });\n }\n finally(onfinally?: (() => void) | null): Promise<T> {\n return this._promise.finally(onfinally);\n }\n\n public then<TResult1, TResult2>(\n onfulfilled?: (value: T) => TResult1 | PromiseLike<TResult1>,\n onrejected?: (reason: any) => TResult2 | PromiseLike<TResult2>\n ): Promise<TResult1 | TResult2> {\n return this._promise.then(onfulfilled, onrejected);\n }\n\n public catch<TResult>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<T | TResult> {\n return this._promise.catch(onrejected);\n }\n\n public resolve(value: T | PromiseLike<T>): void {\n this._resolve(value);\n this._state = 'fulfilled';\n }\n\n public reject(reason?: any): void {\n this._reject(reason);\n this._state = 'rejected';\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/remove\");","/*!\n * Adopted from https://github.com/naoak/workerize-transferable\n */\nconst globals = getGlobalThis();\n\n/**\n * Get the global scope for browsers that do not support globalThis\n * https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/globalThis\n */\nexport function getGlobalThis(): typeof globalThis {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n}\n\n/**\n * Test if an object is transferable\n * @param x Object\n */\nexport function isTransferableObject(x: any): boolean {\n return (\n x instanceof ArrayBuffer ||\n x instanceof MessagePort ||\n (globals.ImageBitmap && x instanceof ImageBitmap) ||\n (globals.OffscreenCanvas && x instanceof OffscreenCanvas)\n );\n}\n"],"names":["root","factory","exports","module","define","amd","self","this","__webpack_require__","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","g","globalThis","Function","e","window","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","constructor","modelId","revisionId","revealInternalId","toString","name","String","require","File3dFormat","set","RandomColors","static","colorIndex","color","_colors","undefined","newColor","generateRandomColor","c","Math","floor","b","colorRGB","hue","random","saturation","lightness","setHSL","clickOrTouchEventOffset","ev","target","rect","getBoundingClientRect","MouseEvent","offsetX","clientX","left","offsetY","clientY","top","changedTouches","length","touch","Map","EventTrigger","_listeners","subscribe","listener","push","unsubscribe","index","indexOf","splice","unsubscribeAll","fire","args","forEach","ShapeType","assertNever","x","message","Error","InputHandler","domElement","_events","click","hover","onHoverCallback","setupEventListeners","on","event","callback","off","dispose","eventList","eventType","keys","disposeOfAllEventListeners","pointerDown","pointerDownTimestamp","validClick","startOffset","Vector2","onUp","handleClickEvent","removeEventListener","addEventListener","onDown","timeStamp","isProperClick","clickDuration","hasMovedDuringClick","abs","y","maxMoveDistance","maxClickDuration","firedEvent","button","log","AutoDisposeGroup","_isDisposed","_referenceCount","reference","ensureNotDisposed","dereference","child","children","THREE","Mesh","geometry","emptyGeometry","BufferGeometry","clear","BoundingBoxLOD","boundingBox","super","_activeLevel","_levels","isLOD","autoUpdate","_boundingBox","clone","type","setBoundingBox","copy","addLevel","object","distance","sort","visible","add","getCurrentLevel","update","camera","updateCurrentLevel","levels","camPos","bounds","updateVars","applyMatrix4","matrixWorld","cameraZoom","PerspectiveCamera","zoom","setFromMatrixPosition","distanceToCamera","distanceToPoint","findIndex","p","WebGLRendererStateHelper","renderer","_originalState","_renderer","setScissor","width","height","scissorData","getScissor","Vector4","setScissorTest","enabled","scissorTest","getScissorTest","setClearColor","alpha","clearColor","getClearColor","clearAlpha","getClearAlpha","setWebGLState","state","resetState","DefaultWebGLState","webGLState","buffers","depth","newTest","test","newMask","mask","setMask","setTest","setSize","size","getSize","localClippingEnabled","autoClear","autoClearDepth","setRenderTarget","renderTarget","getRenderTarget","reset","lastTest","lastMask","TimestampedContainer","_value","_lastAccessTime","Date","now","lastAccessTime","MemoryRequestCache","maxElementsInCache","removeCallback","defaultCleanupCount","_data","_maxElementsInCache","_defaultCleanupCount","max","_removeCallback","has","id","forceInsert","data","isFull","cleanCache","insert","remove","delete","count","allResults","Array","from","entries","right","i","entry","pop","resize","cacheSize","CLEANUP_COUNT_TO_CAPACITY_RATIO","values"],"sourceRoot":""}
package/index.d.ts CHANGED
@@ -1,13 +1,16 @@
1
- /*!
2
- * Copyright 2021 Cognite AS
3
- */
4
- /**
5
- * @module @cognite/reveal
6
- */
7
- export * from './core/src/index';
8
- export { CameraControlsOptions, DefaultCameraManager, CameraManagerHelper, CameraManager, CameraState, ComboControls, CameraChangeDelegate } from './packages/camera-manager';
9
- export { AreaCollection, ClusteredAreaCollection, NodeAppearanceProvider, NodeAppearance, NodeOutlineColor, DefaultNodeAppearance, NodeCollection, TreeIndexNodeCollection, IntersectionNodeCollection, UnionNodeCollection, SerializedNodeCollection, PropertyFilterNodeCollection, SinglePropertyFilterNodeCollection, AssetNodeCollection, InvertedNodeCollection, registerCustomNodeCollectionType, TypeName, NodeCollectionDescriptor, NodeCollectionSerializationContext, CdfModelNodeCollectionDataProvider } from './packages/cad-styling';
10
- export { CogniteModelBase, SupportedModelTypes } from './packages/model-base';
11
- export { revealEnv, IndexSet, NumericRange, SceneRenderedDelegate, PointerEventDelegate, DisposedDelegate } from './packages/utilities';
12
- export { Cognite3DModel, BoundingBoxClipper, GeometryFilter, WellKnownUnit } from './packages/cad-model';
13
- export { CognitePointCloudModel } from './packages/pointclouds';
1
+ /*!
2
+ * Copyright 2021 Cognite AS
3
+ */
4
+ /**
5
+ * @module @cognite/reveal
6
+ */
7
+ export * from './packages/api/';
8
+ export { CameraControlsOptions, DefaultCameraManager, CameraManagerHelper, CameraManager, CameraState, ComboControls, CameraChangeDelegate } from './packages/camera-manager';
9
+ export { AreaCollection, ClusteredAreaCollection, NodeAppearanceProvider, NodeAppearance, NodeOutlineColor, DefaultNodeAppearance, NodeCollection, TreeIndexNodeCollection, NodeIdNodeCollection, IntersectionNodeCollection, UnionNodeCollection, SerializedNodeCollection, PropertyFilterNodeCollection, SinglePropertyFilterNodeCollection, AssetNodeCollection, InvertedNodeCollection, registerNodeCollectionType, NodeCollectionSerializationContext, CdfModelNodeCollectionDataProvider } from './packages/cad-styling';
10
+ export { CogniteModelBase, SupportedModelTypes } from './packages/model-base';
11
+ export { IndexSet, NumericRange, BeforeSceneRenderedDelegate, SceneRenderedDelegate, PointerEventDelegate, DisposedDelegate } from './packages/utilities';
12
+ export { PointCloudObjectMetadata } from './packages/data-providers';
13
+ export { Cognite3DModel, BoundingBoxClipper, GeometryFilter, WellKnownUnit } from './packages/cad-model';
14
+ export { CognitePointCloudModel } from './packages/pointclouds';
15
+ export { CompletePointCloudAppearance, PointCloudAppearance, PointCloudObjectCollection, AnnotationIdPointCloudObjectCollection, DefaultPointCloudAppearance, StyledPointCloudObjectCollection } from './packages/pointcloud-styling';
16
+ export { Image360Entity } from './packages/360-images';