@cognite/reveal 2.2.2 → 3.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/cad.d.ts +4 -4
- package/core/index.d.ts +7 -7
- package/core/src/datamodels/base/SupportedModelTypes.d.ts +4 -4
- package/core/src/datamodels/base/index.d.ts +6 -6
- package/core/src/datamodels/base/types.d.ts +14 -14
- package/core/src/datamodels/cad/CadManager.d.ts +43 -45
- package/core/src/datamodels/cad/CadModelFactory.d.ts +13 -7
- package/core/src/datamodels/cad/CadModelSectorLoadStatistics.d.ts +38 -38
- package/core/src/datamodels/cad/createCadManager.d.ts +9 -9
- package/core/src/datamodels/cad/picking.d.ts +28 -28
- package/core/src/datamodels/cad/rendering/RenderAlreadyLoadedGeometryProvider.d.ts +10 -10
- package/core/src/datamodels/cad/sector/CadModelClipper.d.ts +10 -10
- package/core/src/datamodels/cad/styling/AssetNodeCollection.d.ts +45 -38
- package/core/src/datamodels/cad/styling/InvertedNodeCollection.d.ts +25 -24
- package/core/src/datamodels/cad/styling/NodeCollectionDeserializer.d.ts +26 -26
- package/core/src/datamodels/cad/styling/PopulateIndexSetFromPagedResponseHelper.d.ts +30 -24
- package/core/src/datamodels/cad/styling/PropertyFilterNodeCollection.d.ts +55 -54
- package/core/src/datamodels/cad/styling/SinglePropertyFilterNodeCollection.d.ts +51 -50
- package/core/src/datamodels/cad/styling/index.d.ts +8 -8
- package/core/src/datamodels/pointcloud/PointCloudFactory.d.ts +9 -9
- package/core/src/datamodels/pointcloud/PointCloudManager.d.ts +26 -26
- package/core/src/datamodels/pointcloud/PointCloudMetadata.d.ts +11 -11
- package/core/src/datamodels/pointcloud/PointCloudMetadataRepository.d.ts +14 -13
- package/core/src/datamodels/pointcloud/PointCloudNode.d.ts +62 -62
- package/core/src/datamodels/pointcloud/PotreeGroupWrapper.d.ts +39 -39
- package/core/src/datamodels/pointcloud/PotreeNodeWrapper.d.ts +38 -38
- package/core/src/datamodels/pointcloud/createPointCloudManager.d.ts +6 -6
- package/core/src/datamodels/pointcloud/index.d.ts +5 -5
- package/core/src/datamodels/pointcloud/picking.d.ts +29 -29
- package/core/src/datamodels/pointcloud/types.d.ts +114 -114
- package/core/src/index.d.ts +19 -19
- package/core/src/internals.d.ts +15 -15
- package/core/src/migration.d.ts +8 -8
- package/core/src/public/RevealManager.d.ts +64 -64
- package/core/src/public/createRevealManager.d.ts +23 -23
- package/core/src/public/migration/Cognite3DModel.d.ts +342 -339
- package/core/src/public/migration/Cognite3DViewer.d.ts +565 -611
- package/core/src/public/migration/CogniteModelBase.d.ts +17 -17
- package/core/src/public/migration/CognitePointCloudModel.d.ts +121 -121
- package/core/src/public/migration/NodeIdAndTreeIndexMaps.d.ts +4 -4
- package/core/src/public/migration/NotSupportedInMigrationWrapperError.d.ts +11 -11
- package/core/src/public/migration/RenderController.d.ts +4 -4
- package/core/src/public/migration/types.d.ts +253 -290
- package/core/src/public/types.d.ts +47 -46
- package/core/src/storage/RevealManagerHelper.d.ts +58 -58
- package/core/src/utilities/BoundingBoxClipper.d.ts +23 -23
- package/core/src/utilities/Spinner.d.ts +27 -27
- package/core/src/utilities/ViewStateHelper.d.ts +33 -33
- package/core/src/utilities/callActionWithIndicesAsync.d.ts +4 -4
- package/core/src/utilities/index.d.ts +8 -8
- package/core/src/utilities/reflection.d.ts +7 -7
- package/core/src/utilities/worldToViewport.d.ts +30 -30
- package/core/utilities.d.ts +4 -4
- package/extensions/datasource.d.ts +9 -9
- package/extensions/datasource.js +9 -12
- package/extensions/datasource.map +1 -1
- package/index.d.ts +9 -8
- package/index.js +199 -121
- package/index.map +1 -1
- package/package.json +4 -6
- package/packages/cad-geometry-loaders/index.d.ts +13 -14
- package/packages/cad-geometry-loaders/src/CadLoadingHints.d.ts +11 -11
- package/packages/cad-geometry-loaders/src/{CadModelSectorBudget.d.ts → CadModelBudget.d.ts} +19 -26
- package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +42 -44
- package/packages/cad-geometry-loaders/src/sector/ModelStateHandler.d.ts +12 -12
- package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +29 -28
- package/packages/cad-geometry-loaders/src/sector/culling/ByScreenSizeSectorCuller.d.ts +23 -0
- package/packages/cad-geometry-loaders/src/sector/culling/ByVisibilityGpuSectorCuller.d.ts +51 -53
- package/packages/cad-geometry-loaders/src/sector/culling/OccludingGeometryProvider.d.ts +6 -6
- package/packages/cad-geometry-loaders/src/sector/culling/OrderSectorsByVisibilityCoverage.d.ts +107 -107
- package/packages/cad-geometry-loaders/src/sector/culling/SectorCuller.d.ts +33 -33
- package/packages/cad-geometry-loaders/src/sector/culling/WeightFunctionsHelper.d.ts +50 -0
- package/packages/cad-geometry-loaders/src/sector/culling/computeNdcAreaOfBox.d.ts +12 -0
- package/packages/cad-geometry-loaders/src/sector/culling/computeSectorCost.d.ts +7 -0
- package/packages/cad-geometry-loaders/src/sector/culling/createV8SectorCuller.d.ts +7 -0
- package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenSectorMapBase.d.ts +11 -0
- package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV8SectorMap.d.ts +17 -0
- package/packages/cad-geometry-loaders/src/sector/culling/{TakenSectorTree.d.ts → takensectors/TakenV8SectorTree.d.ts} +24 -24
- package/packages/cad-geometry-loaders/src/sector/culling/takensectors/TakenV9SectorMap.d.ts +20 -0
- package/packages/cad-geometry-loaders/src/sector/culling/takensectors/index.d.ts +5 -0
- package/packages/cad-geometry-loaders/src/sector/culling/transformBoxToNDC.d.ts +5 -0
- package/packages/cad-geometry-loaders/src/sector/culling/types.d.ts +83 -71
- package/packages/cad-geometry-loaders/src/sector/rxSectorUtilities.d.ts +12 -12
- package/packages/cad-geometry-loaders/src/utilities/PromiseUtils.d.ts +18 -18
- package/packages/cad-geometry-loaders/src/utilities/rxOperations.d.ts +6 -6
- package/packages/cad-geometry-loaders/src/utilities/types.d.ts +25 -25
- package/packages/cad-parsers/index.d.ts +21 -21
- package/packages/cad-parsers/src/cad/CadSectorParser.d.ts +15 -15
- package/packages/cad-parsers/src/cad/LevelOfDetail.d.ts +8 -8
- package/packages/cad-parsers/src/cad/filterInstanceMesh.d.ts +6 -6
- package/packages/cad-parsers/src/cad/filterPrimitivesCommon.d.ts +5 -0
- package/packages/cad-parsers/src/cad/{filterPrimitives.d.ts → filterPrimitivesV8.d.ts} +9 -9
- package/packages/cad-parsers/src/cad/filterPrimitivesV9.d.ts +6 -0
- package/packages/cad-parsers/src/cad/primitiveGeometries.d.ts +31 -31
- package/packages/cad-parsers/src/cad/triangleMeshes.d.ts +6 -6
- package/packages/cad-parsers/src/cad/types.d.ts +56 -56
- package/packages/cad-parsers/src/metadata/CadMetadataParser.d.ts +7 -7
- package/packages/cad-parsers/src/metadata/CadModelMetadata.d.ts +54 -44
- package/packages/cad-parsers/src/metadata/CadModelMetadataRepository.d.ts +16 -16
- package/packages/cad-parsers/src/metadata/MetadataRepository.d.ts +7 -7
- package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserGltf.d.ts +6 -0
- package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +6 -51
- package/packages/cad-parsers/src/metadata/parsers/types.d.ts +60 -0
- package/packages/cad-parsers/src/metadata/types.d.ts +52 -41
- package/packages/cad-parsers/src/sector/RootSectorNode.d.ts +12 -12
- package/packages/cad-parsers/src/sector/SectorNode.d.ts +21 -21
- package/packages/cad-parsers/src/utilities/SectorScene.d.ts +21 -21
- package/packages/cad-parsers/src/utilities/SectorSceneFactory.d.ts +9 -9
- package/packages/cad-parsers/src/utilities/computeBoundingBoxFromAttributes.d.ts +10 -9
- package/packages/cad-parsers/src/utilities/float32BufferToMatrix.d.ts +12 -12
- package/packages/cad-parsers/src/utilities/types.d.ts +74 -48
- package/packages/cad-styling/index.d.ts +13 -9
- package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +33 -31
- package/packages/cad-styling/src/IntersectionNodeCollection.d.ts +19 -15
- package/packages/cad-styling/src/NodeAppearance.d.ts +85 -62
- package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +36 -33
- package/packages/cad-styling/src/NodeCollectionBase.d.ts +54 -47
- package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +39 -23
- package/packages/cad-styling/src/UnionNodeCollection.d.ts +18 -15
- package/packages/cad-styling/src/prioritized/AreaCollection.d.ts +39 -0
- package/packages/cad-styling/src/prioritized/BoxClusterer.d.ts +29 -0
- package/packages/cad-styling/src/prioritized/ClusteredAreaCollection.d.ts +17 -0
- package/packages/cad-styling/src/prioritized/EmptyAreaCollection.d.ts +18 -0
- package/packages/cad-styling/src/prioritized/types.d.ts +7 -0
- package/packages/camera-manager/index.d.ts +6 -4
- package/packages/camera-manager/src/CameraManager.d.ts +84 -0
- package/packages/camera-manager/src/ComboControls.d.ts +101 -100
- package/packages/camera-manager/src/Keyboard.d.ts +17 -17
- package/packages/camera-manager/src/types.d.ts +64 -0
- package/packages/data-source/index.d.ts +6 -6
- package/packages/data-source/src/CdfDataSource.d.ts +19 -19
- package/packages/data-source/src/DataSource.d.ts +26 -26
- package/packages/data-source/src/LocalDataSource.d.ts +15 -15
- package/packages/logger/index.d.ts +5 -5
- package/packages/logger/src/Log.d.ts +5 -5
- package/packages/metrics/index.d.ts +5 -5
- package/packages/metrics/src/MetricsLogger.d.ts +21 -21
- package/packages/metrics/src/types.d.ts +7 -7
- package/packages/modeldata-api/index.d.ts +13 -13
- package/packages/modeldata-api/src/CdfModelDataProvider.d.ts +17 -15
- package/packages/modeldata-api/src/CdfModelIdentifier.d.ts +15 -17
- package/packages/modeldata-api/src/CdfModelMetadataProvider.d.ts +20 -19
- package/packages/modeldata-api/src/CdfModelOutputsProvider.d.ts +16 -15
- package/packages/modeldata-api/src/LocalModelDataProvider.d.ts +10 -10
- package/packages/modeldata-api/src/LocalModelIdentifier.d.ts +14 -14
- package/packages/modeldata-api/src/LocalModelMetadataProvider.d.ts +16 -14
- package/packages/modeldata-api/src/Model3DOutputList.d.ts +17 -17
- package/packages/modeldata-api/src/ModelIdentifier.d.ts +12 -12
- package/packages/modeldata-api/src/ModelMetadataProvider.d.ts +19 -17
- package/packages/modeldata-api/src/applyDefaultModelTransformation.d.ts +6 -6
- package/packages/modeldata-api/src/types.d.ts +48 -41
- package/packages/modeldata-api/src/utilities.d.ts +7 -7
- package/packages/nodes-api/index.d.ts +6 -6
- package/packages/nodes-api/src/NodesApiClient.d.ts +51 -52
- package/packages/nodes-api/src/NodesCdfClient.d.ts +24 -24
- package/packages/nodes-api/src/NodesLocalClient.d.ts +30 -30
- package/packages/nodes-api/src/types.d.ts +10 -10
- package/packages/rendering/index.d.ts +17 -17
- package/packages/rendering/src/CadMaterialManager.d.ts +37 -37
- package/packages/rendering/src/GeometryBatchingManager.d.ts +30 -0
- package/packages/rendering/src/InstancedMeshManager.d.ts +20 -20
- package/packages/rendering/src/cameraconfig.d.ts +12 -12
- package/packages/rendering/src/rendering/EffectRenderManager.d.ts +99 -99
- package/packages/rendering/src/rendering/NodeAppearanceTextureBuilder.d.ts +51 -51
- package/packages/rendering/src/rendering/RenderMode.d.ts +15 -15
- package/packages/rendering/src/rendering/createSimpleGeometryMesh.d.ts +6 -6
- package/packages/rendering/src/rendering/matCapTextureData.d.ts +5 -5
- package/packages/rendering/src/rendering/materials.d.ts +23 -23
- package/packages/rendering/src/rendering/primitives.d.ts +12 -12
- package/packages/rendering/src/rendering/shaders.d.ts +101 -101
- package/packages/rendering/src/rendering/types.d.ts +76 -76
- package/packages/rendering/src/sector/CadNode.d.ts +63 -54
- package/packages/rendering/src/transform/NodeTransformProvider.d.ts +13 -13
- package/packages/rendering/src/transform/NodeTransformTextureBuilder.d.ts +23 -23
- package/packages/rendering/src/transform/TransformOverrideBuffer.d.ts +21 -21
- package/packages/rendering/src/utilities/types.d.ts +26 -26
- package/packages/sector-loader/index.d.ts +6 -0
- package/packages/sector-loader/src/GltfSectorRepository.d.ts +14 -0
- package/packages/{cad-geometry-loaders/src/sector/Repository.d.ts → sector-loader/src/SectorRepository.d.ts} +9 -9
- package/packages/{cad-geometry-loaders/src/sector/CachedRepository.d.ts → sector-loader/src/V8SectorRepository.d.ts} +25 -25
- package/packages/{cad-geometry-loaders/src/sector → sector-loader/src/v8}/SimpleAndDetailedToSector3D.d.ts +20 -20
- package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/arrays.d.ts +5 -5
- package/packages/{cad-geometry-loaders/src/utilities → sector-loader/src/v8}/groupMeshesByNumber.d.ts +8 -8
- package/packages/sector-loader/src/v8/sectorUtilities.d.ts +16 -0
- package/packages/sector-parser/index.d.ts +5 -0
- package/packages/sector-parser/src/GltfSectorParser.d.ts +18 -0
- package/packages/sector-parser/src/reveal-glb-parser/GlbMetadataParser.d.ts +14 -0
- package/packages/sector-parser/src/reveal-glb-parser/primitiveGeometries.d.ts +12 -0
- package/packages/sector-parser/src/types.d.ts +98 -0
- package/packages/tools/index.d.ts +15 -15
- package/packages/tools/src/AxisView/AxisViewTool.d.ts +32 -32
- package/packages/tools/src/AxisView/types.d.ts +98 -98
- package/packages/tools/src/Cognite3DViewerToolBase.d.ts +25 -25
- package/packages/tools/src/DebugCameraTool.d.ts +20 -20
- package/packages/tools/src/DebugLoadedSectorsTool.d.ts +23 -23
- package/packages/tools/src/ExplodedViewTool.d.ts +12 -12
- package/packages/tools/src/Geomap/Geomap.d.ts +17 -17
- package/packages/tools/src/Geomap/GeomapTool.d.ts +24 -24
- package/packages/tools/src/Geomap/MapConfig.d.ts +195 -195
- package/packages/tools/src/HtmlOverlay/BucketGrid2D.d.ts +28 -28
- package/packages/tools/src/HtmlOverlay/HtmlOverlayTool.d.ts +160 -159
- package/packages/tools/src/Timeline/Keyframe.d.ts +39 -38
- package/packages/tools/src/Timeline/TimelineTool.d.ts +79 -79
- package/packages/tools/src/Timeline/types.d.ts +13 -13
- package/packages/tools/src/types.d.ts +4 -4
- package/packages/utilities/index.d.ts +28 -24
- package/packages/utilities/src/CameraConfiguration.d.ts +10 -10
- package/packages/utilities/src/IndexSet.d.ts +1 -1
- package/packages/utilities/src/NumericRange.d.ts +22 -22
- package/packages/utilities/src/RandomColors.d.ts +34 -34
- package/packages/utilities/src/WebGLRendererStateHelper.d.ts +15 -15
- package/packages/utilities/src/assertNever.d.ts +7 -7
- package/packages/utilities/src/cache/MemoryRequestCache.d.ts +22 -22
- package/packages/utilities/src/cache/MostFrequentlyUsedCache.d.ts +19 -19
- package/packages/utilities/src/cache/RequestCache.d.ts +13 -13
- package/packages/utilities/src/counterMap.d.ts +5 -0
- package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +35 -22
- package/packages/utilities/src/determinePowerOfTwoDimensions.d.ts +11 -11
- package/packages/utilities/src/disposeAttributeArrayOnUpload.d.ts +17 -17
- package/packages/utilities/src/events/EventTrigger.d.ts +13 -13
- package/packages/utilities/src/events/InputHandler.d.ts +25 -0
- package/packages/utilities/src/events/clickOrTouchEventOffset.d.ts +13 -13
- package/packages/utilities/src/events/index.d.ts +6 -5
- package/packages/utilities/src/indexset/IndexSet.d.ts +26 -26
- package/packages/utilities/src/indexset/IntermediateIndexNode.d.ts +26 -26
- package/packages/utilities/src/indexset/LeafIndexNode.d.ts +16 -16
- package/packages/utilities/src/isMobileOrTablet.d.ts +4 -4
- package/packages/utilities/src/networking/isTheSameDomain.d.ts +11 -11
- package/packages/utilities/src/objectTraversal.d.ts +8 -8
- package/packages/utilities/src/packFloat.d.ts +6 -6
- package/packages/utilities/src/revealEnv.d.ts +10 -10
- package/packages/utilities/src/three/AutoDisposeGroup.d.ts +17 -17
- package/packages/utilities/src/three/BoundingBoxLOD.d.ts +27 -27
- package/packages/utilities/src/three/isBox3OnPositiveSideOfPlane.d.ts +10 -0
- package/packages/utilities/src/three/toThreeBox3.d.ts +6 -0
- package/packages/utilities/src/three/visitBox3CornerPoints.d.ts +12 -0
- package/packages/utilities/src/transformCameraConfiguration.d.ts +6 -6
- package/packages/utilities/src/types.d.ts +11 -10
- package/packages/utilities/src/workers/WorkerPool.d.ts +14 -14
- package/tools.d.ts +7 -7
- package/tools.js +78 -65
- package/tools.map +1 -1
- package/packages/cad-geometry-loaders/src/sector/sectorUtilities.d.ts +0 -20
- package/packages/utilities/src/three/getBox3CornerPoints.d.ts +0 -5
package/tools.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
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.
|
|
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.3.0/",r(r.s=67)}([function(e,t){e.exports=require("three")},function(e,t,r){"use strict";
|
|
2
2
|
/*!
|
|
3
3
|
* Copyright 2021 Cognite AS
|
|
4
4
|
*/
|
|
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,"
|
|
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,"w",(function(){return n})),r.d(t,"v",(function(){return o})),r.d(t,"d",(function(){return c})),r.d(t,"f",(function(){return h})),r.d(t,"l",(function(){return u})),r.d(t,"i",(function(){return m})),r.d(t,"n",(function(){return f})),r.d(t,"e",(function(){return b})),r.d(t,"s",(function(){return y})),r.d(t,"c",(function(){return I})),r.d(t,"a",(function(){return D})),r.d(t,"b",(function(){return T})),r.d(t,"u",(function(){return N})),r.d(t,"q",(function(){return O})),r.d(t,"x",(function(){return R})),r.d(t,"r",(function(){return V})),r.d(t,"j",(function(){return z})),r.d(t,"k",(function(){return G})),r.d(t,"g",(function(){return W})),r.d(t,"h",(function(){return q})),r.d(t,"o",(function(){return H})),r.d(t,"t",(function(){return j})),r.d(t,"p",(function(){return Y})),r.d(t,"m",(function(){return X}));var i=r(0);
|
|
6
6
|
/*!
|
|
7
7
|
* Copyright 2021 Cognite AS
|
|
8
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)}}
|
|
@@ -12,217 +12,230 @@ function n(e,t){if(t(e))for(let r=0;r<e.children.length;r++)n(e.children[r],t)}f
|
|
|
12
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
13
|
/*!
|
|
14
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))}}
|
|
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))}}var l=r(16),d=r.n(l);
|
|
16
16
|
/*!
|
|
17
17
|
* Copyright 2021 Cognite AS
|
|
18
18
|
*/
|
|
19
|
+
class h{constructor(e){this._events={click:new c,hover:new c},this.onHoverCallback=d()(e=>{this._events.hover.fire(a(e,this.domElement))},100),this.domElement=e,this.setupEventListeners()}on(e,t){switch(e){case"click":this._events.click.subscribe(t);break;case"hover":this._events.hover.subscribe(t);break;default:u(e)}}off(e,t){switch(e){case"click":this._events.click.unsubscribe(t);break;case"hover":this._events.hover.unsubscribe(t);break;default:u(e)}}setupEventListeners(){const{domElement:e}=this;let t=!1,r=0,n=!1;const o=new i.Vector2,s=i=>{this.handleClickEvent(i,o,t,n,r),t=!1,n=!1,e.removeEventListener("mouseup",s),e.removeEventListener("touchend",s),e.addEventListener("mousemove",this.onHoverCallback)},c=i=>{t=!0,n=!0,r=i.timeStamp;const{offsetX:c,offsetY:l}=a(i,e);o.set(c,l),e.addEventListener("mouseup",s),e.addEventListener("touchend",s),e.removeEventListener("mousemove",this.onHoverCallback)};e.addEventListener("mousedown",c),e.addEventListener("touchstart",c),e.addEventListener("mousemove",this.onHoverCallback)}isProperClick(e,t,r,n,o){const{offsetX:i,offsetY:s}=a(e,this.domElement),c=e.timeStamp-o,l=Math.abs(i-t.x)+Math.abs(s-t.y)>h.maxMoveDistance;return r&&n&&c<h.maxClickDuration&&!l}handleClickEvent(e,t,r,n,o){this.isProperClick(e,t,r,n,o)&&this._events.click.fire(a(e,this.domElement))}}
|
|
19
20
|
/*!
|
|
20
21
|
* Copyright 2021 Cognite AS
|
|
21
|
-
*/
|
|
22
|
+
*/
|
|
23
|
+
/*!
|
|
24
|
+
* Copyright 2021 Cognite AS
|
|
25
|
+
*/
|
|
26
|
+
function u(e,t){throw new Error(t||"Unexpected object: "+e)}
|
|
22
27
|
/*!
|
|
23
28
|
* Copyright 2021 Cognite AS
|
|
24
|
-
*/class
|
|
29
|
+
*/h.maxMoveDistance=8,h.maxClickDuration=250;class m{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 m(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)?m.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 m.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
30
|
/*!
|
|
26
31
|
* Copyright 2021 Cognite AS
|
|
27
|
-
*/function
|
|
32
|
+
*/function f(e){const t=Math.max(1,g(Math.sqrt(e)));return{width:t,height:Math.max(1,g(e/t))}}const p=Math.log(2);function g(e){return Math.pow(2,Math.ceil(Math.log(e)/p))}var v=r(3),w=r.n(v);class x{constructor(e,t){this.left=e,this.right=t,this.maxSubtreeDepth=Math.max(this.left.maxSubtreeDepth,this.right.maxSubtreeDepth)+1,this.range=m.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 x(t,e).balance():e.range.toInclusive+1<t.range.from?new x(e,t).balance():void w()(!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 x.fromIndexNodesAndBalance(t,this.right)}{const t=this.right.addRange(e);return x.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 _(i);if(void 0===t&&void 0!==n)return n.addRange(i);if(void 0===n&&void 0!==t)return t.addRange(i);return x.fromIndexNodesAndBalance(t,n).addRange(i)}return t?x.fromIndexNodesAndBalance(this.left.addRange(e),this.right):r?x.fromIndexNodesAndBalance(this.left,this.right.addRange(e)):this.left.maxSubtreeDepth<this.right.maxSubtreeDepth?x.fromIndexNodesAndBalance(this.left.addRange(e),this.right):x.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=m.createFromInterval(r.from,e.from-1)),r.toInclusive>e.toInclusive&&(o=m.createFromInterval(e.toInclusive+1,r.toInclusive)),void 0===t)return void 0!==n&&void 0!==o?x.fromIndexNodesAndBalance(new _(n),new _(o)):null!=n?new _(n):null!=o?new _(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 x(e,this.right).rotateRight().balance()}if(e+2<=t){const e=this.right.rotateSmallerLeft();return new x(this.left,e).rotateLeft().balance()}return this}clone(){return x.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[x.fromIndexNodesAndBalance(t,n),i]}rotateRight(){return"right"in this.left?new x(this.left.left,new x(this.left.right,this.right)):this}rotateLeft(){return"left"in this.right?new x(new x(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
33
|
/*!
|
|
29
34
|
* Copyright 2021 Cognite AS../NumericRange
|
|
30
|
-
*/class
|
|
35
|
+
*/class _{constructor(e){this.range=e,this.maxSubtreeDepth=0,this.count=e.count}static fromInterval(e,t){return new _(m.createFromInterval(e,t))}traverse(e){e(this.range)}contains(e){return this.range.contains(e)}addRange(e){return this.range.intersectsOrCoinciding(e)?new _(this.range.union(e)):x.fromIndexNodesAndBalance(this,new _(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=m.createFromInterval(this.range.from,e.from-1)),this.range.toInclusive>e.toInclusive&&(r=m.createFromInterval(e.toInclusive+1,this.range.toInclusive)),null!=t&&null!=r?x.fromIndexNodesAndBalance(new _(t),new _(r)):null!=t?new _(t):null!=r?new _(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 _(this.range)}}class b{constructor(e){if(null==e)this.rootNode=void 0;else if(m.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 m(e,1);this.addRange(t)}addRange(e){this.rootNode?this.rootNode=this.rootNode.addRange(e):this.rootNode=new _(e)}remove(e){const t=new m(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(m.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 b)return void 0!==this.rootNode&&void 0!==e.rootNode&&this.rootNode.hasIntersectionWith(e.rootNode);if(e instanceof Map){for(const t of e.keys())if(this.contains(t))return!0;return!1}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=m.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=m.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 b;return this.rootNode&&(e.rootNode=this.rootNode.clone()),e}}
|
|
31
36
|
/*!
|
|
32
37
|
* Copyright 2021 Cognite AS
|
|
33
|
-
*/function
|
|
38
|
+
*/function y(e,t,r){const n=k(e);if(0==n)return;const o=C(0,-e);let i=S(E(n));const s=n/M(i);s<1&&(i-=1),i+=127,t[r]=128*o+S(i*M(-1)),t[r+1]=128*B(i,2)+B(S(128*s),128),t[r+2]=S(B(S(s*M(15)),M(8))),t[r+3]=S(M(23)*B(s,M(-15)))}function C(e,t){return t<e?0:1}function M(e){return Math.pow(2,e)}function B(e,t){return e-t*S(e/t)}function S(e){return Math.floor(e)}function E(e){return Math.log(e)/Math.log(2)}function k(e){return Math.abs(e)}
|
|
34
39
|
/*!
|
|
35
40
|
* Copyright 2021 Cognite AS
|
|
36
|
-
*/class
|
|
41
|
+
*/class I{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._bufferView=new t(r)}get length(){return this._numFilled}get bufferView(){return this._bufferView}add(e){let t=!1;if(this._numFilled+e.length>this._bufferView.length){const r=Math.pow(2,Math.ceil(Math.log2(this._numFilled+e.length)));this.allocateNewBuffer(r),t=!0}this._bufferView.set(e,this._numFilled);const r=this.createBatch(e),n=this._numFilled;this._numFilled+=e.length;return{batchId:r,bufferIsReallocated:t,updateRange:{byteOffset:n,byteCount:e.length}}}remove(e){const t=this._batchMap.get(e);if(!t)throw new Error("batch does not exist in buffer");this._bufferView.copyWithin(t.from,t.from+t.count,this._numFilled),this._numFilled-=t.count;const r=t.from,n=this._numFilled-t.from;this._currentTail===t&&(this._currentTail=t.prev);const o=t.prev,i=t.next;o&&(o.next=i),i&&(i.prev=o);let s=i;for(;s;)s.from-=t.count,s=s.next;return this._batchMap.delete(e),{updateRange:{byteOffset:r,byteCount:n}}}getRangeForBatchId(e){const t=this._batchMap.get(e);if(!t)throw new Error("batch does not exist in buffer");return{byteOffset:t.from,byteCount:t.count}}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._bufferView),this._bufferView=t}}
|
|
37
42
|
/*!
|
|
38
43
|
* Copyright 2021 Cognite AS
|
|
39
|
-
*/const
|
|
44
|
+
*/const P=new i.BufferGeometry;class D 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=P)}ensureNotDisposed(){if(this._isDisposed)throw new Error("Already disposed/dereferenced")}}
|
|
40
45
|
/*!
|
|
41
46
|
* Copyright 2021 Cognite AS
|
|
42
|
-
*/const
|
|
47
|
+
*/const A={camPos:new i.Vector3,bounds:new i.Box3};class T 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}=A;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
48
|
/*!
|
|
44
49
|
* Copyright 2021 Cognite AS
|
|
45
|
-
*/function
|
|
50
|
+
*/function N(e,t){return(t=null!=t?t:new i.Box3).min.set(e.min[0],e.min[1],e.min[2]),t.max.set(e.max[0],e.max[1],e.max[2]),t}
|
|
46
51
|
/*!
|
|
47
52
|
* Copyright 2021 Cognite AS
|
|
48
|
-
*/
|
|
53
|
+
*/const F={tmpVector:new i.Vector3};function R(e,t){const{tmpVector:r}=F;r.set(e.min.x,e.min.y,e.min.z),t(r),r.set(e.min.x,e.min.y,e.max.z),t(r),r.set(e.min.x,e.max.y,e.min.z),t(r),r.set(e.min.x,e.max.y,e.max.z),t(r),r.set(e.max.x,e.min.y,e.min.z),t(r),r.set(e.max.x,e.min.y,e.max.z),t(r),r.set(e.max.x,e.max.y,e.min.z),t(r),r.set(e.max.x,e.max.y,e.max.z),t(r)}function O(e,t){let r=!1;return R(e,e=>{r=r||t.distanceToPoint(e)>=0}),r}
|
|
49
54
|
/*!
|
|
50
55
|
* Copyright 2021 Cognite AS
|
|
51
|
-
*/
|
|
56
|
+
*/function V(){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}
|
|
52
57
|
/*!
|
|
53
58
|
* Copyright 2021 Cognite AS
|
|
54
|
-
*/
|
|
59
|
+
*/class z{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 L=r(24);
|
|
55
60
|
/*!
|
|
56
61
|
* Copyright 2021 Cognite AS
|
|
57
|
-
*/
|
|
62
|
+
*/const j={publicPath:""};
|
|
58
63
|
/*!
|
|
59
64
|
* Copyright 2021 Cognite AS
|
|
60
|
-
*/
|
|
65
|
+
*/var $=r(10);
|
|
61
66
|
/*!
|
|
62
67
|
* Copyright 2021 Cognite AS
|
|
63
|
-
*/
|
|
68
|
+
*/class G{constructor(){this.workerList=[];const e=this.determineNumberOfWorkers();for(let t=0;t<e;t++){const e={worker:Object(L.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.3.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)}
|
|
64
69
|
/*!
|
|
65
70
|
* Copyright 2021 Cognite AS
|
|
66
|
-
*/
|
|
71
|
+
*/)(this.workerList[0].worker).catch(e=>$.a.error(e)),this.workerObjUrl&&URL.revokeObjectURL(this.workerObjUrl)}static get defaultPool(){return G._defaultPool=G._defaultPool||new G,G._defaultPool}createWorker(){const e=(j.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 U{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 W{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 U(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()}}
|
|
67
72
|
/*!
|
|
68
73
|
* Copyright 2021 Cognite AS
|
|
69
|
-
*/
|
|
74
|
+
*/class q{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)}}
|
|
70
75
|
/*!
|
|
71
76
|
* Copyright 2021 Cognite AS
|
|
72
|
-
*/
|
|
77
|
+
*/function H(){this.array=null}function Y(e,t){const r=e.get(t);void 0===r?e.set(t,1):e.set(t,r+1)}function X(e,t){const r=e.get(t);w()(void 0!==r),r<=1?e.delete(t):e.set(t,r-1)}
|
|
73
78
|
/*!
|
|
74
79
|
* 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}}
|
|
80
|
+
*/},function(e,t,r){"use strict";r.d(t,"a",(function(){return m})),r.d(t,"f",(function(){return v})),r.d(t,"e",(function(){return w})),r.d(t,"d",(function(){return x})),r.d(t,"b",(function(){return _})),r.d(t,"c",(function(){return f})),r.d(t,"m",(function(){return M})),r.d(t,"n",(function(){return B})),r.d(t,"o",(function(){return E})),r.d(t,"p",(function(){return S})),r.d(t,"l",(function(){return I})),r.d(t,"h",(function(){return P})),r.d(t,"s",(function(){return A})),r.d(t,"j",(function(){return R})),r.d(t,"v",(function(){return N})),r.d(t,"q",(function(){return z})),r.d(t,"u",(function(){return V})),r.d(t,"i",(function(){return D})),r.d(t,"t",(function(){return T})),r.d(t,"r",(function(){return L})),r.d(t,"g",(function(){return h})),r.d(t,"k",(function(){return j}));var n=r(0),o=r(1),i=r(26),s=r.n(i);
|
|
77
81
|
/*!
|
|
78
82
|
* Copyright 2021 Cognite AS
|
|
79
|
-
*/
|
|
83
|
+
*/
|
|
84
|
+
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.w)(this.root,r=>!!r.bounds.containsPoint(e)&&(t.push(r),!0)),t}getSectorsIntersectingBox(e){const t=[];return Object(o.w)(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.w)(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.w)(this.root,e=>!!i.intersectsBox(e.bounds)&&(s.push(e),!0)),s}}
|
|
80
85
|
/*!
|
|
81
86
|
* Copyright 2021 Cognite AS
|
|
82
|
-
*/(
|
|
87
|
+
*/function c(e){const t=new Map,r=[];e.sectors.forEach(e=>{var o;const i=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||0,estimatedRenderCost:e.estimatedTriangleCount||0,indexFile:{...e.indexFile},facesFile:t,children:[]}}(e);t.set(e.id,i),r[e.id]=null!==(o=e.parentId)&&void 0!==o?o:-1});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)))}
|
|
83
88
|
/*!
|
|
84
89
|
* Copyright 2021 Cognite AS
|
|
85
|
-
*/const
|
|
90
|
+
*/(o,o.facesFile);const i=null!==e.unit?e.unit:"Meters";return new a(e.version,e.maxTreeIndex,i,o,t)}function l(e){const t=new Map,r=[];e.sectors.forEach(e=>{var o;const i=function(e){const t=e.boundingBox,r=t.min.x,o=t.min.y,i=t.min.z,s=t.max.x,a=t.max.y,c=t.max.z;return{id:e.id,path:e.path,depth:e.depth,bounds:new n.Box3(new n.Vector3(r,o,i),new n.Vector3(s,a,c)),estimatedDrawCallCount:e.estimatedDrawCallCount,estimatedRenderCost:e.estimatedTriangleCount||0,downloadSize:e.downloadSize||0,maxDiagonalLength:e.maxDiagonalLength||0,minDiagonalLength:e.minDiagonalLength||0,sectorFileName:e.sectorFileName,children:[]}}
|
|
86
91
|
/*!
|
|
87
92
|
* Copyright 2021 Cognite AS
|
|
88
|
-
*/
|
|
93
|
+
*/(e);t.set(e.id,i),r[e.id]=null!==(o=e.parentId)&&void 0!==o?o:-1});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");const i=null!==e.unit?e.unit:"Meters";return new a(e.version,e.maxTreeIndex,i,o,t)}class d{parse(e){const t=e.version;switch(t){case 8:return c(e);case 9:return l(e);case void 0:throw new Error('Metadata must contain a "version"-field');default:throw new Error(`Version ${t} is not supported`)}}}
|
|
89
94
|
/*!
|
|
90
95
|
* Copyright 2021 Cognite AS
|
|
91
|
-
*/
|
|
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)}}
|
|
96
|
+
*/const h=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]]);var u=r(5);
|
|
93
97
|
/*!
|
|
94
98
|
* Copyright 2021 Cognite AS
|
|
95
|
-
|
|
99
|
+
*/class m{constructor(e,t,r="scene.json"){this._currentModelIdentifier=0,this._cadSceneParser=new d,this._modelMetadataProvider=e,this._modelDataProvider=t,this._blobFileName=r}async loadData(e){const t=await this.getSupportedOutput(e),r=this._modelMetadataProvider.getModelUri(e,t),i=this._modelMetadataProvider.getModelMatrix(e,t.format),s=this._modelMetadataProvider.getModelCamera(e),a=await r,c=await this._modelDataProvider.getJsonFile(a,this._blobFileName),l=this._cadSceneParser.parse(c),d=function(e,t){var r;const o=null!==(r=h.get(e))&&void 0!==r?r:1;if(void 0===o)throw new Error(`Unknown model unit '${e}'`);return(new n.Matrix4).makeScale(o,o,o).multiply(t)}(l.unit,await i),u=(new n.Matrix4).copy(d).invert(),m=await s;return{modelIdentifier:""+this._currentModelIdentifier++,modelBaseUrl:a,geometryClipBox:null,format:t.format,formatVersion:t.version,modelMatrix:d,inverseModelMatrix:u,cameraConfiguration:Object(o.v)(m,d),scene:l}}async getSupportedOutput(e){const t=await this._modelMetadataProvider.getModelOutputs(e),r=[{format:u.d.GltfCadModel,version:9},{format:u.d.RevealCadModel,version:8}],n=t.filter(e=>r.some(t=>t.format===e.format&&t.version===e.version));if(0===n.length){const e=t.map(e=>`${e.format} v${e.version}`).join(", "),n=r.map(e=>`${e.format} v${e.version}`).join(", ");throw new Error(`Model does not contain any supported CAD model outputs, got [${e}], but only supports [${n}]`)}return n[0]}}var f,p=r(3),g=r.n(p);
|
|
96
100
|
/*!
|
|
97
101
|
* Copyright 2021 Cognite AS
|
|
98
102
|
*/
|
|
99
|
-
class
|
|
103
|
+
class v{createSectorScene(e,t,r,n){g()(8===e||9===e,"Only version 8 and 9 is currently supported");const i=new Map;return Object(o.w)(n,e=>(i.set(e.id,e),!0)),new a(e,t,r,n,i)}}
|
|
100
104
|
/*!
|
|
101
105
|
* Copyright 2021 Cognite AS
|
|
102
|
-
|
|
106
|
+
*/!function(e){e[e.Discarded=0]="Discarded",e[e.Simple=1]="Simple",e[e.Detailed=2]="Detailed"}(f||(f={}));
|
|
103
107
|
/*!
|
|
104
108
|
* Copyright 2021 Cognite AS
|
|
105
|
-
*/
|
|
109
|
+
*/
|
|
110
|
+
class w extends n.Group{constructor(e,t,r){super(),this._lod=f.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}
|
|
111
|
+
/*!
|
|
112
|
+
* Copyright 2021 Cognite AS
|
|
113
|
+
*/(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!==f.Discarded,this.updateMatrixWorld(!0)}resetGeometry(){void 0!==this._group&&(this._group.dereference(),this.remove(this._group)),this._group=void 0,this._lod=f.Discarded,this._updatedTimestamp=Date.now()}}class x extends w{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 w(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)}
|
|
106
114
|
/*!
|
|
107
115
|
* Copyright 2021 Cognite AS
|
|
108
|
-
*/
|
|
116
|
+
*/(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 _{constructor(e=o.k.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))}}var b=r(11),y=r(13);
|
|
109
117
|
/*!
|
|
110
118
|
* Copyright 2021 Cognite AS
|
|
111
119
|
*/
|
|
112
|
-
function C(e
|
|
120
|
+
function C(e){return Array.from(e.values()).reduce((e,t)=>Math.max(e,t.offset+t.size),0)}function M(e,t,r,n){if(null===n)return e;const o=t.get("instanceMatrix");g()(void 0!==o);const i=C(t),s=o.offset;return Object(y.a)(e,i,n,(e,t,n,o)=>{Object(b.d)(n,s,t,e,r,o)})}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);g()(void 0!==i&&void 0!==s&&void 0!==a&&void 0!==c);const l=C(t);return Object(y.a)(e,l,r,(e,t,r,n)=>{Object(b.a)(r,i.offset,s.offset,a.offset,c.offset,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");g()(void 0!==n&&void 0!==o&&void 0!==i&&void 0!==s);const a=C(t);return Object(y.a)(e,a,r,(e,t,r,a)=>{Object(b.e)(n.offset,o.offset,i.offset,s.offset,r,t,e,a)})}function E(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");g()(void 0!==i&&void 0!==s&&void 0!==a&&void 0!==c);const l=C(t);return Object(y.a)(e,l,r,(e,t,r,n)=>{Object(b.b)(i,s,a,c,r,t,e,n)})}
|
|
113
121
|
/*!
|
|
114
122
|
* Copyright 2021 Cognite AS
|
|
115
123
|
*/
|
|
116
|
-
const
|
|
124
|
+
const k={p:new n.Vector3,instanceMatrix:new n.Matrix4,baseBounds:new n.Box3,instanceBounds:new n.Box3};function I(e,t,r,n){if(null===n)return r;const{p:o,instanceMatrix:i,baseBounds:s,instanceBounds:a}=k;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,f=e,i.set(m[f+0],m[f+4],m[f+8],m[f+12],m[f+1],m[f+5],m[f+9],m[f+13],m[f+2],m[f+6],m[f+10],m[f+14],m[f+3],m[f+7],m[f+11],m[f+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,f;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
125
|
/*!
|
|
118
126
|
* 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:
|
|
127
|
+
*/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:A,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:N,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}=(()=>{const e=(e,t)=>[e,2*t*Math.PI];return{torusLodGeometries:[{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))}})(),{nutGeometry:z,nutGeometryBoundingBox:L}=(()=>{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()}})();
|
|
120
128
|
/*!
|
|
121
129
|
* Copyright 2021 Cognite AS
|
|
122
130
|
*/
|
|
123
|
-
function
|
|
131
|
+
function j(e,t,r,i){const s=[],a=e.filter(e=>null===i||function(e,t){const{p:r,box:n}=$;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
132
|
/*!
|
|
125
133
|
* 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.
|
|
134
|
+
*/(e,i));for(const e of a){const i=new n.BufferGeometry,a=new n.Uint32BufferAttribute(e.indices.buffer,1).onUpload(o.o),c=new n.Float32BufferAttribute(e.vertices.buffer,3).onUpload(o.o),l=new n.Uint8BufferAttribute(e.colors.buffer,3).onUpload(o.o),d=new n.Float32BufferAttribute(e.treeIndices.buffer,1).onUpload(o.o);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 Map;for(const t of e.treeIndices)Object(o.p)(h.userData.treeIndices,t);s.push(h)}return s}const $={p:new n.Vector3,box:new n.Box3}},function(e,t){e.exports=require("assert")},,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 l})),r.d(t,"e",(function(){return u})),r.d(t,"f",(function(){return m})),r.d(t,"g",(function(){return f})),r.d(t,"d",(function(){return i}));class n{constructor(e){this.client=e,this.authenticationPromise=e.authenticate()}get headers(){return this.client.getDefaultRequestHeaders()}async getBinaryFile(e,t){const r=`${e}/${t}`,n={...this.client.getDefaultRequestHeaders(),Accept:"*/*"};return(await this.fetchWithRetry(r,{headers:n,method:"GET"})).arrayBuffer()}async getJsonFile(e,t){return(await this.client.get(`${e}/${t}`)).data}async fetchWithRetry(e,t,r=3){let n;for(let o=0;o<r;o++)try{await this.authenticationPromise;const r=await fetch(e,t);if(401===r.status){this.authenticationPromise=this.client.authenticate();continue}return r}catch(e){void 0!==n&&(n=e)}throw n}}class o{constructor(e,t){this.revealInternalId=Symbol(`${e}/${t}`),this.modelId=e,this.revisionId=t}toString(){return`${o.name} (${String(this.revealInternalId)})`}}var i,s=r(0);
|
|
127
135
|
/*!
|
|
128
136
|
* Copyright 2021 Cognite AS
|
|
129
|
-
*/!function(e){e.EptPointCloud="ept-pointcloud",e.RevealCadModel="reveal-directory",e.AnyFormat="all-outputs"}(i||(i={}));
|
|
137
|
+
*/!function(e){e.EptPointCloud="ept-pointcloud",e.RevealCadModel="reveal-directory",e.GltfCadModel="gltf-directory",e.AnyFormat="all-outputs"}(i||(i={}));
|
|
130
138
|
/*!
|
|
131
139
|
* Copyright 2021 Cognite AS
|
|
132
140
|
*/
|
|
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)}}
|
|
141
|
+
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.RevealCadModel:case i.GltfCadModel:e.premultiply(a);break;case i.EptPointCloud:break;default:throw new Error("Unknown model format '"+t)}}
|
|
134
142
|
/*!
|
|
135
143
|
* Copyright 2021 Cognite AS
|
|
136
|
-
*/class l{constructor(e,t,
|
|
144
|
+
*/class l{constructor(e){this._client=e}async getModelMatrix(e,t){if(!(e instanceof o))throw new Error(`Model must be a ${o.name}, but got ${e.toString()}`);const{modelId:r,revisionId:n}=e,i=await this._client.revisions3D.retrieve(r,n),a=new s.Matrix4;return i.rotation&&a.makeRotationFromEuler(new s.Euler(...i.rotation)),c(a,t),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,t){if(!(e instanceof o))throw new Error(`Model must be a ${o.name}, but got ${e.toString()}`);return`${this._client.getBaseUrl()}${this.getRequestPath(t.blobId)}`}async getModelOutputs(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=`/api/v1/projects/${this._client.project}/3d/models/${t}/revisions/${r}/outputs`,s=await this._client.get(n,{params:{format:i.AnyFormat}});if(200===s.status)return s.data.items.filter(e=>Object.values(i).includes(e.format));throw new Error(`Unexpected response ${s.status} (payload: '${s.data})`)}getRequestPath(e){return`/api/v1/projects/${this._client.project}/3d/files/${e}`}}
|
|
137
145
|
/*!
|
|
138
146
|
* Copyright 2021 Cognite AS
|
|
139
|
-
*/
|
|
147
|
+
*/var d=r(20);
|
|
140
148
|
/*!
|
|
141
149
|
* Copyright 2021 Cognite AS
|
|
142
|
-
*/
|
|
150
|
+
*/async function h(e){const t=await fetch(e);if(!t.ok){const e={};throw t.headers.forEach((t,r)=>{e[t]=r}),new d.HttpError(t.status,t.body,e)}return t}
|
|
143
151
|
/*!
|
|
144
152
|
* Copyright 2021 Cognite AS
|
|
145
|
-
*/
|
|
153
|
+
*/class u{get headers(){return{}}async getBinaryFile(e,t){return(await h(`${e}/${t}`)).arrayBuffer()}async getJsonFile(e,t){return(await h(`${e}/${t}`)).json()}}
|
|
146
154
|
/*!
|
|
147
155
|
* Copyright 2021 Cognite AS
|
|
148
|
-
*/class
|
|
156
|
+
*/class m{constructor(e){this.revealInternalId=Symbol(e),this.localPath=e}toString(){return`${m.name} (${this.localPath})`}}
|
|
149
157
|
/*!
|
|
150
158
|
* Copyright 2021 Cognite AS
|
|
151
|
-
*/class f{
|
|
159
|
+
*/class f{getModelUri(e){if(!(e instanceof m))throw new Error(`Model must be a ${m.name}, but got ${e.toString()}`);return Promise.resolve(`${location.origin}/${e.localPath}`)}async getModelMatrix(e){if(!(e instanceof m))throw new Error(`Model must be a ${m.name}, but got ${e.toString()}`);const t=new s.Matrix4;return c(t,i.RevealCadModel),t}getModelCamera(e){if(!(e instanceof m))throw new Error(`Model must be a ${m.name}, but got ${e.toString()}`);return Promise.resolve(void 0)}async getModelOutputs(e){var t;const r=await this.getModelUri(e),n=null!==(t=await async function(e){let t;try{t=(await(await h(e+"/scene.json")).json()).version}catch(e){return}switch(t){case 8:return Promise.resolve({blobId:-1,format:i.RevealCadModel,version:8});case 9:return Promise.resolve({blobId:-1,format:i.GltfCadModel,version:9});default:return}}(r))&&void 0!==t?t:await async function(e){let t;try{t=await(await h(e+"/ept.json")).json()}catch(e){return}return t?Promise.resolve({blobId:-1,format:i.EptPointCloud,version:-1}):void 0}(r);if(n)return[n];throw new Error("Only point cloud or CAD models (version 8 and 9) are supported)")}}
|
|
152
160
|
/*!
|
|
153
161
|
* Copyright 2021 Cognite AS
|
|
154
|
-
*/
|
|
162
|
+
*/},,,function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(14),o=r.n(n),i=r(10);const{VERSION:s,MIXPANEL_TOKEN:a}={VERSION:"3.0.0-alpha.0",WORKER_VERSION:"1.3.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),void 0!==e?this.trackEvent("error",{message:e.message||e,name:e.name,stack:e.stack,...t}):this.trackEvent("error",{name:"unknown",...t})}static trackCameraNavigation(e){c.trackEvent("cameraNavigated",e)}}
|
|
155
163
|
/*!
|
|
156
164
|
* Copyright 2021 Cognite AS
|
|
157
|
-
*/}
|
|
165
|
+
*/},,function(e,t,r){"use strict";var n=r(25);
|
|
158
166
|
/*!
|
|
159
167
|
* Copyright 2021 Cognite AS
|
|
160
|
-
*/}
|
|
168
|
+
*/t.a=n},function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"e",(function(){return a})),r.d(t,"d",(function(){return l})),r.d(t,"c",(function(){return h})),r.d(t,"b",(function(){return u}));var n=r(0);
|
|
161
169
|
/*!
|
|
162
170
|
* Copyright 2021 Cognite AS
|
|
163
|
-
*/
|
|
171
|
+
*/
|
|
172
|
+
const o={centerA:new n.Vector3,centerB:new n.Vector3,sphere:new n.Sphere,box:new n.Box3};function i(e,t,r,n,i,s,a,c){const{centerA:l,centerB:d,sphere:h,box:u}=o;function m(t,r=0){const n=(a*s+t)/e.BYTES_PER_ELEMENT;return e[n+r]}l.set(m(t,0),m(t,1),m(t,2)),d.set(m(r,0),m(r,1),m(r,2));const f=m(n),p=m(i);return h.set(l,f),h.getBoundingBox(c),h.set(d,p),h.getBoundingBox(u),c.expandByPoint(u.min),c.expandByPoint(u.max),c}const s={vertex1:new n.Vector3,vertex2:new n.Vector3,vertex3:new n.Vector3,vertex4:new n.Vector3};function a(e,t,r,n,o,i,a,c){const{vertex1:l,vertex2:d,vertex3:h,vertex4:u}=s;function m(e,t=0){const r=(a*i+e)/o.BYTES_PER_ELEMENT;return o[r+t]}return l.set(m(e,0),m(e,1),m(e,2)),d.set(m(t,0),m(t,1),m(t,2)),h.set(m(r,0),m(r,1),m(r,2)),u.set(m(n,0),m(n,1),m(n,2)),c.setFromPoints([l,d,h,u]),c}const c={instanceMatrix:new n.Matrix4};function l(e,t,r,n,o,i){const{instanceMatrix:s}=c,a=(n*r+t)/e.BYTES_PER_ELEMENT;return s.set(e[a+0],e[a+4],e[a+8],e[a+12],e[a+1],e[a+5],e[a+9],e[a+13],e[a+2],e[a+6],e[a+10],e[a+14],e[a+3],e[a+7],e[a+11],e[a+15]),i.copy(o).applyMatrix4(s),i}const d={center:new n.Vector3,size:new n.Vector3};function h(e,t,r,n,o){const{size:i}=d,s=2*Math.max(e,t,r);return i.set(s,s,s),o.setFromCenterAndSize(n,i),o}function u(e,t,r,n,o,i,s,a){const{center:c}=d;function l(e,t=0){const r=(s*i+e.offset)/o.BYTES_PER_ELEMENT;return o[r+t]}const u=l(t),m=l(r),f=l(n);return c.set(l(e,0),l(e,1),l(e,2)),h(u,m,f,c,a)}},function(e,t){e.exports=require("@tweenjs/tween.js")},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0);
|
|
173
|
+
/*!
|
|
174
|
+
* Copyright 2021 Cognite AS
|
|
175
|
+
*/
|
|
176
|
+
function o(e,t,r,o){const i=e.length/t,s=new Float32Array(e.buffer,e.byteOffset,e.byteLength/Float32Array.BYTES_PER_ELEMENT),a=new n.Box3,c=new Uint8Array(e.length);let l=0;for(let n=0;n<i;++n)if(o(n,t,s,a),r.intersectsBox(a)){const r=e.subarray(n*t,(n+1)*t);c.set(r,l*t),l++}return c.slice(0,l*t)}},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
177
|
/*!
|
|
165
178
|
* Copyright 2021 Cognite AS
|
|
166
179
|
*/
|
|
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(
|
|
180
|
+
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/debounce")},function(e,t){e.exports=require("lodash/cloneDeep")},function(e,t){e.exports=require("lodash/range")},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(15);r.d(t,"d",(function(){return n.b}));var o=r(22);r.d(t,"a",(function(){return o.a}));var i=r(1);r.d(t,"c",(function(){return i.l})),r.d(t,"b",(function(){return i.d}));r(5);
|
|
168
181
|
/*!
|
|
169
182
|
* Copyright 2021 Cognite AS
|
|
170
183
|
*/},function(e,t,r){"use strict";r.d(t,"a",(function(){return o}));var n=r(0);
|
|
171
184
|
/*!
|
|
172
185
|
* Copyright 2021 Cognite AS
|
|
173
186
|
*/
|
|
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}}}
|
|
187
|
+
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("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 f})),r.d(t,"DebugCameraTool",(function(){return p})),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 E})),r.d(t,"MapboxMode",(function(){return k})),r.d(t,"MapboxStyle",(function(){return I})),r.d(t,"MapboxImageFormat",(function(){return D})),r.d(t,"BingMapType",(function(){return A})),r.d(t,"BingMapImageFormat",(function(){return T})),r.d(t,"HereMapType",(function(){return N})),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 L})),r.d(t,"Cognite3DViewerToolBase",(function(){return i})),r.d(t,"DebugLoadedSectorsTool",(function(){return G}));var n=r(0),o=r(21);
|
|
175
188
|
/*!
|
|
176
189
|
* Copyright 2021 Cognite AS
|
|
177
190
|
*/
|
|
178
191
|
/*!
|
|
179
192
|
* Copyright 2021 Cognite AS
|
|
180
193
|
*/
|
|
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(
|
|
194
|
+
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(18),a=r.n(s);
|
|
182
195
|
/*!
|
|
183
196
|
* Copyright 2021 Cognite AS
|
|
184
197
|
*/
|
|
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),
|
|
198
|
+
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),f=d(Math.floor(i*l),0,i-1);for(let e=m;e<=f;++e)for(let t=h;t<=u;++t)yield this._cells[e*o+t]}}var l=r(8),d=r(16),h=r.n(d);
|
|
186
199
|
/*!
|
|
187
200
|
* Copyright 2021 Cognite AS
|
|
188
201
|
*/
|
|
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:
|
|
202
|
+
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);this.forceUpdate()}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:f,y:p}=Object(o.d)(t,e,l);if(m?(u.position2D.set(f,p),u.visible=!0):u.visible=!1,d){c.set(f,p);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
203
|
/*!
|
|
191
204
|
* Copyright 2021 Cognite AS
|
|
192
|
-
*/class
|
|
205
|
+
*/class f 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
206
|
/*!
|
|
194
207
|
* Copyright 2021 Cognite AS
|
|
195
|
-
*/class
|
|
208
|
+
*/class p 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(17),w=r.n(v),x=r(34),_=r.n(x),b=r(12),y=r.n(b);!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
209
|
/*!
|
|
197
210
|
* Copyright 2021 Cognite AS
|
|
198
211
|
*/
|
|
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
|
|
212
|
+
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 y.a.Tween(h),m=r.clone(),f=e.quaternion.clone(),p=(new n.Quaternion).setFromRotationMatrix((new n.Matrix4).makeBasis(o.clone().cross(m),o,m));if(f.angleTo(p)<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(f,p,h.t),e.position.copy(g),e.setRotationFromQuaternion(v)}).start(y.a.now()).onStart(()=>{w=t.enabled,t.enabled=!1}).onComplete(()=>{t.setState(e.position,s),t.enabled=w}).update(y.a.now())}}var E,k,I,P,D,A,T,N,F,R,O=r(19);
|
|
200
213
|
/*!
|
|
201
214
|
* Copyright 2021 Cognite AS
|
|
202
|
-
*/!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(
|
|
215
|
+
*/!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(E||(E={})),function(e){e[e.Style=100]="Style",e[e.Map_Id=101]="Map_Id"}(k||(k={})),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"}(I||(I={})),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"}(A||(A={})),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"}(N||(N={})),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
216
|
/*!
|
|
204
217
|
* Copyright 2021 Cognite AS
|
|
205
218
|
*/
|
|
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
|
|
219
|
+
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 E.BingMap:t=new O.BingMapsProvider(e.APIKey,e.type);break;case E.HereMap:t=new O.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case E.MapboxMap:t=new O.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case E.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
220
|
/*!
|
|
208
221
|
* Copyright 2021 Cognite AS
|
|
209
222
|
*/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
223
|
/*!
|
|
211
224
|
* Copyright 2021 Cognite AS
|
|
212
|
-
*/class
|
|
225
|
+
*/class L{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);const r=this._nodeCollectionAndAppearance.findIndex(t=>t.nodes===e);-1!==r?this._nodeCollectionAndAppearance[r].nodeAppearance=t: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
226
|
/*!
|
|
214
227
|
* 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
|
|
228
|
+
*/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 L(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 y.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 $=r(2);
|
|
216
229
|
/*!
|
|
217
230
|
* Copyright 2021 Cognite AS
|
|
218
231
|
*/
|
|
219
232
|
/*!
|
|
220
233
|
* Copyright 2021 Cognite AS
|
|
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[
|
|
234
|
+
*/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[$.c.Discarded]=this._options.showDiscardedSectors,e[$.c.Simple]=this._options.showSimpleSectors,e[$.c.Detailed]=this._options.showDetailedSectors;const t=[];this._model.cadNode.traverse(r=>{if(W(r)){const n=r;this.isSectorAcceptedByCurrentFilter(n)&&e[n.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some(e=>W(e))}
|
|
222
235
|
/*!
|
|
223
236
|
* Copyright 2021 Cognite AS
|
|
224
237
|
*/
|
|
225
238
|
/*!
|
|
226
239
|
* Copyright 2021 Cognite AS
|
|
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
|
|
240
|
+
*/(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,i=this._model.cadNode.sectorScene;const s=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 $.c.Simple:return U.yellow;case $.c.Detailed:return U.green;case $.c.Discarded:return U.red;default:Object(o.c)(e.levelOfDetail)}case"random":return(new n.Color).setHSL(Math.random(),1,.5);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"drawcalls":{const[r,o]=t.reduce(([e,t],r)=>{const n=i.getSectorById(r.sectorId);return[Math.min(e,n.estimatedDrawCallCount),Math.max(t,n.estimatedDrawCallCount)]},[1/0,-1/0]),s=(i.getSectorById(e.sectorId).estimatedDrawCallCount-r)/(o-r);return new n.Color(U.green).lerpHSL(U.red,s)}default:Object(o.c)(r.colorBy)}}();return new n.Box3Helper(e.bounds,s)}}const U={green:new n.Color("#00ff00"),yellow:new n.Color("yellow"),red:new n.Color("red")};function W(e){return e.name.match(/^Sector \d+$/)}}])}));
|
|
228
241
|
//# sourceMappingURL=tools.map
|