@cognite/reveal 2.1.0 → 2.2.2

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 (226) hide show
  1. package/core/cad.d.ts +4 -5
  2. package/core/index.d.ts +7 -7
  3. package/core/src/datamodels/base/SupportedModelTypes.d.ts +4 -4
  4. package/core/src/datamodels/base/index.d.ts +6 -6
  5. package/core/src/datamodels/base/types.d.ts +14 -14
  6. package/core/src/datamodels/cad/CadManager.d.ts +45 -48
  7. package/core/src/datamodels/cad/CadModelFactory.d.ts +7 -8
  8. package/core/src/datamodels/cad/CadModelSectorLoadStatistics.d.ts +38 -38
  9. package/core/src/datamodels/cad/createCadManager.d.ts +9 -13
  10. package/core/src/datamodels/cad/picking.d.ts +28 -28
  11. package/core/src/datamodels/cad/rendering/RenderAlreadyLoadedGeometryProvider.d.ts +10 -10
  12. package/core/src/datamodels/cad/sector/CadModelClipper.d.ts +10 -10
  13. package/core/src/datamodels/cad/styling/AssetNodeCollection.d.ts +38 -39
  14. package/core/src/datamodels/cad/styling/InvertedNodeCollection.d.ts +24 -24
  15. package/core/src/datamodels/cad/styling/NodeCollectionDeserializer.d.ts +26 -26
  16. package/core/src/datamodels/cad/styling/PopulateIndexSetFromPagedResponseHelper.d.ts +24 -25
  17. package/core/src/datamodels/cad/styling/PropertyFilterNodeCollection.d.ts +54 -61
  18. package/core/src/datamodels/cad/styling/SinglePropertyFilterNodeCollection.d.ts +50 -60
  19. package/core/src/datamodels/cad/styling/index.d.ts +8 -13
  20. package/core/src/datamodels/pointcloud/PointCloudFactory.d.ts +9 -9
  21. package/core/src/datamodels/pointcloud/PointCloudManager.d.ts +26 -25
  22. package/core/src/datamodels/pointcloud/PointCloudMetadata.d.ts +11 -11
  23. package/core/src/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +13 -12
  24. package/core/src/datamodels/pointcloud/PointCloudNode.d.ts +62 -62
  25. package/core/src/datamodels/pointcloud/PotreeGroupWrapper.d.ts +39 -39
  26. package/core/src/datamodels/pointcloud/PotreeNodeWrapper.d.ts +38 -38
  27. package/core/src/datamodels/pointcloud/createPointCloudManager.d.ts +6 -10
  28. package/core/src/datamodels/pointcloud/index.d.ts +5 -5
  29. package/core/src/datamodels/pointcloud/picking.d.ts +29 -29
  30. package/core/src/datamodels/pointcloud/types.d.ts +114 -114
  31. package/core/src/index.d.ts +19 -20
  32. package/core/src/internals.d.ts +15 -27
  33. package/core/src/migration.d.ts +8 -8
  34. package/core/src/public/RevealManager.d.ts +64 -62
  35. package/core/src/public/createRevealManager.d.ts +23 -24
  36. package/core/src/public/migration/Cognite3DModel.d.ts +339 -323
  37. package/core/src/public/migration/Cognite3DViewer.d.ts +611 -545
  38. package/core/src/public/migration/CogniteModelBase.d.ts +17 -17
  39. package/core/src/public/migration/CognitePointCloudModel.d.ts +121 -121
  40. package/core/src/public/migration/NodeIdAndTreeIndexMaps.d.ts +4 -4
  41. package/core/src/public/migration/NotSupportedInMigrationWrapperError.d.ts +11 -11
  42. package/core/src/public/migration/RenderController.d.ts +4 -4
  43. package/core/src/public/migration/types.d.ts +290 -240
  44. package/core/src/public/types.d.ts +46 -121
  45. package/core/src/{public/migration → storage}/RevealManagerHelper.d.ts +58 -58
  46. package/core/src/utilities/BoundingBoxClipper.d.ts +23 -23
  47. package/core/src/utilities/Spinner.d.ts +27 -28
  48. package/core/src/utilities/ViewStateHelper.d.ts +33 -33
  49. package/core/src/utilities/callActionWithIndicesAsync.d.ts +4 -4
  50. package/core/src/utilities/index.d.ts +8 -14
  51. package/core/src/utilities/reflection.d.ts +7 -13
  52. package/core/src/utilities/worldToViewport.d.ts +30 -31
  53. package/core/utilities.d.ts +4 -4
  54. package/extensions/datasource.d.ts +9 -0
  55. package/extensions/datasource.js +33 -0
  56. package/extensions/datasource.map +1 -0
  57. package/index.d.ts +8 -7
  58. package/index.js +174 -125
  59. package/index.map +1 -1
  60. package/package.json +5 -5
  61. package/packages/cad-geometry-loaders/index.d.ts +14 -0
  62. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/CadLoadingHints.d.ts +11 -11
  63. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/CadModelSectorBudget.d.ts +26 -26
  64. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/CadModelUpdateHandler.d.ts +44 -44
  65. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/CachedRepository.d.ts +25 -26
  66. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/ModelStateHandler.d.ts +12 -12
  67. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/Repository.d.ts +9 -9
  68. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/SectorLoader.d.ts +28 -28
  69. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/SimpleAndDetailedToSector3D.d.ts +20 -20
  70. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/ByVisibilityGpuSectorCuller.d.ts +53 -53
  71. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/OccludingGeometryProvider.d.ts +6 -6
  72. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +107 -108
  73. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/SectorCuller.d.ts +33 -33
  74. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/TakenSectorTree.d.ts +24 -24
  75. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/culling/types.d.ts +71 -73
  76. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/rxSectorUtilities.d.ts +12 -12
  77. package/{core/src/datamodels/cad → packages/cad-geometry-loaders/src}/sector/sectorUtilities.d.ts +20 -20
  78. package/{core → packages/cad-geometry-loaders}/src/utilities/PromiseUtils.d.ts +18 -18
  79. package/{core → packages/cad-geometry-loaders}/src/utilities/arrays.d.ts +5 -5
  80. package/{core/src/datamodels/cad/sector → packages/cad-geometry-loaders/src/utilities}/groupMeshesByNumber.d.ts +8 -8
  81. package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +6 -0
  82. package/packages/cad-geometry-loaders/src/utilities/types.d.ts +25 -0
  83. package/packages/cad-parsers/index.d.ts +21 -0
  84. package/{core/src/datamodels/cad/sector → packages/cad-parsers/src/cad}/CadSectorParser.d.ts +15 -16
  85. package/{core/src/datamodels/cad/sector → packages/cad-parsers/src/cad}/LevelOfDetail.d.ts +8 -8
  86. package/{core/src/datamodels/cad/rendering → packages/cad-parsers/src/cad}/filterInstanceMesh.d.ts +6 -6
  87. package/{core/src/datamodels/cad/rendering → packages/cad-parsers/src/cad}/filterPrimitives.d.ts +9 -9
  88. package/{core/src/datamodels/cad/rendering → packages/cad-parsers/src/cad}/primitiveGeometries.d.ts +31 -31
  89. package/{core/src/datamodels/cad/rendering → packages/cad-parsers/src/cad}/triangleMeshes.d.ts +6 -6
  90. package/packages/cad-parsers/src/cad/types.d.ts +56 -0
  91. package/{core/src/datamodels/cad/parsers → packages/cad-parsers/src/metadata}/CadMetadataParser.d.ts +7 -7
  92. package/{core/src/datamodels/cad → packages/cad-parsers/src/metadata}/CadModelMetadata.d.ts +44 -44
  93. package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +16 -0
  94. package/packages/cad-parsers/src/metadata/MetadataRepository.d.ts +7 -0
  95. package/{core/src/datamodels/cad → packages/cad-parsers/src/metadata}/parsers/CadMetadataParserV8.d.ts +51 -51
  96. package/packages/cad-parsers/src/metadata/types.d.ts +41 -0
  97. package/{core/src/datamodels/cad → packages/cad-parsers/src}/sector/RootSectorNode.d.ts +12 -12
  98. package/{core/src/datamodels/cad → packages/cad-parsers/src}/sector/SectorNode.d.ts +21 -21
  99. package/{core/src/datamodels/cad/sector → packages/cad-parsers/src/utilities}/SectorScene.d.ts +21 -21
  100. package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +9 -0
  101. package/{core/src/datamodels/cad/rendering → packages/cad-parsers/src/utilities}/computeBoundingBoxFromAttributes.d.ts +9 -9
  102. package/{core/src/datamodels/cad/rendering → packages/cad-parsers/src/utilities}/float32BufferToMatrix.d.ts +12 -12
  103. package/packages/cad-parsers/src/utilities/types.d.ts +48 -0
  104. package/packages/cad-styling/index.d.ts +9 -0
  105. package/{core/src/datamodels/cad/styling → packages/cad-styling/src}/CombineNodeCollectionBase.d.ts +31 -31
  106. package/{core/src/datamodels/cad/styling → packages/cad-styling/src}/IntersectionNodeCollection.d.ts +15 -15
  107. package/{core/src/datamodels/cad → packages/cad-styling/src}/NodeAppearance.d.ts +62 -68
  108. package/{core/src/datamodels/cad/styling → packages/cad-styling/src}/NodeAppearanceProvider.d.ts +33 -29
  109. package/{core/src/datamodels/cad/styling → packages/cad-styling/src}/NodeCollectionBase.d.ts +47 -47
  110. package/{core/src/datamodels/cad/styling → packages/cad-styling/src}/TreeIndexNodeCollection.d.ts +23 -24
  111. package/{core/src/datamodels/cad/styling → packages/cad-styling/src}/UnionNodeCollection.d.ts +15 -15
  112. package/packages/camera-manager/index.d.ts +4 -4
  113. package/packages/camera-manager/src/ComboControls.d.ts +100 -83
  114. package/packages/camera-manager/src/Keyboard.d.ts +17 -14
  115. package/packages/data-source/index.d.ts +6 -0
  116. package/packages/data-source/src/CdfDataSource.d.ts +19 -0
  117. package/packages/data-source/src/DataSource.d.ts +26 -0
  118. package/packages/data-source/src/LocalDataSource.d.ts +15 -0
  119. package/packages/logger/index.d.ts +5 -5
  120. package/packages/logger/src/Log.d.ts +5 -5
  121. package/packages/metrics/index.d.ts +5 -0
  122. package/packages/metrics/src/MetricsLogger.d.ts +21 -0
  123. package/packages/metrics/src/types.d.ts +7 -0
  124. package/packages/modeldata-api/index.d.ts +13 -0
  125. package/packages/modeldata-api/src/CdfModelDataProvider.d.ts +15 -0
  126. package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +17 -0
  127. package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +19 -0
  128. package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +15 -0
  129. package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +10 -0
  130. package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -0
  131. package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +14 -0
  132. package/{core/src/utilities/networking → packages/modeldata-api/src}/Model3DOutputList.d.ts +17 -18
  133. package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -0
  134. package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +17 -0
  135. package/{core/src/utilities/networking → packages/modeldata-api/src}/applyDefaultModelTransformation.d.ts +6 -6
  136. package/packages/modeldata-api/src/types.d.ts +41 -0
  137. package/packages/modeldata-api/src/utilities.d.ts +7 -0
  138. package/packages/nodes-api/index.d.ts +6 -7
  139. package/packages/nodes-api/src/NodesApiClient.d.ts +52 -43
  140. package/packages/nodes-api/src/NodesCdfClient.d.ts +24 -19
  141. package/packages/nodes-api/src/NodesLocalClient.d.ts +30 -25
  142. package/packages/nodes-api/src/types.d.ts +10 -14
  143. package/packages/rendering/index.d.ts +17 -0
  144. package/{core/src/datamodels/cad → packages/rendering/src}/CadMaterialManager.d.ts +37 -38
  145. package/{core/src/datamodels/cad → packages/rendering/src}/InstancedMeshManager.d.ts +20 -20
  146. package/{core/src/datamodels/cad → packages/rendering/src}/cameraconfig.d.ts +12 -12
  147. package/{core/src/datamodels/cad → packages/rendering/src}/rendering/EffectRenderManager.d.ts +99 -83
  148. package/{core/src/datamodels/cad/styling → packages/rendering/src/rendering}/NodeAppearanceTextureBuilder.d.ts +51 -51
  149. package/{core/src/datamodels/cad → packages/rendering/src}/rendering/RenderMode.d.ts +15 -15
  150. package/{core/src/datamodels/cad → packages/rendering/src}/rendering/createSimpleGeometryMesh.d.ts +6 -6
  151. package/{core/src/datamodels/cad → packages/rendering/src}/rendering/matCapTextureData.d.ts +5 -5
  152. package/{core/src/datamodels/cad → packages/rendering/src}/rendering/materials.d.ts +23 -23
  153. package/{core/src/datamodels/cad → packages/rendering/src}/rendering/primitives.d.ts +12 -12
  154. package/{core/src/datamodels/cad → packages/rendering/src}/rendering/shaders.d.ts +101 -101
  155. package/packages/rendering/src/rendering/types.d.ts +76 -0
  156. package/{core/src/datamodels/cad → packages/rendering/src/sector}/CadNode.d.ts +54 -57
  157. package/{core/src/datamodels/cad/styling → packages/rendering/src/transform}/NodeTransformProvider.d.ts +13 -13
  158. package/{core/src/datamodels/cad/styling → packages/rendering/src/transform}/NodeTransformTextureBuilder.d.ts +23 -23
  159. package/{core/src/datamodels/cad/styling → packages/rendering/src/transform}/TransformOverrideBuffer.d.ts +21 -21
  160. package/packages/rendering/src/utilities/types.d.ts +26 -0
  161. package/packages/tools/index.d.ts +15 -12
  162. package/packages/tools/src/AxisView/AxisViewTool.d.ts +32 -32
  163. package/packages/tools/src/AxisView/types.d.ts +98 -98
  164. package/packages/tools/src/Cognite3DViewerToolBase.d.ts +25 -25
  165. package/packages/tools/src/DebugCameraTool.d.ts +20 -20
  166. package/packages/tools/src/DebugLoadedSectorsTool.d.ts +23 -23
  167. package/packages/tools/src/ExplodedViewTool.d.ts +12 -12
  168. package/packages/tools/src/Geomap/Geomap.d.ts +17 -14
  169. package/packages/tools/src/Geomap/GeomapTool.d.ts +24 -21
  170. package/packages/tools/src/Geomap/MapConfig.d.ts +195 -195
  171. package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -0
  172. package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +159 -0
  173. package/packages/tools/src/Timeline/Keyframe.d.ts +38 -0
  174. package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -0
  175. package/packages/tools/src/Timeline/types.d.ts +13 -0
  176. package/packages/tools/src/types.d.ts +4 -4
  177. package/packages/utilities/index.d.ts +24 -0
  178. package/packages/utilities/src/CameraConfiguration.d.ts +10 -0
  179. package/{core/src/utilities → packages/utilities/src}/IndexSet.d.ts +1 -1
  180. package/{core/src/utilities → packages/utilities/src}/NumericRange.d.ts +22 -21
  181. package/packages/utilities/src/RandomColors.d.ts +34 -0
  182. package/{core/src/utilities → packages/utilities/src}/WebGLRendererStateHelper.d.ts +15 -15
  183. package/{core/src/utilities → packages/utilities/src}/assertNever.d.ts +7 -7
  184. package/{core/src/utilities → packages/utilities/src}/cache/MemoryRequestCache.d.ts +22 -22
  185. package/{core/src/utilities → packages/utilities/src/cache}/MostFrequentlyUsedCache.d.ts +19 -19
  186. package/{core/src/utilities → packages/utilities/src}/cache/RequestCache.d.ts +13 -13
  187. package/{core/src/utilities → packages/utilities/src}/datastructures/DynamicDefragmentedBuffer.d.ts +22 -22
  188. package/{core/src/utilities → packages/utilities/src}/determinePowerOfTwoDimensions.d.ts +11 -11
  189. package/{core/src/utilities → packages/utilities/src}/disposeAttributeArrayOnUpload.d.ts +17 -17
  190. package/{core/src/utilities → packages/utilities/src}/events/EventTrigger.d.ts +13 -13
  191. package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -0
  192. package/{core/src/utilities → packages/utilities/src}/events/index.d.ts +5 -5
  193. package/{core/src/utilities → packages/utilities/src}/indexset/IndexSet.d.ts +26 -26
  194. package/{core/src/utilities → packages/utilities/src}/indexset/IntermediateIndexNode.d.ts +26 -26
  195. package/{core/src/utilities → packages/utilities/src}/indexset/LeafIndexNode.d.ts +16 -16
  196. package/{core/src/utilities → packages/utilities/src}/isMobileOrTablet.d.ts +4 -4
  197. package/{core/src/utilities → packages/utilities/src}/networking/isTheSameDomain.d.ts +11 -11
  198. package/{core/src/utilities → packages/utilities/src}/objectTraversal.d.ts +8 -8
  199. package/{core/src/utilities → packages/utilities/src}/packFloat.d.ts +6 -6
  200. package/{core → packages/utilities}/src/revealEnv.d.ts +10 -10
  201. package/{core/src/utilities → packages/utilities/src}/three/AutoDisposeGroup.d.ts +17 -17
  202. package/{core/src/utilities → packages/utilities/src}/three/BoundingBoxLOD.d.ts +27 -27
  203. package/{core/src/utilities → packages/utilities/src}/three/getBox3CornerPoints.d.ts +5 -5
  204. package/{core/src/utilities → packages/utilities/src}/transformCameraConfiguration.d.ts +6 -6
  205. package/packages/utilities/src/types.d.ts +10 -0
  206. package/{core/src/utilities → packages/utilities/src}/workers/WorkerPool.d.ts +14 -14
  207. package/tools.d.ts +7 -7
  208. package/tools.js +189 -15
  209. package/tools.map +1 -1
  210. package/core/src/datamodels/base/MetadataRepository.d.ts +0 -6
  211. package/core/src/datamodels/cad/CadModelMetadataRepository.d.ts +0 -15
  212. package/core/src/datamodels/cad/index.d.ts +0 -8
  213. package/core/src/datamodels/cad/rendering/types.d.ts +0 -25
  214. package/core/src/datamodels/cad/sector/types.d.ts +0 -115
  215. package/core/src/utilities/events/clickOrTouchEventOffset.d.ts +0 -4
  216. package/core/src/utilities/metrics.d.ts +0 -15
  217. package/core/src/utilities/networking/CdfModelDataClient.d.ts +0 -45
  218. package/core/src/utilities/networking/HttpHeadersProvider.d.ts +0 -7
  219. package/core/src/utilities/networking/LocalModelDataClient.d.ts +0 -23
  220. package/core/src/utilities/networking/types.d.ts +0 -37
  221. package/core/src/utilities/networking/utilities.d.ts +0 -13
  222. package/core/src/utilities/rxOperations.d.ts +0 -5
  223. package/core/src/utilities/three/dumpRendererToImage.d.ts +0 -5
  224. package/core/src/utilities/three/index.d.ts +0 -7
  225. package/core/src/utilities/types.d.ts +0 -67
  226. package/packages/tools/src/HtmlOverlayTool.d.ts +0 -88
package/tools.js CHANGED
@@ -1,54 +1,228 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var o in i)("object"==typeof exports?exports:e)[o]=i[o]}}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function i(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=e,i.c=t,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(o,n,function(t){return e[t]}.bind(null,n));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.2.0/",i(i.s=65)}({0:function(e,t){e.exports=require("three")},10:function(e,t){e.exports=require("lodash/cloneDeep")},11:function(e,t){e.exports=require("geo-three")},15:function(e,t,i){"use strict";i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return s}));var o=i(0);
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)("object"==typeof exports?exports:e)[n]=r[n]}}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.2.0/",r(r.s=65)}([function(e,t){e.exports=require("three")},function(e,t,r){"use strict";
2
2
  /*!
3
3
  * Copyright 2021 Cognite AS
4
4
  */
5
- const n={renderSize:new o.Vector2,position:new o.Vector3};function r(e,t,i,r=new o.Vector3){const{renderSize:s,position:a}=n,l=e.domElement;e.getSize(s),a.copy(i),a.project(t);const{width:c,height:d}=l.getBoundingClientRect(),h=s.width/c,p=s.height/d,u=(a.x+1)/(1*h*2),m=(1-a.y)/(1*p*2);return r.set(u,m,a.z)}function s(e,t,i,s=new o.Vector3){r(e,t,i,s);const{renderSize:a}=n;e.getSize(a);const l=e.getPixelRatio();return s.x=Math.round(s.x*a.width/l),s.y=Math.round(s.y*a.height/l),s}},19:function(e,t,i){"use strict";i.d(t,"a",(function(){return o}));
5
+ function n(e,t){if(t(e))for(let r=0;r<e.children.length;r++)n(e.children[r],t)}function o(e,t){if(void 0===e)return;const{position:r,target:n}=e;return r.applyMatrix4(t),n.applyMatrix4(t),{position:r,target:n}}r.d(t,"t",(function(){return n})),r.d(t,"s",(function(){return o})),r.d(t,"d",(function(){return c})),r.d(t,"l",(function(){return a})),r.d(t,"k",(function(){return l})),r.d(t,"h",(function(){return d})),r.d(t,"m",(function(){return h})),r.d(t,"e",(function(){return w})),r.d(t,"q",(function(){return x})),r.d(t,"c",(function(){return S})),r.d(t,"a",(function(){return E})),r.d(t,"b",(function(){return P})),r.d(t,"o",(function(){return D})),r.d(t,"p",(function(){return N})),r.d(t,"i",(function(){return T})),r.d(t,"j",(function(){return O})),r.d(t,"f",(function(){return z})),r.d(t,"g",(function(){return $})),r.d(t,"n",(function(){return j})),r.d(t,"r",(function(){return F}));var i=r(0);
6
+ /*!
7
+ * Copyright 2021 Cognite AS
8
+ */class s{static color(e){const t=s._colors.get(e);if(void 0!==t)return t;const r=s.generateRandomColor();return s._colors.set(e,r),r}static colorRGB(e){const t=s.color(e);return[Math.floor(255*t.r),Math.floor(255*t.g),Math.floor(255*t.b)]}static colorCSS(e){const[t,r,n]=s.colorRGB(e);return`rgb(${t}, ${r}, ${n})`}static generateRandomColor(){const e=Math.random(),t=.4+.6*Math.random(),r=.3+.4*Math.random();return(new i.Color).setHSL(e,t,r)}}
6
9
  /*!
7
10
  * Copyright 2021 Cognite AS
8
11
  */
9
- class o{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))}}},2:function(e,t,i){"use strict";
12
+ function a(e,t){const r=t.getBoundingClientRect();if(e instanceof MouseEvent)return{offsetX:e.clientX-r.left,offsetY:e.clientY-r.top};if(e.changedTouches.length>0){const t=e.changedTouches[0];return{offsetX:t.clientX-r.left,offsetY:t.clientY-r.top}}return{offsetX:-1,offsetY:-1}}
13
+ /*!
14
+ * Copyright 2021 Cognite AS
15
+ */s._colors=new Map;class c{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))}}
10
16
  /*!
11
17
  * Copyright 2021 Cognite AS
12
18
  */
13
- var o;i.d(t,"a",(function(){return o})),function(e){e[e.Discarded=0]="Discarded",e[e.Simple=1]="Simple",e[e.Detailed=2]="Detailed"}(o||(o={}))},31:function(e,t){e.exports=require("lodash/merge")},33:function(e,t,i){"use strict";
19
+ /*!
20
+ * Copyright 2021 Cognite AS
21
+ */function l(e,t){throw new Error(t||"Unexpected object: "+e)}
22
+ /*!
23
+ * Copyright 2021 Cognite AS
24
+ */class d{constructor(e,t){if(t<0)throw new Error("Range cannot have negative number of elements");this.from=e,this.count=t,this.toInclusive=e+t-1}static createFromInterval(e,t){return new d(e,t-e+1)}*values(){for(let e=this.from;e<=this.toInclusive;++e)yield e}toArray(){return Array.from(this.values())}equal(e){return this.from===e.from&&this.count===e.count}contains(e){return e>=this.from&&e<=this.toInclusive}intersects(e){return this.from<=e.toInclusive&&this.toInclusive>=e.from}intersectsOrCoinciding(e){return this.from<=e.toInclusive+1&&this.toInclusive+1>=e.from}intersectionWith(e){return this.intersects(e)?d.createFromInterval(Math.max(this.from,e.from),Math.min(this.toInclusive,e.toInclusive)):void 0}isInside(e){return this.from>=e.from&&this.toInclusive<=e.toInclusive}union(e){return d.createFromInterval(Math.min(this.from,e.from),Math.max(this.toInclusive,e.toInclusive))}forEach(e){for(let t=this.from;t<=this.toInclusive;++t)e(t)}toString(){return"("+this.from+", "+this.toInclusive+")"}static isNumericRange(e){if(!e)return!1;const t=e;return void 0!==t.from&&void 0!==t.count&&void 0!==t.toInclusive}}
25
+ /*!
26
+ * Copyright 2021 Cognite AS
27
+ */function h(e){const t=Math.max(1,m(Math.sqrt(e)));return{width:t,height:Math.max(1,m(e/t))}}const u=Math.log(2);function m(e){return Math.pow(2,Math.ceil(Math.log(e)/u))}var p=r(7),f=r.n(p);class g{constructor(e,t){this.left=e,this.right=t,this.maxSubtreeDepth=Math.max(this.left.maxSubtreeDepth,this.right.maxSubtreeDepth)+1,this.range=d.createFromInterval(this.left.range.from,this.right.range.toInclusive),this.count=this.left.count+this.right.count}static fromIndexNodesAndBalance(e,t){return e.range.from>t.range.toInclusive+1?new g(t,e).balance():e.range.toInclusive+1<t.range.from?new g(e,t).balance():void f()(!1,"Internal error in IndexSet: Overlapping nodes")}traverse(e){this.left.traverse(e),this.right.traverse(e)}contains(e){return!!this.range.contains(e)&&(this.left.contains(e)||this.right.contains(e))}addRange(e){if(!e.intersectsOrCoinciding(this.range)){if(e.from<this.range.from){const t=this.left.addRange(e);return g.fromIndexNodesAndBalance(t,this.right)}{const t=this.right.addRange(e);return g.fromIndexNodesAndBalance(this.left,t)}}const t=e.intersectsOrCoinciding(this.left.range),r=e.intersectsOrCoinciding(this.right.range);if(t&&r){const[t,r]=this.left.soak(e),[n,o]=this.right.soak(e),i=r.union(o);if(void 0===t&&void 0===n)return new v(i);if(void 0===t&&void 0!==n)return n.addRange(i);if(void 0===n&&void 0!==t)return t.addRange(i);return g.fromIndexNodesAndBalance(t,n).addRange(i)}return t?g.fromIndexNodesAndBalance(this.left.addRange(e),this.right):r?g.fromIndexNodesAndBalance(this.left,this.right.addRange(e)):this.left.maxSubtreeDepth<this.right.maxSubtreeDepth?g.fromIndexNodesAndBalance(this.left.addRange(e),this.right):g.fromIndexNodesAndBalance(this.left,this.right.addRange(e))}removeRange(e){if(!e.intersects(this.range))return this;const[t,r]=this.soak(e);let n=void 0,o=void 0;if(r.from<e.from&&(n=d.createFromInterval(r.from,e.from-1)),r.toInclusive>e.toInclusive&&(o=d.createFromInterval(e.toInclusive+1,r.toInclusive)),void 0===t)return void 0!==n&&void 0!==o?g.fromIndexNodesAndBalance(new v(n),new v(o)):null!=n?new v(n):null!=o?new v(o):void 0;{let e=t;return void 0!==n&&(e=e.addRange(n)),void 0!==o&&(e=e.addRange(o)),e}}balance(){const e=this.left.maxSubtreeDepth,t=this.right.maxSubtreeDepth;if(t+2<=e){const e=this.left.rotateSmallerRight();return new g(e,this.right).rotateRight().balance()}if(e+2<=t){const e=this.right.rotateSmallerLeft();return new g(this.left,e).rotateLeft().balance()}return this}clone(){return g.fromIndexNodesAndBalance(this.left.clone(),this.right.clone())}hasIntersectionWith(e){return!!e.range.intersects(this.range)&&(this.range.isInside(e.range)?e.hasIntersectionWith(this):!(!this.left.range.intersects(e.range)||!this.left.hasIntersectionWith(e))||!(!this.right.range.intersects(e.range)||!this.right.hasIntersectionWith(e)))}soak(e){let[t,r]=[this.left,e],[n,o]=[this.right,e];if(this.right.range.isInside(e)&&this.left.range.isInside(e))return[void 0,e];this.left.range.intersectsOrCoinciding(e)&&([t,r]=this.left.soak(e)),this.right.range.intersectsOrCoinciding(e)&&([n,o]=this.right.soak(e));const i=r.union(o);if(null==n)return[t,i];if(null==t)return[n,i];return[g.fromIndexNodesAndBalance(t,n),i]}rotateRight(){return"right"in this.left?new g(this.left.left,new g(this.left.right,this.right)):this}rotateLeft(){return"left"in this.right?new g(new g(this.left,this.right.left),this.right.right):this}rotateSmallerLeft(){if(this.left.maxSubtreeDepth>this.right.maxSubtreeDepth){let e=this.rotateRight();return e=e.rotateSmallerLeft(),e}return this}rotateSmallerRight(){if(this.right.maxSubtreeDepth>this.left.maxSubtreeDepth){let e=this.rotateLeft();return e=e.rotateSmallerRight(),e}return this}}
28
+ /*!
29
+ * Copyright 2021 Cognite AS../NumericRange
30
+ */class v{constructor(e){this.range=e,this.maxSubtreeDepth=0,this.count=e.count}static fromInterval(e,t){return new v(d.createFromInterval(e,t))}traverse(e){e(this.range)}contains(e){return this.range.contains(e)}addRange(e){return this.range.intersectsOrCoinciding(e)?new v(this.range.union(e)):g.fromIndexNodesAndBalance(this,new v(e))}removeRange(e){if(!e.intersects(this.range))return this;if(this.range.isInside(e))return;let t=void 0,r=void 0;return this.range.from<e.from&&(t=d.createFromInterval(this.range.from,e.from-1)),this.range.toInclusive>e.toInclusive&&(r=d.createFromInterval(e.toInclusive+1,this.range.toInclusive)),null!=t&&null!=r?g.fromIndexNodesAndBalance(new v(t),new v(r)):null!=t?new v(t):null!=r?new v(r):void 0}hasIntersectionWith(e){return e.range.intersects(this.range)}soak(e){return this.range.intersectsOrCoinciding(e)?[void 0,this.range.union(e)]:[this,e]}clone(){return new v(this.range)}}class w{constructor(e){if(null==e)this.rootNode=void 0;else if(d.isNumericRange(e))this.addRange(e);else for(const t of e)this.add(t)}forEachRange(e){this.rootNode&&this.rootNode.traverse(e)}add(e){const t=new d(e,1);this.addRange(t)}addRange(e){this.rootNode?this.rootNode=this.rootNode.addRange(e):this.rootNode=new v(e)}remove(e){const t=new d(e,1);this.removeRange(t)}removeRange(e){this.rootNode&&(this.rootNode=this.rootNode.removeRange(e))}contains(e){return!!this.rootNode&&this.rootNode.contains(e)}get count(){return this.rootNode?this.rootNode.count:0}toRangeArray(){const e=[];return this.forEachRange(t=>{e.push(t)}),e}toIndexArray(){const e=[];return this.rootNode&&this.forEachRange(t=>{t.forEach(t=>{e.push(t)})}),e}toPlainSet(){const e=this.toIndexArray();return new Set(e)}invertedRanges(){const e=this.toRangeArray(),t=[];for(let r=0;r<e.length-1;r++)e[r].toInclusive+1>=e[r+1].from||t.push(d.createFromInterval(e[r].toInclusive+1,e[r+1].from-1));return t}unionWith(e){return this.rootNode?e.forEachRange(e=>{this.rootNode=this.rootNode.addRange(e)}):this.rootNode=e.rootNode,this}differenceWith(e){return this.rootNode&&e.forEachRange(e=>{var t;this.rootNode=null===(t=this.rootNode)||void 0===t?void 0:t.removeRange(e)}),this}hasIntersectionWith(e){if(e instanceof w)return void 0!==this.rootNode&&void 0!==e.rootNode&&this.rootNode.hasIntersectionWith(e.rootNode);for(const t of e)if(this.contains(t))return!0;return!1}intersectWith(e){if(this.rootNode&&e.rootNode){if(this.rootNode.range.from<e.rootNode.range.from){const t=d.createFromInterval(this.rootNode.range.from,e.rootNode.range.from-1);if(this.rootNode=this.rootNode.removeRange(t),!this.rootNode)return this}if(this.rootNode.range.toInclusive>e.rootNode.range.toInclusive){const t=d.createFromInterval(e.rootNode.range.toInclusive+1,this.rootNode.range.toInclusive);this.rootNode=this.rootNode.removeRange(t)}e.invertedRanges().forEach(e=>{this.rootNode&&(this.rootNode=this.rootNode.removeRange(e))})}else this.rootNode&&(this.rootNode=void 0);return this}clear(){this.rootNode=void 0}clone(){const e=new w;return this.rootNode&&(e.rootNode=this.rootNode.clone()),e}}
31
+ /*!
32
+ * Copyright 2021 Cognite AS
33
+ */function x(e,t,r){const n=B(e);if(0==n)return;const o=_(0,-e);let i=C(M(n));const s=n/y(i);s<1&&(i-=1),i+=127,t[r]=128*o+C(i*y(-1)),t[r+1]=128*b(i,2)+b(C(128*s),128),t[r+2]=C(b(C(s*y(15)),y(8))),t[r+3]=C(y(23)*b(s,y(-15)))}function _(e,t){return t<e?0:1}function y(e){return Math.pow(2,e)}function b(e,t){return e-t*C(e/t)}function C(e){return Math.floor(e)}function M(e){return Math.log(e)/Math.log(2)}function B(e){return Math.abs(e)}
34
+ /*!
35
+ * Copyright 2021 Cognite AS
36
+ */class S{constructor(e,t){this._numFilled=0,this._batchIdCounter=0,this._batchMap=new Map,this._type=t;const r=Math.pow(2,Math.ceil(Math.log2(e)));this._buffer=new t(r)}get length(){return this._numFilled}get buffer(){return this._buffer}add(e){let t=!1;if(this._numFilled+e.length>this._buffer.length){const r=Math.pow(2,Math.ceil(Math.log2(this._numFilled+e.length)));this.allocateNewBuffer(r),t=!0}this._buffer.set(e,this._numFilled);const r=this.createBatch(e);return this._numFilled+=e.length,{batchId:r,bufferIsReallocated:t}}remove(e){const t=this._batchMap.get(e);if(!t)throw new Error("batch does not exist in buffer");this._buffer.copyWithin(t.from,t.from+t.count,this.buffer.length),this._numFilled-=t.count,this._currentTail===t&&(this._currentTail=t.prev);const r=t.prev,n=t.next;r&&(r.next=n),n&&(n.prev=r);let o=n;for(;o;)o.from-=t.count,o=o.next;this._batchMap.delete(e)}createBatch(e){const t={from:this._numFilled,count:e.length,prev:this._currentTail,next:void 0};this._currentTail&&(this._currentTail.next=t),this._currentTail=t;const r=this._batchIdCounter;return this._batchIdCounter++,this._batchMap.set(r,t),r}allocateNewBuffer(e){const t=new this._type(e);t.set(this._buffer),this._buffer=t}}
37
+ /*!
38
+ * Copyright 2021 Cognite AS
39
+ */const I=new i.BufferGeometry;class E 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;const e=this.children.filter(e=>e instanceof i.Mesh).map(e=>e);for(const t of e)void 0!==t.geometry&&(t.geometry.dispose(),t.geometry=I)}ensureNotDisposed(){if(this._isDisposed)throw new Error("Already disposed/dereferenced")}}
40
+ /*!
41
+ * Copyright 2021 Cognite AS
42
+ */const k={camPos:new i.Vector3,bounds: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:r,bounds:n}=k;n.copy(this._boundingBox).applyMatrix4(this.matrixWorld);const o=e instanceof i.PerspectiveCamera?e.zoom:1;if(t.length>0){r.setFromMatrixPosition(e.matrixWorld);const i=n.distanceToPoint(r)/o;t[this._activeLevel].object.visible=!1,this._activeLevel=t.findIndex(e=>i>=e.distance),this._activeLevel=this._activeLevel>=0?this._activeLevel:t.length-1,t[this._activeLevel].object.visible=!0}}}
43
+ /*!
44
+ * Copyright 2021 Cognite AS
45
+ */function D(e){return[new i.Vector3(e.min.x,e.min.y,e.min.z),new i.Vector3(e.min.x,e.min.y,e.max.z),new i.Vector3(e.min.x,e.max.y,e.min.z),new i.Vector3(e.min.x,e.max.y,e.max.z),new i.Vector3(e.max.x,e.min.y,e.min.z),new i.Vector3(e.max.x,e.min.y,e.max.z),new i.Vector3(e.max.x,e.max.y,e.min.z),new i.Vector3(e.max.x,e.max.y,e.max.z)]}
46
+ /*!
47
+ * Copyright 2021 Cognite AS
48
+ */function N(){let e=!1;var t;return t=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4)))&&(e=!0),e}
49
+ /*!
50
+ * Copyright 2021 Cognite AS
51
+ */class T{constructor(e){this._originalState={},this._renderer=e,this._originalState={}}setClearColor(e,t){this._originalState={clearColor:this._renderer.getClearColor(new i.Color),clearAlpha:this._renderer.getClearAlpha(),...this._originalState},this._renderer.setClearColor(e,t)}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}setRenderTarget(e){this._originalState={renderTarget:this._renderer.getRenderTarget(),...this._originalState},this._renderer.setRenderTarget(e)}resetState(){void 0!==this._originalState.autoClear&&(this._renderer.autoClear=this._originalState.autoClear),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),this._originalState={}}}var A=r(22);
52
+ /*!
53
+ * Copyright 2021 Cognite AS
54
+ */const F={publicPath:""};
55
+ /*!
56
+ * Copyright 2021 Cognite AS
57
+ */var R=r(10);
58
+ /*!
59
+ * Copyright 2021 Cognite AS
60
+ */class O{constructor(){this.workerList=[];const e=this.determineNumberOfWorkers();for(let t=0;t<e;t++){const e={worker:Object(A.wrap)(this.createWorker()),activeJobCount:0,messageIdCounter:0};this.workerList.push(e)}(async function(e){let t;try{t=await e.getVersion()}catch(e){t="1.1.0"}const r="1.2.0",[n,o,i]=r.split(".").map(e=>parseInt(e,10)),[s,a,c]=t.split(".").map(e=>parseInt(e,10)),l=`Update your local copy of @cognite/reveal-parser-worker. Required version is ${r}. Received ${t}.`;if(n!==s)throw new Error(l);if(a<o)throw new Error(l);if(a===o&&c<i)throw new Error(l)}
61
+ /*!
62
+ * Copyright 2021 Cognite AS
63
+ */)(this.workerList[0].worker).catch(e=>R.a.error(e)),this.workerObjUrl&&URL.revokeObjectURL(this.workerObjUrl)}static get defaultPool(){return O._defaultPool=O._defaultPool||new O,O._defaultPool}createWorker(){const e=(F.publicPath||r.p)+"reveal.parser.worker.js",t={name:"reveal.parser #"+this.workerList.length};if(function(e,t=location.origin){const r=e=>!e.match(/^.*\/\//);if(r(t))throw new Error("isTheSameDomain: the second argument must be an absolute url or omitted. Received "+t);if(r(e))return!0;try{const r=[e,t].map(e=>e.startsWith("//")?"https:"+e:e).map(e=>new URL(e));return r[0].host===r[1].host}catch(r){return console.error(`can not create URLs for ${e} and ${t}`,r),!1}}(e))return new Worker(e,t);if(!this.workerObjUrl){const t=new Blob([`importScripts(${JSON.stringify(e)});`],{type:"text/javascript"});this.workerObjUrl=URL.createObjectURL(t)}return new Worker(this.workerObjUrl,t)}async postWorkToAvailable(e){const t=this.workerList.reduce((e,t)=>e.activeJobCount>t.activeJobCount?t:e,this.workerList[0]);t.activeJobCount+=1;return await(async()=>{try{return await e(t.worker)}finally{t.activeJobCount-=1}})()}determineNumberOfWorkers(){return Math.max(2,Math.min(4,window.navigator.hardwareConcurrency||2))}}class V{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 z{constructor(e=50,t,r=10){this._data=new Map,this._maxElementsInCache=e,this._defaultCleanupCount=r,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))throw new Error("Cache full, please clean Cache and retry adding data");this._data.set(e,new V(t))}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 r=0;r<e;r++){const e=t.pop();if(void 0===e)return;this.remove(e[0])}}clear(){if(void 0!==this._removeCallback)for(const e of this._data.values())this._removeCallback(e.value);this._data.clear()}}
64
+ /*!
65
+ * Copyright 2021 Cognite AS
66
+ */class ${constructor(e,t){this._cache=new Map,this._retrieves=new Map,this._capacity=e,this._disposeCallback=t}get(e){const t=this._retrieves.get(e)||0;return this._retrieves.set(e,t+1),this._cache.get(e)}set(e,t){return this._cache.has(e)||this._capacity<this._cache.size?(this._cache.set(e,t),!0):(this._cache.set(e,t),this.ensureWithinCapacity(),this._cache.has(e))}remove(e){this._retrieves.delete(e);const t=this._cache.get(e);return void 0!==t&&(void 0!==this._disposeCallback&&this._disposeCallback(t),this._cache.delete(e),!0)}clear(){if(void 0!==this._disposeCallback)for(const e of this._cache.values())this._disposeCallback(e);this._retrieves.clear(),this._cache.clear()}ensureWithinCapacity(){if(this._capacity>=this._cache.size)return;const e=Array.from(this._cache.keys()).map(e=>({key:e,retrivalCount:this._retrieves.get(e)||0})).sort((e,t)=>e.retrivalCount-t.retrivalCount).slice(0,this._cache.size-this._capacity).map(e=>e.key);for(const t of e)this.remove(t)}}
67
+ /*!
68
+ * Copyright 2021 Cognite AS
69
+ */function j(){this.array=null}
70
+ /*!
71
+ * Copyright 2021 Cognite AS
72
+ */},function(e,t,r){"use strict";r.d(t,"a",(function(){return l})),r.d(t,"b",(function(){return h})),r.d(t,"g",(function(){return f})),r.d(t,"f",(function(){return g})),r.d(t,"e",(function(){return v})),r.d(t,"c",(function(){return w})),r.d(t,"d",(function(){return u})),r.d(t,"n",(function(){return M})),r.d(t,"o",(function(){return B})),r.d(t,"p",(function(){return I})),r.d(t,"q",(function(){return S})),r.d(t,"m",(function(){return k})),r.d(t,"i",(function(){return P})),r.d(t,"t",(function(){return N})),r.d(t,"k",(function(){return R})),r.d(t,"x",(function(){return A})),r.d(t,"r",(function(){return $})),r.d(t,"w",(function(){return V})),r.d(t,"j",(function(){return D})),r.d(t,"u",(function(){return T})),r.d(t,"v",(function(){return z})),r.d(t,"s",(function(){return j})),r.d(t,"h",(function(){return d})),r.d(t,"l",(function(){return L}));var n=r(0),o=r(1),i=r(24),s=r.n(i);
73
+ /*!
74
+ * Copyright 2021 Cognite AS
75
+ */
76
+ class a{constructor(e,t,r,n,o){this.version=e,this.maxTreeIndex=t,this.root=n,this.sectors=o,this.unit=r}get sectorCount(){return this.sectors.size}getSectorById(e){return this.sectors.get(e)}getAllSectors(){return[...this.sectors.values()]}getSectorsContainingPoint(e){const t=[];return Object(o.t)(this.root,r=>!!r.bounds.containsPoint(e)&&(t.push(r),!0)),t}getSectorsIntersectingBox(e){const t=[];return Object(o.t)(this.root,r=>!!r.bounds.intersectsBox(e)&&(t.push(r),!0)),t}getBoundsOfMostGeometry(){if(0===this.root.children.length)return this.root.bounds;const e=[],t=[];Object(o.t)(this.root,r=>(0===r.children.length&&(t.push(r.bounds.min.toArray(),r.bounds.max.toArray()),e.push(r.bounds,r.bounds)),!0));const r=Math.min(t.length,4),i=s()(t,r,"kmpp",10),a=new Array(i.idxs.length).fill(0),c=a.map(e=>new n.Box3);i.idxs.map(e=>a[e]++);const l=a.reduce((e,t,r)=>(t>e.count&&(e.count=t,e.idx=r),e),{count:0,idx:-1}).idx;i.idxs.forEach((t,r)=>{a[t]++,c[t].expandByPoint(e[r].min),c[t].expandByPoint(e[r].max)});const d=c.filter((e,t)=>!(t===l||!e.intersectsBox(c[l])));if(d.length>0){const e=c[l].clone();return d.forEach(t=>{e.expandByPoint(t.min),e.expandByPoint(t.max)}),e}return c[l]}getSectorsIntersectingFrustum(e,t){const r=(new n.Matrix4).multiplyMatrices(e,t),i=(new n.Frustum).setFromProjectionMatrix(r),s=[];return Object(o.t)(this.root,e=>!!i.intersectsBox(e.bounds)&&(s.push(e),!0)),s}}
77
+ /*!
78
+ * Copyright 2021 Cognite AS
79
+ */function c(e){const t=new Map,r=[];e.sectors.forEach(e=>{const o=function(e){const t=function(e){if(!e.facesFile)return{quadSize:-1,coverageFactors:{xy:-1,yz:-1,xz:-1},recursiveCoverageFactors:{xy:-1,yz:-1,xz:-1},fileName:null,downloadSize:e.indexFile.downloadSize};return{...e.facesFile,recursiveCoverageFactors:e.facesFile.recursiveCoverageFactors||e.facesFile.coverageFactors}}(e),r=e.boundingBox,o=r.min.x,i=r.min.y,s=r.min.z,a=r.max.x,c=r.max.y,l=r.max.z;return{id:e.id,path:e.path,depth:e.depth,bounds:new n.Box3(new n.Vector3(o,i,s),new n.Vector3(a,c,l)),estimatedDrawCallCount:e.estimatedDrawCallCount,estimatedRenderCost:e.estimatedTriangleCount||0,indexFile:{...e.indexFile},facesFile:t,children:[]}}(e);t.set(e.id,o),r[e.id]=e.parentId});for(const e of t.values()){const n=r[e.id];if(-1===n)continue;t.get(n).children.push(e)}const o=t.get(0);if(!o)throw new Error("Root sector not found, must have ID 0");!function e(t,r){!function(e){return-1===e.facesFile.coverageFactors.xy}(t)?t.children.forEach(r=>e(r,t.facesFile)):(t.facesFile.coverageFactors.xy=r.recursiveCoverageFactors.xy,t.facesFile.coverageFactors.yz=r.recursiveCoverageFactors.yz,t.facesFile.coverageFactors.xz=r.recursiveCoverageFactors.xz,t.facesFile.recursiveCoverageFactors.xy=r.recursiveCoverageFactors.xy,t.facesFile.recursiveCoverageFactors.yz=r.recursiveCoverageFactors.yz,t.facesFile.recursiveCoverageFactors.xz=r.recursiveCoverageFactors.xz,t.children.forEach(t=>e(t,r)))}
80
+ /*!
81
+ * Copyright 2021 Cognite AS
82
+ */(o,o.facesFile);const i=null!==e.unit?e.unit:"Meters";return new a(e.version,e.maxTreeIndex,i,o,t)}class l{parse(e){const t=e.version;switch(t){case 8:return c(e);case void 0:throw new Error('Metadata must contain a "version"-field');default:throw new Error(`Version ${t} is not supported`)}}}
83
+ /*!
84
+ * Copyright 2021 Cognite AS
85
+ */const d=new Map([["Meters",1],["Centimeters",.01],["Millimeters",.001],["Micrometers",1e-6],["Kilometers",1e3],["Feet",.3048],["Inches",.0254],["Yards",.9144],["Miles",1609.34],["Mils",254e-7],["Microinches",2.54e-8]]);
86
+ /*!
87
+ * Copyright 2021 Cognite AS
88
+ */class h{constructor(e,t,r,n="scene.json"){this._currentModelIdentifier=0,this._modelMetadataProvider=e,this._modelDataProvider=t,this._cadSceneParser=r,this._blobFileName=n}async loadData(e){const t=this._modelMetadataProvider.getModelUri(e),r=this._modelMetadataProvider.getModelMatrix(e),i=this._modelMetadataProvider.getModelCamera(e),s=await t,a=await this._modelDataProvider.getJsonFile(s,this._blobFileName),c=this._cadSceneParser.parse(a),l=function(e,t){const r=d.get(e);if(void 0===r)throw new Error(`Unknown model unit '${e}'`);return(new n.Matrix4).makeScale(r,r,r).multiply(t)}(c.unit,await r),h=(new n.Matrix4).copy(l).invert(),u=await i;return{modelIdentifier:""+this._currentModelIdentifier++,modelBaseUrl:s,geometryClipBox:null,modelMatrix:l,inverseModelMatrix:h,cameraConfiguration:Object(o.s)(u,l),scene:c}}}var u,m=r(7),p=r.n(m);
14
89
  /*!
15
90
  * Copyright 2021 Cognite AS
16
91
  */
17
- function o(e,t){throw new Error(t||"Unexpected object: "+e)}i.d(t,"a",(function(){return o}))},65:function(e,t,i){"use strict";i.r(t),i.d(t,"HtmlOverlayTool",(function(){return l})),i.d(t,"ExplodedViewTool",(function(){return c})),i.d(t,"DebugCameraTool",(function(){return d})),i.d(t,"AxisViewTool",(function(){return b})),i.d(t,"Corner",(function(){return h})),i.d(t,"GeomapTool",(function(){return R})),i.d(t,"MapProviders",(function(){return y})),i.d(t,"MapboxMode",(function(){return C})),i.d(t,"MapboxStyle",(function(){return P})),i.d(t,"MapboxImageFormat",(function(){return B})),i.d(t,"BingMapType",(function(){return M})),i.d(t,"BingMapImageFormat",(function(){return D})),i.d(t,"HereMapType",(function(){return T})),i.d(t,"HereMapScheme",(function(){return E})),i.d(t,"HereMapImageFormat",(function(){return V})),i.d(t,"Cognite3DViewerToolBase",(function(){return a})),i.d(t,"DebugLoadedSectorsTool",(function(){return j}));var o=i(0),n=i(15),r=i(33),s=i(19);
92
+ class f{createSectorScene(e,t,r,n){p()(8===e,"Only version 8 is currently supported");const i=new Map;return Object(o.t)(n,e=>(i.set(e.id,e),!0)),new a(e,t,r,n,i)}}
93
+ /*!
94
+ * Copyright 2021 Cognite AS
95
+ */!function(e){e[e.Discarded=0]="Discarded",e[e.Simple=1]="Simple",e[e.Detailed=2]="Detailed"}(u||(u={}));
18
96
  /*!
19
97
  * Copyright 2021 Cognite AS
20
98
  */
21
- class a{constructor(){this._disposedEvent=new s.a,this._disposed=!1}on(e,t){switch(e){case"disposed":this._disposedEvent.subscribe(t);break;default:Object(r.a)(e)}}off(e,t){switch(e){case"disposed":this._disposedEvent.unsubscribe(t);break;default:Object(r.a)(e)}}dispose(){if(this._disposed)throw new Error("Already disposed");this._disposed=!0,this._disposedEvent.fire(),this._disposedEvent.unsubscribeAll()}ensureNotDisposed(){if(this._disposed)throw new Error("The tool has been disposed")}}
99
+ class g extends n.Group{constructor(e,t,r){super(),this._lod=u.Discarded,this._updatedTimestamp=Date.now(),this.name=`Sector ${t} [id=${e}]`,this.sectorId=e,this.sectorPath=t,this.bounds=r,this.depth=function(e){let t=0;for(let r=0;r<e.length;++r)t+="/"===e[r]?1:0;return t-1}
22
100
  /*!
23
101
  * Copyright 2021 Cognite AS
24
- */class l extends a{constructor(e){super(),this._htmlOverlays=new Map,this._preallocatedVariables={camPos:new o.Vector3,camNormal:new o.Vector3,point:new o.Vector3,nearPlane:new o.Plane,farPlane:new o.Plane,position2D:new o.Vector2},this._onSceneRenderedHandler=this.onSceneRendered.bind(this),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._viewer=e,this._viewer.on("sceneRendered",this._onSceneRenderedHandler),this._viewer.on("disposed",this._onViewerDisposedHandler)}get viewerDomElement(){return this._viewer.domElement}get viewerCamera(){return this._viewer.getCamera()}get viewerRenderer(){return this._viewer.renderer}dispose(){this._viewer.off("sceneRendered",this._onSceneRenderedHandler),this._viewer.off("disposed",this._onViewerDisposedHandler),this.clear(),super.dispose()}add(e,t,i={}){if(this.ensureNotDisposed(),this.viewerDomElement.contains(e))throw new Error("Element is already attached to viewer");this.viewerDomElement.appendChild(e);const o=getComputedStyle(e);if("absolute"!==o.position)throw this.viewerDomElement.removeChild(e),new Error(`htmlElement style must have a position of absolute. but was '${o.position}'`);const n={position3D:t,options:i};this._htmlOverlays.set(e,n),this.forceUpdate()}remove(e){if(this.ensureNotDisposed(),!this.viewerDomElement.contains(e)||!this._htmlOverlays.has(e))throw new Error("Element is not attached to viewer");this.viewerDomElement.removeChild(e),this._htmlOverlays.delete(e)}clear(){const e=Array.from(this._htmlOverlays.keys());for(const t of e)this.remove(t)}forceUpdate(){if(this.ensureNotDisposed(),0===this._htmlOverlays.size)return;const e=this.viewerCamera,t=this.viewerRenderer,{camPos:i,camNormal:o,point:r,nearPlane:s,farPlane:a,position2D:l}=this._preallocatedVariables;e.getWorldPosition(i),e.getWorldDirection(o),r.copy(i).addScaledVector(o,e.near),s.setFromNormalAndCoplanarPoint(o,r),r.copy(i).addScaledVector(o,e.far),a.setFromNormalAndCoplanarPoint(o,r),this._htmlOverlays.forEach((o,r)=>{const{position3D:c,options:{positionUpdatedCallback:d}}=o,h=t.domElement,p=s.distanceToPoint(c)>=0&&a.distanceToPoint(c)<=0,{x:u,y:m}=Object(n.b)(t,e,c);if(p?(r.style.visibility="visible",r.style.top=m+h.offsetTop+"px",r.style.left=u+h.offsetLeft+"px"):r.style.visibility="hidden",d){l.set(u,m);const e=i.distanceTo(c);d(r,l,c,e)}})}onSceneRendered(){this.forceUpdate()}onViewerDisposed(){this.dispose()}}
102
+ */(t)}get levelOfDetail(){return this._lod}get group(){return this._group}get updatedTimestamp(){return this._updatedTimestamp}updateGeometry(e,t){this.resetGeometry(),this._group=e,void 0!==this._group&&this._group.reference(),this._lod=t,this._updatedTimestamp=Date.now(),this.visible=this._lod!==u.Discarded,this.updateMatrixWorld(!0)}resetGeometry(){void 0!==this._group&&(this._group.dereference(),this.remove(this._group)),this._group=void 0,this._lod=u.Discarded,this._updatedTimestamp=Date.now()}}class v extends g{constructor(e){const t=e.scene.root.bounds.clone();t.applyMatrix4(e.modelMatrix),super(0,"/",t);const{scene:r,modelMatrix:n}=e;this.sectorNodeMap=new Map,function e(t,r,n,o){const i=t.bounds.clone();i.applyMatrix4(o);const s=new g(t.id,t.path,i);s.name="Sector "+t.id,r.add(s),s.matrixAutoUpdate=!1,s.updateMatrixWorld(!0),n.set(t.id,s);for(const r of t.children)e(r,s,n,o)}
25
103
  /*!
26
104
  * Copyright 2021 Cognite AS
27
- */class c extends a{constructor(e,t){super(),this._cadModel=t,this._rootTreeIndex=e,this.preloadBoundingBoxData(t,e)}get readyPromise(){return this._treeBoundingBoxdata.then()}async expand(e){const t=await this._treeBoundingBoxdata;await Promise.all(t.map(({treeIndex:t,direction:i,transform:o})=>0===e?(this._cadModel.resetNodeTransformByTreeIndex(t),Promise.resolve(0)):(o.setPosition(i.x*e,i.y*e,i.z*e),this._cadModel.setNodeTransformByTreeIndex(t,o))))}reset(){this._cadModel.resetNodeTransformByTreeIndex(this._rootTreeIndex,!0)}preloadBoundingBoxData(e,t){const i=e.getBoundingBoxByTreeIndex(t).then(e=>e.getCenter(new o.Vector3)),n=e.getSubtreeTreeIndices(t).then(e=>{if(e.count>1e3)throw new Error(`Subtree size of ${e.count} is too large (max size = 1000)`);return e}).then(t=>Promise.all(t.toArray().map(async t=>({subTreeIndex:t,subTreeIndexBoundingBoxCenter:(await e.getBoundingBoxByTreeIndex(t)).getCenter(new o.Vector3)}))));this._treeBoundingBoxdata=Promise.all([i,n]).then(e=>{const[t,i]=e;return i.map(({subTreeIndex:e,subTreeIndexBoundingBoxCenter:i})=>({treeIndex:e,direction:(new o.Vector3).subVectors(i,t),transform:new o.Matrix4}))}).then(async t=>(await Promise.all(t.map(t=>e.setNodeTransformByTreeIndex(t.treeIndex,t.transform))),t))}}
105
+ */(r.root,this,this.sectorNodeMap,n),this.matrixAutoUpdate=!1,this.setModelTransformation(n)}setModelTransformation(e){this.matrix.copy(e),this.updateMatrixWorld(!0)}getModelTransformation(e=new n.Matrix4){return e.copy(this.matrix)}}class w{constructor(e=o.j.defaultPool){this.workerPool=e}parseI3D(e){return this.parseDetailed(e)}parseF3D(e){return this.parseSimple(e)}parseCTM(e){return this.parseCtm(e)}async parseSimple(e){return this.workerPool.postWorkToAvailable(async t=>t.parseQuads(e))}async parseDetailed(e){return this.workerPool.postWorkToAvailable(async t=>t.parseSector(e))}async parseCtm(e){return this.workerPool.postWorkToAvailable(async t=>t.parseCtm(e))}}
28
106
  /*!
29
107
  * Copyright 2021 Cognite AS
30
- */class d extends a{constructor(e){super(),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._viewer=e,this._viewer.on("disposed",this._onViewerDisposedHandler)}get viewerCamera(){return this._viewer.getCamera()}dispose(){this._viewer.off("disposed",this._onViewerDisposedHandler),super.dispose()}showCameraHelper(){this.hideCameraHelper(),this._cameraHelper=new o.CameraHelper(this.viewerCamera.clone()),this._viewer.addObject3D(this._cameraHelper)}hideCameraHelper(){void 0!==this._cameraHelper&&(this._viewer.removeObject3D(this._cameraHelper),this._cameraHelper=void 0)}onViewerDisposed(){this.dispose()}}var h,p=i(8),u=i.n(p);!function(e){e[e.TopRight=0]="TopRight",e[e.TopLeft=1]="TopLeft",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight"}(h||(h={}));const m={ringLabel:"N",labelDelta:Math.PI,fontSize:void 0,fontColor:new o.Color(16711680),tickColor:new o.Color(9737364)},f={label:"",fontSize:void 0,fontColor:new o.Color(3355443),outlineSize:void 0,outlineColor:new o.Color(3355443),faceColor:new o.Color(9737364)},w={size:128,position:{corner:h.BottomRight,padding:new o.Vector2},animationSpeed:200,faces:{xPositiveFace:{...f,label:"Right"},xNegativeFace:{...f,label:"Left"},yPositiveFace:{...f,label:"Up"},yNegativeFace:{...f,label:"Down"},zPositiveFace:{...f,label:"Front"},zNegativeFace:{...f,label:"Back"}},compass:m};var g=i(10),v=i.n(g),_=i(31),x=i.n(_);
108
+ */const x={centerA:new n.Vector3,centerB:new n.Vector3,sphere:new n.Sphere,box:new n.Box3};const _={vertex1:new n.Vector3,vertex2:new n.Vector3,vertex3:new n.Vector3,vertex4:new n.Vector3};const y={instanceMatrix:new n.Matrix4};const b={center:new n.Vector3,size:new n.Vector3};
31
109
  /*!
32
110
  * Copyright 2021 Cognite AS
33
111
  */
34
- class b extends a{constructor(e,t){super(),this._dynamicUpdatePosition=()=>{},this._updateClickDiv=()=>{},this._screenPosition=new o.Vector2,this._boxFaceGeometry=new o.PlaneGeometry(.85,.85,1,1),this._raycastCamera=new o.OrthographicCamera(-1,1,1,-1,-1,1),this._raycaster=new o.Raycaster,this._viewer=e,this._layoutConfig=x()(v()(w),t),this._axisGroup=new o.Group,this._interactiveObjects=this.createAxisCross(this._axisGroup),[this._updateClickDiv,this._disposeClickDiv]=this.createClickDiv(e),this.addAxisBoxToViewer(this._axisGroup,this._layoutConfig.position)}dispose(){super.dispose(),this._viewer.removeUiObject(this._axisGroup),this._disposeClickDiv()}createClickDiv(e){if(null===e.domElement.querySelector("canvas"))throw new Error("Could not find canvas");const t=document.createElement("div");t.style.position="absolute",t.style.height=this._layoutConfig.size+"px",t.style.width=this._layoutConfig.size+"px",t.style.zIndex="1";let i=0,o=0;return t.addEventListener("mousedown",t=>{const n=new MouseEvent("mousedown",{clientX:t.clientX,clientY:t.clientY,button:t.button});i=t.clientX,o=t.clientY,e.renderer.domElement.dispatchEvent(n)}),t.addEventListener("mousemove",t=>{const i=new MouseEvent("mousemove",{clientX:t.clientX,clientY:t.clientY,button:t.button});e.renderer.domElement.dispatchEvent(i)}),t.addEventListener("contextmenu",e=>e.preventDefault()),t.addEventListener("mouseup",t=>{const n=new MouseEvent("mouseup",{clientX:t.clientX,clientY:t.clientY,button:t.button}),r=e.domElement.getBoundingClientRect(),s=t.clientX-r.left,a=t.clientY-r.top;Math.abs(i-t.clientX)+Math.abs(o-t.clientY)<=10&&!this.handleClick(s,a,r)&&e.renderer.domElement.dispatchEvent(n)}),e.domElement.appendChild(t),[()=>{t.style.left=this._screenPosition.x+"px",t.style.bottom=this._screenPosition.y+"px"},()=>{e.domElement.removeChild(t)}]}addAxisBoxToViewer(e,t){const i=this._layoutConfig.size;if(function(e){return void 0!==e.xAbsolute&&void 0!==e.yAbsolute}(t))this._screenPosition.x=t.xAbsolute,this._screenPosition.y=t.yAbsolute;else{switch(t.corner){case h.BottomRight:this._screenPosition.y=t.padding.y,this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-i};break;case h.TopRight:this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-i,this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-i};break;case h.TopLeft:this._screenPosition.x=t.padding.x,this._dynamicUpdatePosition=()=>{this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-i};break;case h.BottomLeft:this._screenPosition.x=t.padding.x,this._screenPosition.y=t.padding.y;break;default:throw new Error("Unknown corner position for Axis Cross: Corner = "+t.corner)}this._dynamicUpdatePosition()}this._viewer.addUiObject(e,this._screenPosition,new o.Vector2(i,i))}handleClick(e,t,i){const n=2*(e-this._screenPosition.x)/this._layoutConfig.size-1,r=2*(i.height-t-this._screenPosition.y)/this._layoutConfig.size-1;this._raycaster.setFromCamera({x:n,y:r},this._raycastCamera);const s=new o.Vector3(n,r,1),a=new o.Vector3(0,0,-1).normalize();this._raycaster.set(s,a);const l=this._raycaster.intersectObjects(this._interactiveObjects);if(!(l.length>0))return!1;const c=l[0].object.position.clone().normalize(),d=l[0].object.userData.upVector.clone();return this.moveCameraTo(this._viewer.getCamera(),this._viewer.cameraControls,c,d),!0}createAxisCross(e){const t=this.createBoxFaces();e.add(...t);const i=this.createCompass();return e.add(i),this.setupTransformOnRender(e),t}setupTransformOnRender(e){e.children[0].onBeforeRender=()=>{this._dynamicUpdatePosition(),e.quaternion.copy(this._viewer.getCamera().quaternion).invert(),e.updateMatrixWorld(),this._updateClickDiv()}}createBoxFaces(){const e=this._layoutConfig.faces;return[this.createBoxFace(new o.Vector3(1,0,0),e.xPositiveFace),this.createBoxFace(new o.Vector3(-1,0,0),e.xNegativeFace),this.createBoxFace(new o.Vector3(0,1,0),e.yPositiveFace,new o.Vector3(0,0,-1)),this.createBoxFace(new o.Vector3(0,-1,0),e.yNegativeFace,new o.Vector3(0,0,1)),this.createBoxFace(new o.Vector3(0,0,1),e.zPositiveFace),this.createBoxFace(new o.Vector3(0,0,-1),e.zNegativeFace)]}createCompass(){const e=new o.PlaneGeometry(2.1,2.1,1,1),t=new o.Mesh(e,new o.MeshBasicMaterial({map:this.createCompassTexture(),side:o.DoubleSide,transparent:!0})),i=Math.sin(this._layoutConfig.compass.labelDelta),n=Math.cos(this._layoutConfig.compass.labelDelta);return t.position.y=-.5,t.up.copy(new o.Vector3(i,0,n)),t.lookAt(0,0,0),t}createCompassTexture(){var e;const t=this._layoutConfig.compass,i=this._layoutConfig.size,n=document.createElement("canvas");n.width=i,n.height=i;const r=n.getContext("2d"),s=i/2,a=s-s/4,l=i/32,c=i/8;if(r.strokeStyle=t.tickColor.getStyle(),r.lineWidth=i/16,r.setLineDash([l,c]),r.beginPath(),r.arc(s,s,a,0,2*Math.PI),r.stroke(),t.ringLabel&&t.ringLabel.length>0){const o=null!==(e=t.fontSize)&&void 0!==e?e:i/5;r.font=`bold ${o}px Arial`,r.textAlign="center",r.fillStyle=t.fontColor.getStyle(),r.fillText(t.ringLabel,s,s*(1/4)+o/3)}return new o.CanvasTexture(n)}getFaceTexture(e,t){var i,n;const r=t/2,s=document.createElement("canvas");s.width=r,s.height=r;const a=s.getContext("2d");a.fillStyle=e.outlineColor.getStyle(),a.fillRect(0,0,r,r),a.fillStyle=e.faceColor.getStyle();const l=null!==(i=e.outlineSize)&&void 0!==i?i:r/32;if(a.fillRect(l,l,r-2*l,r-2*l),a.fill(),""!==e.label){const t=null!==(n=e.fontSize)&&void 0!==n?n:r/3;a.font=`bold ${t}px Arial`,a.textAlign="center",a.fillStyle=e.fontColor.getStyle(),a.fillText(e.label,r/2,r/2+t/3)}return new o.CanvasTexture(s)}createBoxFace(e,t,i=new o.Vector3(0,1,0)){const n=new o.Mesh(this._boxFaceGeometry,new o.MeshBasicMaterial({map:this.getFaceTexture(t,this._layoutConfig.size)}));return n.position.copy(e.multiplyScalar(.5*this._boxFaceGeometry.parameters.width)),n.lookAt(e.multiplyScalar(2)),n.userData.upVector=i,n}moveCameraTo(e,t,i,n){const r=e.position.clone(),s=t.getState().target,a=r.clone().sub(s),l=a.length(),c=a.clone().normalize(),d=Math.acos(c.dot(i)),h={t:0},p=new u.a.Tween(h),m=i.clone(),f=e.quaternion.clone(),w=(new o.Quaternion).setFromRotationMatrix((new o.Matrix4).makeBasis(n.clone().cross(m),n,m));if(f.angleTo(w)<1e-6)return;const g=new o.Vector3,v=new o.Quaternion;let _;p.to({t:1},this._layoutConfig.animationSpeed).onUpdate(()=>{g.copy(c).multiplyScalar(Math.sin((1-h.t)*d)/Math.sin(d)).add(i.clone().multiplyScalar(Math.sin(h.t*d)/Math.sin(d))),g.multiplyScalar(l),g.add(s),v.slerpQuaternions(f,w,h.t),e.position.copy(g),e.setRotationFromQuaternion(v)}).start(u.a.now()).onStart(()=>{_=t.enabled,t.enabled=!1}).onComplete(()=>{t.setState(e.position,s),t.enabled=_}).update(u.a.now())}}var y,C,P,S,B,M,D,T,E,V,O=i(11);
112
+ function C(e,t,r,o){const i=Array.from(t.values()).reduce((e,t)=>Math.max(e,t.offset+t.size),0),s=e.length/i,a=new Float32Array(e.buffer),c=new n.Box3,l=new Uint8Array(e.length);let d=0;for(let t=0;t<s;++t)if(o(t,i,a,c),r.intersectsBox(c)){const r=e.subarray(t*i,(t+1)*i);l.set(r,d*i),d++}return l.slice(0,d*i)}function M(e,t,r,n){if(null===n)return e;const o=t.get("instanceMatrix");return p()(void 0!==o),C(e,t,n,(e,t,n,i)=>{!function(e,t,r,n,o,i){const{instanceMatrix:s}=y,a=(n*r+e.offset)/t.BYTES_PER_ELEMENT;s.set(t[a+0],t[a+4],t[a+8],t[a+12],t[a+1],t[a+5],t[a+9],t[a+13],t[a+2],t[a+6],t[a+10],t[a+14],t[a+3],t[a+7],t[a+11],t[a+15]),i.copy(o).applyMatrix4(s)}(o,n,t,e,r,i)})}function B(e,t,r,n="radiusA",o="radiusB"){if(null===r)return e;const i=t.get("centerA"),s=t.get("centerB"),a=t.get(n),c=t.get(o);return p()(void 0!==i&&void 0!==s&&void 0!==a&&void 0!==c),C(e,t,r,(e,t,r,n)=>{!function(e,t,r,n,o,i,s,a){const{centerA:c,centerB:l,sphere:d,box:h}=x;function u(e,t=0){const r=(s*i+e.offset)/o.BYTES_PER_ELEMENT;return o[r+t]}c.set(u(e,0),u(e,1),u(e,2)),l.set(u(t,0),u(t,1),u(t,2));const m=u(r),p=u(n);d.set(c,m),d.getBoundingBox(a),d.set(l,p),d.getBoundingBox(h),a.expandByPoint(h.min),a.expandByPoint(h.max)}(i,s,a,c,r,t,e,n)})}function S(e,t,r){if(null===r)return e;const n=t.get("vertex1"),o=t.get("vertex2"),i=t.get("vertex3"),s=t.get("vertex4");return p()(void 0!==n&&void 0!==o&&void 0!==i&&void 0!==s),C(e,t,r,(e,t,r,a)=>{!function(e,t,r,n,o,i,s,a){const{vertex1:c,vertex2:l,vertex3:d,vertex4:h}=_;function u(e,t=0){const r=(s*i+e.offset)/o.BYTES_PER_ELEMENT;return o[r+t]}c.set(u(e,0),u(e,1),u(e,2)),l.set(u(t,0),u(t,1),u(t,2)),d.set(u(r,0),u(r,1),u(r,2)),h.set(u(n,0),u(n,1),u(n,2)),a.setFromPoints([c,l,d,h])}(n,o,i,s,r,t,e,a)})}function I(e,t,r,n="horizontalRadius",o="verticalRadius"){if(null===r)return e;const i=t.get("center"),s=t.get(n),a=t.get(o),c=t.get("height");return p()(void 0!==i&&void 0!==s&&void 0!==a&&void 0!==c),C(e,t,r,(e,t,r,n)=>{!function(e,t,r,n,o,i,s,a){const{center:c,size:l}=b;function d(e,t=0){const r=(s*i+e.offset)/o.BYTES_PER_ELEMENT;return o[r+t]}c.set(d(e,0),d(e,1),d(e,2));const h=d(t),u=d(r),m=d(n),p=2*Math.max(h,u,m);l.set(p,p,p),a.setFromCenterAndSize(c,l)}(i,s,a,c,r,t,e,n)})}
35
113
  /*!
36
114
  * Copyright 2021 Cognite AS
37
- */!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(y||(y={})),function(e){e[e.Style=100]="Style",e[e.Map_Id=101]="Map_Id"}(C||(C={})),function(e){e.Streets="mapbox/streets-v10",e.Outdoor="mapbox/outdoors-v10",e.Light="mapbox/light-v9",e.Dark="mapbox/dark-v9",e.Satellite="mapbox/satellite-v9",e.Satellite_Streets="mapbox/satellite-streets-v10",e.Navigation_Day="mapbox/navigation-preview-day-v4",e.Navigation_Night="mapbox/navigation-preview-night-v4",e.Navigation_Guide_Day="mapbox/navigation-guidance-day-v4",e.Navigation_Guide_Night="mapbox/navigation-guidance-night-v4"}(P||(P={})),function(e){e.Streets="mapbox.mapbox-streets-v7",e.Satellite="mapbox.satellite",e.Terrain="mapbox.mapbox-terrain-v2",e.Traffic="mapbox.mapbox-traffic-v1",e.TerrainRGB="mapbox.terrain-rgb"}(S||(S={})),function(e){e.PNG="png",e.PNG32="png32",e.PNG64="png64",e.PNG128="png128",e.PNG256="png256",e.JPG70="jpg70",e.JPG80="jpg80",e.JPG90="jpg90",e.PNGRAW="pngraw"}(B||(B={})),function(e){e.Aerial="a",e.Road="r",e.Aerial_Labels="h",e.Oblique="o",e.Oblique_Labels="b"}(M||(M={})),function(e){e.GIF="gif",e.JPEG="jpeg",e.PNG="png"}(D||(D={})),function(e){e.Aerial="aerial",e.Base="base",e.Pano="pano",e.Traffic="traffic"}(T||(T={})),function(e){e.Day="normal.day",e.Night="normal.night",e.Terrain="terrain.day",e.Satellite="satellite.day"}(E||(E={})),function(e){e.PNG="png",e.PNG8="png8",e.JPG="jpg"}(V||(V={}));
115
+ */
116
+ const E={p:new n.Vector3,instanceMatrix:new n.Matrix4,baseBounds:new n.Box3,instanceBounds:new n.Box3};function k(e,t,r,n){if(null===n)return r;const{p:o,instanceMatrix:i,baseBounds:s,instanceBounds:a}=E;s.makeEmpty();for(let n=r.triangleOffset;n<r.triangleOffset+r.triangleCount;++n){const r=t[3*n+0],i=t[3*n+1],a=t[3*n+2];o.set(e[r+0],e[r+1],e[r+2]),s.expandByPoint(o),o.set(e[i+0],e[i+1],e[i+2]),s.expandByPoint(o),o.set(e[a+0],e[a+1],e[a+2]),s.expandByPoint(o)}let c=0;const l=r.treeIndices.length,d=new Float32Array(r.instanceMatrices.length),h=new Float32Array(l),u=new Uint8Array(4*l);for(let e=0;e<l;++e)if(m=r.instanceMatrices,p=e,i.set(m[p+0],m[p+4],m[p+8],m[p+12],m[p+1],m[p+5],m[p+9],m[p+13],m[p+2],m[p+6],m[p+10],m[p+14],m[p+3],m[p+7],m[p+11],m[p+15]),a.copy(s).applyMatrix4(i),n.intersectsBox(a)){const t=r.instanceMatrices.subarray(16*e,16*(e+1)),n=r.colors.subarray(4*e,4*(e+1)),o=r.treeIndices[e];d.set(t,16*c),u.set(n,4*c),h[c]=o,c++}var m,p;if(l===c)return r;return{triangleCount:r.triangleCount,triangleOffset:r.triangleOffset,instanceMatrices:d.slice(0,16*c),colors:u.slice(0,4*c),treeIndices:h.slice(0,c)}}
117
+ /*!
118
+ * Copyright 2021 Cognite AS
119
+ */const{boxGeometry:P,boxGeometryBoundingBox:D}=(()=>{const e=new n.BoxBufferGeometry(1,1,1,1,1,1);try{const t={index:e.getIndex(),position:e.getAttribute("position"),normal:e.getAttribute("normal")};return e.computeBoundingBox(),{boxGeometry:t,boxGeometryBoundingBox:e.boundingBox}}finally{e.dispose()}})(),{quadGeometry:N,quadGeometryBoundingBox:T}=(()=>{const e=new n.PlaneBufferGeometry(1,1,1,1);try{const t={index:e.getIndex(),position:e.getAttribute("position"),normal:e.getAttribute("normal")};return e.computeBoundingBox(),{quadGeometry:t,quadGeometryBoundingBox:e.boundingBox}}finally{e.dispose()}})(),{trapeziumGeometry:A,trapeziumGeometryBoundingBox:F}=(()=>{const e=[0,0,0,1,1,1,2,2,2,3,3,3];return{trapeziumGeometry:{index:new n.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1),position:new n.BufferAttribute(new Float32Array(e),3)},trapeziumGeometryBoundingBox:(new n.Box3).setFromArray(e)}})(),{coneGeometry:R,coneGeometryBoundingBox:O}=(()=>{const e=[];e.push(-1,1,-1),e.push(-1,-1,-1),e.push(1,1,-1),e.push(1,-1,-1),e.push(1,1,1),e.push(1,-1,1);const t=new Uint16Array([1,2,0,1,3,2,3,4,2,3,5,4]);return{coneGeometry:{index:new n.BufferAttribute(t,1),position:new n.BufferAttribute(new Float32Array(e),3)},coneGeometryBoundingBox:(new n.Box3).setFromArray(e)}})(),{torusLodGeometries:V,torusGeometryBoundingBox:z}=(()=>{const e=(e,t)=>[e,2*t*Math.PI],t=[{tubularSegments:9,radialSegments:18},{tubularSegments:5,radialSegments:12},{tubularSegments:4,radialSegments:5}].map(({tubularSegments:t,radialSegments:r})=>function(e,t,r=((e,t)=>[e,t,0])){const o=[],i=[],s=1/e,a=1/t;for(let n=0;n<=t;n++)for(let t=0;t<=e;t++){const[e,i,c]=r(t*s,n*a);o.push(e||0,i||0,c||0)}for(let r=1;r<=t;r++)for(let t=1;t<=e;t++){const n=(e+1)*r+t-1,o=(e+1)*(r-1)+t-1,s=(e+1)*(r-1)+t,a=(e+1)*r+t;i.push(n,o,a),i.push(o,s,a)}return{index:new n.Uint16BufferAttribute(i,1),position:new n.Float32BufferAttribute(o,3)}}(r,t,e));return{torusLodGeometries:t,torusGeometryBoundingBox:(new n.Box3).setFromArray(t[t.length-1].position.array)}})(),{nutGeometry:$,nutGeometryBoundingBox:j}=(()=>{const e=new n.CylinderBufferGeometry(.5,.5,1,6);try{e.applyMatrix4((new n.Matrix4).makeRotationX(-Math.PI/2));const t={index:e.getIndex(),position:e.getAttribute("position"),normal:e.getAttribute("normal")};return{nutGeometry:t,nutGeometryBoundingBox:(new n.Box3).setFromArray(t.position.array)}}finally{e.dispose()}})();
38
120
  /*!
39
121
  * Copyright 2021 Cognite AS
40
122
  */
41
- class F{constructor(e,t){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const i=this.getMapProvider(t);this._map=new O.MapView(O.MapView.PLANAR,i,i),this._viewer.addObject3D(this._map);const o=O.UnitsUtils.datumsToSpherical(t.latlong.latitude,t.latlong.longitude),n=this._viewer.models[0].getModelBoundingBox();this._map.position.set(-o.x,n.min.y,o.y),this._map.updateMatrixWorld(!0),this.requestRedraw(1e4),this._viewer.on("cameraChange",this._onCameraChange)}requestRedraw(e){0==this._intervalId&&(this._intervalId=setInterval(()=>{this._viewer.requestRedraw()},100),setTimeout(()=>{clearInterval(this._intervalId),this._intervalId=0},e))}getMapProvider(e){let t;switch(e.provider){case y.BingMap:t=new O.BingMapsProvider(e.APIKey,e.type);break;case y.HereMap:t=new O.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case y.MapboxMap:t=new O.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case y.OpenStreetMap:t=new O.OpenStreetMapsProvider;break;default:throw new Error("Unsupported map provider")}return t}latLongToWorldCoordinates(e){return O.UnitsUtils.datumsToSpherical(e.latitude,e.longitude)}handleCameraChange(){this.requestRedraw(1e3)}dispose(){this._viewer.removeObject3D(this._map),this._viewer.off("cameraChange",this._onCameraChange)}}
123
+ function L(e,t,r,i){const s=[],a=e.filter(e=>null===i||function(e,t){const{p:r,box:n}=G;n.makeEmpty();for(let t=0;t<e.vertices.length;t+=3)r.set(e.vertices[t+0],e.vertices[t+1],e.vertices[t+2]),n.expandByPoint(r);return t.intersectsBox(n)}
124
+ /*!
125
+ * Copyright 2021 Cognite AS
126
+ */(e,i));for(const e of a){const i=new n.BufferGeometry,a=new n.Uint32BufferAttribute(e.indices.buffer,1).onUpload(o.n),c=new n.Float32BufferAttribute(e.vertices.buffer,3).onUpload(o.n),l=new n.Uint8BufferAttribute(e.colors.buffer,3).onUpload(o.n),d=new n.Float32BufferAttribute(e.treeIndices.buffer,1).onUpload(o.n);i.setIndex(a),i.setAttribute("color",l),i.setAttribute("position",c),i.setAttribute("treeIndex",d),i.boundingBox=t.clone(),i.boundingSphere=new n.Sphere,t.getBoundingSphere(i.boundingSphere);const h=new n.Mesh(i,r);h.name="Triangle mesh "+e.fileId,h.userData.treeIndices=new Set(e.treeIndices),s.push(h)}return s}const G={p:new n.Vector3,box:new n.Box3}},,,,function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return o})),r.d(t,"c",(function(){return d})),r.d(t,"d",(function(){return h})),r.d(t,"f",(function(){return p})),r.d(t,"g",(function(){return f})),r.d(t,"h",(function(){return g})),r.d(t,"e",(function(){return i}));class n{constructor(e){this.client=e}get headers(){return this.client.getDefaultRequestHeaders()}async getBinaryFile(e,t){const r=`${e}/${t}`,n={...this.client.getDefaultRequestHeaders(),Accept:"*/*"};return(await async function(e,t,r=3){let n;for(let o=0;o<r;o++)try{return await fetch(e,t)}catch(e){void 0!==n&&(n=e)}throw n}(r,{headers:n,method:"GET"})).arrayBuffer()}async getJsonFile(e,t){return(await this.client.get(`${e}/${t}`)).data}}class o{constructor(e,t,r){this.revealInternalId=Symbol(`${e}/${t}[${r}]`),this.modelId=e,this.revisionId=t,this.modelFormat=r}toString(){return`${o.name} (${String(this.revealInternalId)} - ${this.modelFormat})`}}var i,s=r(0);
42
127
  /*!
43
128
  * Copyright 2021 Cognite AS
44
- */class R extends a{constructor(e,t){super(),this._viewer=e,this._maps=new F(this._viewer,t)}latLongToWorldCoordinates(e){this._maps.latLongToWorldCoordinates(e)}dispose(){super.dispose(),this._maps.dispose()}}var N=i(2);
129
+ */!function(e){e.EptPointCloud="ept-pointcloud",e.RevealCadModel="reveal-directory",e.AnyFormat="all-outputs"}(i||(i={}));
130
+ /*!
131
+ * Copyright 2021 Cognite AS
132
+ */
133
+ const a=(new s.Matrix4).set(1,0,0,0,0,0,1,0,0,-1,0,0,0,0,0,1);function c(e,t){switch(t){case i.RevealCadModel:e.premultiply(a);break;case i.EptPointCloud:break;default:throw new Error("Unknown model format '"+t)}}
134
+ /*!
135
+ * Copyright 2021 Cognite AS
136
+ */class l{constructor(e,t,r){this.modelId=e,this.revisionId=t,this.outputs=r}findMostRecentOutput(e,t){const r=this.outputs.filter(r=>r.format===e&&(!t||-1!==t.indexOf(r.version)));return r.length>0?r.reduce((e,t)=>t.version>e.version?t:e):void 0}}
137
+ /*!
138
+ * Copyright 2021 Cognite AS
139
+ */class d{constructor(e){this._client=e}async getModelMatrix(e){if(!(e instanceof o))throw new Error(`Model must be a ${o.name}, but got ${e.toString()}`);const{modelId:t,revisionId:r,modelFormat:n}=e,i=await this._client.revisions3D.retrieve(t,r),a=new s.Matrix4;return i.rotation&&a.makeRotationFromEuler(new s.Euler(...i.rotation)),c(a,n),a}async getModelCamera(e){if(!(e instanceof o))throw new Error(`Model must be a ${o.name}, but got ${e.toString()}`);const{modelId:t,revisionId:r}=e,n=await this._client.revisions3D.retrieve(t,r);if(n.camera&&n.camera.position&&n.camera.target){const{position:e,target:t}=n.camera;return{position:new s.Vector3(e[0],e[1],e[2]),target:new s.Vector3(t[0],t[1],t[2])}}}async getModelUri(e){if(!(e instanceof o))throw new Error(`Model must be a ${o.name}, but got ${e.toString()}`);const{modelId:t,revisionId:r,modelFormat:n}=e,i=(await this.getOutputs(e)).findMostRecentOutput(n);if(!i)throw new Error(`Model '${t}/${r}' is not compatible with this version of Reveal, because no outputs for format '(${n})' was found. If this model works with a previous version of Reveal it must be reprocessed to support this version.`);const s=i.blobId;return`${this._client.getBaseUrl()}${this.getRequestPath(s)}`}async getOutputs(e){const{modelId:t,revisionId:r,modelFormat:n}=e,o=`/api/v1/projects/${this._client.project}/3d/models/${t}/revisions/${r}/outputs`,i=void 0!==n?{params:{format:n}}:void 0,s=await this._client.get(o,i);if(200===s.status)return new l(t,r,s.data.items);throw new Error(`Unexpected response ${s.status} (payload: '${s.data})`)}getRequestPath(e){return`/api/v1/projects/${this._client.project}/3d/files/${e}`}}
140
+ /*!
141
+ * Copyright 2021 Cognite AS
142
+ */class h{constructor(e){this._client=e}async getOutputs(e){const{modelId:t,revisionId:r,modelFormat:n}=e,o=`/api/v1/projects/${this._client.project}/3d/models/${t}/revisions/${r}/outputs`,i=void 0!==n?{params:{format:n}}:void 0,s=await this._client.get(o,i);if(200===s.status)return new l(t,r,s.data.items);throw new Error(`Unexpected response ${s.status} (payload: '${s.data})`)}}var u=r(16);
143
+ /*!
144
+ * Copyright 2021 Cognite AS
145
+ */async function m(e){const t=await fetch(e);if(!t.ok){const e={};throw t.headers.forEach((t,r)=>{e[t]=r}),new u.HttpError(t.status,t.body,e)}return t}
146
+ /*!
147
+ * Copyright 2021 Cognite AS
148
+ */class p{get headers(){return{}}async getBinaryFile(e,t){return(await m(`${e}/${t}`)).arrayBuffer()}async getJsonFile(e,t){return(await m(`${e}/${t}`)).json()}}
149
+ /*!
150
+ * Copyright 2021 Cognite AS
151
+ */class f{constructor(e){this.revealInternalId=Symbol(e),this.localPath=e}toString(){return`${f.name} (${this.localPath})`}}
152
+ /*!
153
+ * Copyright 2021 Cognite AS
154
+ */class g{getModelUri(e){if(!(e instanceof f))throw new Error(`Model must be a ${f.name}, but got ${e.toString()}`);return Promise.resolve(`${location.origin}/${e.localPath}`)}async getModelMatrix(e){if(!(e instanceof f))throw new Error(`Model must be a ${f.name}, but got ${e.toString()}`);const t=new s.Matrix4;return c(t,i.RevealCadModel),t}getModelCamera(e){if(!(e instanceof f))throw new Error(`Model must be a ${f.name}, but got ${e.toString()}`);return Promise.resolve(void 0)}}
155
+ /*!
156
+ * Copyright 2021 Cognite AS
157
+ */},function(e,t){e.exports=require("assert")},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(12),o=r.n(n),i=r(10);const{VERSION:s,MIXPANEL_TOKEN:a}={VERSION:"2.2.2",WORKER_VERSION:"1.2.0",MIXPANEL_TOKEN:"8c900bdfe458e32b768450c20750853d",IS_DEVELOPMENT_MODE:!1};class c{constructor(e,t,r){o.a.init(a,{disable_cookie:!0,disable_persistence:!0,ip:!1,property_blacklist:["$city","$region","mp_country_code","$geo_source","$timezone","mp_lib","$lib_version","$device_id","$user_id","$current_url","$screen_width","$screen_height","$referrer","$referring_domain","$initial_referrer","$initial_referring_domain"]}),o.a.reset(),o.a.identify("reveal-single-user"),this._sessionProps={VERSION:s,project:"unknown",application:"unknown",sessionId:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},e&&(this._sessionProps.project=e),t&&(this._sessionProps.application=t),this.innerTrackEvent("init",r)}static init(e,t,r,n){if(void 0===globalThis.revealMetricsLogger&&e){const e=new c(t,r,n);globalThis.revealMetricsLogger={metricsLogger:e}}}innerTrackEvent(e,t){const r={...this._sessionProps,...t};o.a.track(e,r)}static trackEvent(e,t){globalThis.revealMetricsLogger&&globalThis.revealMetricsLogger.metricsLogger.innerTrackEvent(e,t)}static trackCreateTool(e){c.trackEvent("toolCreated",{toolName:e})}static trackLoadModel(e,t){c.trackEvent("loadModel",{...e,modelIdentifier:t})}static trackCadModelStyled(e,t){c.trackEvent("cadModelStyleAssigned",{nodeCollectionClassToken:e,style:t})}static trackError(e,t){i.a.error(e),this.trackEvent("error",{message:e.message,name:e.name,stack:e.stack,...t})}static trackCameraNavigation(e){c.trackEvent("cameraNavigated",e)}}
158
+ /*!
159
+ * Copyright 2021 Cognite AS
160
+ */},,function(e,t,r){"use strict";var n=r(23);
161
+ /*!
162
+ * Copyright 2021 Cognite AS
163
+ */t.a=n},function(e,t){e.exports=require("@tweenjs/tween.js")},function(e,t){e.exports=require("mixpanel-browser")},function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"b",(function(){return s}));var n=r(0);
164
+ /*!
165
+ * Copyright 2021 Cognite AS
166
+ */
167
+ const o={renderSize:new n.Vector2,position:new n.Vector3};function i(e,t,r=new n.Vector3){const{position:i}=o;i.copy(t),i.project(e);const s=(i.x+1)/2,a=(1-i.y)/2;return r.set(s,a,i.z)}function s(e,t,r,s=new n.Vector3){i(t,r,s);const{renderSize:a}=o;e.getSize(a);const c=e.domElement,{width:l,height:d}=c.getBoundingClientRect();return s.x=Math.round(s.x*l),s.y=Math.round(s.y*d),s}},function(e,t){e.exports=require("lodash/cloneDeep")},function(e,t){e.exports=require("geo-three")},function(e,t){e.exports=require("@cognite/sdk-core")},function(e,t,r){"use strict";var n=r(13);r.d(t,"d",(function(){return n.b}));var o=r(18);r.d(t,"a",(function(){return o.a}));var i=r(1);r.d(t,"c",(function(){return i.k})),r.d(t,"b",(function(){return i.d}));r(6);
168
+ /*!
169
+ * Copyright 2021 Cognite AS
170
+ */},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0);
171
+ /*!
172
+ * Copyright 2021 Cognite AS
173
+ */
174
+ class o{constructor(e){this._clippingPlanes=[new n.Plane,new n.Plane,new n.Plane,new n.Plane,new n.Plane,new n.Plane],this._box=e||new n.Box3,this.updatePlanes()}set minX(e){this._box.min.x=e,this.updatePlanes()}get minX(){return this._box.min.x}set minY(e){this._box.min.y=e,this.updatePlanes()}get minY(){return this._box.min.y}set minZ(e){this._box.min.z=e,this.updatePlanes()}get minZ(){return this._box.min.z}set maxX(e){this._box.max.x=e,this.updatePlanes()}get maxX(){return this._box.max.x}set maxY(e){this._box.max.y=e,this.updatePlanes()}get maxY(){return this._box.max.y}set maxZ(e){this._box.max.z=e,this.updatePlanes()}get maxZ(){return this._box.max.z}updatePlanes(){this._clippingPlanes[0].setFromNormalAndCoplanarPoint(new n.Vector3(1,0,0),new n.Vector3(this.minX,0,0)),this._clippingPlanes[1].setFromNormalAndCoplanarPoint(new n.Vector3(-1,0,0),new n.Vector3(this.maxX,0,0)),this._clippingPlanes[2].setFromNormalAndCoplanarPoint(new n.Vector3(0,1,0),new n.Vector3(0,this.minY,0)),this._clippingPlanes[3].setFromNormalAndCoplanarPoint(new n.Vector3(0,-1,0),new n.Vector3(0,this.maxY,0)),this._clippingPlanes[4].setFromNormalAndCoplanarPoint(new n.Vector3(0,0,1),new n.Vector3(0,0,this.minZ)),this._clippingPlanes[5].setFromNormalAndCoplanarPoint(new n.Vector3(0,0,-1),new n.Vector3(0,0,this.maxZ))}get clippingPlanes(){return this._clippingPlanes}}},function(e,t){e.exports=require("lodash/debounce")},function(e,t){e.exports=require("lodash/range")},,function(e,t){e.exports=require("comlink")},function(e,t){e.exports=require("loglevel")},function(e,t){e.exports=require("skmeans")},,,,,,,,function(e,t){e.exports=require("lodash/merge")},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";r.r(t),r.d(t,"HtmlOverlayTool",(function(){return u})),r.d(t,"ExplodedViewTool",(function(){return p})),r.d(t,"DebugCameraTool",(function(){return f})),r.d(t,"AxisViewTool",(function(){return S})),r.d(t,"Corner",(function(){return g})),r.d(t,"GeomapTool",(function(){return z})),r.d(t,"MapProviders",(function(){return I})),r.d(t,"MapboxMode",(function(){return E})),r.d(t,"MapboxStyle",(function(){return k})),r.d(t,"MapboxImageFormat",(function(){return D})),r.d(t,"BingMapType",(function(){return N})),r.d(t,"BingMapImageFormat",(function(){return T})),r.d(t,"HereMapType",(function(){return A})),r.d(t,"HereMapScheme",(function(){return F})),r.d(t,"HereMapImageFormat",(function(){return R})),r.d(t,"TimelineTool",(function(){return j})),r.d(t,"Keyframe",(function(){return $})),r.d(t,"Cognite3DViewerToolBase",(function(){return i})),r.d(t,"DebugLoadedSectorsTool",(function(){return G}));var n=r(0),o=r(17);
175
+ /*!
176
+ * Copyright 2021 Cognite AS
177
+ */
178
+ /*!
179
+ * Copyright 2021 Cognite AS
180
+ */
181
+ class i{constructor(){this._disposedEvent=new o.b,this._disposed=!1}on(e,t){switch(e){case"disposed":this._disposedEvent.subscribe(t);break;default:Object(o.c)(e)}}off(e,t){switch(e){case"disposed":this._disposedEvent.unsubscribe(t);break;default:Object(o.c)(e)}}dispose(){if(this._disposed)throw new Error("Already disposed");this._disposed=!0,this._disposedEvent.fire(),this._disposedEvent.unsubscribeAll()}ensureNotDisposed(){if(this._disposed)throw new Error("The tool has been disposed")}}var s=r(20),a=r.n(s);
182
+ /*!
183
+ * Copyright 2021 Cognite AS
184
+ */
185
+ class c{constructor(e,t){this._removedElements=new Set,this._dimensions=t,this._cells=a()(0,t[0]*t[1]).map(()=>new Array),this._bounds=e}insert(e,t){if(!this._bounds.intersectsBox(e))throw new Error("Element to be added must be partially inside grid");if(this._removedElements.has(t))throw new Error("Re-adding previously taken elements is currently not supported");for(const r of this.cellsIntersecting(e))r.push({bounds:e,element:t})}*overlappingElements(e){if(!this._bounds.intersectsBox(e))return;const t=new Set;for(const r of this.cellsIntersecting(e))for(const n of r)t.has(n.element)||this._removedElements.has(n.element)||!e.intersectsBox(n.bounds)||(t.add(n.element),yield n.element)}*removeOverlappingElements(e){if(this._bounds.intersectsBox(e))for(const t of this.cellsIntersecting(e))for(let r=0;r<t.length;r++){const n=t[r];!this._removedElements.has(n.element)&&e.intersectsBox(n.bounds)&&(this._removedElements.add(n.element),yield n.element)}}*cellsIntersecting(e){const{min:t,max:r}=this._bounds,o=this._dimensions[0],i=this._dimensions[1],s=(e.min.x-t.x)/(r.x-t.x),a=(e.max.x-t.x)/(r.x-t.x),c=(e.min.y-t.y)/(r.y-t.y),l=(e.max.y-t.y)/(r.y-t.y),d=n.MathUtils.clamp,h=d(Math.floor(o*s),0,o-1),u=d(Math.floor(o*a),0,o-1),m=d(Math.floor(i*c),0,i-1),p=d(Math.floor(i*l),0,i-1);for(let e=m;e<=p;++e)for(let t=h;t<=u;++t)yield this._cells[e*o+t]}}var l=r(8),d=r(19),h=r.n(d);
186
+ /*!
187
+ * Copyright 2021 Cognite AS
188
+ */
189
+ class u extends i{constructor(e,t){super(),this._htmlOverlays=new Map,this._compositeOverlays=[],this._preallocatedVariables={camPos:new n.Vector3,camNormal:new n.Vector3,point:new n.Vector3,nearPlane:new n.Plane,farPlane:new n.Plane,position2D:new n.Vector2},this._onSceneRenderedHandler=this.onSceneRendered.bind(this),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._options=null!=t?t:{},this._viewer=e,this._viewer.on("sceneRendered",this._onSceneRenderedHandler),this._viewer.on("disposed",this._onViewerDisposedHandler),this.scheduleUpdate=h()(()=>this.forceUpdate(),20),l.a.trackCreateTool("HtmlOverlayTool")}get viewerDomElement(){return this._viewer.domElement}get viewerCamera(){return this._viewer.getCamera()}get viewerRenderer(){return this._viewer.renderer}get elements(){return Array.from(this._htmlOverlays.entries()).map(([e,t])=>({element:e,position3D:t.position3D}))}dispose(){this._viewer.off("sceneRendered",this._onSceneRenderedHandler),this._viewer.off("disposed",this._onViewerDisposedHandler),this.clear(),super.dispose()}add(e,t,r={}){if(this.ensureNotDisposed(),this.viewerDomElement.contains(e))throw new Error("Element is already attached to viewer");e.style.visibility="hidden",this.viewerDomElement.appendChild(e);const o=getComputedStyle(e);if("absolute"!==o.position)throw this.viewerDomElement.removeChild(e),new Error(`htmlElement style must have a position of absolute. but was '${o.position}'`);const i={position3D:t,options:r,state:{position2D:new n.Vector2,width:-1,height:-1,visible:!0}};this._htmlOverlays.set(e,i),this.scheduleUpdate()}remove(e){if(this.ensureNotDisposed(),!this.viewerDomElement.contains(e)||!this._htmlOverlays.has(e))throw new Error("Element is not attached to viewer");this.viewerDomElement.removeChild(e),this._htmlOverlays.delete(e)}clear(){const e=Array.from(this._htmlOverlays.keys());for(const t of e)this.remove(t)}forceUpdate(){if(this.ensureNotDisposed(),this.cleanupClusterElements(),0===this._htmlOverlays.size)return;this.updateNewElementSizes();const e=this.viewerCamera,t=this.viewerRenderer,{camPos:r,camNormal:n,point:i,nearPlane:s,farPlane:a,position2D:c}=this._preallocatedVariables;e.getWorldPosition(r),e.getWorldDirection(n),i.copy(r).addScaledVector(n,e.near),s.setFromNormalAndCoplanarPoint(n,i),i.copy(r).addScaledVector(n,e.far),a.setFromNormalAndCoplanarPoint(n,i),this._htmlOverlays.forEach((n,i)=>{const{position3D:l,options:{positionUpdatedCallback:d,userData:h},state:u}=n,m=s.distanceToPoint(l)>=0&&a.distanceToPoint(l)<=0,{x:p,y:f}=Object(o.d)(t,e,l);if(m?(u.position2D.set(p,f),u.visible=!0):u.visible=!1,d){c.set(p,f);const e=r.distanceTo(l);d(i,c,l,e,h)}}),this.clusterElements(),this.commitDOMChanges()}updateNewElementSizes(){this._htmlOverlays.forEach((e,t)=>{if(-1===e.state.width){const r=t.getBoundingClientRect();e.state.width=r.width,e.state.height=r.height}})}commitDOMChanges(){const e=this.viewerRenderer.domElement,t=e.offsetLeft,r=e.offsetTop;this._htmlOverlays.forEach((e,n)=>{const{state:o}=e;n.style.left=o.position2D.x+t+"px",n.style.top=o.position2D.y+r+"px",o.visible&&"visible"!==n.style.visibility?function(e){e.style.visibility="visible",e.style.opacity="1",e.style.transition="opacity 0.2s linear"}(n):o.visible||"hidden"===n.style.visibility||function(e){e.style.visibility="hidden",e.style.opacity="0",e.style.transition="visibility 0s 0.2s, opacity 0.2s linear"}(n)}),this._compositeOverlays.forEach(e=>{this.viewerDomElement.appendChild(e)})}clusterElements(){const e=this._options.clusteringOptions;if(void 0!==e)switch(e.mode){case"overlapInScreenSpace":this.clusterByOverlapInScreenSpace(e.createClusterElementCallback);break;default:Object(o.c)(e.mode,"Unsupported clustering mode: '"+e.mode)}}cleanupClusterElements(){this._compositeOverlays.forEach(e=>{this.viewerDomElement.removeChild(e)}),this._compositeOverlays.splice(0)}clusterByOverlapInScreenSpace(e){const t=this.viewerRenderer.domElement,r=(o=t.getBoundingClientRect(),(i=null!=i?i:new n.Box2).min.set(o.left,o.top),i.max.set(o.right,o.bottom),i);var o,i;const s=r.getSize(new n.Vector2);r.set(new n.Vector2(0,0),s);const a=new c(r,[10,10]);for(const[e,t]of this._htmlOverlays.entries()){const{state:n}=t,o=m(t);n.visible&&o.intersectsBox(r)&&a.insert(o,{htmlElement:e,...t})}const l=new n.Box2,d=new n.Vector2;for(const t of this._htmlOverlays.values()){const{state:n}=t;if(m(t,l),!n.visible||!l.intersectsBox(r))continue;const o=Array.from(a.removeOverlappingElements(l));if(o.length>1){const t=o.reduce((e,t)=>e.add(t.state.position2D),d.set(0,0)).divideScalar(o.length),r=e(o.map(e=>({htmlElement:e.htmlElement,userData:e.options.userData})));o.forEach(e=>e.state.visible=!1),this.addComposite(r,t)}}}addComposite(e,t){const r=this.viewerRenderer.domElement;e.style.visibility="visible",e.style.left=t.x+r.offsetLeft+"px",e.style.top=t.y+r.offsetTop+"px",this._compositeOverlays.push(e)}onSceneRendered(){this.forceUpdate()}onViewerDisposed(){this.dispose()}}function m(e,t){const{state:r}=e;return(t=null!=t?t:new n.Box2).min.set(r.position2D.x,r.position2D.y),t.max.set(r.position2D.x+r.width,r.position2D.y+r.height),t}
190
+ /*!
191
+ * Copyright 2021 Cognite AS
192
+ */class p extends i{constructor(e,t){super(),this._cadModel=t,this._rootTreeIndex=e,this.preloadBoundingBoxData(t,e),l.a.trackCreateTool("ExplodedViewTool")}get readyPromise(){return this._treeBoundingBoxdata.then()}async expand(e){const t=await this._treeBoundingBoxdata;await Promise.all(t.map(({treeIndex:t,direction:r,transform:n})=>0===e?(this._cadModel.resetNodeTransformByTreeIndex(t),Promise.resolve(0)):(n.setPosition(r.x*e,r.y*e,r.z*e),this._cadModel.setNodeTransformByTreeIndex(t,n))))}reset(){this._cadModel.resetNodeTransformByTreeIndex(this._rootTreeIndex,!0)}preloadBoundingBoxData(e,t){const r=e.getBoundingBoxByTreeIndex(t).then(e=>e.getCenter(new n.Vector3)),o=e.getSubtreeTreeIndices(t).then(e=>{if(e.count>1e3)throw new Error(`Subtree size of ${e.count} is too large (max size = 1000)`);return e}).then(t=>Promise.all(t.toArray().map(async t=>({subTreeIndex:t,subTreeIndexBoundingBoxCenter:(await e.getBoundingBoxByTreeIndex(t)).getCenter(new n.Vector3)}))));this._treeBoundingBoxdata=Promise.all([r,o]).then(e=>{const[t,r]=e;return r.map(({subTreeIndex:e,subTreeIndexBoundingBoxCenter:r})=>({treeIndex:e,direction:(new n.Vector3).subVectors(r,t),transform:new n.Matrix4}))}).then(async t=>(await Promise.all(t.map(t=>e.setNodeTransformByTreeIndex(t.treeIndex,t.transform))),t))}}
193
+ /*!
194
+ * Copyright 2021 Cognite AS
195
+ */class f extends i{constructor(e){super(),this._onViewerDisposedHandler=this.onViewerDisposed.bind(this),this._viewer=e,this._viewer.on("disposed",this._onViewerDisposedHandler)}get viewerCamera(){return this._viewer.getCamera()}dispose(){this._viewer.off("disposed",this._onViewerDisposedHandler),super.dispose()}showCameraHelper(){this.hideCameraHelper(),this._cameraHelper=new n.CameraHelper(this.viewerCamera.clone()),this._viewer.addObject3D(this._cameraHelper)}hideCameraHelper(){void 0!==this._cameraHelper&&(this._viewer.removeObject3D(this._cameraHelper),this._cameraHelper=void 0)}onViewerDisposed(){this.dispose()}}var g,v=r(14),w=r.n(v),x=r(32),_=r.n(x),y=r(11),b=r.n(y);!function(e){e[e.TopRight=0]="TopRight",e[e.TopLeft=1]="TopLeft",e[e.BottomLeft=2]="BottomLeft",e[e.BottomRight=3]="BottomRight"}(g||(g={}));const C={ringLabel:"N",labelDelta:Math.PI,fontSize:void 0,fontColor:new n.Color(16711680),tickColor:new n.Color(9737364)},M={label:"",fontSize:void 0,fontColor:new n.Color(3355443),outlineSize:void 0,outlineColor:new n.Color(3355443),faceColor:new n.Color(9737364)},B={size:128,position:{corner:g.BottomRight,padding:new n.Vector2},animationSpeed:200,faces:{xPositiveFace:{...M,label:"Right"},xNegativeFace:{...M,label:"Left"},yPositiveFace:{...M,label:"Up"},yNegativeFace:{...M,label:"Down"},zPositiveFace:{...M,label:"Front"},zNegativeFace:{...M,label:"Back"}},compass:C};
196
+ /*!
197
+ * Copyright 2021 Cognite AS
198
+ */
199
+ class S extends i{constructor(e,t){super(),this._dynamicUpdatePosition=()=>{},this._updateClickDiv=()=>{},this._screenPosition=new n.Vector2,this._boxFaceGeometry=new n.PlaneGeometry(.85,.85,1,1),this._raycastCamera=new n.OrthographicCamera(-1,1,1,-1,-1,1),this._raycaster=new n.Raycaster,this._viewer=e,this._layoutConfig=_()(w()(B),t),this._axisGroup=new n.Group,this._interactiveObjects=this.createAxisCross(this._axisGroup),[this._updateClickDiv,this._disposeClickDiv]=this.createClickDiv(e),this.addAxisBoxToViewer(this._axisGroup,this._layoutConfig.position),l.a.trackCreateTool("AxisViewTool")}dispose(){super.dispose(),this._viewer.removeUiObject(this._axisGroup),this._disposeClickDiv()}createClickDiv(e){if(null===e.domElement.querySelector("canvas"))throw new Error("Could not find canvas");const t=document.createElement("div");t.style.position="absolute",t.style.height=this._layoutConfig.size+"px",t.style.width=this._layoutConfig.size+"px",t.style.zIndex="1";let r=0,n=0;return t.addEventListener("mousedown",t=>{const o=new MouseEvent("mousedown",{clientX:t.clientX,clientY:t.clientY,button:t.button});r=t.clientX,n=t.clientY,e.renderer.domElement.dispatchEvent(o)}),t.addEventListener("mousemove",t=>{const r=new MouseEvent("mousemove",{clientX:t.clientX,clientY:t.clientY,button:t.button});e.renderer.domElement.dispatchEvent(r)}),t.addEventListener("contextmenu",e=>e.preventDefault()),t.addEventListener("mouseup",t=>{const o=new MouseEvent("mouseup",{clientX:t.clientX,clientY:t.clientY,button:t.button}),i=e.domElement.getBoundingClientRect(),s=t.clientX-i.left,a=t.clientY-i.top;Math.abs(r-t.clientX)+Math.abs(n-t.clientY)<=10&&!this.handleClick(s,a,i)&&e.renderer.domElement.dispatchEvent(o)}),e.domElement.appendChild(t),[()=>{t.style.left=this._screenPosition.x+"px",t.style.bottom=this._screenPosition.y+"px"},()=>{e.domElement.removeChild(t)}]}addAxisBoxToViewer(e,t){const r=this._layoutConfig.size;if(function(e){return void 0!==e.xAbsolute&&void 0!==e.yAbsolute}(t))this._screenPosition.x=t.xAbsolute,this._screenPosition.y=t.yAbsolute;else{switch(t.corner){case g.BottomRight:this._screenPosition.y=t.padding.y,this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-r};break;case g.TopRight:this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-r,this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-r};break;case g.TopLeft:this._screenPosition.x=t.padding.x,this._dynamicUpdatePosition=()=>{this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-r};break;case g.BottomLeft:this._screenPosition.x=t.padding.x,this._screenPosition.y=t.padding.y;break;default:throw new Error("Unknown corner position for Axis Cross: Corner = "+t.corner)}this._dynamicUpdatePosition()}this._viewer.addUiObject(e,this._screenPosition,new n.Vector2(r,r))}handleClick(e,t,r){const o=2*(e-this._screenPosition.x)/this._layoutConfig.size-1,i=2*(r.height-t-this._screenPosition.y)/this._layoutConfig.size-1;this._raycaster.setFromCamera({x:o,y:i},this._raycastCamera);const s=new n.Vector3(o,i,1),a=new n.Vector3(0,0,-1).normalize();this._raycaster.set(s,a);const c=this._raycaster.intersectObjects(this._interactiveObjects);if(!(c.length>0))return!1;const l=c[0].object.position.clone().normalize(),d=c[0].object.userData.upVector.clone();return this.moveCameraTo(this._viewer.getCamera(),this._viewer.cameraControls,l,d),!0}createAxisCross(e){const t=this.createBoxFaces();e.add(...t);const r=this.createCompass();return e.add(r),this.setupTransformOnRender(e),t}setupTransformOnRender(e){e.children[0].onBeforeRender=()=>{this._dynamicUpdatePosition(),e.quaternion.copy(this._viewer.getCamera().quaternion).invert(),e.updateMatrixWorld(),this._updateClickDiv()}}createBoxFaces(){const e=this._layoutConfig.faces;return[this.createBoxFace(new n.Vector3(1,0,0),e.xPositiveFace),this.createBoxFace(new n.Vector3(-1,0,0),e.xNegativeFace),this.createBoxFace(new n.Vector3(0,1,0),e.yPositiveFace,new n.Vector3(0,0,-1)),this.createBoxFace(new n.Vector3(0,-1,0),e.yNegativeFace,new n.Vector3(0,0,1)),this.createBoxFace(new n.Vector3(0,0,1),e.zPositiveFace),this.createBoxFace(new n.Vector3(0,0,-1),e.zNegativeFace)]}createCompass(){const e=new n.PlaneGeometry(2.1,2.1,1,1),t=new n.Mesh(e,new n.MeshBasicMaterial({map:this.createCompassTexture(),side:n.DoubleSide,transparent:!0})),r=Math.sin(this._layoutConfig.compass.labelDelta),o=Math.cos(this._layoutConfig.compass.labelDelta);return t.position.y=-.5,t.up.copy(new n.Vector3(r,0,o)),t.lookAt(0,0,0),t}createCompassTexture(){var e;const t=this._layoutConfig.compass,r=this._layoutConfig.size,o=document.createElement("canvas");o.width=r,o.height=r;const i=o.getContext("2d"),s=r/2,a=s-s/4,c=r/32,l=r/8;if(i.strokeStyle=t.tickColor.getStyle(),i.lineWidth=r/16,i.setLineDash([c,l]),i.beginPath(),i.arc(s,s,a,0,2*Math.PI),i.stroke(),t.ringLabel&&t.ringLabel.length>0){const n=null!==(e=t.fontSize)&&void 0!==e?e:r/5;i.font=`bold ${n}px Arial`,i.textAlign="center",i.fillStyle=t.fontColor.getStyle(),i.fillText(t.ringLabel,s,s*(1/4)+n/3)}return new n.CanvasTexture(o)}getFaceTexture(e,t){var r,o;const i=t/2,s=document.createElement("canvas");s.width=i,s.height=i;const a=s.getContext("2d");a.fillStyle=e.outlineColor.getStyle(),a.fillRect(0,0,i,i),a.fillStyle=e.faceColor.getStyle();const c=null!==(r=e.outlineSize)&&void 0!==r?r:i/32;if(a.fillRect(c,c,i-2*c,i-2*c),a.fill(),""!==e.label){const t=null!==(o=e.fontSize)&&void 0!==o?o:i/3;a.font=`bold ${t}px Arial`,a.textAlign="center",a.fillStyle=e.fontColor.getStyle(),a.fillText(e.label,i/2,i/2+t/3)}return new n.CanvasTexture(s)}createBoxFace(e,t,r=new n.Vector3(0,1,0)){const o=new n.Mesh(this._boxFaceGeometry,new n.MeshBasicMaterial({map:this.getFaceTexture(t,this._layoutConfig.size)}));return o.position.copy(e.multiplyScalar(.5*this._boxFaceGeometry.parameters.width)),o.lookAt(e.multiplyScalar(2)),o.userData.upVector=r,o}moveCameraTo(e,t,r,o){const i=e.position.clone(),s=t.getState().target,a=i.clone().sub(s),c=a.length(),l=a.clone().normalize(),d=Math.acos(l.dot(r)),h={t:0},u=new b.a.Tween(h),m=r.clone(),p=e.quaternion.clone(),f=(new n.Quaternion).setFromRotationMatrix((new n.Matrix4).makeBasis(o.clone().cross(m),o,m));if(p.angleTo(f)<1e-6)return;const g=new n.Vector3,v=new n.Quaternion;let w;u.to({t:1},this._layoutConfig.animationSpeed).onUpdate(()=>{g.copy(l).multiplyScalar(Math.sin((1-h.t)*d)/Math.sin(d)).add(r.clone().multiplyScalar(Math.sin(h.t*d)/Math.sin(d))),g.multiplyScalar(c),g.add(s),v.slerpQuaternions(p,f,h.t),e.position.copy(g),e.setRotationFromQuaternion(v)}).start(b.a.now()).onStart(()=>{w=t.enabled,t.enabled=!1}).onComplete(()=>{t.setState(e.position,s),t.enabled=w}).update(b.a.now())}}var I,E,k,P,D,N,T,A,F,R,O=r(15);
200
+ /*!
201
+ * Copyright 2021 Cognite AS
202
+ */!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(I||(I={})),function(e){e[e.Style=100]="Style",e[e.Map_Id=101]="Map_Id"}(E||(E={})),function(e){e.Streets="mapbox/streets-v10",e.Outdoor="mapbox/outdoors-v10",e.Light="mapbox/light-v9",e.Dark="mapbox/dark-v9",e.Satellite="mapbox/satellite-v9",e.Satellite_Streets="mapbox/satellite-streets-v10",e.Navigation_Day="mapbox/navigation-preview-day-v4",e.Navigation_Night="mapbox/navigation-preview-night-v4",e.Navigation_Guide_Day="mapbox/navigation-guidance-day-v4",e.Navigation_Guide_Night="mapbox/navigation-guidance-night-v4"}(k||(k={})),function(e){e.Streets="mapbox.mapbox-streets-v7",e.Satellite="mapbox.satellite",e.Terrain="mapbox.mapbox-terrain-v2",e.Traffic="mapbox.mapbox-traffic-v1",e.TerrainRGB="mapbox.terrain-rgb"}(P||(P={})),function(e){e.PNG="png",e.PNG32="png32",e.PNG64="png64",e.PNG128="png128",e.PNG256="png256",e.JPG70="jpg70",e.JPG80="jpg80",e.JPG90="jpg90",e.PNGRAW="pngraw"}(D||(D={})),function(e){e.Aerial="a",e.Road="r",e.Aerial_Labels="h",e.Oblique="o",e.Oblique_Labels="b"}(N||(N={})),function(e){e.GIF="gif",e.JPEG="jpeg",e.PNG="png"}(T||(T={})),function(e){e.Aerial="aerial",e.Base="base",e.Pano="pano",e.Traffic="traffic"}(A||(A={})),function(e){e.Day="normal.day",e.Night="normal.night",e.Terrain="terrain.day",e.Satellite="satellite.day"}(F||(F={})),function(e){e.PNG="png",e.PNG8="png8",e.JPG="jpg"}(R||(R={}));
203
+ /*!
204
+ * Copyright 2021 Cognite AS
205
+ */
206
+ class V{constructor(e,t){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const r=this.getMapProvider(t);this._map=new O.MapView(O.MapView.PLANAR,r,r),this._viewer.addObject3D(this._map);const n=O.UnitsUtils.datumsToSpherical(t.latlong.latitude,t.latlong.longitude),o=this._viewer.models[0].getModelBoundingBox();this._map.position.set(-n.x,o.min.y,n.y),this._map.updateMatrixWorld(!0),this.requestRedraw(1e4),this._viewer.on("cameraChange",this._onCameraChange)}requestRedraw(e){0==this._intervalId&&(this._intervalId=setInterval(()=>{this._viewer.requestRedraw()},100),setTimeout(()=>{clearInterval(this._intervalId),this._intervalId=0},e))}getMapProvider(e){let t;switch(e.provider){case I.BingMap:t=new O.BingMapsProvider(e.APIKey,e.type);break;case I.HereMap:t=new O.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case I.MapboxMap:t=new O.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case I.OpenStreetMap:t=new O.OpenStreetMapsProvider;break;default:throw new Error("Unsupported map provider")}return t}latLongToWorldCoordinates(e){return O.UnitsUtils.datumsToSpherical(e.latitude,e.longitude)}handleCameraChange(){this.requestRedraw(1e3)}dispose(){this._viewer.removeObject3D(this._map),this._viewer.off("cameraChange",this._onCameraChange)}}
207
+ /*!
208
+ * Copyright 2021 Cognite AS
209
+ */class z extends i{constructor(e,t){super(),this._viewer=e,this._maps=new V(this._viewer,t),l.a.trackCreateTool("AxisViewTool")}latLongToWorldCoordinates(e){return this._maps.latLongToWorldCoordinates(e)}dispose(){super.dispose(),this._maps.dispose()}}
210
+ /*!
211
+ * Copyright 2021 Cognite AS
212
+ */class ${constructor(e,t){this._nodeCollectionAndAppearance=[],this._model=e,this._date=t}getKeyframeDate(){return this._date}activate(){this._nodeCollectionAndAppearance.forEach((e,t)=>{this._model.assignStyledNodeCollection(e.nodes,e.nodeAppearance)})}deactivate(){this._nodeCollectionAndAppearance.forEach((e,t)=>{this._model.unassignStyledNodeCollection(e.nodes)})}assignStyledNodeCollection(e,t){l.a.trackCadModelStyled(e.classToken,t);if(-1!==this._nodeCollectionAndAppearance.findIndex(t=>t.nodes===e))throw new Error("Node collection as already been assigned, use updateStyledNodeCollection() to update the appearance");this._nodeCollectionAndAppearance.push({nodes:e,nodeAppearance:t})}unassignStyledNodeCollection(e){const t=this._nodeCollectionAndAppearance.findIndex(t=>t.nodes===e);if(-1===t)throw new Error("Node collection has not been assigned to model");this._nodeCollectionAndAppearance.splice(t,1)}}
213
+ /*!
214
+ * Copyright 2021 Cognite AS
215
+ */class j extends i{constructor(e){super(),this._playback=void 0,this._events={dateChanged:new o.b},this._model=e,this._keyframes=new Array}subscribe(e,t){switch(e){case"dateChanged":this._events.dateChanged.subscribe(t);break;default:Object(o.c)(e,`Unsupported event: '${e}'`)}}unsubscribe(e,t){switch(e){case"dateChanged":this._events.dateChanged.unsubscribe(t);break;default:Object(o.c)(e,`Unsupported event: '${e}'`)}}createKeyframe(e){const t=new $(this._model,e);return this._keyframes.push(t),this.sortKeyframesByDates(),t}getKeyframeByDate(e){return this._keyframes.find(t=>t.getKeyframeDate()===e)}removeKeyframe(e){const t=this._keyframes.findIndex(t=>t===e);t>-1&&this._keyframes.splice(t,1)}removeKeyframeByDate(e){const t=this._keyframes.findIndex(t=>t.getKeyframeDate()===e);t>-1&&this._keyframes.splice(t,1)}play(e,t,r){this.stop();const n={dateInMs:e.getTime()},o={dateInMs:t.getTime()},i=new b.a.Tween(n).to(o,r);let s=-1;i.onUpdate(()=>{const r=new Date(n.dateInMs),o=s;for(;s<this._keyframes.length-1&&this._keyframes[s+1].getKeyframeDate().getTime()<=r.getTime();)s++;s!==o&&(-1!==o&&this._keyframes[o].deactivate(),this._keyframes[s].activate()),this._events.dateChanged.fire({date:r,activeKeyframe:this._keyframes[s],startDate:e,endDate:t})}),this._playback=i,i.start()}stop(){void 0!==this._playback&&(this._playback.stop(),this._playback=void 0)}pause(){void 0!==this._playback&&this._playback.isPlaying()&&this._playback.pause()}resume(){void 0!==this._playback&&this._playback.isPaused()&&this._playback.resume()}getAllKeyframes(){return this._keyframes.slice()}dispose(){super.dispose(),this._events.dateChanged.unsubscribeAll()}sortKeyframesByDates(){this._keyframes.length>1&&this._keyframes.sort((e,t)=>e.getKeyframeDate().getTime()-t.getKeyframeDate().getTime())}}var L=r(2);
216
+ /*!
217
+ * Copyright 2021 Cognite AS
218
+ */
45
219
  /*!
46
220
  * Copyright 2021 Cognite AS
47
- */class j extends a{constructor(e,t={}){super(),this._boundingBoxes=new o.Group,this._viewer=e,this._viewer.addObject3D(this._boundingBoxes),this._options={},this.setOptions(t)}setOptions(e){this._options={showDetailedSectors:!0,showDiscardedSectors:!1,showSimpleSectors:!0,colorBy:"lod",leafsOnly:!1,sectorPathFilterRegex:".*",...e}}dispose(){this._viewer.removeObject3D(this._boundingBoxes)}showSectorBoundingBoxes(e){this._model=e,this.updateBoundingBoxes()}updateBoundingBoxes(){if(this._boundingBoxes.clear(),void 0===this._model)return;this._model.getModelTransformation(this._boundingBoxes.matrix);const e=[];e[N.a.Discarded]=this._options.showDiscardedSectors,e[N.a.Simple]=this._options.showSimpleSectors,e[N.a.Detailed]=this._options.showDetailedSectors;const t=[];this._model.cadNode.traverse(i=>{if(A(i)){const o=i;this.isSectorAcceptedByCurrentFilter(o)&&e[o.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some(e=>A(e))}
221
+ */class G extends i{constructor(e,t={}){super(),this._boundingBoxes=new n.Group,this._viewer=e,this._viewer.addObject3D(this._boundingBoxes),this._options={},this.setOptions(t)}setOptions(e){this._options={showDetailedSectors:!0,showDiscardedSectors:!1,showSimpleSectors:!0,colorBy:"lod",leafsOnly:!1,sectorPathFilterRegex:".*",...e}}dispose(){this._viewer.removeObject3D(this._boundingBoxes)}showSectorBoundingBoxes(e){this._model=e,this.updateBoundingBoxes()}updateBoundingBoxes(){if(this._boundingBoxes.clear(),void 0===this._model)return;this._model.getModelTransformation(this._boundingBoxes.matrix);const e=[];e[L.d.Discarded]=this._options.showDiscardedSectors,e[L.d.Simple]=this._options.showSimpleSectors,e[L.d.Detailed]=this._options.showDetailedSectors;const t=[];this._model.cadNode.traverse(r=>{if(q(r)){const n=r;this.isSectorAcceptedByCurrentFilter(n)&&e[n.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some(e=>q(e))}
48
222
  /*!
49
223
  * Copyright 2021 Cognite AS
50
224
  */
51
225
  /*!
52
226
  * Copyright 2021 Cognite AS
53
- */(o))&&t.push(o)}}),t.forEach(e=>{const i=this.createBboxNodeFor(e,t);this._boundingBoxes.add(i)}),this._boundingBoxes.updateMatrixWorld(!0),this._viewer.requestRedraw()}isSectorAcceptedByCurrentFilter(e){return new RegExp(this._options.sectorPathFilterRegex).test(e.sectorPath)}createBboxNodeFor(e,t){const i=this._options;const n=function(){switch(i.colorBy){case"depth":{const t=Math.min(1,e.depth/8);return new o.Color(I.green).lerpHSL(I.red,t)}case"lod":switch(e.levelOfDetail){case N.a.Simple:return I.yellow;case N.a.Detailed:return I.green;case N.a.Discarded:return I.red;default:Object(r.a)(e.levelOfDetail)}case"loadedTimestamp":{const i=[...t].sort((e,t)=>e.updatedTimestamp-t.updatedTimestamp),n=i.findIndex(t=>t===e),r=(i.length-1-n)/Math.max(i.length-1,1);return new o.Color(I.green).lerpHSL(I.red,r)}case"random":return(new o.Color).setHSL(Math.random(),1,.5);default:Object(r.a)(i.colorBy)}}();return new o.Box3Helper(e.bounds,n)}}const I={green:new o.Color("#00ff00"),yellow:new o.Color("yellow"),red:new o.Color("red")};function A(e){return e.name.match(/^Sector \d+$/)}},8:function(e,t){e.exports=require("@tweenjs/tween.js")}})}));
227
+ */(n))&&t.push(n)}}),t.forEach(e=>{const r=this.createBboxNodeFor(e,t);this._boundingBoxes.add(r)}),this._boundingBoxes.updateMatrixWorld(!0),this._viewer.requestRedraw()}isSectorAcceptedByCurrentFilter(e){return new RegExp(this._options.sectorPathFilterRegex).test(e.sectorPath)}createBboxNodeFor(e,t){const r=this._options;const i=function(){switch(r.colorBy){case"depth":{const t=Math.min(1,e.depth/8);return new n.Color(U.green).lerpHSL(U.red,t)}case"lod":switch(e.levelOfDetail){case L.d.Simple:return U.yellow;case L.d.Detailed:return U.green;case L.d.Discarded:return U.red;default:Object(o.c)(e.levelOfDetail)}case"loadedTimestamp":{const r=[...t].sort((e,t)=>e.updatedTimestamp-t.updatedTimestamp),o=r.findIndex(t=>t===e),i=(r.length-1-o)/Math.max(r.length-1,1);return new n.Color(U.green).lerpHSL(U.red,i)}case"random":return(new n.Color).setHSL(Math.random(),1,.5);default:Object(o.c)(r.colorBy)}}();return new n.Box3Helper(e.bounds,i)}}const U={green:new n.Color("#00ff00"),yellow:new n.Color("yellow"),red:new n.Color("red")};function q(e){return e.name.match(/^Sector \d+$/)}}])}));
54
228
  //# sourceMappingURL=tools.map