@cognite/reveal 2.2.2 → 3.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +14 -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 +14 -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 +21 -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 +339 -339
- package/core/src/public/migration/Cognite3DViewer.d.ts +486 -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 +239 -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 +49 -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 +219 -124
- package/index.map +1 -1
- package/package.json +17 -18
- 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} +21 -26
- package/packages/cad-geometry-loaders/src/CadModelUpdateHandler.d.ts +44 -44
- package/packages/cad-geometry-loaders/src/sector/ModelStateHandler.d.ts +12 -12
- package/packages/cad-geometry-loaders/src/sector/SectorDownloadScheduler.d.ts +22 -0
- package/packages/cad-geometry-loaders/src/sector/SectorLoader.d.ts +31 -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 +28 -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 +8 -0
- package/packages/cad-parsers/src/metadata/parsers/CadMetadataParserV8.d.ts +6 -51
- package/packages/cad-parsers/src/metadata/parsers/types.d.ts +62 -0
- package/packages/cad-parsers/src/metadata/types.d.ts +53 -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 +71 -48
- package/packages/cad-styling/index.d.ts +14 -9
- package/packages/cad-styling/src/CombineNodeCollectionBase.d.ts +34 -31
- package/packages/cad-styling/src/IntersectionNodeCollection.d.ts +20 -15
- package/packages/cad-styling/src/NodeAppearance.d.ts +85 -62
- package/packages/cad-styling/src/NodeAppearanceProvider.d.ts +38 -33
- package/packages/cad-styling/src/NodeCollection.d.ts +26 -0
- package/packages/cad-styling/src/SerializedNodeCollection.d.ts +8 -0
- package/packages/cad-styling/src/TreeIndexNodeCollection.d.ts +40 -23
- package/packages/cad-styling/src/UnionNodeCollection.d.ts +19 -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 +72 -0
- package/packages/camera-manager/src/ComboControls.d.ts +112 -100
- package/packages/camera-manager/src/DefaultCameraManager.d.ts +138 -0
- package/packages/camera-manager/src/Keyboard.d.ts +17 -17
- package/packages/camera-manager/src/types.d.ts +78 -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 +25 -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 +18 -17
- package/packages/modeldata-api/src/applyDefaultModelTransformation.d.ts +6 -6
- package/packages/modeldata-api/src/types.d.ts +47 -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 +50 -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/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 +57 -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/GltfSectorLoader.d.ts +12 -0
- package/packages/sector-loader/src/GltfSectorRepository.d.ts +19 -0
- package/packages/sector-loader/src/SectorRepository.d.ts +10 -0
- package/packages/{cad-geometry-loaders/src/sector/CachedRepository.d.ts → sector-loader/src/V8SectorRepository.d.ts} +26 -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/DracoDecoderHelper.d.ts +32 -0
- package/packages/sector-parser/src/GltfSectorParser.d.ts +19 -0
- package/packages/sector-parser/src/constants.d.ts +6 -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 +106 -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 +23 -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 +30 -24
- package/packages/utilities/src/CameraConfiguration.d.ts +10 -10
- package/packages/utilities/src/DeferredPromise.d.ts +17 -0
- 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 +24 -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/calculateVolumeOfMesh.d.ts +4 -0
- package/packages/utilities/src/counterMap.d.ts +5 -0
- package/packages/utilities/src/datastructures/DynamicDefragmentedBuffer.d.ts +33 -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 +34 -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/unionBoxes.d.ts +5 -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 +82 -68
- package/tools.map +1 -1
- package/packages/cad-geometry-loaders/src/sector/Repository.d.ts +0 -9
- package/packages/cad-geometry-loaders/src/sector/sectorUtilities.d.ts +0 -20
- package/packages/cad-styling/src/NodeCollectionBase.d.ts +0 -47
- package/packages/rendering/src/cameraconfig.d.ts +0 -12
- package/packages/utilities/src/three/getBox3CornerPoints.d.ts +0 -5
package/tools.js
CHANGED
|
@@ -1,228 +1,242 @@
|
|
|
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
|
|
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 n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}("undefined"!=typeof self?self:this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="https://apps-cdn.cogniteapp.com/@cognite/reveal-parser-worker/1.3.0/",n(n.s=77)}([function(e,t){e.exports=require("three")},function(e,t,n){"use strict";
|
|
2
2
|
/*!
|
|
3
3
|
* Copyright 2021 Cognite AS
|
|
4
4
|
*/
|
|
5
|
-
function
|
|
5
|
+
function r(e,t){if(t(e))for(let n=0;n<e.children.length;n++)r(e.children[n],t)}function o(e,t){if(void 0===e)return;const{position:n,target:r}=e;return n.applyMatrix4(t),r.applyMatrix4(t),{position:n,target:r}}n.d(t,"x",(function(){return r})),n.d(t,"w",(function(){return o})),n.d(t,"d",(function(){return c})),n.d(t,"f",(function(){return u})),n.d(t,"p",(function(){return h})),n.d(t,"l",(function(){return m})),n.d(t,"i",(function(){return f})),n.d(t,"n",(function(){return p})),n.d(t,"e",(function(){return y})),n.d(t,"t",(function(){return C})),n.d(t,"c",(function(){return P})),n.d(t,"a",(function(){return A})),n.d(t,"b",(function(){return N})),n.d(t,"v",(function(){return O})),n.d(t,"r",(function(){return V})),n.d(t,"y",(function(){return R})),n.d(t,"s",(function(){return z})),n.d(t,"j",(function(){return L})),n.d(t,"k",(function(){return U})),n.d(t,"g",(function(){return W})),n.d(t,"h",(function(){return H})),n.d(t,"o",(function(){return Y})),n.d(t,"u",(function(){return $})),n.d(t,"q",(function(){return X})),n.d(t,"m",(function(){return K}));var i=n(0);
|
|
6
6
|
/*!
|
|
7
7
|
* Copyright 2021 Cognite AS
|
|
8
|
-
*/class s{static color(e){const t=s._colors.get(e);if(void 0!==t)return t;const
|
|
8
|
+
*/class s{static color(e){const t=s._colors.get(e);if(void 0!==t)return t;const n=s.generateRandomColor();return s._colors.set(e,n),n}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,n,r]=s.colorRGB(e);return`rgb(${t}, ${n}, ${r})`}static generateRandomColor(){const e=Math.random(),t=.4+.6*Math.random(),n=.3+.4*Math.random();return(new i.Color).setHSL(e,t,n)}}
|
|
9
9
|
/*!
|
|
10
10
|
* Copyright 2021 Cognite AS
|
|
11
11
|
*/
|
|
12
|
-
function a(e,t){const
|
|
12
|
+
function a(e,t){const n=t.getBoundingClientRect();if(e instanceof MouseEvent)return{offsetX:e.clientX-n.left,offsetY:e.clientY-n.top};if(e.changedTouches.length>0){const t=e.changedTouches[0];return{offsetX:t.clientX-n.left,offsetY:t.clientY-n.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=n(16),d=n.n(l);
|
|
16
16
|
/*!
|
|
17
17
|
* Copyright 2021 Cognite AS
|
|
18
18
|
*/
|
|
19
|
+
class u{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:m(e)}}off(e,t){switch(e){case"click":this._events.click.unsubscribe(t);break;case"hover":this._events.hover.unsubscribe(t);break;default:m(e)}}dispose(){h(this._events)}setupEventListeners(){const{domElement:e}=this;let t=!1,n=0,r=!1;const o=new i.Vector2,s=i=>{this.handleClickEvent(i,o,t,r,n),t=!1,r=!1,e.removeEventListener("mouseup",s),e.removeEventListener("touchend",s),e.addEventListener("mousemove",this.onHoverCallback)},c=i=>{t=!0,r=!0,n=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,n,r,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)>u.maxMoveDistance;return n&&r&&c<u.maxClickDuration&&!l}handleClickEvent(e,t,n,r,o){this.isProperClick(e,t,n,r,o)&&this._events.click.fire(a(e,this.domElement))}}function h(e){for(const t of Object.keys(e))e[t].unsubscribeAll()}
|
|
19
20
|
/*!
|
|
20
21
|
* Copyright 2021 Cognite AS
|
|
21
|
-
*/
|
|
22
|
+
*/
|
|
23
|
+
/*!
|
|
24
|
+
* Copyright 2021 Cognite AS
|
|
25
|
+
*/function m(e,t){throw new Error(t||"Unexpected object: "+e)}
|
|
22
26
|
/*!
|
|
23
27
|
* Copyright 2021 Cognite AS
|
|
24
|
-
*/class
|
|
28
|
+
*/u.maxMoveDistance=8,u.maxClickDuration=250;class f{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 f(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)?f.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 f.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
29
|
/*!
|
|
26
30
|
* Copyright 2021 Cognite AS
|
|
27
|
-
*/function
|
|
31
|
+
*/function p(e){const t=Math.max(1,v(Math.sqrt(e)));return{width:t,height:Math.max(1,v(e/t))}}const g=Math.log(2);function v(e){return Math.pow(2,Math.ceil(Math.log(e)/g))}var w=n(3),x=n.n(w);class _{constructor(e,t){this.left=e,this.right=t,this.maxSubtreeDepth=Math.max(this.left.maxSubtreeDepth,this.right.maxSubtreeDepth)+1,this.range=f.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 _(t,e).balance():e.range.toInclusive+1<t.range.from?new _(e,t).balance():void x()(!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 _.fromIndexNodesAndBalance(t,this.right)}{const t=this.right.addRange(e);return _.fromIndexNodesAndBalance(this.left,t)}}const t=e.intersectsOrCoinciding(this.left.range),n=e.intersectsOrCoinciding(this.right.range);if(t&&n){const[t,n]=this.left.soak(e),[r,o]=this.right.soak(e),i=n.union(o);if(void 0===t&&void 0===r)return new b(i);if(void 0===t&&void 0!==r)return r.addRange(i);if(void 0===r&&void 0!==t)return t.addRange(i);return _.fromIndexNodesAndBalance(t,r).addRange(i)}return t?_.fromIndexNodesAndBalance(this.left.addRange(e),this.right):n?_.fromIndexNodesAndBalance(this.left,this.right.addRange(e)):this.left.maxSubtreeDepth<this.right.maxSubtreeDepth?_.fromIndexNodesAndBalance(this.left.addRange(e),this.right):_.fromIndexNodesAndBalance(this.left,this.right.addRange(e))}removeRange(e){if(!e.intersects(this.range))return this;const[t,n]=this.soak(e);let r=void 0,o=void 0;if(n.from<e.from&&(r=f.createFromInterval(n.from,e.from-1)),n.toInclusive>e.toInclusive&&(o=f.createFromInterval(e.toInclusive+1,n.toInclusive)),void 0===t)return void 0!==r&&void 0!==o?_.fromIndexNodesAndBalance(new b(r),new b(o)):null!=r?new b(r):null!=o?new b(o):void 0;{let e=t;return void 0!==r&&(e=e.addRange(r)),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 _(e,this.right).rotateRight().balance()}if(e+2<=t){const e=this.right.rotateSmallerLeft();return new _(this.left,e).rotateLeft().balance()}return this}clone(){return _.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,n]=[this.left,e],[r,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,n]=this.left.soak(e)),this.right.range.intersectsOrCoinciding(e)&&([r,o]=this.right.soak(e));const i=n.union(o);if(null==r)return[t,i];if(null==t)return[r,i];return[_.fromIndexNodesAndBalance(t,r),i]}rotateRight(){return"right"in this.left?new _(this.left.left,new _(this.left.right,this.right)):this}rotateLeft(){return"left"in this.right?new _(new _(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
32
|
/*!
|
|
29
33
|
* Copyright 2021 Cognite AS../NumericRange
|
|
30
|
-
*/class
|
|
34
|
+
*/class b{constructor(e){this.range=e,this.maxSubtreeDepth=0,this.count=e.count}static fromInterval(e,t){return new b(f.createFromInterval(e,t))}traverse(e){e(this.range)}contains(e){return this.range.contains(e)}addRange(e){return this.range.intersectsOrCoinciding(e)?new b(this.range.union(e)):_.fromIndexNodesAndBalance(this,new b(e))}removeRange(e){if(!e.intersects(this.range))return this;if(this.range.isInside(e))return;let t=void 0,n=void 0;return this.range.from<e.from&&(t=f.createFromInterval(this.range.from,e.from-1)),this.range.toInclusive>e.toInclusive&&(n=f.createFromInterval(e.toInclusive+1,this.range.toInclusive)),null!=t&&null!=n?_.fromIndexNodesAndBalance(new b(t),new b(n)):null!=t?new b(t):null!=n?new b(n):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 b(this.range)}}class y{constructor(e){if(null==e)this.rootNode=void 0;else if(f.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 f(e,1);this.addRange(t)}addRange(e){this.rootNode?this.rootNode=this.rootNode.addRange(e):this.rootNode=new b(e)}remove(e){const t=new f(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 n=0;n<e.length-1;n++)e[n].toInclusive+1>=e[n+1].from||t.push(f.createFromInterval(e[n].toInclusive+1,e[n+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 y)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=f.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=f.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 y;return this.rootNode&&(e.rootNode=this.rootNode.clone()),e}}
|
|
31
35
|
/*!
|
|
32
36
|
* Copyright 2021 Cognite AS
|
|
33
|
-
*/function
|
|
37
|
+
*/function C(e,t,n){const r=I(e);if(0==r)return;const o=B(0,-e);let i=S(k(r));const s=r/M(i);s<1&&(i-=1),i+=127,t[n]=128*o+S(i*M(-1)),t[n+1]=128*E(i,2)+E(S(128*s),128),t[n+2]=S(E(S(s*M(15)),M(8))),t[n+3]=S(M(23)*E(s,M(-15)))}function B(e,t){return t<e?0:1}function M(e){return Math.pow(2,e)}function E(e,t){return e-t*S(e/t)}function S(e){return Math.floor(e)}function k(e){return Math.log(e)/Math.log(2)}function I(e){return Math.abs(e)}
|
|
34
38
|
/*!
|
|
35
39
|
* Copyright 2021 Cognite AS
|
|
36
|
-
*/class
|
|
40
|
+
*/class P{constructor(e,t){this._numFilled=0,this._batchIdCounter=0,this._batchMap=new Map,this._type=t;const n=Math.pow(2,Math.ceil(Math.log2(e)));this._bufferView=new t(n)}get length(){return this._numFilled}get bufferView(){return this._bufferView}add(e){let t=!1;if(this._numFilled+e.length>this._bufferView.length){const n=Math.pow(2,Math.ceil(Math.log2(this._numFilled+e.length)));this.allocateNewBuffer(n),t=!0}this._bufferView.set(e,this._numFilled);const n=this.createBatch(e),r=this._numFilled;this._numFilled+=e.length;return{batchId:n,bufferIsReallocated:t,updateRange:{byteOffset:r,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 n=t.from,r=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),{byteOffset:n,byteCount:r}}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 n=this._batchIdCounter;return this._batchIdCounter++,this._batchMap.set(n,t),n}allocateNewBuffer(e){const t=new this._type(e);t.set(this._bufferView),this._bufferView=t}}
|
|
37
41
|
/*!
|
|
38
42
|
* Copyright 2021 Cognite AS
|
|
39
|
-
*/const
|
|
43
|
+
*/const D=new i.BufferGeometry;class A 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=D)}ensureNotDisposed(){if(this._isDisposed)throw new Error("Already disposed/dereferenced")}}
|
|
40
44
|
/*!
|
|
41
45
|
* Copyright 2021 Cognite AS
|
|
42
|
-
*/const
|
|
46
|
+
*/const T={camPos:new i.Vector3,bounds:new i.Box3};class N 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:n,bounds:r}=T;r.copy(this._boundingBox).applyMatrix4(this.matrixWorld);const o=e instanceof i.PerspectiveCamera?e.zoom:1;if(t.length>0){n.setFromMatrixPosition(e.matrixWorld);const i=r.distanceToPoint(n)/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
47
|
/*!
|
|
44
48
|
* Copyright 2021 Cognite AS
|
|
45
|
-
*/function
|
|
49
|
+
*/function O(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}
|
|
50
|
+
/*!
|
|
51
|
+
* Copyright 2022 Cognite AS
|
|
52
|
+
*/
|
|
46
53
|
/*!
|
|
47
54
|
* Copyright 2021 Cognite AS
|
|
48
|
-
*/
|
|
55
|
+
*/
|
|
56
|
+
const F={tmpVector:new i.Vector3};function R(e,t){const{tmpVector:n}=F;n.set(e.min.x,e.min.y,e.min.z),t(n),n.set(e.min.x,e.min.y,e.max.z),t(n),n.set(e.min.x,e.max.y,e.min.z),t(n),n.set(e.min.x,e.max.y,e.max.z),t(n),n.set(e.max.x,e.min.y,e.min.z),t(n),n.set(e.max.x,e.min.y,e.max.z),t(n),n.set(e.max.x,e.max.y,e.min.z),t(n),n.set(e.max.x,e.max.y,e.max.z),t(n)}function V(e,t){let n=!1;return R(e,e=>{n=n||t.distanceToPoint(e)>=0}),n}
|
|
49
57
|
/*!
|
|
50
58
|
* Copyright 2021 Cognite AS
|
|
51
|
-
*/
|
|
59
|
+
*/function z(){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
60
|
/*!
|
|
53
61
|
* Copyright 2021 Cognite AS
|
|
54
|
-
*/
|
|
62
|
+
*/class L{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 j=n(25);
|
|
55
63
|
/*!
|
|
56
64
|
* Copyright 2021 Cognite AS
|
|
57
|
-
*/
|
|
65
|
+
*/const $={publicPath:""};
|
|
58
66
|
/*!
|
|
59
67
|
* Copyright 2021 Cognite AS
|
|
60
|
-
*/
|
|
68
|
+
*/var G=n(10);
|
|
61
69
|
/*!
|
|
62
70
|
* Copyright 2021 Cognite AS
|
|
63
|
-
*/
|
|
71
|
+
*/class U{constructor(){this.workerList=[];const e=this.determineNumberOfWorkers();for(let t=0;t<e;t++){const e={worker:Object(j.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 n="1.3.0",[r,o,i]=n.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 ${n}. Received ${t}.`;if(r!==s)throw new Error(l);if(a<o)throw new Error(l);if(a===o&&c<i)throw new Error(l)}
|
|
64
72
|
/*!
|
|
65
73
|
* Copyright 2021 Cognite AS
|
|
66
|
-
*/
|
|
74
|
+
*/)(this.workerList[0].worker).catch(e=>G.a.error(e)),this.workerObjUrl&&URL.revokeObjectURL(this.workerObjUrl)}static get defaultPool(){return U._defaultPool=U._defaultPool||new U,U._defaultPool}createWorker(){const e=($.publicPath||n.p)+"reveal.parser.worker.js",t={name:"reveal.parser #"+this.workerList.length};if(function(e,t=location.origin){const n=e=>!e.match(/^.*\/\//);if(n(t))throw new Error("isTheSameDomain: the second argument must be an absolute url or omitted. Received "+t);if(n(e))return!0;try{const n=[e,t].map(e=>e.startsWith("//")?"https:"+e:e).map(e=>new URL(e));return n[0].host===n[1].host}catch(n){return console.error(`can not create URLs for ${e} and ${t}`,n),!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 q{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,n=10){this._data=new Map,this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(n,1),this._removeCallback=t}has(e){return this._data.has(e)}forceInsert(e,t){this.isFull()&&this.cleanCache(this._defaultCleanupCount),this.insert(e,t)}insert(e,t){if(this._data.size<this._maxElementsInCache)this._data.set(e,new q(t));else if(this._maxElementsInCache>0)throw new Error("Cache full, please clean Cache and retry adding data")}remove(e){if(void 0!==this._removeCallback){const t=this._data.get(e);void 0!==t&&this._removeCallback(t.value)}this._data.delete(e)}get(e){const t=this._data.get(e);if(void 0!==t)return t.value;throw new Error(`Cache element ${e} does not exist`)}isFull(){return this._data.size>=this._maxElementsInCache}cleanCache(e){const t=Array.from(this._data.entries());t.sort((e,t)=>t[1].lastAccessTime-e[1].lastAccessTime);for(let n=0;n<e;n++){const e=t.pop();if(void 0===e)return;this.remove(e[0])}}resize(e){this._maxElementsInCache=e,this._defaultCleanupCount=Math.max(e*W.CLEANUP_COUNT_TO_CAPACITY_RATIO,1),this.isFull()&&this.cleanCache(this._data.size-this._maxElementsInCache)}clear(){if(void 0!==this._removeCallback)for(const e of this._data.values())this._removeCallback(e.value);this._data.clear()}}W.CLEANUP_COUNT_TO_CAPACITY_RATIO=.2;
|
|
67
75
|
/*!
|
|
68
76
|
* Copyright 2021 Cognite AS
|
|
69
|
-
*/
|
|
77
|
+
*/
|
|
78
|
+
class H{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
79
|
/*!
|
|
71
80
|
* Copyright 2021 Cognite AS
|
|
72
|
-
*/}
|
|
81
|
+
*/function Y(){this.array=null}function X(e,t){const n=e.get(t);void 0===n?e.set(t,1):e.set(t,n+1)}function K(e,t){const n=e.get(t);x()(void 0!==n),n<=1?e.delete(t):e.set(t,n-1)}n(19),n(27)},function(e,t,n){"use strict";n.d(t,"a",(function(){return g})),n.d(t,"f",(function(){return _})),n.d(t,"e",(function(){return b})),n.d(t,"d",(function(){return y})),n.d(t,"b",(function(){return C})),n.d(t,"c",(function(){return v})),n.d(t,"l",(function(){return S})),n.d(t,"m",(function(){return k})),n.d(t,"n",(function(){return P})),n.d(t,"o",(function(){return I})),n.d(t,"k",(function(){return A})),n.d(t,"g",(function(){return T})),n.d(t,"s",(function(){return O})),n.d(t,"i",(function(){return z})),n.d(t,"v",(function(){return R})),n.d(t,"q",(function(){return $})),n.d(t,"u",(function(){return j})),n.d(t,"h",(function(){return N})),n.d(t,"t",(function(){return F})),n.d(t,"r",(function(){return G})),n.d(t,"p",(function(){return f})),n.d(t,"j",(function(){return U}));var r=n(0),o=n(1),i=n(28),s=n.n(i);
|
|
73
82
|
/*!
|
|
74
83
|
* Copyright 2021 Cognite AS
|
|
75
84
|
*/
|
|
76
|
-
class a{constructor(e,t,r,
|
|
85
|
+
class a{constructor(e,t,n,r,o){this.version=e,this.maxTreeIndex=t,this.root=r,this.sectors=o,this.unit=n}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.x)(this.root,n=>!!n.subtreeBoundingBox.containsPoint(e)&&(t.push(n),!0)),t}getSectorsIntersectingBox(e){const t=[];return Object(o.x)(this.root,n=>!!n.subtreeBoundingBox.intersectsBox(e)&&(t.push(n),!0)),t}getBoundsOfMostGeometry(){if(0===this.root.children.length)return this.root.subtreeBoundingBox;const e=[],t=[];Object(o.x)(this.root,n=>(0===n.children.length&&(t.push(n.subtreeBoundingBox.min.toArray(),n.subtreeBoundingBox.max.toArray()),e.push(n.subtreeBoundingBox,n.subtreeBoundingBox)),!0));const n=Math.min(t.length,4),i=s()(t,n,"kmpp",10),a=new Array(i.idxs.length).fill(0),c=a.map(e=>new r.Box3);i.idxs.map(e=>a[e]++);const l=a.reduce((e,t,n)=>(t>e.count&&(e.count=t,e.idx=n),e),{count:0,idx:-1}).idx;i.idxs.forEach((t,n)=>{a[t]++,c[t].expandByPoint(e[n].min),c[t].expandByPoint(e[n].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 n=(new r.Matrix4).multiplyMatrices(e,t),i=(new r.Frustum).setFromProjectionMatrix(n),s=[];return Object(o.x)(this.root,e=>!!i.intersectsBox(e.subtreeBoundingBox)&&(s.push(e),!0)),s}}
|
|
77
86
|
/*!
|
|
78
87
|
* Copyright 2021 Cognite AS
|
|
79
|
-
*/function c(e){const t=new Map,
|
|
88
|
+
*/function c(e){const t=new Map,n=[];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),n=e.boundingBox,o=n.min.x,i=n.min.y,s=n.min.z,a=n.max.x,c=n.max.y,l=n.max.z;return{id:e.id,path:e.path,depth:e.depth,subtreeBoundingBox:new r.Box3(new r.Vector3(o,i,s),new r.Vector3(a,c,l)),estimatedDrawCallCount:e.estimatedDrawCallCount||0,estimatedRenderCost:e.estimatedTriangleCount||0,indexFile:{...e.indexFile},facesFile:t,children:[]}}(e);t.set(e.id,i),n[e.id]=null!==(o=e.parentId)&&void 0!==o?o:-1});for(const e of t.values()){const r=n[e.id];if(-1===r)continue;t.get(r).children.push(e)}const o=t.get(0);if(!o)throw new Error("Root sector not found, must have ID 0");!function e(t,n){!function(e){return-1===e.facesFile.coverageFactors.xy}(t)?t.children.forEach(n=>e(n,t.facesFile)):(t.facesFile.coverageFactors.xy=n.recursiveCoverageFactors.xy,t.facesFile.coverageFactors.yz=n.recursiveCoverageFactors.yz,t.facesFile.coverageFactors.xz=n.recursiveCoverageFactors.xz,t.facesFile.recursiveCoverageFactors.xy=n.recursiveCoverageFactors.xy,t.facesFile.recursiveCoverageFactors.yz=n.recursiveCoverageFactors.yz,t.facesFile.recursiveCoverageFactors.xz=n.recursiveCoverageFactors.xz,t.children.forEach(t=>e(t,n)))}
|
|
80
89
|
/*!
|
|
81
90
|
* Copyright 2021 Cognite AS
|
|
82
|
-
*/(o,o.facesFile);const i=null!==e.unit?e.unit:"Meters";return new a(e.version,e.maxTreeIndex,i,o,t)}
|
|
91
|
+
*/(o,o.facesFile);const i=null!==e.unit?e.unit:"Meters";return new a(e.version,e.maxTreeIndex,i,o,t)}function l(e){if(!e.sectors||0===e.sectors.length)throw new Error("No sectors found in scene JSON file");const t=new Map,n=[];e.sectors.forEach(e=>{var o;const i=function(e){const t=d(e.boundingBox);let n,o;e.geometryBoundingBox?(n=d(e.geometryBoundingBox),o=t):(n=t,o=new r.Box3);return{id:e.id,path:e.path,depth:e.depth,subtreeBoundingBox:o,geometryBoundingBox:n,estimatedDrawCallCount:e.estimatedDrawCallCount,estimatedRenderCost:e.estimatedTriangleCount||0,downloadSize:e.downloadSize||0,maxDiagonalLength:e.maxDiagonalLength||0,minDiagonalLength:e.minDiagonalLength||0,sectorFileName:e.sectorFileName,children:[]}}(e);t.set(e.id,i),n[e.id]=null!==(o=e.parentId)&&void 0!==o?o:-1});for(const e of t.values()){const r=n[e.id];if(-1===r)continue;t.get(r).children.push(e)}const o=t.get(0);if(!o)throw new Error("Root sector not found, must have ID 0");if(o.subtreeBoundingBox.isEmpty())for(const e of t.values())u(e);const i=null!==e.unit?e.unit:"Meters";return new a(e.version,e.maxTreeIndex,i,o,t)}function d(e){return new r.Box3(new r.Vector3(e.min.x,e.min.y,e.min.z),new r.Vector3(e.max.x,e.max.y,e.max.z))}function u(e){if(e.subtreeBoundingBox.isEmpty())if(0!==e.children.length)for(const t of e.children)u(t),e.subtreeBoundingBox.union(t.subtreeBoundingBox);else e.subtreeBoundingBox.copy(e.geometryBoundingBox)}
|
|
83
92
|
/*!
|
|
84
93
|
* Copyright 2021 Cognite AS
|
|
85
|
-
*/const
|
|
94
|
+
*/class h{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`)}}}
|
|
86
95
|
/*!
|
|
87
96
|
* Copyright 2021 Cognite AS
|
|
88
|
-
*/
|
|
97
|
+
*/const m=new Map([["meters",1],["meter",1],["m",1],["centimeters",.01],["centimeter",.01],["cm",.01],["millimeters",.001],["millimeter",.001],["mm",.001],["micrometers",1e-6],["micrometer",1e-6],["kilometers",1e3],["kilometer",1e3],["km",1e3],["feet",.3048],["ft",.3048],["inches",.0254],["inch",.0254],["yards",.9144],["yard",.9144],["miles",1609.34],["miles",1609.34],["mile",1609.34],["mils",254e-7],["mil",254e-7],["microinches",2.54e-8],["microinch",2.54e-8]]);function f(e){return e=null!=e?e:"meters",m.get(e.toLowerCase())}var p=n(5);
|
|
89
98
|
/*!
|
|
90
99
|
* 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)}}
|
|
100
|
+
*/class g{constructor(e,t,n="scene.json"){this._currentModelIdentifier=0,this._cadSceneParser=new h,this._modelMetadataProvider=e,this._modelDataProvider=t,this._blobFileName=n}async loadData(e){const t=await this.getSupportedOutput(e),n=this._modelMetadataProvider.getModelUri(e,t),i=this._modelMetadataProvider.getModelMatrix(e,t.format),s=this._modelMetadataProvider.getModelCamera(e),a=await n,c=await this._modelDataProvider.getJsonFile(a,this._blobFileName),l=this._cadSceneParser.parse(c),d=function(e,t){var n;const o=null!==(n=f(e))&&void 0!==n?n:1;if(void 0===o)throw new Error(`Unknown model unit '${e}'`);return(new r.Matrix4).makeScale(o,o,o).multiply(t)}(l.unit,await i),u=(new r.Matrix4).copy(d).invert(),h=await s;return{modelIdentifier:""+this._currentModelIdentifier++,modelBaseUrl:a,geometryClipBox:null,format:t.format,formatVersion:t.version,modelMatrix:d,inverseModelMatrix:u,cameraConfiguration:Object(o.w)(h,d),scene:l}}async getSupportedOutput(e){const t=await this._modelMetadataProvider.getModelOutputs(e),n=[{format:p.d.GltfCadModel,version:9},{format:p.d.RevealCadModel,version:8}],r=n.map(e=>t.find(t=>t.format===e.format&&t.version===e.version)).filter(e=>void 0!==e);if(0===r.length){const e=t.map(e=>`${e.format} v${e.version}`).join(", "),r=n.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 [${r}]`)}return r[0]}}var v,w=n(3),x=n.n(w);
|
|
93
101
|
/*!
|
|
94
102
|
* Copyright 2021 Cognite AS
|
|
95
|
-
|
|
103
|
+
*/
|
|
104
|
+
class _{createSectorScene(e,t,n,r){x()(8===e||9===e,"Only version 8 and 9 is currently supported");const i=new Map;return Object(o.x)(r,e=>(i.set(e.id,e),!0)),new a(e,t,n,r,i)}}
|
|
96
105
|
/*!
|
|
97
106
|
* Copyright 2021 Cognite AS
|
|
98
|
-
|
|
99
|
-
class g extends n.Group{constructor(e,t,r){super(),this._lod=u.Discarded,this._updatedTimestamp=Date.now(),this.name=`Sector ${t} [id=${e}]`,this.sectorId=e,this.sectorPath=t,this.bounds=r,this.depth=function(e){let t=0;for(let r=0;r<e.length;++r)t+="/"===e[r]?1:0;return t-1}
|
|
107
|
+
*/!function(e){e[e.Discarded=0]="Discarded",e[e.Simple=1]="Simple",e[e.Detailed=2]="Detailed"}(v||(v={}));
|
|
100
108
|
/*!
|
|
101
109
|
* Copyright 2021 Cognite AS
|
|
102
|
-
*/
|
|
110
|
+
*/
|
|
111
|
+
class b extends r.Group{constructor(e,t,n){super(),this._lod=v.Discarded,this._updatedTimestamp=Date.now(),this.name=`Sector ${t} [id=${e}]`,this.sectorId=e,this.sectorPath=t,this.bounds=n,this.depth=function(e){let t=0;for(let n=0;n<e.length;++n)t+="/"===e[n]?1:0;return t-1}
|
|
103
112
|
/*!
|
|
104
113
|
* Copyright 2021 Cognite AS
|
|
105
|
-
*/(
|
|
114
|
+
*/(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!==v.Discarded,this.updateMatrixWorld(!0)}resetGeometry(){void 0!==this._group&&(this._group.dereference(),this.remove(this._group)),this._group=void 0,this._lod=v.Discarded,this._updatedTimestamp=Date.now()}}class y extends b{constructor(e){const t=e.scene.root.subtreeBoundingBox.clone();t.applyMatrix4(e.modelMatrix),super(0,"/",t);const{scene:n,modelMatrix:r}=e;this.sectorNodeMap=new Map,function e(t,n,r,o){const i=t.subtreeBoundingBox.clone();i.applyMatrix4(o);const s=new b(t.id,t.path,i);s.name="Sector "+t.id,n.add(s),s.matrixAutoUpdate=!1,s.updateMatrixWorld(!0),r.set(t.id,s);for(const n of t.children)e(n,s,r,o)}
|
|
106
115
|
/*!
|
|
107
116
|
* Copyright 2021 Cognite AS
|
|
108
|
-
*/
|
|
117
|
+
*/(n.root,this,this.sectorNodeMap,r),this.matrixAutoUpdate=!1,this.setModelTransformation(r)}setModelTransformation(e){this.matrix.copy(e),this.updateMatrixWorld(!0)}getModelTransformation(e=new r.Matrix4){return e.copy(this.matrix)}}class C{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=n(11),M=n(13);
|
|
109
118
|
/*!
|
|
110
119
|
* Copyright 2021 Cognite AS
|
|
111
120
|
*/
|
|
112
|
-
function
|
|
121
|
+
function E(e){return Array.from(e.values()).reduce((e,t)=>Math.max(e,t.offset+t.size),0)}function S(e,t,n,r){if(null===r)return e;const o=t.get("instanceMatrix");x()(void 0!==o);const i=E(t),s=o.offset;return Object(M.a)(e,i,r,(e,t,r,o)=>{Object(B.d)(r,s,t,e,n,o)})}function k(e,t,n,r="radiusA",o="radiusB"){if(null===n)return e;const i=t.get("centerA"),s=t.get("centerB"),a=t.get(r),c=t.get(o);x()(void 0!==i&&void 0!==s&&void 0!==a&&void 0!==c);const l=E(t);return Object(M.a)(e,l,n,(e,t,n,r)=>{Object(B.a)(n,i.offset,s.offset,a.offset,c.offset,t,e,r)})}function I(e,t,n){if(null===n)return e;const r=t.get("vertex1"),o=t.get("vertex2"),i=t.get("vertex3"),s=t.get("vertex4");x()(void 0!==r&&void 0!==o&&void 0!==i&&void 0!==s);const a=E(t);return Object(M.a)(e,a,n,(e,t,n,a)=>{Object(B.e)(r.offset,o.offset,i.offset,s.offset,n,t,e,a)})}function P(e,t,n,r="horizontalRadius",o="verticalRadius"){if(null===n)return e;const i=t.get("center"),s=t.get(r),a=t.get(o),c=t.get("height");x()(void 0!==i&&void 0!==s&&void 0!==a&&void 0!==c);const l=E(t);return Object(M.a)(e,l,n,(e,t,n,r)=>{Object(B.b)(i,s,a,c,n,t,e,r)})}
|
|
113
122
|
/*!
|
|
114
123
|
* Copyright 2021 Cognite AS
|
|
115
124
|
*/
|
|
116
|
-
const
|
|
125
|
+
const D={p:new r.Vector3,instanceMatrix:new r.Matrix4,baseBounds:new r.Box3,instanceBounds:new r.Box3};function A(e,t,n,r){if(null===r)return n;const{p:o,instanceMatrix:i,baseBounds:s,instanceBounds:a}=D;s.makeEmpty();for(let r=n.triangleOffset;r<n.triangleOffset+n.triangleCount;++r){const n=t[3*r+0],i=t[3*r+1],a=t[3*r+2];o.set(e[n+0],e[n+1],e[n+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=n.treeIndices.length,d=new Float32Array(n.instanceMatrices.length),u=new Float32Array(l),h=new Uint8Array(4*l);for(let e=0;e<l;++e)if(m=n.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),r.intersectsBox(a)){const t=n.instanceMatrices.subarray(16*e,16*(e+1)),r=n.colors.subarray(4*e,4*(e+1)),o=n.treeIndices[e];d.set(t,16*c),h.set(r,4*c),u[c]=o,c++}var m,f;if(l===c)return n;return{triangleCount:n.triangleCount,triangleOffset:n.triangleOffset,instanceMatrices:d.slice(0,16*c),colors:h.slice(0,4*c),treeIndices:u.slice(0,c)}}
|
|
117
126
|
/*!
|
|
118
127
|
* Copyright 2021 Cognite AS
|
|
119
|
-
*/const{boxGeometry:
|
|
128
|
+
*/const{boxGeometry:T,boxGeometryBoundingBox:N}=(()=>{const e=new r.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:O,quadGeometryBoundingBox:F}=(()=>{const e=new r.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:R,trapeziumGeometryBoundingBox:V}=(()=>{const e=[0,0,0,1,1,1,2,2,2,3,3,3];return{trapeziumGeometry:{index:new r.BufferAttribute(new Uint16Array([0,1,3,0,3,2]),1),position:new r.BufferAttribute(new Float32Array(e),3)},trapeziumGeometryBoundingBox:(new r.Box3).setFromArray(e)}})(),{coneGeometry:z,coneGeometryBoundingBox:L}=(()=>{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 r.BufferAttribute(t,1),position:new r.BufferAttribute(new Float32Array(e),3)},coneGeometryBoundingBox:(new r.Box3).setFromArray(e)}})(),{torusLodGeometries:j}=(()=>{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:n})=>function(e,t,n=((e,t)=>[e,t,0])){const o=[],i=[],s=1/e,a=1/t;for(let r=0;r<=t;r++)for(let t=0;t<=e;t++){const[e,i,c]=n(t*s,r*a);o.push(e||0,i||0,c||0)}for(let n=1;n<=t;n++)for(let t=1;t<=e;t++){const r=(e+1)*n+t-1,o=(e+1)*(n-1)+t-1,s=(e+1)*(n-1)+t,a=(e+1)*n+t;i.push(r,o,a),i.push(o,s,a)}return{index:new r.Uint16BufferAttribute(i,1),position:new r.Float32BufferAttribute(o,3)}}(n,t,e))}})(),{nutGeometry:$,nutGeometryBoundingBox:G}=(()=>{const e=new r.CylinderBufferGeometry(.5,.5,1,6);try{e.applyMatrix4((new r.Matrix4).makeRotationX(-Math.PI/2));const t={index:e.getIndex(),position:e.getAttribute("position"),normal:e.getAttribute("normal")};return{nutGeometry:t,nutGeometryBoundingBox:(new r.Box3).setFromArray(t.position.array)}}finally{e.dispose()}})();
|
|
120
129
|
/*!
|
|
121
130
|
* Copyright 2021 Cognite AS
|
|
122
131
|
*/
|
|
123
|
-
function
|
|
132
|
+
function U(e,t,n,i){const s=[],a=e.filter(e=>null===i||function(e,t){const{p:n,box:r}=q;r.makeEmpty();for(let t=0;t<e.vertices.length;t+=3)n.set(e.vertices[t+0],e.vertices[t+1],e.vertices[t+2]),r.expandByPoint(n);return t.intersectsBox(r)}
|
|
124
133
|
/*!
|
|
125
134
|
* Copyright 2021 Cognite AS
|
|
126
|
-
*/(e,i));for(const e of a){const i=new
|
|
135
|
+
*/(e,i));for(const e of a){const i=new r.BufferGeometry,a=new r.Uint32BufferAttribute(e.indices.buffer,1).onUpload(o.o),c=new r.Float32BufferAttribute(e.vertices.buffer,3).onUpload(o.o),l=new r.Uint8BufferAttribute(e.colors.buffer,3).onUpload(o.o),d=new r.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 r.Sphere,t.getBoundingSphere(i.boundingSphere);const u=new r.Mesh(i,n);u.name="Triangle mesh "+e.fileId,u.userData.treeIndices=new Map;for(const t of e.treeIndices)Object(o.q)(u.userData.treeIndices,t);s.push(u)}return s}const q={p:new r.Vector3,box:new r.Box3}},function(e,t){e.exports=require("assert")},,function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return l})),n.d(t,"e",(function(){return h})),n.d(t,"f",(function(){return m})),n.d(t,"g",(function(){return f})),n.d(t,"d",(function(){return i}));class r{constructor(e){this.client=e,this.authenticationPromise=e.authenticate()}get headers(){return this.client.getDefaultRequestHeaders()}async getBinaryFile(e,t){const n=`${e}/${t}`,r={...this.client.getDefaultRequestHeaders(),Accept:"*/*"};return(await this.fetchWithRetry(n,{headers:r,method:"GET"}).catch(e=>{throw Error("Could not download binary file")})).arrayBuffer()}async getJsonFile(e,t){return(await this.client.get(`${e}/${t}`).catch(e=>{throw Error("Could not download Json file")})).data}async fetchWithRetry(e,t,n=3){let r;for(let o=0;o<n;o++)try{await this.authenticationPromise;const n=await fetch(e,t);if(401===n.status){this.authenticationPromise=this.client.authenticate();continue}return n}catch(e){void 0!==r&&(r=e)}throw r}}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=n(0);
|
|
127
136
|
/*!
|
|
128
137
|
* Copyright 2021 Cognite AS
|
|
129
|
-
*/!function(e){e.EptPointCloud="ept-pointcloud",e.RevealCadModel="reveal-directory",e.AnyFormat="all-outputs"}(i||(i={}));
|
|
138
|
+
*/!function(e){e.EptPointCloud="ept-pointcloud",e.RevealCadModel="reveal-directory",e.GltfCadModel="gltf-directory",e.AnyFormat="all-outputs"}(i||(i={}));
|
|
130
139
|
/*!
|
|
131
140
|
* Copyright 2021 Cognite AS
|
|
132
141
|
*/
|
|
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)}}
|
|
142
|
+
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:case i.GltfCadModel:e.premultiply(a);break;case i.EptPointCloud:break;default:throw new Error("Unknown model format '"+t)}}
|
|
134
143
|
/*!
|
|
135
144
|
* Copyright 2021 Cognite AS
|
|
136
|
-
*/class l{constructor(e,t,
|
|
145
|
+
*/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:n,revisionId:r}=e,i=await this._client.revisions3D.retrieve(n,r),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:n}=e,r=await this._client.revisions3D.retrieve(t,n);if(r.camera&&r.camera.position&&r.camera.target){const{position:e,target:t}=r.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:n}=e,r=`/api/v1/projects/${this._client.project}/3d/models/${t}/revisions/${n}/outputs`,s=await this._client.get(r,{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
146
|
/*!
|
|
138
147
|
* Copyright 2021 Cognite AS
|
|
139
|
-
*/
|
|
148
|
+
*/var d=n(21);
|
|
140
149
|
/*!
|
|
141
150
|
* Copyright 2021 Cognite AS
|
|
142
|
-
*/
|
|
151
|
+
*/async function u(e){const t=await fetch(e);if(!t.ok){const e={};throw t.headers.forEach((t,n)=>{e[t]=n}),new d.HttpError(t.status,t.body,e)}return t}
|
|
143
152
|
/*!
|
|
144
153
|
* Copyright 2021 Cognite AS
|
|
145
|
-
*/
|
|
154
|
+
*/class h{get headers(){return{}}async getBinaryFile(e,t){return(await u(`${e}/${t}`)).arrayBuffer()}async getJsonFile(e,t){return(await u(`${e}/${t}`)).json()}}
|
|
146
155
|
/*!
|
|
147
156
|
* Copyright 2021 Cognite AS
|
|
148
|
-
*/class
|
|
157
|
+
*/class m{constructor(e){this.revealInternalId=Symbol(e),this.localPath=e}toString(){return`${m.name} (${this.localPath})`}}
|
|
149
158
|
/*!
|
|
150
159
|
* Copyright 2021 Cognite AS
|
|
151
|
-
*/class f{
|
|
160
|
+
*/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 n=await this.getModelUri(e),r=null!==(t=await async function(e){let t;try{t=(await(await u(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}}(n))&&void 0!==t?t:await async function(e){let t;try{t=await(await u(e+"/ept.json")).json()}catch(e){return}return t?Promise.resolve({blobId:-1,format:i.EptPointCloud,version:-1}):void 0}(n);if(r)return[r];throw new Error("Only point cloud or CAD models (version 8 and 9) are supported)")}}
|
|
152
161
|
/*!
|
|
153
162
|
* Copyright 2021 Cognite AS
|
|
154
|
-
*/
|
|
163
|
+
*/},,,function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(14),o=n.n(r),i=n(10);const{VERSION:s,MIXPANEL_TOKEN:a}={VERSION:"3.0.0-beta.0",WORKER_VERSION:"1.3.0",MIXPANEL_TOKEN:"8c900bdfe458e32b768450c20750853d",IS_DEVELOPMENT_MODE:!1};class c{constructor(e,t,n){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",n)}static init(e,t,n,r){if(void 0===globalThis.revealMetricsLogger&&e){const e=new c(t,n,r);globalThis.revealMetricsLogger={metricsLogger:e}}}innerTrackEvent(e,t){const n={...this._sessionProps,...t};o.a.track(e,n)}static trackEvent(e,t){globalThis.revealMetricsLogger&&globalThis.revealMetricsLogger.metricsLogger.innerTrackEvent(e,t)}static trackCreateTool(e){c.trackEvent("toolCreated",{toolName:e})}static trackLoadModel(e,t,n){c.trackEvent("loadModel",{...e,modelIdentifier:t,modelVersion:n})}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
164
|
/*!
|
|
156
165
|
* Copyright 2021 Cognite AS
|
|
157
|
-
*/}
|
|
166
|
+
*/},,function(e,t,n){"use strict";var r=n(26);
|
|
158
167
|
/*!
|
|
159
168
|
* Copyright 2021 Cognite AS
|
|
160
|
-
*/}
|
|
169
|
+
*/t.a=r},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"e",(function(){return a})),n.d(t,"d",(function(){return l})),n.d(t,"c",(function(){return u})),n.d(t,"b",(function(){return h}));var r=n(0);
|
|
161
170
|
/*!
|
|
162
171
|
* Copyright 2021 Cognite AS
|
|
163
|
-
*/
|
|
172
|
+
*/
|
|
173
|
+
const o={centerA:new r.Vector3,centerB:new r.Vector3,sphere:new r.Sphere,box:new r.Box3};function i(e,t,n,r,i,s,a,c){const{centerA:l,centerB:d,sphere:u,box:h}=o;function m(t,n=0){const r=(a*s+t)/e.BYTES_PER_ELEMENT;return e[r+n]}l.set(m(t,0),m(t,1),m(t,2)),d.set(m(n,0),m(n,1),m(n,2));const f=m(r),p=m(i);return u.set(l,f),u.getBoundingBox(c),u.set(d,p),u.getBoundingBox(h),c.expandByPoint(h.min),c.expandByPoint(h.max),c}const s={vertex1:new r.Vector3,vertex2:new r.Vector3,vertex3:new r.Vector3,vertex4:new r.Vector3};function a(e,t,n,r,o,i,a,c){const{vertex1:l,vertex2:d,vertex3:u,vertex4:h}=s;function m(e,t=0){const n=(a*i+e)/o.BYTES_PER_ELEMENT;return o[n+t]}return l.set(m(e,0),m(e,1),m(e,2)),d.set(m(t,0),m(t,1),m(t,2)),u.set(m(n,0),m(n,1),m(n,2)),h.set(m(r,0),m(r,1),m(r,2)),c.setFromPoints([l,d,u,h]),c}const c={instanceMatrix:new r.Matrix4};function l(e,t,n,r,o,i){const{instanceMatrix:s}=c,a=(r*n+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 r.Vector3,size:new r.Vector3};function u(e,t,n,r,o){const{size:i}=d,s=2*Math.max(e,t,n);return i.set(s,s,s),o.setFromCenterAndSize(r,i),o}function h(e,t,n,r,o,i,s,a){const{center:c}=d;function l(e,t=0){const n=(s*i+e.offset)/o.BYTES_PER_ELEMENT;return o[n+t]}const h=l(t),m=l(n),f=l(r);return c.set(l(e,0),l(e,1),l(e,2)),u(h,m,f,c,a)}},function(e,t){e.exports=require("@tweenjs/tween.js")},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0);
|
|
174
|
+
/*!
|
|
175
|
+
* Copyright 2021 Cognite AS
|
|
176
|
+
*/
|
|
177
|
+
function o(e,t,n,o){const i=e.length/t,s=new Float32Array(e.buffer,e.byteOffset,e.byteLength/Float32Array.BYTES_PER_ELEMENT),a=new r.Box3,c=new Uint8Array(e.length);let l=0;for(let r=0;r<i;++r)if(o(r,t,s,a),n.intersectsBox(a)){const n=e.subarray(r*t,(r+1)*t);c.set(n,l*t),l++}return c.slice(0,l*t)}},function(e,t){e.exports=require("mixpanel-browser")},function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var r=n(0);
|
|
164
178
|
/*!
|
|
165
179
|
* Copyright 2021 Cognite AS
|
|
166
180
|
*/
|
|
167
|
-
const o={renderSize:new
|
|
181
|
+
const o={renderSize:new r.Vector2,position:new r.Vector3};function i(e,t,n=new r.Vector3){const{position:i}=o;i.copy(t),i.project(e);const s=(i.x+1)/2,a=(1-i.y)/2;return n.set(s,a,i.z)}function s(e,t,n,s=new r.Vector3){i(t,n,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("lodash/chunk")},function(e,t){e.exports=require("geo-three")},function(e,t){e.exports=require("@cognite/sdk-core")},function(e,t,n){"use strict";var r=n(15);n.d(t,"d",(function(){return r.b}));var o=n(23);n.d(t,"a",(function(){return o.a}));var i=n(1);n.d(t,"c",(function(){return i.l})),n.d(t,"b",(function(){return i.d}));n(5);
|
|
168
182
|
/*!
|
|
169
183
|
* Copyright 2021 Cognite AS
|
|
170
|
-
*/},function(e,t,
|
|
184
|
+
*/},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0);
|
|
171
185
|
/*!
|
|
172
186
|
* Copyright 2021 Cognite AS
|
|
173
187
|
*/
|
|
174
|
-
class o{constructor(e){this._clippingPlanes=[new
|
|
188
|
+
class o{constructor(e){this._clippingPlanes=[new r.Plane,new r.Plane,new r.Plane,new r.Plane,new r.Plane,new r.Plane],this._box=e||new r.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 r.Vector3(1,0,0),new r.Vector3(this.minX,0,0)),this._clippingPlanes[1].setFromNormalAndCoplanarPoint(new r.Vector3(-1,0,0),new r.Vector3(this.maxX,0,0)),this._clippingPlanes[2].setFromNormalAndCoplanarPoint(new r.Vector3(0,1,0),new r.Vector3(0,this.minY,0)),this._clippingPlanes[3].setFromNormalAndCoplanarPoint(new r.Vector3(0,-1,0),new r.Vector3(0,this.maxY,0)),this._clippingPlanes[4].setFromNormalAndCoplanarPoint(new r.Vector3(0,0,1),new r.Vector3(0,0,this.minZ)),this._clippingPlanes[5].setFromNormalAndCoplanarPoint(new r.Vector3(0,0,-1),new r.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("lodash/map")},function(e,t){e.exports=require("skmeans")},,,,,,,,,,,function(e,t){e.exports=require("lodash/merge")},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),n.d(t,"HtmlOverlayTool",(function(){return h})),n.d(t,"ExplodedViewTool",(function(){return f})),n.d(t,"DebugCameraTool",(function(){return p})),n.d(t,"AxisViewTool",(function(){return E})),n.d(t,"Corner",(function(){return g})),n.d(t,"GeomapTool",(function(){return z})),n.d(t,"MapProviders",(function(){return S})),n.d(t,"MapboxMode",(function(){return k})),n.d(t,"MapboxStyle",(function(){return I})),n.d(t,"MapboxImageFormat",(function(){return D})),n.d(t,"BingMapType",(function(){return A})),n.d(t,"BingMapImageFormat",(function(){return T})),n.d(t,"HereMapType",(function(){return N})),n.d(t,"HereMapScheme",(function(){return O})),n.d(t,"HereMapImageFormat",(function(){return F})),n.d(t,"TimelineTool",(function(){return j})),n.d(t,"Keyframe",(function(){return L})),n.d(t,"Cognite3DViewerToolBase",(function(){return i})),n.d(t,"DebugLoadedSectorsTool",(function(){return G}));var r=n(0),o=n(22);
|
|
175
189
|
/*!
|
|
176
190
|
* Copyright 2021 Cognite AS
|
|
177
191
|
*/
|
|
178
192
|
/*!
|
|
179
193
|
* Copyright 2021 Cognite AS
|
|
180
194
|
*/
|
|
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=
|
|
195
|
+
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=n(18),a=n.n(s);
|
|
182
196
|
/*!
|
|
183
197
|
* Copyright 2021 Cognite AS
|
|
184
198
|
*/
|
|
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
|
|
199
|
+
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 n of this.cellsIntersecting(e))n.push({bounds:e,element:t})}*overlappingElements(e){if(!this._bounds.intersectsBox(e))return;const t=new Set;for(const n of this.cellsIntersecting(e))for(const r of n)t.has(r.element)||this._removedElements.has(r.element)||!e.intersectsBox(r.bounds)||(t.add(r.element),yield r.element)}*removeOverlappingElements(e){if(this._bounds.intersectsBox(e))for(const t of this.cellsIntersecting(e))for(let n=0;n<t.length;n++){const r=t[n];!this._removedElements.has(r.element)&&e.intersectsBox(r.bounds)&&(this._removedElements.add(r.element),yield r.element)}}*cellsIntersecting(e){const{min:t,max:n}=this._bounds,o=this._dimensions[0],i=this._dimensions[1],s=(e.min.x-t.x)/(n.x-t.x),a=(e.max.x-t.x)/(n.x-t.x),c=(e.min.y-t.y)/(n.y-t.y),l=(e.max.y-t.y)/(n.y-t.y),d=r.MathUtils.clamp,u=d(Math.floor(o*s),0,o-1),h=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=u;t<=h;++t)yield this._cells[e*o+t]}}var l=n(8),d=n(16),u=n.n(d);
|
|
186
200
|
/*!
|
|
187
201
|
* Copyright 2021 Cognite AS
|
|
188
202
|
*/
|
|
189
|
-
class
|
|
203
|
+
class h extends i{constructor(e,t){super(),this._htmlOverlays=new Map,this._compositeOverlays=[],this._preallocatedVariables={camPos:new r.Vector3,camNormal:new r.Vector3,point:new r.Vector3,nearPlane:new r.Plane,farPlane:new r.Plane,position2D:new r.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=u()(()=>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,n={}){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:n,state:{position2D:new r.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:n,camNormal:r,point:i,nearPlane:s,farPlane:a,position2D:c}=this._preallocatedVariables;e.getWorldPosition(n),e.getWorldDirection(r),i.copy(n).addScaledVector(r,e.near),s.setFromNormalAndCoplanarPoint(r,i),i.copy(n).addScaledVector(r,e.far),a.setFromNormalAndCoplanarPoint(r,i),this._htmlOverlays.forEach((r,i)=>{const{position3D:l,options:{positionUpdatedCallback:d,userData:u},state:h}=r,m=s.distanceToPoint(l)>=0&&a.distanceToPoint(l)<=0,{x:f,y:p}=Object(o.d)(t,e,l);if(m?(h.position2D.set(f,p),h.visible=!0):h.visible=!1,d){c.set(f,p);const e=n.distanceTo(l);d(i,c,l,e,u)}}),this.clusterElements(),this.commitDOMChanges()}updateNewElementSizes(){this._htmlOverlays.forEach((e,t)=>{if(-1===e.state.width){const n=t.getBoundingClientRect();e.state.width=n.width,e.state.height=n.height}})}commitDOMChanges(){const e=this.viewerRenderer.domElement,t=e.offsetLeft,n=e.offsetTop;this._htmlOverlays.forEach((e,r)=>{const{state:o}=e;r.style.left=o.position2D.x+t+"px",r.style.top=o.position2D.y+n+"px",o.visible&&"visible"!==r.style.visibility?function(e){e.style.visibility="visible",e.style.opacity="1",e.style.transition="opacity 0.2s linear"}(r):o.visible||"hidden"===r.style.visibility||function(e){e.style.visibility="hidden",e.style.opacity="0",e.style.transition="visibility 0s 0.2s, opacity 0.2s linear"}(r)}),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,n=(o=t.getBoundingClientRect(),(i=null!=i?i:new r.Box2).min.set(o.left,o.top),i.max.set(o.right,o.bottom),i);var o,i;const s=n.getSize(new r.Vector2);n.set(new r.Vector2(0,0),s);const a=new c(n,[10,10]);for(const[e,t]of this._htmlOverlays.entries()){const{state:r}=t,o=m(t);r.visible&&o.intersectsBox(n)&&a.insert(o,{htmlElement:e,...t})}const l=new r.Box2,d=new r.Vector2;for(const t of this._htmlOverlays.values()){const{state:r}=t;if(m(t,l),!r.visible||!l.intersectsBox(n))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),n=e(o.map(e=>({htmlElement:e.htmlElement,userData:e.options.userData})));o.forEach(e=>e.state.visible=!1),this.addComposite(n,t)}}}addComposite(e,t){const n=this.viewerRenderer.domElement;e.style.visibility="visible",e.style.left=t.x+n.offsetLeft+"px",e.style.top=t.y+n.offsetTop+"px",this._compositeOverlays.push(e)}onSceneRendered(){this.forceUpdate()}onViewerDisposed(){this.dispose()}}function m(e,t){const{state:n}=e;return(t=null!=t?t:new r.Box2).min.set(n.position2D.x,n.position2D.y),t.max.set(n.position2D.x+n.width,n.position2D.y+n.height),t}
|
|
190
204
|
/*!
|
|
191
205
|
* Copyright 2021 Cognite AS
|
|
192
|
-
*/class
|
|
206
|
+
*/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:n,transform:r})=>0===e?(this._cadModel.resetNodeTransformByTreeIndex(t),Promise.resolve(0)):(r.setPosition(n.x*e,n.y*e,n.z*e),this._cadModel.setNodeTransformByTreeIndex(t,r))))}reset(){this._cadModel.resetNodeTransformByTreeIndex(this._rootTreeIndex,!0)}preloadBoundingBoxData(e,t){const n=e.getBoundingBoxByTreeIndex(t).then(e=>e.getCenter(new r.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 r.Vector3)}))));this._treeBoundingBoxdata=Promise.all([n,o]).then(e=>{const[t,n]=e;return n.map(({subTreeIndex:e,subTreeIndexBoundingBoxCenter:n})=>({treeIndex:e,direction:(new r.Vector3).subVectors(n,t),transform:new r.Matrix4}))}).then(async t=>(await Promise.all(t.map(t=>e.setNodeTransformByTreeIndex(t.treeIndex,t.transform))),t))}}
|
|
193
207
|
/*!
|
|
194
208
|
* Copyright 2021 Cognite AS
|
|
195
|
-
*/class
|
|
209
|
+
*/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 r.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=n(17),w=n.n(v),x=n(39),_=n.n(x),b=n(12),y=n.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 r.Color(16711680),tickColor:new r.Color(9737364)},B={label:"",fontSize:void 0,fontColor:new r.Color(3355443),outlineSize:void 0,outlineColor:new r.Color(3355443),faceColor:new r.Color(9737364)},M={size:128,position:{corner:g.BottomRight,padding:new r.Vector2},animationSpeed:200,faces:{xPositiveFace:{...B,label:"Right"},xNegativeFace:{...B,label:"Left"},yPositiveFace:{...B,label:"Up"},yNegativeFace:{...B,label:"Down"},zPositiveFace:{...B,label:"Front"},zNegativeFace:{...B,label:"Back"}},compass:C};
|
|
196
210
|
/*!
|
|
197
211
|
* Copyright 2021 Cognite AS
|
|
198
212
|
*/
|
|
199
|
-
class
|
|
213
|
+
class E extends i{constructor(e,t){super(),this._dynamicUpdatePosition=()=>{},this._updateClickDiv=()=>{},this._screenPosition=new r.Vector2,this._boxFaceGeometry=new r.PlaneGeometry(.85,.85,1,1),this._raycastCamera=new r.OrthographicCamera(-1,1,1,-1,-1,1),this._raycaster=new r.Raycaster,this._viewer=e,this._layoutConfig=_()(w()(M),t),this._axisGroup=new r.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 n=0,r=0;return t.addEventListener("mousedown",t=>{const o=new MouseEvent("mousedown",{clientX:t.clientX,clientY:t.clientY,button:t.button});n=t.clientX,r=t.clientY,e.renderer.domElement.dispatchEvent(o)}),t.addEventListener("mousemove",t=>{const n=new MouseEvent("mousemove",{clientX:t.clientX,clientY:t.clientY,button:t.button});e.renderer.domElement.dispatchEvent(n)}),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(n-t.clientX)+Math.abs(r-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 n=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-n};break;case g.TopRight:this._dynamicUpdatePosition=()=>{this._screenPosition.x=this._viewer.renderer.domElement.clientWidth-t.padding.x-n,this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-n};break;case g.TopLeft:this._screenPosition.x=t.padding.x,this._dynamicUpdatePosition=()=>{this._screenPosition.y=this._viewer.renderer.domElement.clientHeight-t.padding.y-n};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 r.Vector2(n,n))}handleClick(e,t,n){const o=2*(e-this._screenPosition.x)/this._layoutConfig.size-1,i=2*(n.height-t-this._screenPosition.y)/this._layoutConfig.size-1;this._raycaster.setFromCamera({x:o,y:i},this._raycastCamera);const s=new r.Vector3(o,i,1),a=new r.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(l,d),!0}createAxisCross(e){const t=this.createBoxFaces();e.add(...t);const n=this.createCompass();return e.add(n),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 r.Vector3(1,0,0),e.xPositiveFace),this.createBoxFace(new r.Vector3(-1,0,0),e.xNegativeFace),this.createBoxFace(new r.Vector3(0,1,0),e.yPositiveFace,new r.Vector3(0,0,-1)),this.createBoxFace(new r.Vector3(0,-1,0),e.yNegativeFace,new r.Vector3(0,0,1)),this.createBoxFace(new r.Vector3(0,0,1),e.zPositiveFace),this.createBoxFace(new r.Vector3(0,0,-1),e.zNegativeFace)]}createCompass(){const e=new r.PlaneGeometry(2.1,2.1,1,1),t=new r.Mesh(e,new r.MeshBasicMaterial({map:this.createCompassTexture(),side:r.DoubleSide,transparent:!0})),n=Math.sin(this._layoutConfig.compass.labelDelta),o=Math.cos(this._layoutConfig.compass.labelDelta);return t.position.y=-.5,t.up.copy(new r.Vector3(n,0,o)),t.lookAt(0,0,0),t}createCompassTexture(){var e;const t=this._layoutConfig.compass,n=this._layoutConfig.size,o=document.createElement("canvas");o.width=n,o.height=n;const i=o.getContext("2d"),s=n/2,a=s-s/4,c=n/32,l=n/8;if(i.strokeStyle=t.tickColor.getStyle(),i.lineWidth=n/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 r=null!==(e=t.fontSize)&&void 0!==e?e:n/5;i.font=`bold ${r}px Arial`,i.textAlign="center",i.fillStyle=t.fontColor.getStyle(),i.fillText(t.ringLabel,s,s*(1/4)+r/3)}return new r.CanvasTexture(o)}getFaceTexture(e,t){var n,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!==(n=e.outlineSize)&&void 0!==n?n: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 r.CanvasTexture(s)}createBoxFace(e,t,n=new r.Vector3(0,1,0)){const o=new r.Mesh(this._boxFaceGeometry,new r.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=n,o}moveCameraTo(e,t){const n=this._viewer.cameraManager,{position:o,target:i,rotation:s}=n.getCameraState(),a=o.clone().sub(i),c=a.length(),l=a.clone().normalize(),d=Math.acos(l.dot(e)),u={t:0},h=new y.a.Tween(u),m=e.clone(),f=s.clone(),p=(new r.Quaternion).setFromRotationMatrix((new r.Matrix4).makeBasis(t.clone().cross(m),t,m));if(f.angleTo(p)<1e-6)return;const g=new r.Vector3,v=new r.Quaternion;h.to({t:1},this._layoutConfig.animationSpeed).onUpdate(()=>{g.copy(l).multiplyScalar(Math.sin((1-u.t)*d)/Math.sin(d)).add(e.clone().multiplyScalar(Math.sin(u.t*d)/Math.sin(d))),g.multiplyScalar(c),g.add(i),v.slerpQuaternions(f,p,u.t),n.setCameraState({position:g,rotation:v})}).onComplete(()=>{n.setCameraState({position:g,target:i})}).start(y.a.now()).update(y.a.now())}}var S,k,I,P,D,A,T,N,O,F,R=n(20);
|
|
200
214
|
/*!
|
|
201
215
|
* Copyright 2021 Cognite AS
|
|
202
|
-
*/!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(
|
|
216
|
+
*/!function(e){e.BingMap="BingMap",e.HereMap="HereMap",e.MapboxMap="MapboxMap",e.OpenStreetMap="OpenStreetMap"}(S||(S={})),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"}(O||(O={})),function(e){e.PNG="png",e.PNG8="png8",e.JPG="jpg"}(F||(F={}));
|
|
203
217
|
/*!
|
|
204
218
|
* Copyright 2021 Cognite AS
|
|
205
219
|
*/
|
|
206
|
-
class V{constructor(e,t){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const
|
|
220
|
+
class V{constructor(e,t){this._intervalId=0,this._onCameraChange=this.handleCameraChange.bind(this),this._viewer=e;const n=this.getMapProvider(t);this._map=new R.MapView(R.MapView.PLANAR,n,n),this._viewer.addObject3D(this._map);const r=R.UnitsUtils.datumsToSpherical(t.latlong.latitude,t.latlong.longitude),o=this._viewer.models[0].getModelBoundingBox();this._map.position.set(-r.x,o.min.y,r.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 S.BingMap:t=new R.BingMapsProvider(e.APIKey,e.type);break;case S.HereMap:t=new R.HereMapsProvider(e.APIKey,e.appCode,e.style,e.scheme,e.imageFormat,e.size);break;case S.MapboxMap:t=new R.MapBoxProvider(e.APIKey,e.id,e.mode,e.tileFormat);break;case S.OpenStreetMap:t=new R.OpenStreetMapsProvider;break;default:throw new Error("Unsupported map provider")}return t}latLongToWorldCoordinates(e){return R.UnitsUtils.datumsToSpherical(e.latitude,e.longitude)}handleCameraChange(){this.requestRedraw(1e3)}dispose(){this._viewer.removeObject3D(this._map),this._viewer.off("cameraChange",this._onCameraChange)}}
|
|
207
221
|
/*!
|
|
208
222
|
* Copyright 2021 Cognite AS
|
|
209
223
|
*/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
224
|
/*!
|
|
211
225
|
* Copyright 2021 Cognite AS
|
|
212
|
-
*/class
|
|
226
|
+
*/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 n=this._nodeCollectionAndAppearance.findIndex(t=>t.nodes===e);-1!==n?this._nodeCollectionAndAppearance[n].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
227
|
/*!
|
|
214
228
|
* 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
|
|
229
|
+
*/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,n){this.stop();const r={dateInMs:e.getTime()},o={dateInMs:t.getTime()},i=new y.a.Tween(r).to(o,n);let s=-1;i.onUpdate(()=>{const n=new Date(r.dateInMs),o=s;for(;s<this._keyframes.length-1&&this._keyframes[s+1].getKeyframeDate().getTime()<=n.getTime();)s++;s!==o&&(-1!==o&&this._keyframes[o].deactivate(),this._keyframes[s].activate()),this._events.dateChanged.fire({date:n,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 $=n(2);
|
|
216
230
|
/*!
|
|
217
231
|
* Copyright 2021 Cognite AS
|
|
218
232
|
*/
|
|
219
233
|
/*!
|
|
220
234
|
* Copyright 2021 Cognite AS
|
|
221
|
-
*/class G extends i{constructor(e,t={}){super(),this._boundingBoxes=new
|
|
235
|
+
*/class G extends i{constructor(e,t={}){super(),this._boundingBoxes=new r.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(n=>{if(q(n)){const r=n;this.isSectorAcceptedByCurrentFilter(r)&&e[r.levelOfDetail]&&(!this._options.leafsOnly||function(e){return!e.children.some(e=>q(e))}
|
|
222
236
|
/*!
|
|
223
237
|
* Copyright 2021 Cognite AS
|
|
224
238
|
*/
|
|
225
239
|
/*!
|
|
226
240
|
* Copyright 2021 Cognite AS
|
|
227
|
-
*/(
|
|
241
|
+
*/(r))&&t.push(r)}}),t.forEach(e=>{const n=this.createBboxNodeFor(e,t);this._boundingBoxes.add(n)}),this._boundingBoxes.updateMatrixWorld(!0),this._viewer.requestRedraw()}isSectorAcceptedByCurrentFilter(e){return new RegExp(this._options.sectorPathFilterRegex).test(e.sectorPath)}createBboxNodeFor(e,t){const n=this._options,i=this._model.cadNode.sectorScene;const s=function(){switch(n.colorBy){case"depth":{const t=Math.min(1,e.depth/8);return new r.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 r.Color).setHSL(Math.random(),1,.5);case"loadedTimestamp":{const n=[...t].sort((e,t)=>e.updatedTimestamp-t.updatedTimestamp),o=n.findIndex(t=>t===e),i=(n.length-1-o)/Math.max(n.length-1,1);return new r.Color(U.green).lerpHSL(U.red,i)}case"drawcalls":{const[n,o]=t.reduce(([e,t],n)=>{const r=i.getSectorById(n.sectorId);return[Math.min(e,r.estimatedDrawCallCount),Math.max(t,r.estimatedDrawCallCount)]},[1/0,-1/0]),s=(i.getSectorById(e.sectorId).estimatedDrawCallCount-n)/(o-n);return new r.Color(U.green).lerpHSL(U.red,s)}default:Object(o.c)(n.colorBy)}}();return new r.Box3Helper(e.bounds,s)}}const U={green:new r.Color("#00ff00"),yellow:new r.Color("yellow"),red:new r.Color("red")};function q(e){return e.name.match(/^Sector \d+$/)}}])}));
|
|
228
242
|
//# sourceMappingURL=tools.map
|