importdefaultValuefrom"../../Core/defaultValue.js";importdefinedfrom"../../Core/defined.js";importdestroyObjectfrom"../../Core/destroyObject.js";importDeveloperErrorfrom"../../Core/DeveloperError.js";importEventHelperfrom"../../Core/EventHelper.js";importFullscreenfrom"../../Core/Fullscreen.js";importOrthographicFrustumfrom"../../Core/OrthographicFrustum.js";importknockoutfrom"../../ThirdParty/knockout.js";importNoSleepfrom"../../ThirdParty/nosleep.js";importcreateCommandfrom"../createCommand.js";importgetElementfrom"../getElement.js";functionlockScreen(e){lett=!1;consto=window.screen;returndefined(o)&&(defined(o.lockOrientation)?t=o.lockOrientation(e):defined(o.mozLockOrientation)?t=o.mozLockOrientation(e):defined(o.msLockOrientation)?t=o.msLockOrientation(e):defined(o.orientation&&o.orientation.lock)&&(t=o.orientation.lock(e))),t}functionunlockScreen(){conste=window.screen;defined(e)&&(defined(e.unlockOrientation)?e.unlockOrientation():defined(e.mozUnlockOrientation)?e.mozUnlockOrientation():defined(e.msUnlockOrientation)?e.msUnlockOrientation():defined(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}functiontoggleVR(e,t,o,n){n()||(o()?(t.useWebVR=!1,e._locked&&(unlockScreen(),e._locked=!1),e._noSleep.disable(),Fullscreen.exitFullscreen(),o(!1)):(Fullscreen.fullscreen||Fullscreen.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=lockScreen("landscape")),t.useWebVR=!0,o(!0)))}functionVRButtonViewModel(e,t){if(!defined(e))thrownewDeveloperError("scene is required.");consto=this,n=knockout.observable(Fullscreen.enabled),r=knockout.observable(!1);this.isVRMode=void0,knockout.defineProperty(this,"isVRMode",{get:function(){returnr()}}),this.isVREnabled=void0,knockout.defineProperty(this,"isVREnabled",{get:function(){returnn()},set:function(e){n(e&&Fullscreen.enabled)}}),this.tooltip=void0,knockout.defineProperty(this,"tooltip",(function(){returnn()?r()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"}));consti=knockout.observable(!1);this._isOrthographic=void0,knockout.defineProperty(this,"_isOrthographic",{get:function(){returni()}}),this._eventHelper=newEventHelper,this._eventHelper.add(e.preRender,(function(){i(e.camera.frustuminstanceofOrthographicFrustum)})),this._locked=!1,this._noSleep=newNoSleep,this._command=createCommand((function(){toggleVR(o,e,r,i)}),knockout.getObservable(this,"isVREnabled")),this._vrElement=defaultValue(getElement(t),document.body),this._callback=function(){!Fullscreen.fullscreen&&r()&&(e.useWebVR=!1,o._locked&&(unlockScreen(),o._locked=!1),o._noSleep.disable(),r(!1))},document.addEventListener(Fullscreen.changeEventName,this._callback)}Object.defineProperties(VRButtonViewModel.prototype,{vrElement:{get:function(){returnthis._vrElement},set:function(e){if(!(einstanceofElement))thrownewDeveloperError("value must be a valid Element.");this._vrElement=e}},command:{get:function(){returnthis._command}}}),VRButtonViewModel.prototype.isDestroyed=function(){return!1},VRButtonViewModel.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(Fullscreen.changeEventName,this._callback),destroyObject(this)};exportdefaultVRButtonViewModel;
importBoundingSpherefrom"../../Core/BoundingSphere.js";importCartesian3from"../../Core/Cartesian3.js";importCartographicfrom"../../Core/Cartographic.js";importClockfrom"../../Core/Clock.js";importdefaultValuefrom"../../Core/defaultValue.js";importdeferfrom"../../Core/defer.js";importdefinedfrom"../../Core/defined.js";importdestroyObjectfrom"../../Core/destroyObject.js";importDeveloperErrorfrom"../../Core/DeveloperError.js";importEventfrom"../../Core/Event.js";importEventHelperfrom"../../Core/EventHelper.js";importHeadingPitchRangefrom"../../Core/HeadingPitchRange.js";importMatrix4from"../../Core/Matrix4.js";importScreenSpaceEventTypefrom"../../Core/ScreenSpaceEventType.js";importBoundingSphereStatefrom"../../DataSources/BoundingSphereState.js";importConstantPositionPropertyfrom"../../DataSources/ConstantPositionProperty.js";importDataSourceCollectionfrom"../../DataSources/DataSourceCollection.js";importDataSourceDisplayfrom"../../DataSources/DataSourceDisplay.js";importEntityfrom"../../DataSources/Entity.js";importEntityViewfrom"../../DataSources/EntityView.js";importPropertyfrom"../../DataSources/Property.js";importCesium3DTilesetfrom"../../Scene/Cesium3DTileset.js";importcomputeFlyToLocationForRectanglefrom"../../Scene/computeFlyToLocationForRectangle.js";importImageryLayerfrom"../../Scene/ImageryLayer.js";importSceneModefrom"../../Scene/SceneMode.js";importTimeDynamicPointCloudfrom"../../Scene/TimeDynamicPointCloud.js";importknockoutfrom"../../ThirdParty/knockout.js";importAnimationfrom"../Animation/Animation.js";importAnimationViewModelfrom"../Animation/AnimationViewModel.js";importBaseLayerPickerfrom"../BaseLayerPicker/BaseLayerPicker.js";importcreateDefaultImageryProviderViewModelsfrom"../BaseLayerPicker/createDefaultImageryProviderViewModels.js";importcreateDefaultTerrainProviderViewModelsfrom"../BaseLayerPicker/createDefaultTerrainProviderViewModels.js";importCesiumWidgetfrom"../CesiumWidget/CesiumWidget.js";importClockViewModelfrom"../ClockViewModel.js";importFullscreenButtonfrom"../FullscreenButton/FullscreenButton.js";importGeocoderfrom"../Geocoder/Geocoder.js";importgetElementfrom"../getElement.js";importHomeButtonfrom"../HomeButton/HomeButton.js";importInfoBoxfrom"../InfoBox/InfoBox.js";importNavigationHelpButtonfrom"../NavigationHelpButton/NavigationHelpButton.js";importProjectionPickerfrom"../ProjectionPicker/ProjectionPicker.js";importSceneModePickerfrom"../SceneModePicker/SceneModePicker.js";importSelectionIndicatorfrom"../SelectionIndicator/SelectionIndicator.js";importsubscribeAndEvaluatefrom"../subscribeAndEvaluate.js";importTimelinefrom"../Timeline/Timeline.js";importVRButtonfrom"../VRButton/VRButton.js";importCesium3DTileFeaturefrom"../../Scene/Cesium3DTileFeature.js";importJulianDatefrom"../../Core/JulianDate.js";importCesiumMathfrom"../../Core/Math.js";constboundingSphereScratch=newBoundingSphere;functiononTimelineScrubfunction(e){constt=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}functiongetCesium3DTileFeatureDescription(e){constt=e.getPropertyIds();leti="";returnt.forEach((function(t){consto=e.getProperty(t);defined(o)&&(i+=`<tr><th>${t}</th><td>${o}</td></tr>`)})),i.length>0&&(i=`<table class="cesium-infoBox-defaultTable"><tbody>${i}</tbody></table>`),i}functiongetCesium3DTileFeatureName(e){lett;consti=[],o=e.getPropertyIds();for(t=0;t<o.length;t++){constn=o[t];/^name$/i.test(n)?i[0]=e.getProperty(n):/name/i.test(n)?i[1]=e.getProperty(n):/^title$/i.test(n)?i[2]=e.getProperty(n):/^(id|identifier)$/i.test(n)?i[3]=e.getProperty(n):/element/i.test(n)?i[4]=e.getProperty(n):/(id|identifier)$/i.test(n)&&(i[5]=e.getProperty(n))}constn=i.length;for(t=0;t<n;t++){conste=i[t];if(defined(e)&&""!==e)returne}return"Unnamed Feature"}functionpickEntity(e,t){consti=e.scene.pick(t.position);if(defined(i)){conste=defaultValue(i.id,i.primitive.id);if(einstanceofEntity)returne;if(iinstanceofCesium3DTileFeature)returnnewEntity({name:getCesium3DTileFeatureName(i),description:getCesium3DTileFeatureDescription(i),feature:i})}if(defined(e.scene.globe))returnpickImageryLayerFeature(e,t.position)}constscratchStopTime=newJulianDate;functiontrackDataSourceClock(e,t,i){if(defined(i)){consto=i.clock;if(defined(o)&&(o.getValue(t),defined(e))){constt=o.startTime;leti=o.stopTime;JulianDate.equals(t,i)&&(i=JulianDate.addSeconds(t,CesiumMath.EPSILON2,scratchStopTime)),e.updateFromClock(),e.zoomTo(t,i)}}}constcartesian3Scratch=newCartesian3;functionpickImageryLayerFeature(e,t){consti=e.scene,o=i.camera.getPickRay(t),n=i.imageryLayers.pickImageryLayerFeatures(o,i);if(!defined(n))return;constr=newEntity({id:"Loading...",description:"Loading feature information..."});returnn.then((function(t){if(e.selectedEntity!==r)return;if(!defined(t)||0===t.length)returnvoid(e.selectedEntity=createNoFeaturesEntity());consti=t[0],o=newEntity({id:i.name,description:i.description});if(defined(i.position)){constt=e.scene.globe.ellipsoid.cartographicToCartesian(i.position,cartesian3Scratch);o.position=newConstantPositionProperty(t)}e.selectedEntity=o}),(function(){e.selectedEntity===r&&(e.selectedEntity=createNoFeaturesEntity())})),r}functioncreateNoFeaturesEntity(){returnnewEntity({id:"None",description:"No features found."})}functionenableVRUI(e,t){consti=e._geocoder,o=e._homeButton,n=e._sceneModePicker,r=e._projectionPicker,s=e._baseLayerPicker,a=e._animation,c=e._timeline,d=e._fullscreenButton,l=e._infoBox,u=e._selectionIndicator,m=t?"hidden":"visible";if(defined(i)&&(i.container.style.visibility=m),defined(o)&&(o.container.style.visibility=m),defined(n)&&(n.container.style.visibility=m),defined(r)&&(r.container.style.visibility=m),defined(s)&&(s.container.style.visibility=m),defined(a)&&(a.container.style.visibility=m),defined(c)&&(c.container.style.visibility=m),defined(d)&&d.viewModel.isFullscreenEnabled&&(d.container.style.visibility=m),defined(l)&&(l.container.style.visibility=m),defined(u)&&(u.container.style.visibility=m),e._container){consti=t||!defined(d)?0:d.container.clientWidth;e._vrButton.container.style.right=`${i}px`,e.forceResize()}}functionViewer(e,t){if(!defined(e))thrownewDeveloperError("container is required.");e=getElement(e),t=defaultValue(t,defaultValue.EMPTY_OBJECT);consti=(!defined(t.globe)||!1!==t.globe)&&(!defined(t.baseLayerPicker)||!1!==t.baseLayerPicker);if(!i&&defined(t.selectedImageryProviderViewModel))thrownewDeveloperError("options.selectedImageryProviderViewModel is not available when not using the BaseLayerPicker widget. Either specify options.imageryProvider instead or set options.baseLayerPicker to true.");if(!i&&defined(t.selectedTerrainProviderViewModel))thrownewDeveloperError("options.selectedTerrainProviderViewModel is not available when not using the BaseLayerPicker widget. Either specify options.terrainProvider instead or set options.baseLayerPicker to true.");consto=this,n=document.createElement("div");n.className="cesium-viewer",e.appendChild(n);constr=document.createElement("div");r.className="cesium-viewer-cesiumWidgetContainer",n.appendChild(r);consts=document.createElement("div");s.className="cesium-viewer-bottom",n.appendChild(s);consta=defaultValue(t.scene3DOnly,!1);letc,d,l=!1;defined(t.clockViewModel)?(d=t.clockViewModel,c=d.clock):(c=newClock,d=newClockViewModel(c),l=!0),defined(t.shouldAnimate)&&(c.shouldAnimate=t.shouldAnimate);constu=newCesiumWidget(r,{imageryProvider:!i&&!defined(t.imageryProvider)&&void0,clock:c,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:defined(t.creditContainer)?t.creditContainer:s,creditViewport:t.creditViewport,scene3DOnly:a,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});letm=t.dataSources,h=!1;defined(m)||(m=newDataSourceCollection,h=!0);constf=u.scene,p=newDataSourceDisplay({scene:f,dataSourceCollection:m}),y=newEventHelper;letg,_;if(y.add(c.onTick,Viewer.prototype._onTick,this),y.add(f.morphStart,Viewer.prototype._clearTrackedObject,this),!defined(t.selectionIndicator)||!1!==t.selectionIndicator){conste=document.createElement("div");e.className="cesium-viewer-selectionIndicatorContainer",n.appendChild(e),g=newSelectionIndicator(e,f)}if(!defined(t.infoBox)||!1!==t.infoBox){conste=document.createElement("div");e.className="cesium-viewer-infoBoxContainer",n.appendChild(e),_=newInfoBox(e);constt=_.viewModel;y.add(t.cameraClicked,Viewer.prototype._onInfoBoxCameraClicked,this),y.add(t.closeClicked,Viewer.prototype._onInfoBoxClockClicked,this)}constv=document.createElement("div");letS,w,k,E,C,T,P,D,B,b,V,M,I,j,L;if(v.className="cesium-viewer-toolbar",n.appendChild(v),!defined(t.geocoder)||!1!==t.geocoder){conste=document.createElement("div");leti;e.className="cesium-viewer-geocoderContainer",v.appendChild(e),defined(t.geocoder)&&"boolean"!==typeoft.geocoder&&(i=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),S=newGeocoder({container:e,geocoderServices:i,scene:f}),y.add(S.viewModel.search.beforeExecute,Viewer.prototype._clearObjects,this)}if(defined(t.homeButton)&&!1===t.homeButton||(w=newHomeButton(v,f),defined(S)&&y.add(w.viewModel.command.afterExecute,(function(){conste=S.viewModel;e.searchText="",e.isSearchInProgress&&e.search()})),y.add(w.viewModel.command.beforeExecute,Viewer.prototype._clearTrackedObject,this)),!0===t.sceneModePicker&&a)thrownewDeveloperError("options.sceneModePicker is not available when options.scene3DOnly is set to true.");if(a||defined(t.sceneModePicker)&&!1===t.sceneModePicker||(k=newSceneModePicker(v,f)),t.projectionPicker&&(E=newProjectionPicker(v,f)),i){conste=defaultValue(t.imageryProviderViewModels,createDefaultImageryProviderViewModels()),i=defaultValue(t.terrainProviderViewModels,createDefaultTerrainProviderViewModels());C=newBaseLayerPicker(v,{globe:f.globe,imageryProviderViewModels:e,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:i,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel});consto=v.getElementsByClassName("cesium-baseLayerPicker-dropDown");T=o[0]}if(defined(t.imageryProvider)&&!1!==t.imageryProvider&&(i&&(C.viewModel.selectedImagery=void0),f.imageryLayers.removeAll(),f.imageryLayers.addImageryProvider(t.imageryProvider)),defined(t.terrainProvider)&&(i&&(C.viewModel.selectedTerrain=void0),f.terrainProvider=t.terrainProvider),!defined(t.navigationHelpButton)||!1!==t.navigationHelpButton){lete=!0;try{if(defined(window.localStorage)){constt=window.localStorage.getItem("cesium-hasSeenNavHelp");defined(t)&&Boolean(t)?e=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch(z){}P=newNavigationHelpButton({container:v,instructionsInitiallyVisible:defaultValue(t.navigationInstructionsInitiallyVisible,e)})}if(!defined(t.animation)||!1!==t.animation){conste=document.createElement("div");e.className="cesium-viewer-animationContainer",n.appendChild(e),D=newAnimation(e,newAnimationViewModel(d))}if(!defined(t.timeline)||!1!==t.timeline){conste=document.createElement("div");e.className="cesium-viewer-timelineContainer",n.appendChild(e),B=newTimeline(e,c),B.addEventListener("settime",onTimelineScrubfunction,!1),B.zoomTo(c.startTime,c.stopTime)}if(defined(t.fullscreenButton)&&!1===t.fullscreenButton||(M=document.createElement("div"),M.className="cesium-viewer-fullscreenContainer",n.appendChild(M),b=newFullscreenButton(M,t.fullscreenElement),V=subscribeAndEvaluate(b.viewModel,"isFullscreenEnabled",(function(e){M.style.display=e?"block":"none",defined(B)&&(B.container.style.right=`${M.clientWidth}px`,B.resize())}))),t.vrButton){conste=document.createElement("div");e.className="cesium-viewer-vrContainer",n.appendChild(e),I=newVRButton(e,f,t.fullScreenElement),j=subscribeAndEvaluate(I.viewModel,"isVREnabled",(function(t){e.style.display=t?"block":"none",defined(b)&&(e.style.right=`${M.clientWidth}px`),defined(B)&&(B.container.style.right=`${e.clientWidth}px`,B.resize())})),L=subscribeAndEvaluate(I.viewModel,"isVRMode",(function(e){enableVRUI(o,e)}))}this._baseLayerPickerDropDown=T,this._fullscreenSubscription=V,this._vrSubscription=j,this._vrModeSubscription=L,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=defaultValue(t.automaticallyTrackDataSourceClocks,!0),this._container=e,this._bottomContainer=s,this._element=n,this._cesiumWidget=u,this._selectionIndicator=g,this._infoBox=_,this._dataSourceCollection=m,this._destroyDataSourceCollection=h,this._dataSourceDisplay=p,this._clockViewModel=d,this._destroyClockViewModel=l,this._toolbar=v,this._homeButton=w,this._sceneModePicker=k,this._projectionPicker=E,this._baseLayerPicker=C,this._navigationHelpButton=P,this._animation=D,this._timeline=B,this._fullscreenButton=b,this._vrButton=I,this._geocoder=S,this._eventHelper=y,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void0,this._enableInfoOrSelection=defined(_)||defined(g),this._clockTrackedDataSource=void0,this._trackedEntity=void0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void0,this._zoomIsFlight=!1,this._zoomTarget=void0,this._zoomPromise=void0,this._zoomOptions=void0,this._selectedEntityChanged=newEvent,this._trackedEntityChanged=newEvent,knockout.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),y.add(m.dataSourceAdded,Viewer.prototype._onDataSourceAdded,this),y.add(m.dataSourceRemoved,Viewer.prototype._onDataSourceRemoved,this),y.add(f.postUpdate,Viewer.prototype.resize,this),y.add(f.postRender,Viewer.prototype._postRender,this);constx=m.length;for(letF=0;F<x;F++)this._dataSourceAdded(m,m.get(F));functionR(e){constt=pickEntity(o,e);defined(t)?Property.getValueOrUndefined(t.position,o.clock.currentTime)?o.trackedEntity=t:o.zoomTo(t):defined(o.trackedEntity)&&(o.trackedEntity=void0)}functionA(e){o.selectedEntity=pickEntity(o,e)}this._dataSourceAdded(void0,p.defaultDataSource),y.add(m.dataSourceAdded,Viewer.prototype._dataSourceAdded,this),y.add(m.dataSourceRemoved,Viewer.prototype._dataSourceRemoved,this),u.screenSpaceEventHandler.setInputAction(A,ScreenSpaceEventType.LEFT_CLICK),u.screenSpaceEventHandler.setInputAction(R,ScreenSpaceEventType.LEFT_DOUBLE_CLICK)}functionzoomToOrFly(e,t,i,o){if(!defined(t))thrownewDeveloperError("zoomTarget is required.");cancelZoom(e);constn=defer();returne._zoomPromise=n,e._zoomIsFlight=o,e._zoomOptions=i,Promise.resolve(t).then((function(t){if(e._zoomPromise===n)if(tinstanceofImageryLayer)t.getViewableRectangle().then((function(t){returncomputeFlyToLocationForRectangle(t,e.scene)})).then((function(t){e._zoomPromise===n&&(e._zoomTarget=t)}));elseif(tinstanceofCesium3DTileset)e._zoomTarget=t;elseif(tinstanceofTimeDynamicPointCloud)e._zoomTarget=t;elseif(t.isLoading&&defined(t.loadingEvent)){consti=t.loadingEvent.addEventListener((function(){i(),e._zoomPromise===n&&(e._zoomTarget=t.entities.values.slice(0))}))}elseArray.isArray(t)?e._zoomTarget=t.slice(0):(t=defaultValue(t.values,t),defined(t.entities)&&(t=t.entities.values),Array.isArray(t)?e._zoomTarget=t.slice(0):e._zoomTarget=[t])})),e.scene.requestRender(),n.promise}functionclearZoom(e){e._zoomPromise=void0,e._zoomTarget=void0,e._zoomOptions=void0}functioncancelZoom(e){constt=e._zoomPromise;defined(t)&&(clearZoom(e),t.resolve(!1))}functionupdateZoomTarget(e){constt=e._zoomTarget;if(!defined(t)||e.scene.mode===SceneMode.MORPHING)return;consti=e.scene,o=i.camera,n=e._zoomPromise,r=defaultValue(e._zoomOptions,{});lets;if(tinstanceofCesium3DTileset)returnt.readyPromise.then((function(){consti=t.boundingSphere;defined(r.offset)||(r.offset=newHeadingPitchRange(0,-.5,i.radius)),s={offset:r.offset,duration:r.duration,maximumHeight:r.maximumHeight,complete:function(){n.resolve(!0)},cancel:function(){n.resolve(!1)}},e._zoomIsFlight?o.flyToBoundingSphere(t.boundingSphere,s):(o.viewBoundingSphere(i,r.offset),o.lookAtTransform(Matrix4.IDENTITY),n.resolve(!0)),clearZoom(e)}));if(tinstanceofTimeDynamicPointCloud)returnt.readyPromise.then((function(){consti=t.boundingSphere;defined(r.offset)||(r.offset=newHeadingPitchRange(0,-.5,i.radius)),s={offset:r.offset,duration:r.duration,maximumHeight:r.maximumHeight,complete:function(){n.resolve(!0)},cancel:function(){n.resolve(!1)}},e._zoomIsFlight?o.flyToBoundingSphere(i,s):(o.viewBoundingSphere(i,r.offset),o.lookAtTransform(Matrix4.IDENTITY),n.resolve(!0)),clearZoom(e)}));if(tinstanceofCartographic)returns={destination:i.mapProjection.ellipsoid.cartographicToCartesian(t),duration:r.duration,maximumHeight:r.maximumHeight,complete:function(){n.resolve(!0)},cancel:function(){n.resolve(!1)}},e._zoomIsFlight?o.flyTo(s):(o.setView(s),n.resolve(!0)),voidclearZoom(e);consta=t,c=[];for(letl=0,u=a.length;l<u;l++){constt=e._dataSourceDisplay.getBoundingSphere(a[l],!1,boundingSphereScratch);if(t===BoundingSphereState.PENDING)return;t!==BoundingSphereState.FAILED&&c.push(BoundingSphere.clone(boundingSphereScratch))}if(0===c.length)returnvoidcancelZoom(e);e.trackedEntity=void0;constd=BoundingSphere.fromBoundingSpheres(c);e._zoomIsFlight?(clearZoom(e),o.flyToBoundingSphere(d,{duration:r.duration,maximumHeight:r.maximumHeight,complete:function(){n.resolve(!0)},cancel:function(){n.resolve(!1)},offset:r.offset})):(o.viewBoundingSphere(d,r.offset),o.lookAtTransform(Matrix4.IDENTITY),clearZoom(e),n.resolve(!0))}functionupdateTrackedEntity(e){if(!e._needTrackedEntityUpdate)return;constt=e._trackedEntity,i=e.clock.currentTime,o=Property.getValueOrUndefined(t.position,i);if(!defined(o))return;constn=e.scene,r=e._dataSourceDisplay.getBoundingSphere(t,!1,boundingSphereScratch);if(r===BoundingSphereState.PENDING)return;consts=n.mode;s!==SceneMode.COLUMBUS_VIEW&&s!==SceneMode.SCENE2D||(n.screenSpaceCameraController.enableTranslate=!1),s!==SceneMode.COLUMBUS_VIEW&&s!==SceneMode.SCENE3D||(n.screenSpaceCameraController.enableTilt=!1);consta=r!==BoundingSphereState.FAILED?boundingSphereScratch:void0;e._entityView=newEntityView(t,n,n.mapProjection.ellipsoid),e._entityView.update(i,a),e._needTrackedEntityUpdate=!1}Object.defineProperties(Viewer.prototype,{container:{get:function(){returnthis._container}},bottomContainer:{get:function(){returnthis._bottomContainer}},cesiumWidget:{get:function(){returnthis._cesiumWidget}},selectionIndicator:{get:function(){returnthis._selectionIndicator}},infoBox:{get:function(){returnthis._infoBox}},geocoder:{get:function(){returnthis._geocoder}},homeButton:{get:function(){returnthis._homeButton}},sceneModePicker:{get:function(){returnthis._sceneModePicker}},projectionPicker:{get:function(){returnthis._projectionPicker}},baseLayerPicker:{get:function(){returnthis._baseLayerPicker}},navigationHelpButton:{get:function(){returnthis._navigationHelpButton}},animation:{get:function(){returnthis._animation}},timeline:{get:function(){returnthis._timeline}},fullscreenButton:{get:function(){returnthis._fullscreenButton}},vrButton:{get:function(){returnthis._vrButton}},dataSourceDisplay:{get:function(){returnthis._dataSourceDisplay}},entities:{get:function(){returnthis._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){returnthis._dataSourceCollection}},canvas:{get:function(){returnthis._cesiumWidget.canvas}},scene:{get:function(){returnthis._cesiumWidget.scene}},shadows:{get:function(){returnthis.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){returnthis.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){returnthis.scene.shadowMap}},imageryLayers:{get:function(){returnthis.scene.imageryLayers}},terrainProvider:{get:function(){returnthis.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){returnthis.scene.camera}},postProcessStages:{get:function(){returnthis.scene.postProcessStages}},clock:{get:function(){returnthis._clockViewModel.clock}},clockViewModel:{get:function(){returnthis._clockViewModel}},screenSpaceEventHandler:{get:function(){returnthis._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){returnthis._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){returnthis._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){returnthis._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){returnthis._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){returnthis._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){returnthis._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,cancelZoom(this);constt=this.scene,i=t.mode;defined(e)&&defined(e.position)?this._needTrackedEntityUpdate=!0:(this._needTrackedEntityUpdate=!1,i!==SceneMode.COLUMBUS_VIEW&&i!==SceneMode.SCENE2D||(t.screenSpaceCameraController.enableTranslate=!0),i!==SceneMode.COLUMBUS_VIEW&&i!==SceneMode.SCENE3D||(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void0,this.camera.lookAtTransform(Matrix4.IDENTITY)),this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},selectedEntity:{get:function(){returnthis._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;constt=defined(this._selectionIndicator)?this._selectionIndicator.viewModel:void0;defined(e)?defined(t)&&t.animateAppear():defined(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){returnthis._selectedEntityChanged}},trackedEntityChanged:{get:function(){returnthis._trackedEntityChanged}},clockTrackedDataSource:{get:function(){returnthis._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,trackDataSourceClock(this._timeline,this.clock,e))}}}),Viewer.prototype.extend=function(e,t){if(!defined(e))thrownewDeveloperError("mixin is required.");e(this,t)},Viewer.prototype.resize=function(){conste=this._cesiumWidget,t=this._container,i=t.clientWidth,o=t.clientHeight,n=defined(this._animation),r=defined(this._timeline);if(e.resize(),i===this._lastWidth&&o===this._lastHeight)return;consts=o-125,a=this._baseLayerPickerDropDown;if(defined(a)&&(a.style.maxHeight=`${s}px`),defined(this._geocoder)){conste=this._geocoder.searchSuggestionsContainer;e.style.maxHeight=`${s}px`}defined(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);constc=this._timeline;letd,l=0,u=0,m=0;if(n&&"hidden"!==window.getComputedStyle(this._animation.container).visibility){conste=this._lastWidth;d=this._animation.container,i>900?(l=169,e<=900&&(d.style.width="169px",d.style.height="112px",this._animation.resize())):i>=600?(l=136,(e<600||e>900)&&(d.style.width="136px",d.style.height="90px",this._animation.resize())):(l=106,(e>600||0===e)&&(d.style.width="106px",d.style.height="70px",this._animation.resize())),u=l+5}if(r&&"hidden"!==window.getComputedStyle(this._timeline.container).visibility){conste=this._fullscreenButton,t=this._vrButton,i=c.container,o=i.style;m=i.clientHeight+3,o.left=`${l}px`;letn=0;defined(e)&&(n+=e.container.clientWidth),defined(t)&&(n+=t.container.clientWidth),o.right=`${n}px`,c.resize()}this._bottomContainer.style.left=`${u}px`,this._bottomContainer.style.bottom=`${m}px`,this._lastWidth=i,this._lastHeight=o},Viewer.prototype.forceResize=function(){this._lastWidth=0,this.resize()},Viewer.prototype.render=function(){this._cesiumWidget.render()},Viewer.prototype.isDestroyed=function(){return!1},Viewer.prototype.destroy=function(){lete;this.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(ScreenSpaceEventType.LEFT_DOUBLE_CLICK);constt=this.dataSources,i=t.length;for(e=0;e<i;e++)this._dataSourceRemoved(t,t.get(e));returnthis._dataSourceRemoved(void0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),defined(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),defined(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),defined(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),defined(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),defined(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),defined(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),defined(this._timeline)&&(this._timeline.removeEventListener("settime",onTimelineScrubfunction,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),defined(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),defined(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),defined(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),defined(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),destroyObject(this)},Viewer.prototype._dataSourceAdded=function(e,t){consti=t.entities;i.collectionChanged.addEventListener(Viewer.prototype._onEntityCollectionChanged,this)},Viewer.prototype._dataSourceRemoved=function(e,t){consti=t.entities;i.collectionChanged.removeEventListener(Viewer.prototype._onEntityCollectionChanged,this),defined(this.trackedEntity)&&i.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void0),defined(this.selectedEntity)&&i.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void0)},Viewer.prototype._onTick=function(e){constt=e.currentTime,i=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=i);consto=this._entityView;if(defined(o)){conste=this._trackedEntity,i=this._dataSourceDisplay.getBoundingSphere(e,!1,boundingSphereScratch);i===BoundingSphereState.DONE&&o.update(t,boundingSphereScratch)}letn,r=!1;consts=this.selectedEntity,a=defined(s)&&this._enableInfoOrSelection;if(a&&s.isShowing&&s.isAvailable(t)){conste=this._dataSourceDisplay.getBoundingSphere(s,!0,boundingSphereScratch);e!==BoundingSphereState.FAILED?n=boundingSphereScratch.center:defined(s.position)&&(n=s.position.getValue(t,n)),r=defined(n)}constc=defined(this._selectionIndicator)?this._selectionIndicator.viewModel:void0;defined(c)&&(c.position=Cartesian3.clone(n,c.position),c.showSelection=a&&r,c.update());constd=defined(this._infoBox)?this._infoBox.viewModel:void0;defined(d)&&(d.showInfo=a,d.enableCamera=r,d.isCameraTracking=this.trackedEntity===this.selectedEntity,a?(d.titleText=defaultValue(s.name,s.id),d.description=Property.getValueOrDefault(s.description,t,"")):(d.titleText="",d.description=""))},Viewer.prototype._onEntityCollectionChanged=function(e,t,i){consto=i.length;for(letn=0;n<o;n++){conste=i[n];this.trackedEntity===e&&(this.trackedEntity=void0),this.selectedEntity===e&&(this.selectedEntity=void0)}},Viewer.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void0;else{conste=this.selectedEntity,t=e.position;defined(t)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}},Viewer.prototype._clearTrackedObject=function(){this.trackedEntity=void0},Viewer.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void0},Viewer.prototype._clearObjects=function(){this.trackedEntity=void0,this.selectedEntity=void0},Viewer.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&trackDataSourceClock(this.timeline,this.clock,e)},Viewer.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);consti=t.entities.id,o=this._eventHelper.add(t.changedEvent,Viewer.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[i]=o},Viewer.prototype._onDataSourceRemoved=function(e,t){consti=this.clockTrackedDataSource===t,o=t.entities.id;if(this._dataSourceChangedListeners[o](),this._dataSourceChangedListeners[o]=void0,i){constt=e.length;this._automaticallyTrackDataSourceClocks&&t>0?this.clockTrackedDataSource=e.get(t-1):this.clockTrackedDataSource=void0}},Viewer.prototype.zoomTo=function(e,t){consti={offset:t};returnzoomToOrFly(this,e,i,!1)},Viewer.prototype.flyTo=function(e,t){returnzoomToOrFly(this,e,t,!0)},Viewer.prototype._postRender=function(){updateZoomTarget(this),updateTrackedEntity(this)};exportdefaultViewer;
importdefinedfrom"../../Core/defined.js";importDeveloperErrorfrom"../../Core/DeveloperError.js";importCesiumInspectorfrom"../CesiumInspector/CesiumInspector.js";functionviewerCesiumInspectorMixin(e){if(!defined(e))thrownewDeveloperError("viewer is required.");constr=document.createElement("div");r.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(r);consti=newCesiumInspector(r,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){returni}}})}exportdefaultviewerCesiumInspectorMixin;
importdefaultValuefrom"../../Core/defaultValue.js";importdefinedfrom"../../Core/defined.js";importDeveloperErrorfrom"../../Core/DeveloperError.js";importEventfrom"../../Core/Event.js";importwrapFunctionfrom"../../Core/wrapFunction.js";importCzmlDataSourcefrom"../../DataSources/CzmlDataSource.js";importGeoJsonDataSourcefrom"../../DataSources/GeoJsonDataSource.js";importKmlDataSourcefrom"../../DataSources/KmlDataSource.js";importGpxDataSourcefrom"../../DataSources/GpxDataSource.js";importgetElementfrom"../getElement.js";functionviewerDragDropMixin(e,r){if(!defined(e))thrownewDeveloperError("viewer is required.");if(e.hasOwnProperty("dropTarget"))thrownewDeveloperError("dropTarget is already defined by another mixin.");if(e.hasOwnProperty("dropEnabled"))thrownewDeveloperError("dropEnabled is already defined by another mixin.");if(e.hasOwnProperty("dropError"))thrownewDeveloperError("dropError is already defined by another mixin.");if(e.hasOwnProperty("clearOnDrop"))thrownewDeveloperError("clearOnDrop is already defined by another mixin.");if(e.hasOwnProperty("flyToOnDrop"))thrownewDeveloperError("flyToOnDrop is already defined by another mixin.");r=defaultValue(r,defaultValue.EMPTY_OBJECT);leto=!0,t=defaultValue(r.flyToOnDrop,!0);constn=newEvent;leta=defaultValue(r.clearOnDrop,!0),i=defaultValue(r.dropTarget,e.container),s=defaultValue(r.clampToGround,!0),d=r.proxy;functionu(r){stop(r),a&&(e.entities.removeAll(),e.dataSources.removeAll());consto=r.dataTransfer.files,t=o.length;for(letn=0;n<t;n++){constr=o[n],t=newFileReader;t.onload=createOnLoadCallback(e,r,d,s),t.onerror=createDropErrorCallback(e,r),t.readAsText(r)}}i=getElement(i),Object.defineProperties(e,{dropTarget:{get:function(){returni},set:function(e){if(!defined(e))thrownewDeveloperError("value is required.");unsubscribe(i,u),i=e,subscribe(i,u)}},dropEnabled:{get:function(){returno},set:function(e){e!==o&&(e?subscribe(i,u):unsubscribe(i,u),o=e)}},dropError:{get:function(){returnn}},clearOnDrop:{get:function(){returna},set:function(e){a=e}},flyToOnDrop:{get:function(){returnt},set:function(e){t=e}},proxy:{get:function(){returnd},set:function(e){d=e}},clampToGround:{get:function(){returns},set:function(e){s=e}}}),subscribe(i,u),e.destroy=wrapFunction(e,e.destroy,(function(){e.dropEnabled=!1})),e._handleDrop=u}functionstop(e){e.stopPropagation(),e.preventDefault()}functionunsubscribe(e,r){consto=e;defined(o)&&(o.removeEventListener("drop",r,!1),o.removeEventListener("dragenter",stop,!1),o.removeEventListener("dragover",stop,!1),o.removeEventListener("dragexit",stop,!1))}functionsubscribe(e,r){e.addEventListener("drop",r,!1),e.addEventListener("dragenter",stop,!1),e.addEventListener("dragover",stop,!1),e.addEventListener("dragexit",stop,!1)}functioncreateOnLoadCallback(e,r,o,t){constn=e.scene;returnfunction(a){consti=r.name;try{lets;if(/\.czml$/i.test(i))s=CzmlDataSource.load(JSON.parse(a.target.result),{sourceUri:i});elseif(/\.geojson$/i.test(i)||/\.json$/i.test(i)||/\.topojson$/i.test(i))s=GeoJsonDataSource.load(JSON.parse(a.target.result),{sourceUri:i,clampToGround:t});elseif(/\.(kml|kmz)$/i.test(i))s=KmlDataSource.load(r,{sourceUri:i,proxy:o,camera:n.camera,canvas:n.canvas,clampToGround:t,screenOverlayContainer:e.container});else{if(!/\.gpx$/i.test(i))returnvoide.dropError.raiseEvent(e,i,`Unrecognized file: ${i}`);s=GpxDataSource.load(r,{sourceUri:i,proxy:o})}defined(s)&&e.dataSources.add(s).then((function(r){e.flyToOnDrop&&e.flyTo(r)})).catch((function(r){e.dropError.raiseEvent(e,i,r)}))}catch(s){e.dropError.raiseEvent(e,i,s)}}}functioncreateDropErrorCallback(e,r){returnfunction(o){e.dropError.raiseEvent(e,r.name,o.target.error)}}exportdefaultviewerDragDropMixin;
importdefaultValuefrom"../../Core/defaultValue.js";importdefinedfrom"../../Core/defined.js";importDeveloperErrorfrom"../../Core/DeveloperError.js";importPerformanceWatchdogfrom"../PerformanceWatchdog/PerformanceWatchdog.js";functionviewerPerformanceWatchdogMixin(e,r){if(!defined(e))thrownewDeveloperError("viewer is required.");r=defaultValue(r,defaultValue.EMPTY_OBJECT);consto=newPerformanceWatchdog({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:r.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){returno}}})}exportdefaultviewerPerformanceWatchdogMixin;
importdefaultValuefrom"../Core/defaultValue.js";importdefinedfrom"../Core/defined.js";importDeveloperErrorfrom"../Core/DeveloperError.js";importEventfrom"../Core/Event.js";importknockoutfrom"../ThirdParty/knockout.js";functioncreateCommand(e,r){if(!defined(e))thrownewDeveloperError("func is required.");r=defaultValue(r,!0);constt=newEvent,o=newEvent;functionn(){if(!n.canExecute)thrownewDeveloperError("Cannot execute command, canExecute is false.");constr={args:arguments,cancel:!1};leta;returnt.raiseEvent(r),r.cancel||(a=e.apply(null,arguments),o.raiseEvent(a)),a}returnn.canExecute=r,knockout.track(n,["canExecute"]),Object.defineProperties(n,{beforeExecute:{value:t},afterExecute:{value:o}}),n}exportdefaultcreateCommand;
importDeveloperErrorfrom"../Core/DeveloperError.js";functiongetElement(e){if("string"===typeofe){constt=document.getElementById(e);if(null===t)thrownewDeveloperError(`Element with id "${e}" does not exist in the document.`);e=t}returne}exportdefaultgetElement;
define(["exports","./Matrix2-fc7e9822","./ComponentDatatype-4a60b8d6","./RuntimeError-c581ca93","./defaultValue-94c3e563"],(function(e,t,n,r,o){"use strict";consta={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4",getMathType:function(e){switch(e){casea.SCALAR:returnNumber;casea.VEC2:returnt.Cartesian2;casea.VEC3:returnt.Cartesian3;casea.VEC4:returnt.Cartesian4;casea.MAT2:returnt.Matrix2;casea.MAT3:returnt.Matrix3;casea.MAT4:returnt.Matrix4;default:thrownewr.DeveloperError("attributeType is not a valid value.")}},getNumberOfComponents:function(e){switch(e){casea.SCALAR:return1;casea.VEC2:return2;casea.VEC3:return3;casea.VEC4:casea.MAT2:return4;casea.MAT3:return9;casea.MAT4:return16;default:thrownewr.DeveloperError("attributeType is not a valid value.")}},getAttributeLocationCount:function(e){switch(e){casea.SCALAR:casea.VEC2:casea.VEC3:casea.VEC4:return1;casea.MAT2:return2;casea.MAT3:return3;casea.MAT4:return4;default:thrownewr.DeveloperError("attributeType is not a valid value.")}},getGlslType:function(e){switch(r.Check.typeOf.string("attributeType",e),e){casea.SCALAR:return"float";casea.VEC2:return"vec2";casea.VEC3:return"vec3";casea.VEC4:return"vec4";casea.MAT2:return"mat2";casea.MAT3:return"mat3";casea.MAT4:return"mat4";default:thrownewr.DeveloperError("attributeType is not a valid value.")}}};varc=Object.freeze(a);consts=1/256,u=256,i={octEncodeInRange:function(e,o,a){r.Check.defined("vector",e),r.Check.defined("result",a);constc=t.Cartesian3.magnitudeSquared(e);if(Math.abs(c-1)>n.CesiumMath.EPSILON6)thrownewr.DeveloperError("vector must be normalized.");if(a.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),a.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){conste=a.x,t=a.y;a.x=(1-Math.abs(t))*n.CesiumMath.signNotZero(e),a.y=(1-Math.abs(e))*n.CesiumMath.signNotZero(t)}returna.x=n.CesiumMath.toSNorm(a.x,o),a.y=n.CesiumMath.toSNorm(a.y,o),a},octEncode:function(e,t){returni.octEncodeInRange(e,255,t)}},d=newt.Cartesian2,f=newUint8Array(1);functionh(e){returnf[0]=e,f[0]}i.octEncodeToCartesian4=function(e,t){returni.octEncodeInRange(e,65535,d),t.x=h(d.x*s),t.y=h(d.x),t.z=h(d.y*s),t.w=h(d.y),t},i.octDecodeInRange=function(e,o,a,c){if(r.Check.defined("result",c),e<0||e>a||o<0||o>a)thrownewr.DeveloperError(`x and y must be unsigned normalized integers between 0 and ${a}`);if(c.x=n.CesiumMath.fromSNorm(e,a),c.y=n.CesiumMath.fromSNorm(o,a),c.z=1-(Math.abs(c.x)+Math.abs(c.y)),c.z<0){conste=c.x;c.x=(1-Math.abs(c.y))*n.CesiumMath.signNotZero(e),c.y=(1-Math.abs(e))*n.CesiumMath.signNotZero(c.y)}returnt.Cartesian3.normalize(c,c)},i.octDecode=function(e,t,n){returni.octDecodeInRange(e,t,255,n)},i.octDecodeFromCartesian4=function(e,t){r.Check.typeOf.object("encoded",e),r.Check.typeOf.object("result",t);constn=e.x,o=e.y,a=e.z,c=e.w;if(n<0||n>255||o<0||o>255||a<0||a>255||c<0||c>255)thrownewr.DeveloperError("x, y, z, and w must be unsigned normalized integers between 0 and 255");consts=n*u+o,d=a*u+c;returni.octDecodeInRange(s,d,65535,t)},i.octPackFloat=function(e){returnr.Check.defined("encoded",e),256*e.x+e.y};constC=newt.Cartesian2;functionl(e){returne>>1^-(1&e)}i.octEncodeFloat=function(e){returni.octEncode(e,C),i.octPackFloat(C)},i.octDecodeFloat=function(e,t){r.Check.defined("value",e);constn=e/256,o=Math.floor(n),a=256*(n-o);returni.octDecode(o,a,t)},i.octPack=function(e,t,n,o){r.Check.defined("v1",e),r.Check.defined("v2",t),r.Check.defined("v3",n),r.Check.defined("result",o);consta=i.octEncodeFloat(e),c=i.octEncodeFloat(t),s=i.octEncode(n,C);returno.x=65536*s.x+a,o.y=65536*s.y+c,o},i.octUnpack=function(e,t,n,o){r.Check.defined("packed",e),r.Check.defined("v1",t),r.Check.defined("v2",n),r.Check.defined("v3",o);leta=e.x/65536;constc=Math.floor(a),s=65536*(a-c);a=e.y/65536;constu=Math.floor(a),d=65536*(a-u);i.octDecodeFloat(s,t),i.octDecodeFloat(d,n),i.octDecode(c,u,o)},i.compressTextureCoordinates=function(e){r.Check.defined("textureCoordinates",e);constt=4095*e.x|0,n=4095*e.y|0;return4096*t+n},i.decompressTextureCoordinates=function(e,t){r.Check.defined("compressed",e),r.Check.defined("result",t);constn=e/4096,o=Math.floor(n);returnt.x=o/4095,t.y=(e-4096*o)/4095,t},i.zigZagDeltaDecode=function(e,t,n){r.Check.defined("uBuffer",e),r.Check.defined("vBuffer",t),r.Check.typeOf.number.equals("uBuffer.length","vBuffer.length",e.length,t.length),o.defined(n)&&r.Check.typeOf.number.equals("uBuffer.length","heightBuffer.length",e.length,n.length);consta=e.length;letc=0,s=0,u=0;for(letr=0;r<a;++r)c+=l(e[r]),s+=l(t[r]),e[r]=c,t[r]=s,o.defined(n)&&(u+=l(n[r]),n[r]=u)},i.dequantize=function(e,t,o,a){r.Check.defined("typedArray",e),r.Check.defined("componentDatatype",t),r.Check.defined("type",o),r.Check.defined("count",a);consts=c.getNumberOfComponents(o);letu;switch(t){casen.ComponentDatatype.BYTE:u=127;break;casen.ComponentDatatype.UNSIGNED_BYTE:u=255;break;casen.ComponentDatatype.SHORT:u=32767;break;casen.ComponentDatatype.UNSIGNED_SHORT:u=65535;break;casen.ComponentDatatype.INT:u=2147483647;break;casen.ComponentDatatype.UNSIGNED_INT:u=4294967295;break;default:thrownewr.DeveloperError(`Cannot dequantize component datatype: ${t}`)}consti=newFloat32Array(a*s);for(letn=0;n<a;n++)for(lett=0;t<s;t++){constr=n*s+t;i[r]=Math.max(e[r]/u,-1)}returni},i.decodeRGB565=function(e,t){r.Check.defined("typedArray",e);constn=3*e.length;o.defined(t)&&r.Check.typeOf.number.equals("result.length","typedArray.length * 3",t.length,n);consta=e.length;o.defined(t)||(t=newFloat32Array(3*a));constc=31,s=63,u=1/31,i=1/63;for(letr=0;r<a;r++){constn=e[r],o=n>>11,a=n>>5&s,d=n&c,f=3*r;t[f]=o*u,t[f+1]=a*i,t[f+2]=d*u}returnt},e.AttributeCompression=i}));