@u-gis/ue 3.1.0 → 3.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/dist/types/ESUeViewer/ESUeViewer.d.ts +39 -17
  2. package/dist/types/ESUeViewer/ESUeViewer.d.ts.map +1 -1
  3. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/ESMsgWebSocketWrapper.d.ts +1 -1
  4. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/ESMsgWebSocketWrapper.d.ts.map +1 -1
  5. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/PSUEViewer.d.ts +1 -1
  6. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/PSUEViewer.d.ts.map +1 -1
  7. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/PSUEViewerWrapper.d.ts +1 -1
  8. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/PSUEViewerWrapper.d.ts.map +1 -1
  9. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/index.d.ts +4 -4
  10. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/index.d.ts.map +1 -1
  11. package/dist/types/ESUeViewer/Viewers/H5Viewer/DLViewer.d.ts +1 -1
  12. package/dist/types/ESUeViewer/Viewers/H5Viewer/DLViewer.d.ts.map +1 -1
  13. package/dist/types/ESUeViewer/Viewers/H5Viewer/ViewerH5Instance.d.ts +1 -1
  14. package/dist/types/ESUeViewer/Viewers/H5Viewer/ViewerH5Instance.d.ts.map +1 -1
  15. package/dist/types/ESUeViewer/Viewers/INNPSViewer/WebRtcManager.d.ts +1 -1
  16. package/dist/types/ESUeViewer/Viewers/INNPSViewer/WebRtcManager.d.ts.map +1 -1
  17. package/dist/types/ESUeViewer/Viewers/INNPSViewer/WebRtcManagerWrapper.d.ts +1 -1
  18. package/dist/types/ESUeViewer/Viewers/INNPSViewer/WebRtcManagerWrapper.d.ts.map +1 -1
  19. package/dist/types/ESUeViewer/Viewers/INNPSViewer/index.d.ts +1 -1
  20. package/dist/types/ESUeViewer/Viewers/INNPSViewer/index.d.ts.map +1 -1
  21. package/dist/types/ESUeViewer/inner/ReactProps.d.ts +20 -7
  22. package/dist/types/ESUeViewer/inner/ReactProps.d.ts.map +1 -1
  23. package/dist/types/ESUeViewer/inner/UeLocalViewer.d.ts +2 -2
  24. package/dist/types/ESUeViewer/inner/UeLocalViewer.d.ts.map +1 -1
  25. package/dist/types/ESUeViewer/inner/ViewerCreating.d.ts +1 -2
  26. package/dist/types/ESUeViewer/inner/ViewerCreating.d.ts.map +1 -1
  27. package/dist/types/ESUeViewer/inner/ViewerInstance.d.ts +1 -1
  28. package/dist/types/ESUeViewer/inner/ViewerInstance.d.ts.map +1 -1
  29. package/dist/types/ESUeViewer/inner/ViewerLocalInstance.d.ts +1 -1
  30. package/dist/types/ESUeViewer/inner/ViewerLocalInstance.d.ts.map +1 -1
  31. package/dist/types/ESUeViewer/uemsg/CallUeFuncs.d.ts.map +1 -1
  32. package/dist/types/ESUeViewer/uemsg/UeCloudViewerBase.d.ts +1 -1
  33. package/dist/types/ESUeViewer/uemsg/UeCloudViewerBase.d.ts.map +1 -1
  34. package/dist/types/ESUeViewer/uemsg/UeEventsType.d.ts +4 -0
  35. package/dist/types/ESUeViewer/uemsg/UeEventsType.d.ts.map +1 -1
  36. package/dist/types/ESUeViewer/uemsg/UeFuncsType.d.ts +2 -2
  37. package/dist/types/ESUeViewer/uemsg/UeFuncsType.d.ts.map +1 -1
  38. package/dist/types/UeObjects/base/UeESGeoVector/index.d.ts +3 -1
  39. package/dist/types/UeObjects/base/UeESGeoVector/index.d.ts.map +1 -1
  40. package/dist/types/UeObjects/base/UeESLocalVector/index.d.ts +2 -0
  41. package/dist/types/UeObjects/base/UeESLocalVector/index.d.ts.map +1 -1
  42. package/dist/types/UeObjects/base/UeESSceneObject/index.d.ts.map +1 -1
  43. package/dist/types/UeObjects/general/UeES3DTileset/index.d.ts +1 -1
  44. package/dist/types/UeObjects/general/UeES3DTileset/index.d.ts.map +1 -1
  45. package/dist/types/UeObjects/general/UeESAlarm/index.d.ts +1 -1
  46. package/dist/types/UeObjects/general/UeESAlarm/index.d.ts.map +1 -1
  47. package/dist/types/UeObjects/general/UeESApertureEffect/index.d.ts +1 -1
  48. package/dist/types/UeObjects/general/UeESApertureEffect/index.d.ts.map +1 -1
  49. package/dist/types/UeObjects/general/UeESAreaMeasurement/index.d.ts +1 -1
  50. package/dist/types/UeObjects/general/UeESAreaMeasurement/index.d.ts.map +1 -1
  51. package/dist/types/UeObjects/general/UeESBlastParticleSystem/index.d.ts +1 -1
  52. package/dist/types/UeObjects/general/UeESBlastParticleSystem/index.d.ts.map +1 -1
  53. package/dist/types/UeObjects/general/UeESBoxClipping/index.d.ts +4 -1
  54. package/dist/types/UeObjects/general/UeESBoxClipping/index.d.ts.map +1 -1
  55. package/dist/types/UeObjects/general/UeESCameraView/index.d.ts +1 -1
  56. package/dist/types/UeObjects/general/UeESCameraView/index.d.ts.map +1 -1
  57. package/dist/types/UeObjects/general/UeESCameraVisibleRange/index.d.ts +1 -1
  58. package/dist/types/UeObjects/general/UeESCameraVisibleRange/index.d.ts.map +1 -1
  59. package/dist/types/UeObjects/general/UeESCar/index.d.ts +1 -1
  60. package/dist/types/UeObjects/general/UeESCar/index.d.ts.map +1 -1
  61. package/dist/types/UeObjects/general/UeESClassification/index.d.ts +1 -1
  62. package/dist/types/UeObjects/general/UeESClassification/index.d.ts.map +1 -1
  63. package/dist/types/UeObjects/general/UeESClippingPlane/index.d.ts +4 -1
  64. package/dist/types/UeObjects/general/UeESClippingPlane/index.d.ts.map +1 -1
  65. package/dist/types/UeObjects/general/UeESDataMesh/index.d.ts +1 -1
  66. package/dist/types/UeObjects/general/UeESDataMesh/index.d.ts.map +1 -1
  67. package/dist/types/UeObjects/general/UeESDatasmithRuntimeModel/index.d.ts +1 -1
  68. package/dist/types/UeObjects/general/UeESDatasmithRuntimeModel/index.d.ts.map +1 -1
  69. package/dist/types/UeObjects/general/UeESDirectionMeasurement/index.d.ts +1 -1
  70. package/dist/types/UeObjects/general/UeESDirectionMeasurement/index.d.ts.map +1 -1
  71. package/dist/types/UeObjects/general/UeESDistanceMeasurement/index.d.ts +1 -1
  72. package/dist/types/UeObjects/general/UeESDistanceMeasurement/index.d.ts.map +1 -1
  73. package/dist/types/UeObjects/general/UeESDynamicWater/index.d.ts +1 -1
  74. package/dist/types/UeObjects/general/UeESDynamicWater/index.d.ts.map +1 -1
  75. package/dist/types/UeObjects/general/UeESEntityCluster/index.d.ts +1 -1
  76. package/dist/types/UeObjects/general/UeESEntityCluster/index.d.ts.map +1 -1
  77. package/dist/types/UeObjects/general/UeESExcavate/index.d.ts +27 -1
  78. package/dist/types/UeObjects/general/UeESExcavate/index.d.ts.map +1 -1
  79. package/dist/types/UeObjects/general/UeESFireParticleSystem/index.d.ts +1 -1
  80. package/dist/types/UeObjects/general/UeESFireParticleSystem/index.d.ts.map +1 -1
  81. package/dist/types/UeObjects/general/UeESForestTileset/index.d.ts +1 -1
  82. package/dist/types/UeObjects/general/UeESForestTileset/index.d.ts.map +1 -1
  83. package/dist/types/UeObjects/general/UeESGaussianSplatting/index.d.ts +1 -1
  84. package/dist/types/UeObjects/general/UeESGaussianSplatting/index.d.ts.map +1 -1
  85. package/dist/types/UeObjects/general/UeESGeoDiv/index.d.ts +12 -1
  86. package/dist/types/UeObjects/general/UeESGeoDiv/index.d.ts.map +1 -1
  87. package/dist/types/UeObjects/general/UeESGeoExtrudedPolygon/index.d.ts +1 -1
  88. package/dist/types/UeObjects/general/UeESGeoExtrudedPolygon/index.d.ts.map +1 -1
  89. package/dist/types/UeObjects/general/UeESGeoJson/index.d.ts +6 -2
  90. package/dist/types/UeObjects/general/UeESGeoJson/index.d.ts.map +1 -1
  91. package/dist/types/UeObjects/general/UeESGeoLineString/index.d.ts +1 -1
  92. package/dist/types/UeObjects/general/UeESGeoLineString/index.d.ts.map +1 -1
  93. package/dist/types/UeObjects/general/UeESGeoPolygon/index.d.ts +1 -1
  94. package/dist/types/UeObjects/general/UeESGeoPolygon/index.d.ts.map +1 -1
  95. package/dist/types/UeObjects/general/UeESGeoRectangle/index.d.ts +1 -1
  96. package/dist/types/UeObjects/general/UeESGeoRectangle/index.d.ts.map +1 -1
  97. package/dist/types/UeObjects/general/UeESGeoWater/index.d.ts +1 -1
  98. package/dist/types/UeObjects/general/UeESGeoWater/index.d.ts.map +1 -1
  99. package/dist/types/UeObjects/general/UeESGltfModel/index.d.ts +1 -1
  100. package/dist/types/UeObjects/general/UeESGltfModel/index.d.ts.map +1 -1
  101. package/dist/types/UeObjects/general/UeESHeightMeasurement/index.d.ts +1 -1
  102. package/dist/types/UeObjects/general/UeESHeightMeasurement/index.d.ts.map +1 -1
  103. package/dist/types/UeObjects/general/UeESHuman/index.d.ts +1 -1
  104. package/dist/types/UeObjects/general/UeESHuman/index.d.ts.map +1 -1
  105. package/dist/types/UeObjects/general/UeESHumanPoi/index.d.ts +1 -1
  106. package/dist/types/UeObjects/general/UeESHumanPoi/index.d.ts.map +1 -1
  107. package/dist/types/UeObjects/general/UeESImageLabel/index.d.ts +1 -1
  108. package/dist/types/UeObjects/general/UeESImageLabel/index.d.ts.map +1 -1
  109. package/dist/types/UeObjects/general/UeESImageryLayer/index.d.ts +1 -1
  110. package/dist/types/UeObjects/general/UeESImageryLayer/index.d.ts.map +1 -1
  111. package/dist/types/UeObjects/general/UeESLevelRuntimeModel/index.d.ts +1 -1
  112. package/dist/types/UeObjects/general/UeESLevelRuntimeModel/index.d.ts.map +1 -1
  113. package/dist/types/UeObjects/general/UeESLocalCircle/index.d.ts +1 -1
  114. package/dist/types/UeObjects/general/UeESLocalCircle/index.d.ts.map +1 -1
  115. package/dist/types/UeObjects/general/UeESLocalPolygon/index.d.ts +1 -1
  116. package/dist/types/UeObjects/general/UeESLocalPolygon/index.d.ts.map +1 -1
  117. package/dist/types/UeObjects/general/UeESLocalPolygonZ/index.d.ts +1 -1
  118. package/dist/types/UeObjects/general/UeESLocalPolygonZ/index.d.ts.map +1 -1
  119. package/dist/types/UeObjects/general/UeESLocalRectangle/index.d.ts +1 -1
  120. package/dist/types/UeObjects/general/UeESLocalRectangle/index.d.ts.map +1 -1
  121. package/dist/types/UeObjects/general/UeESLocalSkyBox/index.d.ts +1 -1
  122. package/dist/types/UeObjects/general/UeESLocalSkyBox/index.d.ts.map +1 -1
  123. package/dist/types/UeObjects/general/UeESLocationMeasurement/index.d.ts +1 -1
  124. package/dist/types/UeObjects/general/UeESLocationMeasurement/index.d.ts.map +1 -1
  125. package/dist/types/UeObjects/general/UeESMsTileset/index.d.ts +1 -1
  126. package/dist/types/UeObjects/general/UeESMsTileset/index.d.ts.map +1 -1
  127. package/dist/types/UeObjects/general/UeESNavigator/index.d.ts +1 -1
  128. package/dist/types/UeObjects/general/UeESNavigator/index.d.ts.map +1 -1
  129. package/dist/types/UeObjects/general/UeESPath/index.d.ts +3 -2
  130. package/dist/types/UeObjects/general/UeESPath/index.d.ts.map +1 -1
  131. package/dist/types/UeObjects/general/UeESPipeFence/index.d.ts +1 -1
  132. package/dist/types/UeObjects/general/UeESPipeFence/index.d.ts.map +1 -1
  133. package/dist/types/UeObjects/general/UeESPipeline/index.d.ts +1 -1
  134. package/dist/types/UeObjects/general/UeESPipeline/index.d.ts.map +1 -1
  135. package/dist/types/UeObjects/general/UeESPipeserTileset/index.d.ts +1 -1
  136. package/dist/types/UeObjects/general/UeESPipeserTileset/index.d.ts.map +1 -1
  137. package/dist/types/UeObjects/general/UeESPit/index.d.ts +1 -1
  138. package/dist/types/UeObjects/general/UeESPit/index.d.ts.map +1 -1
  139. package/dist/types/UeObjects/general/UeESPoi2D/index.d.ts +1 -1
  140. package/dist/types/UeObjects/general/UeESPoi2D/index.d.ts.map +1 -1
  141. package/dist/types/UeObjects/general/UeESPoi3D/index.d.ts +1 -1
  142. package/dist/types/UeObjects/general/UeESPoi3D/index.d.ts.map +1 -1
  143. package/dist/types/UeObjects/general/UeESPoiTileset/index.d.ts +1 -1
  144. package/dist/types/UeObjects/general/UeESPoiTileset/index.d.ts.map +1 -1
  145. package/dist/types/UeObjects/general/UeESPolygonFence/index.d.ts +1 -1
  146. package/dist/types/UeObjects/general/UeESPolygonFence/index.d.ts.map +1 -1
  147. package/dist/types/UeObjects/general/UeESPolygonFlattenedPlane/index.d.ts +27 -1
  148. package/dist/types/UeObjects/general/UeESPolygonFlattenedPlane/index.d.ts.map +1 -1
  149. package/dist/types/UeObjects/general/UeESPolygonWithHole/index.d.ts +1 -1
  150. package/dist/types/UeObjects/general/UeESPolygonWithHole/index.d.ts.map +1 -1
  151. package/dist/types/UeObjects/general/UeESRtsFeatureEditing/index.d.ts +3 -5
  152. package/dist/types/UeObjects/general/UeESRtsFeatureEditing/index.d.ts.map +1 -1
  153. package/dist/types/UeObjects/general/UeESRtsTileset/index.d.ts +1 -1
  154. package/dist/types/UeObjects/general/UeESRtsTileset/index.d.ts.map +1 -1
  155. package/dist/types/UeObjects/general/UeESSeparateFoliage/index.d.ts +1 -1
  156. package/dist/types/UeObjects/general/UeESSeparateFoliage/index.d.ts.map +1 -1
  157. package/dist/types/UeObjects/general/UeESSkylineAnalysis/index.d.ts +1 -1
  158. package/dist/types/UeObjects/general/UeESSkylineAnalysis/index.d.ts.map +1 -1
  159. package/dist/types/UeObjects/general/UeESStaticMesh/index.d.ts +1 -1
  160. package/dist/types/UeObjects/general/UeESStaticMesh/index.d.ts.map +1 -1
  161. package/dist/types/UeObjects/general/UeESSubmergingAnalysis/index.d.ts +1 -1
  162. package/dist/types/UeObjects/general/UeESSubmergingAnalysis/index.d.ts.map +1 -1
  163. package/dist/types/UeObjects/general/UeESSunshineAnalysis/index.d.ts +1 -1
  164. package/dist/types/UeObjects/general/UeESSunshineAnalysis/index.d.ts.map +1 -1
  165. package/dist/types/UeObjects/general/UeESSurfaceAreaMeasurement/index.d.ts +1 -1
  166. package/dist/types/UeObjects/general/UeESSurfaceAreaMeasurement/index.d.ts.map +1 -1
  167. package/dist/types/UeObjects/general/UeESTerrainLayer/index.d.ts +1 -1
  168. package/dist/types/UeObjects/general/UeESTerrainLayer/index.d.ts.map +1 -1
  169. package/dist/types/UeObjects/general/UeESTextLabel/index.d.ts +1 -1
  170. package/dist/types/UeObjects/general/UeESTextLabel/index.d.ts.map +1 -1
  171. package/dist/types/UeObjects/general/UeESUEWidget/index.d.ts +1 -1
  172. package/dist/types/UeObjects/general/UeESUEWidget/index.d.ts.map +1 -1
  173. package/dist/types/UeObjects/general/UeESUnrealActor/index.d.ts +2 -2
  174. package/dist/types/UeObjects/general/UeESUnrealActor/index.d.ts.map +1 -1
  175. package/dist/types/UeObjects/general/UeESVideoFusion/index.d.ts +1 -1
  176. package/dist/types/UeObjects/general/UeESVideoFusion/index.d.ts.map +1 -1
  177. package/dist/types/UeObjects/general/UeESViewShed/index.d.ts +1 -1
  178. package/dist/types/UeObjects/general/UeESViewShed/index.d.ts.map +1 -1
  179. package/dist/types/UeObjects/general/UeESViewerStatusBar/index.d.ts +1 -1
  180. package/dist/types/UeObjects/general/UeESViewerStatusBar/index.d.ts.map +1 -1
  181. package/dist/types/UeObjects/general/UeESVisibilityAnalysis/index.d.ts +1 -1
  182. package/dist/types/UeObjects/general/UeESVisibilityAnalysis/index.d.ts.map +1 -1
  183. package/dist/types/UeObjects/general/UeESVolumeMeasurement/index.d.ts +1 -1
  184. package/dist/types/UeObjects/general/UeESVolumeMeasurement/index.d.ts.map +1 -1
  185. package/dist/types/UeObjects/general/UeESWidget/index.d.ts +1 -1
  186. package/dist/types/UeObjects/general/UeESWidget/index.d.ts.map +1 -1
  187. package/dist/types/index.d.ts +3 -0
  188. package/dist/types/index.d.ts.map +1 -1
  189. package/dist/ue.iife.js +112 -0
  190. package/dist/ue.js +5422 -0
  191. package/dist/ue.umd.cjs +1 -0
  192. package/package.json +15 -15
  193. package/dist/earthsdk3-ue.iife.js +0 -112
  194. package/dist/earthsdk3-ue.js +0 -5195
  195. package/dist/earthsdk3-ue.umd.cjs +0 -1
@@ -0,0 +1 @@
1
+ (function(f,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("@u-gis/core"),require("@epicgames-ps/lib-pixelstreamingfrontend-ue5.2"),require("html2canvas")):typeof define=="function"&&define.amd?define(["exports","@u-gis/core","@epicgames-ps/lib-pixelstreamingfrontend-ue5.2","html2canvas"],r):(f=typeof globalThis<"u"?globalThis:f||self,r(f.uGIS_UE={},f.uGIS_Core,f.libPixelstreamingfrontendUe5_2,f.html2canvas))})(this,function(f,r,D,Jn){"use strict";var Fs=Object.defineProperty;var Is=(f,r,D)=>r in f?Fs(f,r,{enumerable:!0,configurable:!0,writable:!0,value:D}):f[r]=D;var p=(f,r,D)=>Is(f,typeof r!="symbol"?r+"":r,D);var zn;const Kn={...r.ESViewer.defaults,geoReferenceOrigin:void 0,keepWorldOriginNearCamera:!1,useCache:!0,widgetInteractionDistance:200,memReportInterval:10,sceneControlled:!0,brightness:0,emissiveIntensity:1,statusUpdateInterval:.5,baseUrl:((zn=globalThis==null?void 0:globalThis.location)==null?void 0:zn.href)??"",screenPercentage:-1,antiAliasingMethod:"default"},Wi=()=>({...r.ESViewer.createCommonProps(),apiKey:"",apiUrl:"",secretKey:"",speechVoiceMode:"",geoReferenceOrigin:r.reactArrayWithUndefined(void 0),keepWorldOriginNearCamera:void 0,useCache:void 0,widgetInteractionDistance:void 0,memReportInterval:void 0,sceneControlled:void 0,brightness:void 0,emissiveIntensity:void 0,statusUpdateInterval:void 0,baseUrl:void 0,screenPercentage:void 0,antiAliasingMethod:void 0});function de(){const u=Wi(),e=[];return Object.keys(u).forEach(t=>{e.push(t)}),e}function pe(u){const{defaults:e}=A,t=de(),i={};return t.forEach(n=>{i[n]=u[n]??e[n]}),i}const G=async(u,e,t,i,n,s="default")=>{const o=await u.callUeFunc({f:"flyTo",p:{id:e,duration:t,flyToParam:i,position:n,flyMode:s}});if(o.error){console.error(o.error);return}return o.re},fe=async(u,e)=>{const t=await u.callUeFunc({f:"destroy",p:{id:e}});return t.error&&console.error(t.error),t},M=(u,e)=>{u.callUeFunc({f:"calcFlyToParam",p:{id:e}}).then(t=>{t.error&&console.error("calcFlyToParam:",t.error)}).catch(t=>{console.error("calcFlyToParam:",t)})},bi=(u,e)=>{u.callUeFunc({f:"refreshTileset",p:{id:e}}).then(t=>{t.error&&console.error("refreshTileset:",t.error)}).catch(t=>{console.error("refreshTileset:",t)})},Q=async(u,e,t,i,n,s="default")=>{const o=await u.callUeFunc({f:"flyIn",p:{id:e,position:t,rotation:i,duration:n,flyMode:s}});if(o.error){console.error(o.error);return}return o.re},$i=async(u,e)=>{if(!u){console.warn("DefaultCameraFlyIn: viewer is undefined");return}const t=await u.callUeFunc({f:"DefaultCameraFlyIn",p:{Duration:e??1}});if(t.error){console.error("DefaultCameraFlyIn:",t.error);return}return t},xi=async u=>{if(!u){console.warn("StartVoice:viewer is undefined");return}const e=await u.callUeFunc({f:"StartVoice",p:{}});if(e.error){console.error("StartVoice:",e.error);return}return e},_i=async u=>{if(!u){console.warn("StopVoice:viewer is undefined");return}const e=await u.callUeFunc({f:"StopVoice",p:{}});if(e.error){console.error("StopVoice:",e.error);return}return e},Ni=async(u,e)=>{if(!u){console.warn("mountPakFiles:viewer is undefined");return}const t=await u.callUeFunc({f:"MountPakFiles",p:{json:e}});if(t.error){console.error("mountPakFiles:",t.error);return}return t},zi=async u=>{if(!u){console.warn("generateMemReport:viewer is undefined");return}const e=await u.callUeFunc({f:"GenerateMemReport",p:{}});if(e.error){console.error("generateMemReport:",e.error);return}return e},we=async(u,e)=>{const t=await u.callUeFunc({f:"resetWithCurrentCamera",p:{id:e}});return t.error&&console.error("resetWithCurrentCamera:",t.error),t},O=(u,e,t,i,n)=>{u.callUeFunc({f:"smoothMoveWithRotation",p:{id:e,Destination:t,NewRotation:i,Time:n}}).then(s=>{s.error&&console.error("smoothMoveWithRotation:",s.error)}).catch(s=>{console.error("smoothMoveWithRotation:",s)})},j=(u,e,t,i,n,s)=>{u.callUeFunc({f:"smoothMoveOnGround",p:{id:e,Lon:t,Lat:i,Ground:n,Time:s}}).then(o=>{o.error&&console.error("smoothMoveOnGround:",o.error)}).catch(o=>{console.error("smoothMoveOnGround:",o)})},tt=(u,e,t,i,n,s,o)=>{u.callUeFunc({f:"smoothMoveWithRotationOnGround",p:{id:e,NewRotation:t,Lon:i,Lat:n,Time:s,Ground:o}}).then(a=>{a.error&&console.error("smoothMoveWithRotationOnGround:",a.error)}).catch(a=>{console.error("smoothMoveWithRotationOnGround:",a)})},Hi=(u,e,t)=>{u.callUeFunc({f:"HighlightFeature",p:{id:e,HlId:t}}).then(i=>{i.error&&console.error("HighlightFeature:",i.error)}).catch(i=>{console.error("HighlightFeature:",i)})},Gi=(u,e,t,i)=>{u.callUeFunc({f:"HighlightFeatureAndFlyTo",p:{id:e,HlId:t,Duration:i}}).then(n=>{n.error&&console.error("HighlightFeatureAndFlyTo:",n.error)}).catch(n=>{console.error("HighlightFeatureAndFlyTo:",n)})},Ji=(u,e,t)=>{u.callUeFunc({f:"SetLayerVisible",p:{id:e,LayerJson:t}}).then(i=>{i.error&&console.error("SetLayerVisible:",i.error)}).catch(i=>{console.error("SetLayerVisible:",i)})},Ki=(u,e,t)=>{u.callUeFunc({f:"SetLayerColor",p:{id:e,LayerJson:t}}).then(i=>{i.error&&console.error("SetLayerColor:",i.error)}).catch(i=>{console.error("SetLayerColor:",i)})},et=(u,e,t,i)=>{u.callUeFunc({f:"smoothMove",p:{id:e,Destination:t,Time:i}}).then(n=>{n.error&&console.error("smoothMove:",n.error)}).catch(n=>{console.error("smoothMove:",n)})},ye=async(u,e,t,i)=>{const n=await u.callUeFunc({f:"callFunction",p:{id:e,fn:t,p:i}});return n.error&&(console.error("callFunction:",n.error),console.error(`id: ${e} fn: ${t} param: ${i}`)),n.re??void 0},Vi=(u,e,t,i)=>{u.callUeFunc({f:"SetNodePosition",p:{id:e,NodeName:t,NodePosition:i}}).then(n=>{n.error&&console.error("SetNodePosition:",n.error)}).catch(n=>{console.error("SetNodePosition:",n)})},qi=(u,e,t,i)=>{u.callUeFunc({f:"SetNodeRotation",p:{id:e,NodeName:t,NodeRotation:i}}).then(n=>{n.error&&console.error("SetNodeRotation:",n.error)}).catch(n=>{console.error("SetNodeRotation:",n)})},Xi=(u,e,t,i)=>{u.callUeFunc({f:"SetNodeScale",p:{id:e,NodeName:t,NodeScale:i}}).then(n=>{n.error&&console.error("SetNodeScale:",n.error)}).catch(n=>{console.error("SetNodeScale:",n)})},U=async(u,e)=>{if(e.mode=="Follow"){const i=r.ESSceneObject.getSceneObject(e.objectId);e.objectId=i?(i.components.main??i).id:e.objectId}else if(e.mode=="Line"){const i=r.ESSceneObject.getSceneObject(e.geoLineStringId);e.geoLineStringId=i?(i.components.main??i).id:e.geoLineStringId}const t=await u.callUeFunc({f:"ChangeNavigationMode",p:e});if(t.error){console.error("ChangeNavigationMode:",t.error);return}return t},Yi=async(u,e)=>{const t=await u.callUeFunc({f:"setGlobalProperty",p:e});if(t.error){console.error("setGlobalProperty:",t.error);return}return t},Zi=async u=>{const e=await u.callUeFunc({f:"Quit",p:void 0});if(e.error){console.error("Quit:",e.error);return}return e},Qi=async(u,e,t,i)=>{console.log("pickCallFunc",e,t,i);const n=await u.callUeFunc({f:"pick",p:{screenPosition:e,parentInfo:i}});if(!n.re&&(n.error||n.error=="")){console.error("pick:",n.error==""?"未获取到结果":n.error);return}let s=n.re.id,o,a=s?r.ESSceneObject.getSceneObject(s):void 0;return a&&a.parentID&&(a=r.ESSceneObject.getSceneObject(a.parentID)),o=new r.ESJPickedResult(n.re,a,n.re.features,n.re.add,t,e),a&&Reflect.has(a,"allowPicking")&&Reflect.has(a,"pickedEvent")&&(a.allowPicking??!1)&&a.pickedEvent.emit(o),a&&Reflect.has(a,"allowPicking")&&!a.allowPicking?new r.ESJPickedResult:o},Oi=async(u,e)=>{const t=await u.callUeFunc({f:"pickPosition",p:{screenPosition:e}});if(!t.re&&(t.error||t.error=="")){console.error("pickPosition",t.error==""?"未获取到结果":t.error);return}const{position:i}=t.re;return i},ji=async(u,e,t,i="ECC_Visibility")=>{const n=await u.callUeFunc({f:"GetHeightByLonLat",p:{Lon:e,Lat:t,Channel:i}});if(n.error){console.warn(`GetHeightByLonLat:${n.error}`);return}return n.re},tn=async(u,e,t="ECC_Visibility")=>{const i=await u.callUeFunc({f:"GetHeightsByLonLats",p:{LonLats:e,Channel:t}});if(i.error){console.warn(`GetHeightsByLonLats:${i.error}`);return}i.re.heights.includes(null)&&console.warn("注意! GetHeightsByLonLats: 存在高度为null的点. there are points with a height of null");try{return i.re.heights}catch{return}},en=async(u,e=64,t=64)=>{const i=await u.callUeFunc({f:"capture",p:{resx:e,resy:t}});if(i.error){console.warn(i.error);return}return i.re.image},nn=async(u,e,t=[64,64])=>{const i=await u.callUeFunc({f:"partialCapture",p:{startPos:e,size:t}});if(i.error){console.warn(i.error);return}return i.re.image},sn=async(u,e)=>{const t=await u.callUeFunc({f:"LonLatAltToScreenPosition",p:{LonLatAlt:e}});return t.error&&console.warn(t.error),t.re},rn=async(u,e)=>{const t=await u.callUeFunc({f:"UEPositionToLonLatAlt",p:{UEPosition:e}});if(t.error){console.warn(t.error);return}return[...t.re.LonLatAlt]},on=async(u,e)=>{const t=await u.callUeFunc({f:"GetAllSocketNamesByActorTag",p:{ActorTag:e}});if(t.error){console.warn(t.error);return}return[...t.re.socketNames]},an=async u=>{const e=await u.callUeFunc({f:"GetVersion",p:void 0});if(e.error){console.warn("GetVersion:",e.error);return}return e.re.version},ln=async(u,e)=>{const t=await u.callUeFunc({f:"GetBoundSphere",p:{id:e}});if(t.error){console.warn(t.error);return}return t.re},dn=async(u,e)=>{const t=await u.callUeFunc({f:"GetBoundSphereWithChildren",p:{id:e}});if(t.error){console.warn(`GetBoundSphereWithChildren:${t.error}`);return}return t.re},un=async(u,e)=>{const t=await u.callUeFunc({f:"GetStrokeMaterialParamInfo",p:{id:e}});if(t.error){console.warn(`GetStrokeMaterialParamInfo:${t.error}`);return}return t.re},cn=async(u,e)=>{const t=await u.callUeFunc({f:"GetFillMaterialParamInfo",p:{id:e}});if(t.error){console.warn(`GetFillMaterialParamInfo:${t.error}`);return}return t.re},hn=async(u,e)=>{const t=await u.callUeFunc({f:"getGlobalProperty",p:{props:e}});if(t.error){console.warn(`getGlobalProperty:${t.error}`);return}return t.re},vn=async(u,e)=>{const t=await u.callUeFunc({f:"GetObjectByInfo",p:{info:e}});if(t.error){console.warn(`GetObjectByInfo:${t.error}`);return}return t.re},gn=async(u,e,t)=>await u.callUeFunc({f:"BindActorByTag",p:{ID:e,ActorTag:t}}),pn=async u=>await u.callUeFunc({f:"RestoreOriginalScene",p:void 0}),fn=async(u,e)=>await u.callUeFunc({f:"UnBindActorByID",p:{ID:e}}),wn=async(u,e)=>await u.callUeFunc({f:"UnBindActorByTag",p:{ActorTag:e}}),yn=async(u,e,t)=>await u.callUeFunc({f:"CreateActorByClass",p:{ID:e,ActorClass:t}}),mn=async function(u,e,t){return await u.callUeFunc({f:"Bind3DTilesetByTag",p:{ID:e,ActorTag:t}})},Cn=async function(u,e){return await u.callUeFunc({f:"UnBind3DTilesetByTag",p:{ActorTag:e}})},En=async function(u,e){return await u.callUeFunc({f:"UnBind3DTilesetById",p:{ID:e}})},Sn=async function(u,e,t,i){return await u.callUeFunc({f:"BindImageryByTag",p:{ID:e,ActorTag:t,ComponentTag:i}})},Fn=async function(u,e,t){return await u.callUeFunc({f:"UnBindImageryByTag",p:{ActorTag:e,ComponentTag:t}})},In=async function(u,e){return await u.callUeFunc({f:"UnBindImageryById",p:{ID:e}})},Tn=async function(u,e,t,i){return await u.callUeFunc({f:"GetIdByComponentNameAndHitItem",p:{id:e,ComponentName:t,HitItem:i}})},Dn=async function(u,e="ECC_Visibility"){return await u.callUeFunc({f:"GetCameraRelativeHeight",p:{Channel:e}})},Rn=async function(u,e,t,i){const n=await u.callUeFunc({f:"SaveStringToFile",p:{String:e,Path:t??"undefine",File:i??"data.txt"}});return n.error!==""&&console.warn("SaveStringToFile: ",n.error),n},Ln=async function(u,e,t=!0){const i=await u.callUeFunc({f:"HighlightActorByTag",p:{ActorTag:e,Highlight:t}});return i.error!==""&&console.warn("HighlightActorByTag: ",i.error),i},Pn=async function(u,e){const t=await u.callUeFunc({f:"SendCustomMessage",p:{Message:e}});return t.error!==""&&console.warn("SendCustomMessage: ",t.error),t},kn=async function(u){const e=await u.callUeFunc({f:"GetStatus",p:void 0});if(e.error){console.warn(`GetStatus:${e.error}`);return}return e.re},Bn=async(u,e,t,i,n=!0)=>{const s=await u.callUeFunc({f:"startEditing",p:{sceneObjectID:e,editingID:t,modes:i,useKeyToSwitch:n}});if(s.error){console.error("startEditing:",s.error);return}return s},Un=async u=>{const e=await u.callUeFunc({f:"stopEditing",p:void 0});if(e.error){console.error("stopEditing:",e.error);return}return e},An=async(u,e,t)=>{const i=await u.callUeFunc({f:"moveObjects",p:{sceneObjectIDs:e,editingID:t}});if(i.error){console.error("moveObjects:",i.error);return}return i},Mn=async u=>{const e=await u.callUeFunc({f:"GetTilesetMaterialIDList",p:void 0});if(e.error){console.error("GetTilesetMaterialIDList:",e.error);return}return e.re.materialIDList};class it extends r.Destroyable{}const Vn={Response:1},ue={UIInteraction:50,MouseWheel:75};class qn extends r.HasOwner{constructor(t,i){super(t);p(this,"_processResponseFn",t=>this.esUeViewer.processResponse(t));p(this,"_inner");this._uri=i,this._inner=new WebSocket(this._uri),this.d(()=>{this._inner.close()}),this._innerInit()}get esUeViewer(){return this.owner}get uri(){return this._uri}get inner(){return this._inner}_innerInit(){this.inner.onmessage=t=>{if(this.isDestroyed())return;let i=new FileReader;i.onload=n=>{if(this.isDestroyed())return;let s=n.target.result,o=new Uint32Array(s),a=0;if(o[0]===Vn.Response){a+=4;let v=o[a/4];a+=4;for(let l=0;l<v;l++){let y=o[a/4];a+=4;let g=new TextDecoder("utf-8").decode(s.slice(a,a+y));a+=y,this._processResponseFn(g)}}},i.readAsArrayBuffer(t.data)},this.inner.onopen=()=>{this.isDestroyed()||(console.warn("earthsdk message websocket server connected:",this.uri),console.log("%c[EarthSDK websocket open]","background: #a6ec99; color: black","open"),this.owner.dispatchEvent(new CustomEvent("esmsgwsopen",{detail:"websocket open"})))},this._inner.onclose=t=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket close ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket close"})))},this._inner.onerror=t=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket error ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket error"})))}}sendInputData(t){const i=this.inner;if(i.readyState!==WebSocket.OPEN)return;const s=new Uint8Array(t)[0];if(s>=ue.UIInteraction&&s<=ue.MouseWheel){const o=new ArrayBuffer(t.byteLength+4);return new DataView(o).setUint32(0,t.byteLength,!0),new Uint8Array(o,4).set(new Uint8Array(t)),i.send(new DataView(o)),!0}else return!1}emitDescriptorWithString(t,i){let n=new TextEncoder().encode(i),s=new DataView(new ArrayBuffer(3+n.length)),o=0;s.setUint8(o,t),o++,s.setUint16(o,n.length,!0),o+=2;for(let a=0;a<n.length;a++)s.setUint8(o,n[a]),o+=1;try{this.sendInputData(s.buffer)}catch(a){console.error(`data.buffer.size: ${s.buffer.byteLength} 独立通道 sendInputData error: ${a}`,a)}}destroyImpl(){this._inner&&this._inner.close()}}globalThis.g_emitDescriptor_maxBytes=3e4;let Xn=-1;D.Logger.SetLoggerVerbosity(1);class Yn extends r.Destroyable{constructor(t,i){super();p(this,"_eventTarget",new EventTarget);p(this,"debug",!1);p(this,"uiInteractionCallbacks",new Map);p(this,"_pixelStream");p(this,"_esMsgWsWrapper");this._domOrDomId=t,this._options=i;const n=typeof this._domOrDomId=="string"?document.getElementById(this._domOrDomId):this._domOrDomId;if(!n)throw new Error(`ESUEViewer container${this._domOrDomId} error!`);console.log(`PSUEViewer init _options ${this._options}`);const{url:s,esmsgWsUri:o}=this._options;this._pixelStream=this._initPixelStream(n,s),this.d(()=>{this._pixelStream.disconnect()}),this._handerPixelStreamEvent(),this._esMsgWsWrapper=this._initEsMsgWsWrapper(o);const a=this;if(a.esMsgWsWrapper){const v=a.webRtcController.sendMessageController.dataChannelSender.sendData;a.webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(l){a.esMsgWsWrapper?a.esMsgWsWrapper.sendInputData(l):v.call(this,l)}}}get eventTarget(){return this._eventTarget}addEventListener(t,i,n){return this.eventTarget.addEventListener(t,i,n)}removeEventListener(t,i,n){return this.eventTarget.removeEventListener(t,i,n)}dispatchEvent(t){return this.eventTarget.dispatchEvent(t)}_initPixelStream(t,i){const n=new D.Config({initialSettings:{AutoPlayVideo:!0,AutoConnect:!0,StartVideoMuted:!1,SuppressBrowserKeys:!1,[D.TextParameters.SignallingServerUrl]:i}});return n.setFlagEnabled(D.Flags.BrowserSendOffer,!1),n.setFlagEnabled(D.Flags.HoveringMouseMode,!0),n.setFlagEnabled(D.Flags.MatchViewportResolution,!0),n.setNumericSetting(D.NumericParameters.MaxReconnectAttempts,0),new D.PixelStreaming(n,{videoElementParent:t})}get pixelStream(){return this._pixelStream}_initEsMsgWsWrapper(t){return t?this.dv(new qn(this,t)):void 0}get esMsgWsWrapper(){return this._esMsgWsWrapper}get esWebSocketReady(){var t;return((t=this.esMsgWsWrapper)==null?void 0:t.inner.readyState)===1}_handerPixelStreamEvent(){this.pixelStream.addEventListener("videoInitialized",()=>{console.log("%c[EarthSDK webrtc videoInitialized]","background: #a6ec99; color: black","videoInitialized"),this.dispatchEvent(new CustomEvent("videoinited",{detail:"videoinited"}))}),this.pixelStream.addEventListener("webRtcFailed",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcFailed]","background: red; color: black","webRtcFailed"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcFailed"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcDisconnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webRtc webRtcDisconnected]","background: red; color: black","webRtcDisconnected"),this.dispatchEvent(new CustomEvent("error",{detail:"webRtcDisconnected"})),this.pixelStream.disconnect())}),this.pixelStream.addEventListener("webRtcConnected",()=>{this.isDestroyed()||(console.log("%c[EarthSDK webrtc webRtcConnected]","background: #a6ec99; color: black","webRtcConnected"),this.dispatchEvent(new CustomEvent("webRtcConnected",{detail:"webRtcConnected"})))}),this.pixelStream.addResponseEventListener("esueviewer",t=>{this.processResponse(t)})}resolveCallback(t){let i={};try{i=JSON.parse(t)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let s=this.uiInteractionCallbacks.get(n);return typeof s!="function"?!1:(s(i),this.uiInteractionCallbacks.delete(n),!0)}processResponse(t){if(this.debug??!1)try{const i=JSON.parse(t);if(i.ers=i.ers&&i.ers.filter(n=>n.et!=="mouseMoveEvent"),!(i.ers&&i.ers.length>0||i.frs&&i.frs.length>0))return;console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${t}) error: ${i}`,i)}this.resolveCallback(t)||this.dispatchEvent(new CustomEvent("ueevent",{detail:t}))}emitUIInteraction(t,i){typeof i=="function"&&(t.callid=r.createGuid(),this.uiInteractionCallbacks.set(t.callid,i)),this.pixelStream.emitUIInteraction(t)}get webRtcController(){return this.pixelStream._webRtcController}emitUIInteractionForBigData(t,i){typeof i=="function"&&(t.callid=r.createGuid(),this.uiInteractionCallbacks.set(t.callid,i));const n=JSON.stringify(t),s=globalThis.g_emitDescriptor_maxBytes,o=n.length,a=++Xn;if(this.esMsgWsWrapper){if(o<s){this.esMsgWsWrapper.emitDescriptorWithString(ue.UIInteraction,`${a}-0/1-`+n);return}const v=Math.ceil(o/s)|0;[...new Array(v).keys()].map(y=>n.slice(y*s,(y+1)*s)).forEach((y,g)=>{this.esMsgWsWrapper&&this.esMsgWsWrapper.emitDescriptorWithString(ue.UIInteraction,`${a}-${g}/${v}-`+y)})}}emitCommand(t){this.pixelStream.emitCommand(t)}getVideoSize(){const t=this.webRtcController.videoPlayer.getVideoElement();return{width:t.videoWidth,height:t.videoHeight}}resizeUEVideo(t,i){let n={Resolution:{Width:t,Height:i}};console.log(`resizeUEVideo emitCommand ${t} ${i} begin`),this.emitCommand(n)}}class Zn extends r.Destroyable{constructor(t,i,n){super();p(this,"_instance");p(this,"_event",this.dv(new r.Event));this._container=t,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new Yn(this._container,{url:this._wsuri,esmsgWsUri:this._esmsgWsUri})),this.instanceInit()}get webSocketReady(){return this._instance.esWebSocketReady}get event(){return this._event}get debug(){return this._instance.debug}set debug(t){this._instance.debug=t}instanceInit(){if("addEventListener"in this._instance){["esmsgwsopen","error","videoinited","ueevent","webRtcConnected"].forEach(i=>{const n=s=>{this._event.emit(i,s.detail)};this._instance.addEventListener(i,n),this.dispose(()=>this._instance.removeEventListener(i,n))});return}this.dispose(this._instance.errorEvent.disposableOn(t=>{this._event.emit("error",t.detail)})),this.dispose(this._instance.webRtcConnectedEvent.disposableOn(t=>{this._event.emit("webRtcConnected",t.detail)})),this.dispose(this._instance.videoinitedEvent.disposableOn(t=>{this._event.emit("videoinited",t.detail)})),this.dispose(this._instance.ueevent.disposableOn(t=>{this._event.emit("ueevent",t.detail)}))}emitUIInteractionForBigData(t,i){return new Promise((n,s)=>{const o=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(t,o)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),s(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(t,i){this._instance.resizeUEVideo(t,i)}}class Qn extends it{constructor(t,i,n,s){super();p(this,"_esueViewerWrapper");p(this,"_ueFuncResultWithIdsEvent",this.dv(new r.Event));p(this,"_ueFuncWithIdAndResultCallbacks",[]);p(this,"_waitingUeFuncIdAndResultCallbacks",new Map);p(this,"_waitingUeCalls",new Set);p(this,"_ueEvent",this.dv(new r.Event));p(this,"_errorEvent",this.dv(new r.Event));p(this,"_readyEvent",this.dv(new r.Event));p(this,"_esmsgwsopen",this.dv(r.react(!1)));p(this,"_videoinited",this.dv(r.react(!1)));p(this,"_webRtcConnected",this.dv(r.react(!1)));this._ueViewer=s,console.log("CSTMPSViewer init ! 以官方像素流 + 独立通信的模式启动!");const o=this._ueViewer;this._esueViewerWrapper=this.dv(new Zn(t,i,n));const a=this._esueViewerWrapper;{const h=()=>a.debug=o.debug??!1;h(),this.d(o.debugChanged.don(h))}let v=!1;{const h=()=>{if(v)return;const c=a.webSocketReady;if(this.videoinited&&this.webRtcConnected&&c){console.log("%c[EarthSDK: esmsgWebSocket && videoinited && webRtcConnected]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};a.emitUIInteractionForBigData(w),this._readyEvent.emit(),v=!0}};this.d(this.videoinitedChanged.don(()=>{h()})),this.d(this.webRtcConnectedChanged.don(()=>{h()})),this.d(this.esmsgwsopenChanged.don(()=>{h()}))}this.d(a.event.don((h,c)=>{if(h==="error")this._errorEvent.emit(c);else if(h==="ueevent"){const w=JSON.parse(c);if(w.t==="cr"){const m=w;if(m.frs&&this._ueFuncResultWithIdsEvent.emit(m.frs),m.ers)for(let C of m.ers)this._ueEvent.emit(C)}}else h==="webRtcConnected"?this.webRtcConnected=!0:h==="videoinited"?this.videoinited=!0:h==="esmsgwsopen"&&(this.esmsgwsopen=!0)}));{const h=this.dv(r.createAnimateFrame());let c,w;h.start(()=>{if(c!==t.offsetWidth||w!==t.offsetHeight){if(c=t.offsetWidth,w=t.offsetHeight,c===void 0||w===void 0||!Number.isFinite(c)||!Number.isFinite(w)||c<0||w<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${c} ${w}`);return}a.resize(c,w),console.log(`resize: ${c} ${w}`)}})}this.d(this._ueFuncResultWithIdsEvent.don(h=>{for(const c of h){const w=this._waitingUeFuncIdAndResultCallbacks.get(c.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(c.fid),w.resultCallback(c.r))}}));let l=0;const y=h=>{const c={n:l++,tt:Date.now(),t:"c",fs:h};this._waitingUeCalls.add(c),o.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(c,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._esueViewerWrapper.emitUIInteractionForBigData(c,()=>{this._waitingUeCalls.delete(c)})},g=()=>{if(!v||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([c])=>c);for(const[c,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(c.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const c=globalThis.g_emitDescriptor_maxBytes,w=h.map(I=>({f:I,s:JSON.stringify(I).length}));let m=w.length,C=0,T=0,E=[];do{do{const{f:I,s:F}=w[C];if(E.push(I),++C,T+F>c||E.length>=20)break}while(C<m);E.length>0&&(o.debug&&console.log(`传送${E.length}条消息...`),y([...E]),E.length=0,T=0)}while(C<m)}};this.dv(r.createInterval()).start(g,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get esueViewerWrapper(){return this._esueViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}get esmsgwsopen(){return this._esmsgwsopen.value}set esmsgwsopen(t){this._esmsgwsopen.value=t}get esmsgwsopenChanged(){return this._esmsgwsopen.changed}get videoinited(){return this._videoinited.value}set videoinited(t){this._videoinited.value=t}get videoinitedChanged(){return this._videoinited.changed}get webRtcConnected(){return this._webRtcConnected.value}set webRtcConnected(t){this._webRtcConnected.value=t}get webRtcConnectedChanged(){return this._webRtcConnected.changed}resize(t,i){this.esueViewerWrapper.resize(t,i)}callUeFunc(t){return new Promise(i=>{const s={fid:r.createGuid(),...t};this._ueFuncWithIdAndResultCallbacks.push([s,{timeStamp:Date.now(),ueFunc:t,resultCallback:i}])})}disposableOnUeEvent(t,i){(this._ueViewer.debug??!1)&&console.log(`disposableOnUeEvent from UeCloudViewer, type:${t}`);const n=r.createGuid();this.callUeFunc({f:"addEventListener",p:{et:t,eid:n}});const s=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},o=this._ueEvent.don(a=>{a.et===t&&a.eid===n&&i(a)});return()=>{o(),s()}}}function On(u){let e="";const t=new Uint8Array(u),i=t.length;for(let n=0;n<i;n++)e+=String.fromCharCode(t[n]);return btoa(e)}const jn=u=>{const e={type:"input",inputdata:On(u)};return JSON.stringify(e)};function ts(u){return typeof u=="string"?document.getElementById(u):u}globalThis.g_emitDescriptor_maxBytes=3e4;let es=-1;D.Logger.SetLoggerVerbosity(1);class is extends r.Destroyable{constructor(t,i){super();p(this,"debug",!1);p(this,"_error",this.dv(new r.Event));p(this,"_connected",this.dv(new r.Event));p(this,"_ueevent",this.dv(new r.Event));p(this,"_pixelStream");p(this,"uiInteractionCallbacks",new Map);this._container=t,this._option=i;const n=new D.Config({initialSettings:{HoveringMouse:!0,AutoPlayVideo:!0,AutoConnect:!0,StartVideoMuted:!1,SuppressBrowserKeys:!1,ss:this._option.ws},useUrlParams:!0});n.setFlagEnabled(D.Flags.BrowserSendOffer,!1),n.setFlagEnabled(D.Flags.HoveringMouseMode,!0),n.setFlagEnabled(D.Flags.MatchViewportResolution,!0),n.setNumericSetting(D.NumericParameters.MaxReconnectAttempts,0),this._pixelStream=new D.PixelStreaming(n,{videoElementParent:this.container}),this.d(()=>{this._pixelStream.disconnect()});{const s=this.pixelStream.webSocketController.webSocket,o=this._pixelStream._webRtcController.sendMessageController.dataChannelSender.sendData;this._pixelStream._webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(a){s?s.send(jn(a)):o.call(this,a)}}{const s=o=>{const a=this._pixelStream._webRtcController.mouseController;setTimeout(()=>{const v=a.coordinateConverter.normalizeAndQuantizeUnsigned(o.offsetX,o.offsetY),y=a.toStreamerMessagesProvider.toStreamerHandlers.get("MouseUp");y&&y([o.button,v.x,v.y]),o.preventDefault()})};this.container.addEventListener("dblclick",s),this.d(()=>{this.container.removeEventListener("dblclick",s)})}["error","close","open"].forEach(o=>{const a=()=>{this.isDestroyed()||(o==="open"?this.connected.emit("webSocketOpen"):o==="close"?this.error.emit("webSocketClose"):o==="error"&&this.error.emit("webSocketError"))};this.pixelStream.webSocketController.webSocket.addEventListener(o,a),this.d(()=>{this.pixelStream.webSocketController.webSocket.removeEventListener(o,a)})}),["videoInitialized","webRtcConnected","webRtcDisconnected","webRtcFailed"].forEach(o=>{const a=()=>{this.isDestroyed()||(o==="webRtcConnected"||o==="videoInitialized"?this.connected.emit(o):(o==="webRtcDisconnected"||o==="webRtcFailed")&&(this.error.emit(o),this.pixelStream.disconnect()))};this.pixelStream.addEventListener(o,a),this.d(()=>{this.pixelStream.removeEventListener(o,a)})}),this.pixelStream.addResponseEventListener("handle_responses",s=>{this.processResponse(s)}),this.d(()=>{this.pixelStream.removeResponseEventListener("handle_responses")})}get error(){return this._error}get connected(){return this._connected}get ueevent(){return this._ueevent}get container(){return ts(this._container)}get pixelStream(){return this._pixelStream}get webSocketReady(){return this.pixelStream.webSocketController.webSocket.readyState===1}processResponse(t){if(this.debug??!1)try{const i=JSON.parse(t);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${t}) error: ${i}`,i)}this.resolveCallback(t)||this.ueevent.emit(t)}emitUIInteractionForBigData(t,i){typeof i=="function"&&(t.callid=r.createGuid(),this.uiInteractionCallbacks.set(t.callid,i));const n=JSON.stringify(t),s=globalThis.g_emitDescriptor_maxBytes??3e4,o=n.length,a=++es;if(o<s){const y={type:"earthsdk",time:new Date().getTime(),params:`${a}-0/1-`+n};this.sendData(JSON.stringify(y));return}const v=Math.ceil(o/s)|0;[...new Array(v).keys()].map(y=>n.slice(y*s,(y+1)*s)).forEach((y,g)=>{const d={type:"earthsdk",time:new Date().getTime(),params:`${a}-${g}/${v}-`+y};this.sendData(JSON.stringify(d))})}sendData(t){this.pixelStream.webSocketController.webSocket.send(t)}resolveCallback(t){let i={};try{i=JSON.parse(t)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let s=this.uiInteractionCallbacks.get(n);return typeof s!="function"?!1:(s(i),this.uiInteractionCallbacks.delete(n),!0)}getVideoSize(){const t=this._pixelStream._webRtcController.videoPlayer.getVideoElement();return{width:t.videoWidth,height:t.videoHeight}}emitCommand(t){this.pixelStream.emitCommand(t)}emitUIInteraction(){console.log("emitUIInteraction 像素流初始化"),this.pixelStream.emitUIInteraction("像素流初始化")}resizeUEVideo(t,i){const n={Resolution:{Width:t,Height:i}};console.log(`resizeUEVideo emitCommand ${t} ${i} begin`),this.emitCommand(n)}}class ns extends r.Destroyable{constructor(t,i,n){super();p(this,"_instance");p(this,"_event",this.dv(new r.Event));this._container=t,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new is(this._container,{ws:this._wsuri})),this.d(this._instance.connected.don(s=>{this._event.emit(s,s),console.log(`%c[EarthSDK] ${s}`,"background: #a6ec99; color: black")})),this.d(this._instance.error.don(s=>{this._event.emit("errorEvent",s),console.log(`%c[EarthSDK] ${s}`,"background: red; color: black")})),this.d(this._instance.ueevent.don(s=>{this._event.emit("ueevent",s)}))}get instance(){return this._instance}get event(){return this._event}get debug(){return this._instance.debug}set debug(t){this._instance.debug=t}emitUIInteractionForBigData(t,i){return new Promise((n,s)=>{const o=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(t,o)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),s(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(t,i){this._instance.resizeUEVideo(t,i)}}class ss extends it{constructor(t,i,n,s){super();p(this,"_videoInitialized",this.dv(r.react(!1)));p(this,"_webRtcConnected",this.dv(r.react(!1)));p(this,"_webSocketOpen",this.dv(r.react(!1)));p(this,"_ue5ViewerWrapper");p(this,"_ueFuncResultWithIdsEvent",this.dv(new r.Event));p(this,"_ueFuncWithIdAndResultCallbacks",[]);p(this,"_waitingUeFuncIdAndResultCallbacks",new Map);p(this,"_waitingUeCalls",new Set);p(this,"_ueEvent",this.dv(new r.Event));p(this,"_errorEvent",this.dv(new r.Event));p(this,"_readyEvent",this.dv(new r.Event));this._ueViewer=s,console.log("INNPSViewer init ! 以内置信令服务器模式启动!");const o=this._ueViewer,a=this.dv(new ns(t,i,n));this._ue5ViewerWrapper=a;{const d=()=>a.debug=o.debug??!1;d(),this.d(o.debugChanged.don(d))}{let d=!1;const h=this.dv(r.createNextAnimateFrameEvent(this._videoInitialized.changed,this._webRtcConnected.changed,this._webSocketOpen.changed));this.d(h.don(()=>{if(d)return;const c=this._ue5ViewerWrapper.instance.webSocketReady;if(this.videoInitialized&&this.webRtcConnected&&c){this._ue5ViewerWrapper.instance.emitUIInteraction(),this._readyEvent.emit(),d=!0,console.log("%c[EarthSDK videoInitialized && webRtcConnected && webSocketReady]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};this._ue5ViewerWrapper.emitUIInteractionForBigData(w)}else console.warn("webSocketReady",c),d=!1}))}this.d(a.event.don((d,h)=>{if(d==="errorEvent")this._errorEvent.emit(h);else if(d==="videoInitialized")this._videoInitialized.value=!0;else if(d==="webRtcConnected")this._webRtcConnected.value=!0;else if(d==="webSocketOpen")this._webSocketOpen.value=!0;else if(d==="ueevent"){const c=JSON.parse(h);if(c.t==="cr"){const w=c;if(w.frs&&this._ueFuncResultWithIdsEvent.emit(w.frs),w.ers)for(let m of w.ers)this._ueEvent.emit(m)}}}));{const d=this.dv(r.createAnimateFrame());let h,c,w;d.start(()=>{if(h!==t.offsetWidth||c!==t.offsetHeight||w!==o.resolutionScale){if(h=t.offsetWidth,c=t.offsetHeight,h===void 0||c===void 0||!Number.isFinite(h)||!Number.isFinite(c)||h<0||c<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${h} ${c}`);return}w=o.resolutionScale,a.resize(h/w,c/w)}})}this.d(this._ueFuncResultWithIdsEvent.don(d=>{for(const h of d){const c=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);c&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),c.resultCallback(h.r))}}));let v=0;const l=d=>{const h={n:v++,tt:Date.now(),t:"c",fs:d};this._waitingUeCalls.add(h),o.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(h,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._ue5ViewerWrapper.emitUIInteractionForBigData(h,()=>{this._waitingUeCalls.delete(h)})},y=()=>{if(!this._ue5ViewerWrapper.instance.webSocketReady||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([c])=>c);for(const[c,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(c.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const c=globalThis.g_emitDescriptor_maxBytes,w=h.map(I=>({f:I,s:JSON.stringify(I).length}));let m=w.length,C=0,T=0,E=[];do{do{const{f:I,s:F}=w[C];if(E.push(I),++C,T+F>c||E.length>=20)break}while(C<m);E.length>0&&(o.debug&&console.log(`传送${E.length}条消息...`),l([...E]),E.length=0,T=0)}while(C<m)}};this.dv(r.createInterval()).start(y,50),this.d(()=>console.log("UeCloudViewer正在销毁..."))}get videoInitialized(){return this._videoInitialized.value}get webRtcConnected(){return this._webRtcConnected.value}get webSocketOpen(){return this._webSocketOpen.value}get ue5ViewerWrapper(){return this._ue5ViewerWrapper}get errorEvent(){return this._errorEvent}get readyEvent(){return this._readyEvent}resize(t,i){this.ue5ViewerWrapper.resize(t,i)}callUeFunc(t){return new Promise(i=>{const s={fid:r.createGuid(),...t};this._ueFuncWithIdAndResultCallbacks.push([s,{timeStamp:Date.now(),ueFunc:t,resultCallback:i}])})}disposableOnUeEvent(t,i){const n=r.createGuid();this.callUeFunc({f:"addEventListener",p:{et:t,eid:n}});const s=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},o=this._ueEvent.don(a=>{a.et===t&&a.eid===n&&i(a)});return()=>{o(),s()}}}class rs extends r.Destroyable{constructor(t,i,n,s){super();p(this,"_onRuntimeInitialized",this.dv(new r.Event));p(this,"_vIframe",null);this._ueViewer=s;const o=this._ueViewer;{const a=document.createElement("iframe");this._vIframe=a,a.style.cssText="width: 100%; height: 100%; margin: 0; padding: 0; border: none; outline: none;",t.appendChild(a),this.d(()=>{a&&t.removeChild(a)});const v=r.ESSceneObject.getStrFromEnv(n+`/web/${i}.html`);a.src=v,a.onload=()=>{const l=a.contentWindow;if(!l){console.error("iframeWindow is null");return}console.log("iwindow.Module",l.Module),l.Module.onRuntimeInitialized=()=>{this._onRuntimeInitialized.emit(),o.setStatus("Created"),o.setStatusLog("创建成功"),l.Module.UE4_resizeCanvas(),l.console.log("创建成功__________________________________________")}}}}get onRuntimeInitialized(){return this._onRuntimeInitialized}get vIframe(){return this._vIframe}}const Wn=typeof TextDecoder<"u"?new TextDecoder:void 0,os=(u,e=0,t=NaN)=>{const i=e+t;let n=e;for(;u[n]&&!(n>=i);)++n;if(n-e>16&&u.buffer&&Wn)return Wn.decode(u.subarray(e,n));let s="";for(;e<n;){var o=u[e++];if(!(o&128)){s+=String.fromCharCode(o);continue}var a=u[e++]&63;if((o&224)==192){s+=String.fromCharCode((o&31)<<6|a);continue}var v=u[e++]&63;if((o&240)==224?o=(o&15)<<12|a<<6|v:((o&248)!=240&&console.warn("Invalid UTF-8 leading byte encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),o=(o&7)<<18|a<<12|v<<6|u[e++]&63),o<65536)s+=String.fromCharCode(o);else{var l=o-65536;s+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return s};class as extends r.Destroyable{constructor(e,t,i){super();{const n=()=>{const v=pe(t);t.setGlobalProperty(v)};n();const s=de(),o=[];s.forEach(v=>{const l=t[v+"Changed"];o.push(l)});const a=this.dv(r.createNextAnimateFrameEvent(...o));this.d(a.don(n))}this.d(t.propChanged.don(n=>{if(n.objId==="")try{Object.keys(n.props).forEach(s=>{const o=n.props[s]===null?void 0:n.props[s];t[s]=o})}catch(s){console.error("ueViewer propChanged:"+s)}})),t.useCustomInteraction=!1,this.dv(new r.ViewerCustomInteraction(t,e)),this.dv(new r.ObjResettingWithEvent(t.statusUpdateIntervalChanged,n=>{if((t.statusUpdateInterval??.5)===0)return;const o=new r.Destroyable;return o.d(i.disposableOnUeEvent("statusUpdate",a=>{t.statusUpdateEvent.emit(a)})),o})),this.dv(new r.ObjResettingWithEvent(t.propChangedListeningChanged,()=>{if(!(t.propChangedListening??!0))return;const s=new r.Destroyable;return s.d(i.disposableOnUeEvent("propChanged",o=>{t.propChanged.emit(o)})),s})),this.dv(new r.ObjResettingWithEvent(t.objectEventListeningChanged,()=>{if(!(t.objectEventListening??!0))return;const s=new r.Destroyable;return s.d(i.disposableOnUeEvent("objectEvent",o=>{t.objectEvent.emit(o)})),s})),this.dv(new r.ObjResettingWithEvent(t.widgetEventListeningChanged,()=>{if(!(t.widgetEventListening??!0))return;const s=new r.Destroyable;return s.d(i.disposableOnUeEvent("widgetEvent",o=>{t.widgetEvent.emit(o)})),s})),this.dv(new r.ObjResettingWithEvent(t.speechRecognitionListeningChanged,()=>{if(!(t.speechRecognitionListening??!0))return;const s=new r.Destroyable;return s.d(i.disposableOnUeEvent("speechRecognition",o=>{t.speechRecognition.emit(o)})),s})),this.dv(new r.ObjResettingWithEvent(t.customMessageListeningChanged,()=>{if(!(t.customMessageListening??!0))return;const s=new r.Destroyable;return s.d(i.disposableOnUeEvent("customMessage",o=>{t.customMessage.emit(o)})),s})),this.dv(new r.ObjResettingWithEvent(t.editingEventListeningChanged,()=>{if(!(t.editingEventListening??!0))return;const s=new r.Destroyable;return s.d(i.disposableOnUeEvent("editingEvent",o=>{o.objectIDs=o.objectIDs.map(a=>{var v;return((v=r.ESSceneObject.getSceneObjById(a))==null?void 0:v.parentID)??a}),t.editingEvent.emit(o)})),s})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{t.cameraChanged.emit()}))}}let ls=-1;class ds extends it{constructor(t,i,n="${earthsdk3-ue-h5-assets-script-dir}",s){super();p(this,"_ueFuncResultWithIdsEvent",this.dv(new r.Event));p(this,"_ueFuncWithIdAndResultCallbacks",[]);p(this,"_waitingUeFuncIdAndResultCallbacks",new Map);p(this,"_waitingUeCalls",new Map);p(this,"_ueEvent",this.dv(new r.Event));this._ueViewer=s;const o=this._ueViewer,a=this.dv(new rs(t,i,n,o));let v=!1,l=null;this.d(a.onRuntimeInitialized.don(()=>{var h;if(v=!0,(h=a==null?void 0:a.vIframe)!=null&&h.contentWindow){l=a.vIframe.contentWindow;const c=a.vIframe.contentWindow.document.getElementById("mainarea");c?this.dv(new as(c,o,this)):console.error("h5Container is null")}else{console.error("iframeWindow is null");return}l.UE_JSHTML5Communication?l.UE_JSHTML5Communication.UESendMessageToJS=c=>{try{const w=os(l.HEAPU8,c),m=JSON.parse(w);if(o.debug&&(console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(m,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()),m.t==="cr"){const C=m;if(C.frs&&this._ueFuncResultWithIdsEvent.emit(C.frs),C.ers)for(let T of C.ers)this._ueEvent.emit(T)}m.callid&&this._waitingUeCalls.has(m.callid)&&(this._waitingUeCalls.delete(m.callid),console.log(`waitingUeCalls.delete:${m.callid} end`))}catch(w){console.error("UE_JSHTML5Communication.UESendMessageToJS error:",w)}}:console.error("UE_JSHTML5Communication UESendMessageToJS not found")})),this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(h=>{for(const c of h){const w=this._waitingUeFuncIdAndResultCallbacks.get(c.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(c.fid),w(c.r))}}));let y=0;const g=()=>{if(!v||!l||!l.UE_JSHTML5Communication||!l.UE_JSHTML5Communication.JSSendMessageToUE||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([F])=>F),c={n:y++,tt:Date.now(),t:"c",fs:h,callid:r.createGuid()};for(const[F,k]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(F.fid,k);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.set(c.callid,c),o.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(c,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const w=JSON.stringify(c),m=globalThis.g_emitDescriptor_maxBytes??3e4,C=w.length,T=++ls;if(C<m){const F=`${T}-0/1-`+w;l.UE_JSHTML5Communication.JSSendMessageToUE(F);return}const E=Math.ceil(C/m)|0;[...new Array(E).keys()].map(F=>w.slice(F*m,(F+1)*m)).forEach((F,k)=>{const Mi=`${T}-${k}/${E}-`+F;l.UE_JSHTML5Communication.JSSendMessageToUE(Mi)})};this.dv(r.createInterval()).start(g,50)}processResponse(t){if(this._ueViewer.debug??!1)try{const i=JSON.parse(t);console.group("%cUE => JS"," background-color:#006EFF;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(i,void 0,"")}`," border:1px dashed #006EFF;border-radius:5px;padding:10px;line-height:25px;color:#006EFF;"),console.groupEnd()}catch(i){console.error(`processResponse(${t}) error: ${i}`,i)}}callUeFunc(t){return new Promise(i=>{const s={fid:r.createGuid(),...t};this._ueFuncWithIdAndResultCallbacks.push([s,i])})}disposableOnUeEvent(t,i){const n=r.createGuid();this.callUeFunc({f:"addEventListener",p:{et:t,eid:n}});const s=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},o=this._ueEvent.disposableOn(a=>{a.et===t&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${t} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{o(),s()}}}let us=-1;class cs extends it{constructor(t,i){super();p(this,"_ueFuncResultWithIdsEvent",this.dv(new r.Event));p(this,"_ueFuncWithIdAndResultCallbacks",[]);p(this,"_waitingUeFuncIdAndResultCallbacks",new Map);p(this,"_waitingUeCalls",new Set);p(this,"_ueEvent",this.dv(new r.Event));this._ueViewer=i;const n=this._ueViewer;let s=!1;const o={eventType:"init",params:{}};globalThis.ue.es.oncommand(JSON.stringify(o)),s=!0,globalThis.calljs=(y,g)=>{if(n.debug&&console.log(`calljs eventName:${y} eventDetailStr:${g}`),y==="ueevent"||y==="commanFinish")try{const d=JSON.parse(g);if(d.t==="cr"){const h=d;if(h.frs&&this._ueFuncResultWithIdsEvent.emit(h.frs),h.ers)for(let c of h.ers)this._ueEvent.emit(c)}}catch(d){console.error(d)}},this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(y=>{for(const g of y){const d=this._waitingUeFuncIdAndResultCallbacks.get(g.fid);d&&(this._waitingUeFuncIdAndResultCallbacks.delete(g.fid),d(g.r))}}));let a=0;const v=()=>{if(!s||this._ueFuncWithIdAndResultCallbacks.length===0)return;const y=this._ueFuncWithIdAndResultCallbacks.map(([h])=>h),g={n:a++,tt:Date.now(),t:"c",fs:y};for(const[h,c]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,c);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.add(g),n.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(g,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const d=++us;globalThis.ue.es.oncommand(`${d}-0/1-`+JSON.stringify(g)).then(()=>{this._waitingUeCalls.delete(g)})};this.dv(r.createInterval()).start(v,50)}callUeFunc(t){return new Promise(i=>{const s={fid:r.createGuid(),...t};this._ueFuncWithIdAndResultCallbacks.push([s,i])})}disposableOnUeEvent(t,i){const n=r.createGuid();this.callUeFunc({f:"addEventListener",p:{et:t,eid:n}});const s=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},o=this._ueEvent.disposableOn(a=>{a.et===t&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${t} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{o(),s()}}}class hs extends r.Destroyable{constructor(e,t){super();{const i=()=>{const a=pe(e);e.setGlobalProperty(a)};i();const n=de(),s=[];n.forEach(a=>{const v=e[a+"Changed"];s.push(v)});const o=this.dv(r.createNextAnimateFrameEvent(...s));this.d(o.don(i))}this.d(e.propChanged.don(i=>{if(i.objId==="")try{Object.keys(i.props).forEach(n=>{const s=i.props[n]===null?void 0:i.props[n];e[n]=s})}catch(n){console.error("ueViewer propChanged:"+n)}})),this.dv(new r.ObjResettingWithEvent(e.statusUpdateIntervalChanged,i=>{if((e.statusUpdateInterval??.5)===0)return;const s=new r.Destroyable;return s.d(t.disposableOnUeEvent("statusUpdate",o=>{e.statusUpdateEvent.emit(o)})),s})),this.dv(new r.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const n=new r.Destroyable;return n.d(t.disposableOnUeEvent("propChanged",s=>{e.propChanged.emit(s)})),n})),this.dv(new r.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const n=new r.Destroyable;return n.d(t.disposableOnUeEvent("objectEvent",s=>{e.objectEvent.emit(s)})),n})),this.dv(new r.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const n=new r.Destroyable;return n.d(t.disposableOnUeEvent("widgetEvent",s=>{e.widgetEvent.emit(s)})),n})),this.dv(new r.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const n=new r.Destroyable;return n.d(t.disposableOnUeEvent("speechRecognition",s=>{e.speechRecognition.emit(s)})),n})),this.dv(new r.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const n=new r.Destroyable;return n.d(t.disposableOnUeEvent("customMessage",s=>{e.customMessage.emit(s)})),n})),this.dv(new r.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const n=new r.Destroyable;return n.d(t.disposableOnUeEvent("editingEvent",s=>{s.objectIDs=s.objectIDs.map(o=>{var a;return((a=r.ESSceneObject.getSceneObjById(o))==null?void 0:a.parentID)??o}),e.editingEvent.emit(s)})),n})),this.ad(t.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}class vs extends r.Destroyable{constructor(e,t,i){super();{const s=()=>{const l=pe(t);t.setGlobalProperty(l)};s();const o=de(),a=[];o.forEach(l=>{const y=t[l+"Changed"];a.push(y)});const v=this.dv(r.createNextAnimateFrameEvent(...a));this.d(v.don(s))}this.d(t.propChanged.don(s=>{if(s.objId==="")try{Object.keys(s.props).forEach(o=>{const a=s.props[o]===null?void 0:s.props[o];t[o]=a})}catch(o){console.error("ueViewer propChanged:"+o)}}));const n=document.createElement("div");n.style.width="100%",n.style.height="100%",n.style.position="absolute",n.style.overflow="hidden",n.style.top="0",n.style.left="0",n.style.zIndex="0",n.style.backgroundColor="rgba(255,0,0,0)",n.setAttribute("masker","大屏顶层div,用于模拟鼠标事件和控制UE鼠标事件是否生效"),e.appendChild(n),this.d(()=>{n&&e&&e.removeChild(n)});{const s=(l,y)=>{globalThis.ue.esinput.setinterceptevent(y),l.preventDefault()},o=l=>{s(l,!1)},a=l=>{s(l,!0)},v=l=>{s(l,!1)};n.addEventListener("mouseenter",o),n.addEventListener("mouseleave",a),n.addEventListener("mousemove",v),this.d(()=>{n.removeEventListener("mouseenter",o),n.removeEventListener("mouseleave",a),n.removeEventListener("mousemove",v)})}t.useCustomInteraction=!1,this.dv(new r.ViewerCustomInteraction(t,n)),this.dv(new r.ObjResettingWithEvent(t.statusUpdateIntervalChanged,s=>{if((t.statusUpdateInterval??.5)===0)return;const a=new r.Destroyable;return a.d(i.disposableOnUeEvent("statusUpdate",v=>{t.statusUpdateEvent.emit(v)})),a})),this.dv(new r.ObjResettingWithEvent(t.propChangedListeningChanged,()=>{if(!(t.propChangedListening??!0))return;const o=new r.Destroyable;return o.d(i.disposableOnUeEvent("propChanged",a=>{t.propChanged.emit(a)})),o})),this.dv(new r.ObjResettingWithEvent(t.objectEventListeningChanged,()=>{if(!(t.objectEventListening??!0))return;const o=new r.Destroyable;return o.d(i.disposableOnUeEvent("objectEvent",a=>{t.objectEvent.emit(a)})),o})),this.dv(new r.ObjResettingWithEvent(t.widgetEventListeningChanged,()=>{if(!(t.widgetEventListening??!0))return;const o=new r.Destroyable;return o.d(i.disposableOnUeEvent("widgetEvent",a=>{t.widgetEvent.emit(a)})),o})),this.dv(new r.ObjResettingWithEvent(t.speechRecognitionListeningChanged,()=>{if(!(t.speechRecognitionListening??!0))return;const o=new r.Destroyable;return o.d(i.disposableOnUeEvent("speechRecognition",a=>{t.speechRecognition.emit(a)})),o})),this.dv(new r.ObjResettingWithEvent(t.customMessageListeningChanged,()=>{if(!(t.customMessageListening??!0))return;const o=new r.Destroyable;return o.d(i.disposableOnUeEvent("customMessage",a=>{t.customMessage.emit(a)})),o})),this.dv(new r.ObjResettingWithEvent(t.editingEventListeningChanged,()=>{if(!(t.editingEventListening??!0))return;const o=new r.Destroyable;return o.d(i.disposableOnUeEvent("editingEvent",a=>{a.objectIDs=a.objectIDs.map(v=>{var l;return((l=r.ESSceneObject.getSceneObjById(v))==null?void 0:l.parentID)??v}),t.editingEvent.emit(a)})),o})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{t.cameraChanged.emit()}))}}class gs extends r.Destroyable{constructor(t,i,n){super();p(this,"_reconnectEvent",this.dv(new r.Event));const s=(g,d)=>g.hasOwnProperty(d);let o=0,a;this.d(()=>{a&&clearTimeout(a)});const l=new URLSearchParams(globalThis.location.search).get("eswebview")==="true",y=()=>{if(globalThis.ue.esinput){n.setStatus("Creating"),console.log("存在(window.ue && window.ue.es && window.ue.esinput 需要适配新版ESWebView 鼠标穿透), 开始创建UeFalseCloudViewer..."),n.setStatusLog("开始创建本地视口...");const g=this.dv(new cs(t,n));this.d(()=>n.viewer=void 0),n.viewer=g,n.setStatus("Created"),n.setStatusLog("本地视口创建成功!"),this.dv(new vs(t,n,g))}else n.setStatus("Error"),n.setStatusLog("请升级 ESWebView !"),this.d(()=>n.viewer=void 0),n.viewer=void 0};if(globalThis.ue&&globalThis.ue.es)y();else if(l){const g=setInterval(()=>{globalThis.ue&&globalThis.ue.es&&(clearInterval(g),y())},200)}else if(s(i.options,"ws")||s(i.options,"uri")&&s(i.options,"app")){n.setStatus("Creating"),n.setStatusLog("开始创建云渲染视口...");let g;this.d(()=>{n.setStatus("Raw"),n.setStatusLog(""),t&&g&&t.removeChild(g)&&(g=void 0)});const d=this.dv(r.createProcessingFromAsyncFunc(async h=>{n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,g&&t.removeChild(g)&&(g=void 0),g=document.createElement("div"),g.setAttribute("earthsdk3-ue","earthsdk3-ue-videoContainer"),g.style.cssText="position:relative; height: 100%;width:100%;",t.appendChild(g);let c,w,m;if(s(i.options,"ws")){const{ws:I,esmsg:F,uselnternalSignallingServer:k}=i.options;c=I,w=F,m=k??!1}if(s(i.options,"uri")&&s(i.options,"app")){const{offsetWidth:I,offsetHeight:F}=g;let{uri:k,app:Mi,token:Hn}=i.options;k.endsWith("/")||(k+="/");const ws=Hn?`?essstoken=${Hn}`:"",Gn=`/${Mi}/${I??1920}/${F??1080}`+ws;console.log(`请求信令服务器: ${k}instance${Gn}`);const ys=await h.promise(fetch(`${k}instance${Gn}`,{method:"GET"})),Z=await h.promise(ys.json());if(Z&&Z.status!=="ok"){n.setStatus("Error"),n.setStatusLog(`信令服务器请求失败 ${Z.status}`),this._reconnectEvent.emit(void 0);return}else{console.log(`信令服务器请求成功! ${JSON.stringify(Z,void 0," ")}`),await r.sleep(2e3);const{server:ms,esmsg:Cs,instanceId:Es,useInternalSignallingServer:Ss}=Z;if(!Es){n.setStatus("Error"),n.setStatusLog("检查信令服务器版本,返回数据错误! "),console.log("信令服务器返回数据错误!不包含instanceId!请升级到 ESSS V3.0+ 版本!"),this._reconnectEvent.emit(void 0);return}c=ms,w=Cs,m=Ss??!1,n.esssResponse=Z}}const C=this.dv(m?new ss(g,c,w,n):new Qn(g,c,w,n));this.d(()=>n.viewer=void 0),this.d(C.errorEvent.don(I=>{const F=`[${I}]:像素流连接错误!`;n.setStatus("Error"),n.setStatusLog(F),this._reconnectEvent.emit(C)})),await h.promise(new Promise(I=>this.d(C.readyEvent.donce(I)))),n.setStatus("Created"),n.setStatusLog("云渲染视口创建成功!"),o=0,a&&clearTimeout(a),a=void 0;const{offsetWidth:T,offsetHeight:E}=g;C.resize(T*globalThis.devicePixelRatio,E*globalThis.devicePixelRatio),n.viewer=C,this.d(()=>n.viewer=void 0),this.dv(new hs(n,C))}));d.start(),this.d(this._reconnectEvent.don(h=>{a===void 0&&(h&&!h.isDestroyed()&&h.destroy(),n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,n.autoReconnect&&(n.setStatus("Reconnecting"),n.setStatusLog("正在尝试重新连接..."),o=o+5e3>3e4?3e4:o+5e3,console.warn(`间隔:${o/1e3}s,正在尝试重新连接...`),a=globalThis.setTimeout(()=>{d.restart()},o)))})),this.d(d.errorEvent.don(h=>{n.setStatus("Error"),n.setStatusLog("云渲染视口创建失败!"),console.warn("云渲染视口创建失败!",h),this._reconnectEvent.emit(void 0)}))}else if(s(i.options,"project")){const g=i,d=g.options.project,h=g.options.baseUrl;n.setStatus("Creating"),n.setStatusLog("下载编译中...");const c=this.dv(new ds(t,d,h,n));n.viewer=c,this.d(()=>n.viewer=void 0)}else n.setStatus("Error"),n.setStatusLog("视口创建失败!"),console.warn("视口创建失败: 参数错误!")}}const b=class b extends r.ESViewer{constructor(t){super(t);p(this,"_viewer",this.dv(r.react(void 0)));p(this,"_esssResponse");p(this,"_speechRecognition",this.dv(new r.Event));p(this,"_propChanged",this.dv(new r.Event));p(this,"_objectEvent",this.dv(new r.Event));p(this,"_widgetEvent",this.dv(new r.Event));p(this,"_customMessage",this.dv(new r.Event));p(this,"_statusUpdateEvent",this.dv(new r.Event));p(this,"_statusUpdateEventdon",(()=>{this.d(this.statusUpdateEvent.don(t=>{this._statusInfo.fps=t.FPS??0,this._statusInfo.length=t.length??0,this._statusInfo.position=t.position??[0,0,0],this._statusInfo.rotation=t.rotation??[0,0,0]}))})());if(t.type!=="ESUeViewer")throw new Error("option.type must be ESUeViewer");const i=t;this.d(this._viewer.changed.don(()=>{this.viewerChanged.emit(this.viewer)})),this.dv(new r.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new gs(this.subContainer,i,this)}))}get defaultProps(){return b.createDefaultProps()}set viewer(t){this._viewer.value=t}get viewer(){return this._viewer.value}get esssResponse(){return this._esssResponse}set esssResponse(t){this._esssResponse=t}get speechRecognition(){return this._speechRecognition}get propChanged(){return this._propChanged}get objectEvent(){return this._objectEvent}get widgetEvent(){return this._widgetEvent}get customMessage(){return this._customMessage}get statusUpdateEvent(){return this._statusUpdateEvent}async uePositionToLonLatAlt(t){if(!this.viewer){console.warn("UEPositionToLonLatAlt: viewer is undefined");return}return await rn(this.viewer,t)}async changeNavigationMode(t){if(!this.viewer){console.warn("ChangeNavigationMode: viewer is undefined");return}const i=await U(this.viewer,t);return i&&!i.error&&(this._navigationMode.value=t.mode),i}async resetWithCurrentCamera(t){if(!this.viewer){console.warn("resetWithCurrentCamera: viewer is undefined");return}return await we(this.viewer,t)}async getAllSocketNamesByActorTag(t){if(!this.viewer){console.warn("GetAllSocketNamesByActorTag: viewer is undefined");return}return await on(this.viewer,t)}async getBoundSphere(t){if(!this.viewer){console.warn("getBoundSphere: viewer is undefined");return}return await ln(this.viewer,t)}async getBoundSphereWithChildren(t){if(!this.viewer){console.warn("getBoundSphereWithChildren: viewer is undefined");return}return await dn(this.viewer,t)}async getStrokeMaterialParamInfo(t){if(!this.viewer){console.warn("GetStrokeMaterialParamInfo: viewer is undefined");return}return await un(this.viewer,t)}async getFillMaterialParamInfo(t){if(!this.viewer){console.warn("getFillMaterialParamInfo: viewer is undefined");return}return await cn(this.viewer,t)}async getGlobalProperty(t){if(!this.viewer){console.warn("getGlobalProperty: viewer is undefined");return}return await hn(this.viewer,t)}async getObjectByInfo(t){if(!this.viewer){console.warn("GetObjectByInfo: viewer is undefined");return}return await vn(this.viewer,t)}async defaultCameraFlyIn(t=1){if(!this.viewer){console.warn("DefaultCameraFlyIn: viewer is undefined");return}return await $i(this.viewer,t)}async startVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await xi(this.viewer)}async stopVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await _i(this.viewer)}async mountPakFiles(t){if(!this.viewer){console.warn("mountPakFiles:viewer is undefined");return}return await Ni(this.viewer,t)}async generateMemReport(){if(!this.viewer){console.warn("generateMemReport:viewer is undefined");return}return await zi(this.viewer)}async quit(){if(!this.viewer){console.warn("Quit: viewer is undefined");return}return await Zi(this.viewer)}async bindActorByTag(t,i){if(!this.viewer){console.warn("BindActorByTag: viewer is undefined");return}return await gn(this.viewer,t,i)}async restoreOriginalScene(){if(!this.viewer){console.warn("RestoreOriginalScene: viewer is undefined");return}return await pn(this.viewer)}async unBindActorByID(t){if(!this.viewer){console.warn("UnBindActorByID: viewer is undefined");return}return await fn(this.viewer,t)}async unBindActorByTag(t){if(!this.viewer){console.warn("UnBindActorByTag: viewer is undefined");return}return await wn(this.viewer,t)}async createActorByClass(t,i){if(!this.viewer){console.warn("CreateActorByClass: viewer is undefined");return}return await yn(this.viewer,t,i)}async bind3DTilesetByTag(t,i){if(!this.viewer){console.warn("Bind3DTilesetByTag: viewer is undefined");return}return await mn(this.viewer,t,i)}async unBind3DTilesetByTag(t){if(!this.viewer){console.warn("UnBind3DTilesetByTag: viewer is undefined");return}return await Cn(this.viewer,t)}async unBind3DTilesetById(t){if(!this.viewer){console.warn("UnBind3DTilesetById: viewer is undefined");return}return await En(this.viewer,t)}async bindImageryByTag(t,i,n){if(!this.viewer){console.warn("BindImageryByTag: viewer is undefined");return}return await Sn(this.viewer,t,i,n)}async unBindImageryByTag(t,i){if(!this.viewer){console.warn("UnBindImageryByTag: viewer is undefined");return}return await Fn(this.viewer,t,i)}async unBindImageryById(t){if(!this.viewer){console.warn("UnBindImageryById: viewer is undefined");return}return await In(this.viewer,t)}async getIdByComponentNameAndHitItem(t,i,n){if(!this.viewer){console.warn("GetIdByComponentNameAndHitItem: viewer is undefined");return}return await Tn(this.viewer,t,i,n)}async getCameraRelativeHeight(t="ECC_Visibility"){if(!this.viewer){console.warn("GetCameraRelativeHeight: viewer is undefined");return}return await Dn(this.viewer,t)}async saveStringToFile(t,i,n){if(!this.viewer){console.warn("SaveStringToFile: viewer is undefined");return}return await Rn(this.viewer,t,i,n)}async highlightActorByTag(t,i=!0){if(!this.viewer){console.warn("HighlightActorByTag: viewer is undefined");return}return await Ln(this.viewer,t,i)}async sendCustomMessage(t){if(!this.viewer){console.warn("SendCustomMessage: viewer is undefined");return}return await Pn(this.viewer,t)}async getStatus(){if(!this.viewer){console.warn("GetStatus:viewer is undefined");return}return await kn(this.viewer)}async getTilesetMaterialIDList(){if(!this.viewer){console.warn("GetTilesetMaterialIDList:viewer is undefined");return}return await Mn(this.viewer)}async pick(t,i,n){if(!this.viewer)return;let s=t;if(t&&globalThis.ue&&this.container){const[o,a]=t,{x:v,y:l}=this.container.getBoundingClientRect();s=[v+o,l+a]}return await Qi(this.viewer,s,i,n)}async pickPosition(t){if(!this.viewer)return;let i=t;if(t&&globalThis.ue&&this.container){const[n,s]=t,{x:o,y:a}=this.container.getBoundingClientRect();i=[o+n,a+s]}return await Oi(this.viewer,i)}async quickPickPosition(t){return await this.pickPosition(t)}async getTerrainHeight(t){return await this.getHeightByLonLat(t[0],t[1])??void 0}async flyIn(t,i=[0,0,0],n=1,s="default"){if(!this.viewer)return;const o=await Q(this.viewer,void 0,t,i,n,s);if(o)return o.endType===0&&console.warn(`flyTo:flyTo is end! endType:${o.endType}`),o.endType===1&&console.warn(`flyTo:飞行中断! endType:${o.endType}`),o}async flyTo(t,i,n="default"){if(!this.viewer)return;const s=await G(this.viewer,void 0,void 0,t,i,n);if(s)return s.endType===0&&console.warn(`flyTo:flyTo is end! endType:${s.endType}`),s.endType===1&&console.warn(`flyTo:飞行中断! endType:${s.endType}`),s}flyToBoundingSphere(t,i,n=1){const s=[[t[0],t[1],0],[t[0],t[3],0],[t[2],t[3],0],[t[2],t[1],0]],o=r.getGeoBoundingSphereFromPositions(s);if(!o)return;const{center:a,radius:v}=o,l={distance:i??v,heading:0,pitch:-90,flyDuration:n,hDelta:0,pDelta:0};this.flyTo(l,a)}getCurrentCameraInfo(){const{position:t,rotation:i}=this._statusInfo;return{position:t,rotation:i}}transformFlyParam(t,i){}getLengthInPixel(){return this._statusInfo.length}async changeToWalk(t,i=4.2,n=1.6){if(!this.viewer)return;const s={mode:"Walk",position:t,jumpZVelocity:i,eyeHeight:n},o=await U(this.viewer,s);return o&&!o.error&&(this._navigationMode.value=s.mode),o}async changeToMap(){if(!this.viewer)return;const t={mode:"Map"},i=await U(this.viewer,t);return i&&!i.error&&(this._navigationMode.value=t.mode),i}async changeToRotateGlobe(t=38,i=1e7,n=60){if(!this.viewer)return;const s={mode:"RotateGlobe",latitude:t,height:i,cycleTime:n},o=await U(this.viewer,s);return o&&!o.error&&(this._navigationMode.value=s.mode),o}async changeToLine(t,i=10,n=10,s=!0,o=10,a="auto"){if(!this.viewer)return;const v={mode:"Line",geoLineStringId:t,speed:i,heightOffset:n,loop:s,turnRateDPS:o,lineMode:a},l=await U(this.viewer,v);return l&&!l.error&&(this._navigationMode.value=v.mode),l}async changeToUserDefined(t){if(!this.viewer)return;const i={mode:"UserDefined",userDefinedPawn:t},n=await U(this.viewer,i);return n&&!n.error&&(this._navigationMode.value=i.mode),n}async changeToRotatePoint(t,i=5e4,n=60,s=0,o=-30){if(!this.viewer)return;const a={mode:"RotatePoint",position:t,distance:i,orbitPeriod:n,heading:s,pitch:o},v=await U(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}async changeToFollow(t,i=0,n=0,s=-30,o=!0){if(!this.viewer)return;const a={mode:"Follow",objectId:t,distance:i,heading:n,pitch:s,relativeRotation:o},v=await U(this.viewer,a);return v&&!v.error&&(this._navigationMode.value=a.mode),v}getFPS(){return this._statusInfo.fps}async getVersion(){const t=globalThis.g_XE3CopyRights??{};if(!this.viewer)return t;const i=await an(this.viewer);return t.esforue=i,t}async getHeightByLonLat(t,i,n="ECC_Visibility"){if(!this.viewer)return null;const s=await ji(this.viewer,t,i,n);return s&&s.height!==void 0?s.height:null}async getHeightsByLonLats(t,i="ECC_Visibility"){return this.viewer?await tn(this.viewer,t,i):void 0}async capture(t=64,i=64){return this.viewer?await en(this.viewer,t,i):void 0}async partialCapture(t,i=[64,64]){if(!this.viewer){console.warn("partialCapture:viewer is undefined");return}return await nn(this.viewer,t,i)}async lonLatAltToScreenPosition(t){if(!this.viewer)return;const i=await sn(this.viewer,t);return i&&[i.X,i.Y]}async setGlobalProperty(t){if(this.viewer)return await Yi(this.viewer,t)}async startEditing(t,i,n){n=Object.assign({useKeyToSwitch:!0,callSource:"outer"},n);const s=t.components.main??t;if(!s||!this.viewer||i==null)return;const o=Array.isArray(i)?[...i]:[i];return s.editingID=`${n.callSource}_${r.createGuid()}`,await Bn(this.viewer,s.id,s.editingID,o,n.useKeyToSwitch)}async stopEditing(){if(this.viewer)return await Un(this.viewer)}async moveObjects(t){if(!this.viewer)return;const i=[],n=r.createGuid();for(let s=0;s<t.length;s++){const o=t[s],a=o.components.main??o;a.editingID=n,a&&i.push(a.id)}if(i.length!==0)return await An(this.viewer,i,n)}};p(b,"type",b.register("ESUeViewer",b)),p(b,"defaults",{...Kn});let A=b;(u=>{u.createDefaultProps=()=>({...r.ESViewer.createDefaultProps(),...Wi(),resolutionScale:1,autoReconnect:!1,propChangedListening:void 0,objectEventListening:void 0,widgetEventListening:void 0,speechRecognitionListening:void 0,customMessageListening:void 0})})(A||(A={})),r.extendClassProps(A.prototype,A.createDefaultProps);class W extends r.EngineObject{constructor(e,t){super(e,t);const i=t.viewer;if(!i)return;const n=this.ad(r.react(!1));e.components.main||this.d(this.createdEvent.don(()=>{const s=this.constructor.propValFuncs,o=e.defaultProps,a=Object.keys(o).filter(h=>s[h]!==null);a.push(...this.constructor.forceUeUpdateProps);const v=e.constructor.defaults,l={val:{}},y=[];for(let h of a){const c=h+"Changed",w=e[c];y.push(w);const m=s[h];if(m===null)throw console.error("vf === null error"),new Error("vf === null error");const C=()=>{const T=e[h]??v[h]??e.constructor[`default${h.charAt(0).toUpperCase()+h.slice(1)}`];let E=m?m(T,this,t,e):T;if(E===void 0){console.warn(`UE自动更新的属性,不应该为undefined! 属性名:${h} 对象名:${e.name} 对象id: ${e.id}`);return}l.val[h]=E};C(),this.d(w.don(C))}const g=()=>{i.callUeFunc({f:"update",p:{id:e.id,...l.val}}),l.val={}},d=this.dv(r.createNextAnimateFrameEvent(...y));this.d(d.don(g)),this.d(n.changed.don(g)),this.d(e.flushEvent.don(()=>d.flush()))})),e.components.main||(this.d(()=>{n.value&&fe(i,e.id)}),i.callUeFunc({f:"create",p:{type:e.typeName,id:e.id}}).then(()=>{n.value=!0}).catch(s=>console.error(s)))}}p(W,"propValFuncs",{ref:null,devTags:null,extras:null,execOnceFuncStr:null,updateFuncStr:null,toDestroyFuncStr:null}),p(W,"forceUeUpdateProps",[]);class R extends W{constructor(e,t){super(e,t);const i=t.viewer;i&&(this.d(e.flyToEvent.don(n=>{G(i,e.id,n)})),this.d(e.flyInEvent.don(n=>{var s,o;Q(i,e.id,(s=e.flyInParam)==null?void 0:s.position,(o=e.flyInParam)==null?void 0:o.rotation,n??1)})),this.d(e.calcFlyToParamEvent.don(()=>{M(i,e.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const n=t.getCurrentCameraInfo();if(!n)return;const{position:s,rotation:o}=n;e.flyInParam={position:s,rotation:o,flyDuration:1}})),this.d(t.propChanged.don(n=>{n.objId===e.id&&Object.keys(n.props).forEach(s=>{const o=n.props[s]===null?void 0:n.props[s];e[s]=o})})))}}class S extends R{constructor(e,t){super(e,t);const i=t.viewer;if(!i)return;const n=()=>{e.editing||i.callUeFunc({f:"update",p:{id:e.id,position:e.position,rotation:e.rotation}})},s=this.dv(r.createNextAnimateFrameEvent(e.positionChanged,e.rotationChanged,e.editingChanged));this.d(s.don(()=>{setTimeout(n,0)})),this.d(e.smoothMoveEvent.don((v,l)=>{et(i,e.id,v,l)})),this.d(e.smoothMoveWithRotationEvent.don((v,l,y)=>{O(i,e.id,v,l,y)})),this.d(e.smoothMoveOnGroundEvent.don((v,l,y,g)=>{j(i,e.id,v,l,g,y)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((v,l,y,g,d)=>{tt(i,e.id,v,l,y,g,d)})),this.d(e.smoothMoveKeepPitchEvent.don(async(v,l)=>{const y=await i.callUeFunc({f:"SmoothMoveKeepPitch",p:{id:e.id,Destination:v,Time:l}});y.error&&console.error("SmoothMoveKeepPitch:",y.error)})),this.d(e.automaticLandingEvent.don(v=>{const l=[e.position[0],e.position[1]];t.getHeightByLonLat(e.position[0],e.position[1],"Visibility").then(y=>{y!==null&&(e.position=[...l,y],e.collision=v)})}));const o=async(v,l,y,g)=>{const{viewer:d}=v;if(!d){console.error("SmoothMoveRelatively: ueViewer.viewer is undefined");return}const h=await d.callUeFunc({f:"SmoothMoveRelatively",p:{id:l,RelativePosition:y,Time:g}});return h.error&&console.error("SmoothMoveRelatively:",h.error),h};this.d(e.smoothMoveRelativelyEvent.don((v,l)=>{o(t,e.id,v,l)}));const a=async(v,l,y,g,d)=>{const{viewer:h}=v;if(!h){console.error("SmoothMoveRelativelyWithRotation: ueViewer.viewer is undefined");return}const c=await h.callUeFunc({f:"SmoothMoveRelativelyWithRotation",p:{id:l,RelativePosition:y,NewRotation:g,Time:d}});return c.error&&console.error("SmoothMoveRelativelyWithRotation:",c.error),c};this.d(e.smoothMoveRelativelyWithRotationEvent.don((v,l,y)=>{a(t,e.id,v,l,y)}))}}class L extends R{constructor(e,t){super(e,t);const i=t.viewer;if(!i)return;const n=()=>{e.editing||i.callUeFunc({f:"update",p:{id:e.id,points:e.points}})},s=this.dv(r.createNextAnimateFrameEvent(e.pointsChanged,e.editingChanged));this.d(s.don(()=>{setTimeout(n,0)}))}}p(L,"propValFuncs",{...R.propValFuncs,pointStyle:e=>({...e,materialParams:JSON.stringify(e.materialParams??{})}),strokeStyle:e=>({...e,materialParams:JSON.stringify(e.materialParams??{})}),fillStyle:e=>({...e,materialParams:JSON.stringify(e.materialParams??{})})});class B extends S{constructor(e,t){super(e,t),t.viewer&&this.d(t.widgetEvent.don(n=>{if(n.objId!==e.id)return;const{type:s,add:o}=n;e.widgetEvent.emit({type:s,add:o})}))}}class me extends S{constructor(e,t){super(e,t),t.viewer}}p(me,"propValFuncs",{...S.propValFuncs,pointStyle:e=>({...e,materialParams:JSON.stringify(e.materialParams??{})}),strokeStyle:e=>({...e,materialParams:JSON.stringify(e.materialParams??{})}),fillStyle:e=>({...e,materialParams:JSON.stringify(e.materialParams??{})})});class ce extends me{constructor(e,t){super(e,t),t.viewer}}const bn=u=>{switch(u){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是3dTileset,无法绑定";default:return"未知错误"}},nt=class nt extends r.EngineObject{constructor(t,i){super(t,i);p(this,"_styleColor",this.dv(r.react([])));p(this,"_styleVisable",this.dv(r.react([])));const n=i.viewer;if(!n){console.warn("UeES3DTileset: viewer is undefined!");return}let s,o;const a=async()=>{!s&&!o||await n.callUeFunc({f:"update",p:{id:t.id,url:t.url,show:t.show,collision:t.collision,allowPicking:t.allowPicking,flyToParam:t.flyToParam??r.ES3DTileset.defaultFlyToParam,flyInParam:t.flyInParam??r.ES3DTileset.defaultFlyInParam,highlightID:t.highlightID,highlightColor:t.highlightColor,highlight:t.highlight,materialMode:t.materialMode,maximumScreenSpaceError:t.maximumScreenSpaceError,colorMode:Reflect.has(t,"colorMode")?t.colorMode:void 0,offset:t.offset,rotation:t.rotation,cacheBytes:t.cacheBytes,colorBlendMode:t.colorBlendMode,materialOverrideMap:t.materialOverrideMap}})},v=this.dv(r.createNextAnimateFrameEvent(t.urlChanged,t.showChanged,t.flyToParamChanged,t.flyInParamChanged,t.collisionChanged,t.allowPickingChanged,t.highlightIDChanged,t.highlightColorChanged,t.highlightChanged,t.materialModeChanged,t.maximumScreenSpaceErrorChanged,t.offsetChanged,t.rotationChanged,t.cacheBytesChanged,t.colorBlendModeChanged,t.materialOverrideMapChanged));a(),this.d(v.don(a)),Reflect.has(t,"colorMode")&&this.d(t.colorModeChanged.don(()=>a()));const l=this.dv(r.react(void 0));{const g=this.dv(r.createNextAnimateFrameEvent(t.actorTagChanged,t.urlChanged)),d=()=>{t.actorTag?l.value={type:"ActorTag",actorTag:t.actorTag}:t.url?l.value={type:"CreatedUrl",url:t.url}:l.value=void 0,t.editing=!1};d(),this.d(g.don(d))}const y=async()=>{const{id:g}=t;if(s!==void 0){s=void 0;try{const d=await i.unBind3DTilesetById(g);if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d}`);return}}if(o!==void 0){o=void 0;try{const d=await n.callUeFunc({f:"destroy",p:{id:g}});if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset Destroy: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset Destroy: ${d}`);return}}};this.d(()=>{y()});{const g=this.dv(r.createProcessingFromAsyncFunc(async h=>{if(l.value===void 0){await h.promise(y());return}if(l.value.type==="ActorTag"){const{actorTag:c}=l.value;if(s!==c&&await h.promise(y()),s!==void 0||c===void 0)return;try{s=c;const w=await h.promise(i.bind3DTilesetByTag(t.id,c));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w.error}`);return}if(w.re.type!==0)if(w.re.type===1)console.warn(`UeES3DTileset Bind3DTilesetByTag: ${bn(w.re.type)}`);else{console.warn(`UeES3DTileset Bind3DTilesetByTag: ${bn(w.re.type)}`);return}}catch(w){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w}`);return}}else if(l.value.type==="CreatedUrl"){const{url:c}=l.value;if(c!==o&&await y(),o!==void 0||c===void 0)return;try{o=c;const w=await h.promise(n.callUeFunc({f:"create",p:{type:t.typeName,id:t.id}}));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset create: ${w.error}`);return}}catch(w){console.warn(`UeES3DTileset create: ${w}`);return}}await h.promise(a())})),d=async()=>{g.restart()};d(),this.d(l.changed.don(d))}this.d(t.refreshTilesetEvent.don(()=>{bi(n,t.id)})),this.d(t.flyToEvent.don(async(g,d)=>{if(!s&&!o)return;const h=await G(n,t.id,g);let c="over";h===void 0?c="error":h.endType===0?c="over":h.endType===1&&(c="cancelled"),t.flyOverEvent.emit(d,c,i)})),this.d(t.calcFlyToParamEvent.don(()=>{!s&&!o||M(n,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!s&&!o||!i.actived)return;const g=await i.getCurrentCameraInfo();if(!g)return;const{position:d,rotation:h}=g;t.flyInParam={position:d,rotation:h,flyDuration:1}})),this.d(i.propChanged.don(g=>{!s&&!o||g.objId===t.id&&Object.keys(g.props).forEach(d=>{const h=g.props[d]===null?void 0:g.props[d];t[d]=h})})),this.d(i.objectEvent.don(g=>{!s&&!o||g.id!==t.id||g.type!=="3DTilesetReady"||t.tilesetReady.emit(g.p)}));{const g=async(w,m)=>{if(!s&&!o)return;const C=await n.callUeFunc({f:"SetFeatureColor",p:{id:t.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureColor: ${C.error}`);return}},d=async(w,m)=>{if(!s&&!o)return;const C=await n.callUeFunc({f:"SetFeatureVisable",p:{id:t.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureVisable: ${C.error}`);return}},h=async()=>{if(!s&&!o)return;const w=await n.callUeFunc({f:"ResetFeatureStyle",p:{id:t.id}});if(w&&w.error!==""){console.warn(`UeES3DTileset ResetFeatureStyle: ${w.error}`);return}},c=async w=>{if(!s&&!o)return;const m=await n.callUeFunc({f:"SetFeatureStyle",p:{id:t.id,json:w}});if(m&&m.error!==""){console.warn(`UeES3DTileset SetFeatureStyle: ${m.error}`);return}};this.d(t.setFeatureColorEvent.don((w,m)=>{const C=[...this.styleColor,...m];this.styleColor=[...C],g(w,C)})),this.d(t.setFeatureVisableEvent.don((w,m)=>{const C=[...this.styleVisable,...m];this.styleVisable=[...C],d(w,C)})),this.d(t.resetFeatureStyleEvent.don(()=>{h(),this.styleColor=[],this.styleVisable=[]})),this.d(t.setFeatureStyleEvent.don(w=>{c(w)}))}{const g=async()=>{if(!s&&!o){t._featureTableResultEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetFeatureTable",p:{id:t.id}});d.error!==""&&console.warn(`UeES3DTileset GetFeatureTable: ${d.error}`),t._featureTableResultEvent.emit(d.re.table)}catch(d){console.warn(`UeES3DTileset GetFeatureTable: ${d}`),t._featureTableResultEvent.emit(void 0)}};this.d(t.getFeatureTableEvent.don(()=>{g()}))}{const g=async()=>{if(!s&&!o){t.getMaterialNameListEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetMaterialNameList",p:{id:t.id}});d.error!==""&&console.warn(`UeES3DTileset GetMaterialNameList: ${d.error}`),t.getMaterialNameListEvent.emit(d.re.materialNameList)}catch(d){console.warn(`UeES3DTileset GetMaterialNameList: ${d}`),t.getMaterialNameListEvent.emit(void 0)}};this.ad(t.getMaterialNameListEvent.don(d=>{d=="start"&&g()}))}}get styleColor(){return this._styleColor.value}set styleColor(t){this._styleColor.value=t}get styleVisable(){return this._styleVisable.value}set styleVisable(t){this._styleVisable.value=t}};p(nt,"type",nt.register("ESUeViewer",r.ES3DTileset.type,nt));let he=nt;const $n=u=>{switch(u){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag对应的Actor是地形,无法绑定";case 4:return"没搜索到ComponentTag,无法绑定";default:return"未知错误"}},st=class st extends r.EngineObject{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}let n,s;const o=this.dv(r.react(void 0)),a=this.ad(r.reactJson(""));{const g=()=>{if(typeof e.url=="string")a.value=r.ESSceneObject.context.getStrFromEnv(e.url);else{const d=e.url;d.url=r.ESSceneObject.context.getStrFromEnv(d.url),a.value=d}};g(),this.ad(e.urlChanged.don(g))}const v=async()=>{if(!n&&!s)return;let g=e.targetID??r.ESImageryLayer.defaults.targetID;if(g&&g!=""){const d=r.ESSceneObject.getSceneObject(g);g=d?(d.components.main??d).id:g}await i.callUeFunc({f:"update",p:{id:e.id,show:e.show??!0,rectangle:e.rectangle??[-180,-90,180,90],collision:e.collision??!0,allowPicking:e.allowPicking??!1,flyToParam:e.flyToParam??r.ESImageryLayer.defaultFlyToParam,flyInParam:e.flyInParam??r.ESImageryLayer.defaultFlyInParam,url:a.value??"",zIndex:e.zIndex??0,maximumLevel:e.maximumLevel??r.ESImageryLayer.defaults.maximumLevel,minimumLevel:e.minimumLevel??r.ESImageryLayer.defaults.minimumLevel,options:e.options??r.ESImageryLayer.defaults.options,targetID:g,opacity:e.opacity??r.ESImageryLayer.defaults.opacity,splitDirection:e.splitDirection??r.ESImageryLayer.defaults.splitDirection}})},l=this.dv(r.createNextAnimateFrameEvent(e.showChanged,a.changed,e.flyToParamChanged,e.flyInParamChanged,e.zIndexChanged,e.collisionChanged,e.allowPickingChanged,e.maximumLevelChanged,e.minimumLevelChanged,e.rectangleChanged,e.optionsChanged,e.targetIDChanged,e.opacityChanged,e.splitDirectionChanged));this.d(l.don(v));const y=async()=>{const{id:g}=e;if(n!==void 0){n=void 0;try{const d=await t.unBindImageryById(g);if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer UnImageryByID: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer UnImageryByID promise: ${d}`);return}}if(s!==void 0){s=void 0;try{const d=await i.callUeFunc({f:"destroy",p:{id:g,test:"UeESImageryLayer"}});if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer Destroy: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer Destroy promise: ${d}`);return}}};this.d(()=>{y()});{const g=this.dv(r.createProcessingFromAsyncFunc(async h=>{if(o.value===void 0){await h.promise(y());return}if(o.value.type==="ActorTag"){const{actorTag:c,componentTag:w}=o.value;if(n!==c&&await h.promise(y()),n!==void 0||c===void 0)return;try{n=c;const m=await h.promise(t.bindImageryByTag(e.id,c,w));if(!m)return;if(m.error!==""){console.warn(`ESImageryLayer BindImageryByTag: ${m.error}`);return}if(m.re.type!==0)if(m.re.type===1)console.warn(`ESImageryLayer BindImageryByTag: ${$n(m.re.type)}`);else{console.warn(`ESImageryLayer BindImageryByTag: ${$n(m.re.type)}`);return}}catch(m){console.warn(`ESImageryLayer BindImageryByTag promise: ${m}`);return}}else if(o.value.type==="CreatedUrl"){const{url:c}=o.value;if(c!==s&&await h.promise(y()),s!==void 0||c===void 0)return;try{s=c;const w=await h.promise(i.callUeFunc({f:"create",p:{type:"ESImageryLayer",id:e.id}}));if(!w)return;if(w.error!==""){console.warn(`ESImageryLayer create: ${w.error}`);return}}catch{console.warn("ESImageryLayer create: create promise error");return}}await h.promise(v())})),d=async()=>{g.restart()};d(),this.d(o.changed.don(d))}{const g=this.dv(r.createNextAnimateFrameEvent(e.actorTagChanged,a.changed,e.componentTagChanged)),d=()=>{e.actorTag&&e.componentTag?o.value={type:"ActorTag",actorTag:e.actorTag,componentTag:e.componentTag}:a.value?o.value={type:"CreatedUrl",url:a.value}:o.value=void 0};d(),this.d(g.don(d))}this.d(e.flyToEvent.don(async(g,d)=>{if(!n&&!s)return;const h=await G(i,e.id,g);let c="over";h===void 0?c="error":h.endType===0?c="over":h.endType===1&&(c="cancelled"),e.flyOverEvent.emit(d,c,t)})),this.d(e.flyInEvent.don(async(g,d)=>{var w,m;if(!n&&!s)return;const h=await Q(i,e.id,(w=e.flyInParam)==null?void 0:w.position,(m=e.flyInParam)==null?void 0:m.rotation,g??1);let c="over";h===void 0?c="error":h.endType===0?c="over":h.endType===1&&(c="cancelled"),e.flyOverEvent.emit(d,c,t)})),this.d(e.calcFlyToParamEvent.don(()=>{!n&&!s||M(i,e.id)})),this.d(e.calcFlyInParamEvent.don(async()=>{if(!t.actived)return;const g=await t.getCurrentCameraInfo();if(!g)return;const{position:d,rotation:h}=g;e.flyInParam={position:d,rotation:h,flyDuration:1}})),this.d(t.propChanged.don(g=>{!n&&!s||g.objId===e.id&&Object.keys(g.props).forEach(d=>{const h=g.props[d]===null?void 0:g.props[d];e[d]=h})}))}};p(st,"type",st.register("ESUeViewer",r.ESImageryLayer.type,st));let Ce=st;const $=class $ extends R{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p($,"type",$.register("ESUeViewer",r.ESTerrainLayer.type,$)),p($,"forceUeUpdateProps",[...R.forceUeUpdateProps,"url"]),p($,"propValFuncs",{...R.propValFuncs,url:e=>typeof e=="string"?r.ESSceneObject.context.getStrFromEnv(e):(e.url=r.ESSceneObject.context.getStrFromEnv(e.url),e),czmMaxzoom:null,czmMinzoom:null});let Ee=$;const rt=class rt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(rt,"type",rt.register("ESUeViewer",r.ESAlarm.type,rt));let Se=rt;const ot=class ot extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(ot,"type",ot.register("ESUeViewer",r.ESApertureEffect.type,ot));let Fe=ot;const at=class at extends L{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(at,"type",at.register("ESUeViewer",r.ESGeoPolygon.type,at));let P=at;const lt=class lt extends P{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let o=r.ESAreaMeasurement.defaults.fillStyle;try{o={...e.fillStyle??r.ESAreaMeasurement.defaults.fillStyle}}catch(a){console.error("ESAreaMeasurement fillStyle 属性类型错误!",a),o={...r.ESAreaMeasurement.defaults.fillStyle}}o.materialParams=JSON.stringify(o.materialParams),i.callUeFunc({f:"update",p:{id:e.id,stroked:e.stroked??r.ESAreaMeasurement.defaults.stroked,fillStyle:o,filled:e.filled??r.ESAreaMeasurement.defaults.filled}}),console.log(o)},s=this.dv(r.createNextAnimateFrameEvent(e.fillStyleChanged,e.strokedChanged,e.filledChanged));this.d(s.don(n)),this.d(e.createdEvent.don(n))}};p(lt,"type",lt.register("ESUeViewer",r.ESAreaMeasurement.type,lt));let Ie=lt;const dt=class dt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(dt,"type",dt.register("ESUeViewer",r.ESBlastParticleSystem.type,dt));let Te=dt;const J=class J extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is underfined!");return}}};p(J,"type",J.register("ESUeViewer",r.ESBoxClipping.type,J)),p(J,"propValFuncs",{...S.propValFuncs,targetID:e=>{if(!e)return"";const t=r.ESSceneObject.getSceneObject(e);return t?(t.components.main??t).id:e}});let De=J;const ut=class ut extends S{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.dispose(e.flyInEvent.don((n,s,o="default")=>{const{id:a,duration:v,position:l,rotation:y}=e;Q(i,a,l,y,v??n,o)})),this.dispose(e.resetWithCurrentCameraEvent.don(()=>{we(i,e.id)})),this.dispose(e.captureEvent.don((n,s)=>{t.capture(n,s).then(a=>{a&&(e.thumbnail=a)})}))}};p(ut,"type",ut.register("ESUeViewer",r.ESCameraView.type,ut));let Re=ut;const ct=class ct extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(ct,"type",ct.register("ESUeViewer",r.ESCameraVisibleRange.type,ct));let Le=ct;const ht=class ht extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(ht,"type",ht.register("ESUeViewer",r.ESCar.type,ht));let Pe=ht;const vt=class vt extends L{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let o=r.ESClassification.defaults.fillStyle;try{o={...e.fillStyle??r.ESClassification.defaults.fillStyle}}catch(a){console.error("ESClassification fillStyle 属性类型错误!",a),o={...r.ESClassification.defaults.fillStyle}}o.materialParams=JSON.stringify(o.materialParams),i.callUeFunc({f:"update",p:{id:e.id,filled:e.filled??r.ESClassification.defaults.filled,fillStyle:o}})},s=this.dv(r.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.d(s.don(n)),this.d(e.createdEvent.don(n))}};p(vt,"type",vt.register("ESUeViewer",r.ESClassification.type,vt));let ke=vt;const K=class K extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is underfined!");return}}};p(K,"type",K.register("ESUeViewer",r.ESClippingPlane.type,K)),p(K,"propValFuncs",{...S.propValFuncs,targetID:e=>{if(!e)return"";const t=r.ESSceneObject.getSceneObject(e);return t?(t.components.main??t).id:e}});let Be=K;const gt=class gt extends S{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(r.reactJson(""));{const a=()=>{if(typeof e.url=="string")n.value=r.ESSceneObject.context.getStrFromEnv(e.url??r.ESDataMesh.defaults.url);else{const v=e.url;v.url=r.ESSceneObject.context.getStrFromEnv(v.url??r.ESDataMesh.defaults.url),n.value=v}};a(),this.ad(e.urlChanged.don(a))}const s=()=>{const a=e.colorStops??r.ESDataMesh.defaults.colorStops;i.callUeFunc({f:"update",p:{id:e.id,url:n.value??r.ESDataMesh.defaults.url,currentTime:e.currentTime??r.ESDataMesh.defaults.currentTime,minPropValue:e.minPropValue??r.ESDataMesh.defaults.minPropValue,maxPropValue:e.maxPropValue??r.ESDataMesh.defaults.maxPropValue,colorStops:JSON.stringify(a)}})},o=this.dv(r.createNextAnimateFrameEvent(n.changed,e.currentTimeChanged,e.minPropValueChanged,e.maxPropValueChanged,e.colorStopsChanged));this.d(o.don(s)),this.d(e.createdEvent.don(s))}};p(gt,"type",gt.register("ESUeViewer",r.ESDataMesh.type,gt));let Ue=gt;const pt=class pt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(pt,"type",pt.register("ESUeViewer",r.ESDatasmithRuntimeModel.type,pt));let Ae=pt;const ft=class ft extends L{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(ft,"type",ft.register("ESUeViewer",r.ESDirectionMeasurement.type,ft));let Me=ft;const wt=class wt extends L{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let o;try{o={...e.strokeStyle??r.ESDistanceMeasurement.defaults.strokeStyle}}catch(a){console.error("ESDistanceMeasurement strokeStyle 属性类型错误!",a),o={...r.ESDistanceMeasurement.defaults.strokeStyle}}i.callUeFunc({f:"update",p:{id:e.id,strokeStyle:o}})},s=this.dv(r.createNextAnimateFrameEvent(e.strokeStyleChanged));this.d(s.don(n)),this.d(e.createdEvent.don(n))}};p(wt,"type",wt.register("ESUeViewer",r.ESDistanceMeasurement.type,wt));let We=wt;const yt=class yt extends ce{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(yt,"type",yt.register("ESUeViewer",r.ESLocalPolygon.type,yt));let ve=yt;const mt=class mt extends ve{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(mt,"type",mt.register("ESUeViewer",r.ESDynamicWater.type,mt));let be=mt;const Ct=class Ct extends R{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}this.d(t.widgetEvent.don(n=>{if(n.objId!==e.id)return;const{type:s,properties:o}=n;e.widgetEvent.emit({type:s,properties:o})}))}};p(Ct,"type",Ct.register("ESUeViewer",r.ESEntityCluster.type,Ct));let $e=Ct;const V=class V extends P{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(V,"type",V.register("ESUeViewer",r.ESExcavate.type,V)),p(V,"propValFuncs",{...P.propValFuncs,targetID:e=>{if(!e)return"";const t=r.ESSceneObject.getSceneObject(e);return t?(t.components.main??t).id:e}});let xe=V;const Et=class Et extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Et,"type",Et.register("ESUeViewer",r.ESFireParticleSystem.type,Et));let _e=Et;const St=class St extends R{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(r.reactJson(""));{const a=()=>{if(typeof e.url=="string")n.value=r.ESSceneObject.context.getStrFromEnv(e.url);else{const v=e.url;v.url=r.ESSceneObject.context.getStrFromEnv(v.url),n.value=v}};a(),this.ad(e.urlChanged.don(a))}const s=()=>{i.callUeFunc({f:"update",p:{id:e.id,url:n.value??r.ESForestTileset.defaults.url,treeTypes:e.treeTypes??r.ESForestTileset.defaults.treeTypes,xiaoBanWidget:e.xiaoBanWidget??r.ESForestTileset.defaults.xiaoBanWidget,youShiSZ:e.youShiSZ??r.ESForestTileset.defaults.youShiSZ,diLei:e.diLei??r.ESForestTileset.defaults.diLei,senLinLB:e.senLinLB??r.ESForestTileset.defaults.senLinLB,labelMaterial:e.labelMaterial??r.ESForestTileset.defaults.labelMaterial,heightOffset:e.heightOffset??r.ESForestTileset.defaults.heightOffset}})},o=this.dv(r.createNextAnimateFrameEvent(n.changed,e.treeTypesChanged,e.xiaoBanWidgetChanged,e.youShiSZChanged,e.diLeiChanged,e.senLinLBChanged,e.labelMaterialChanged,e.heightOffsetChanged));this.d(o.don(s)),this.d(e.createdEvent.don(s))}};p(St,"type",St.register("ESUeViewer",r.ESForestTileset.type,St));let Ne=St;const Ft=class Ft extends r.EngineObject{constructor(e,t){super(e,t),this.ad(new r.ObjResettingWithEvent(e.renderInUEChanged,()=>e.renderInUE?new _n(e,t):new xn(e,t)))}};p(Ft,"type",Ft.register("ESUeViewer",r.ESGeoDiv.type,Ft));let ze=Ft;class xn extends r.Destroyable{constructor(t,i){super();p(this,"_screenPosition",this.disposeVar(r.reactArrayWithUndefined(void 0)));const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this.disposeVar(new r.ESTextLabel);s.parentID=t.id,this.ad(t.components.disposableAdd(s,!0)),s.show=!1,this.dispose(r.bind([s,"position"],[t,"position"])),this.dispose(r.bind([s,"rotation"],[t,"rotation"])),this.dispose(r.bind([s,"flyToParam"],[t,"flyToParam"])),this.dispose(r.bind([s,"flyInParam"],[t,"flyInParam"])),this.dispose(t.calcFlyToParamEvent.disposableOn(()=>{M(n,s.id)})),this.dispose(t.calcFlyInParamEvent.disposableOn(async()=>{if(!i.actived)return;const v=await i.getCurrentCameraInfo();if(!v)return;const{position:l,rotation:y}=v;t.flyInParam={position:l,rotation:y,flyDuration:1}})),this.dispose(t.smoothMoveEvent.disposableOn((v,l)=>{et(n,s.id,v,l)})),this.dispose(t.smoothMoveWithRotationEvent.disposableOn((v,l,y)=>{O(n,s.id,v,l,y)})),this.dispose(t.smoothMoveOnGroundEvent.disposableOn((v,l,y,g)=>{j(n,s.id,v,l,g,y)})),this.dispose(t.smoothMoveWithRotationOnGroundEvent.disposableOn((v,l,y,g,d)=>{tt(n,s.id,v,l,y,g,d)})),this.dispose(t.flyToEvent.disposableOn((v,l)=>{s.flyTo(v)})),this.dispose(t.flyInEvent.don(v=>{s.flyIn(v)}));const o=this._screenPosition,a=this.disposeVar(new r.ESCustomDiv);a.parentID=t.id,i.add(a),this.dispose(()=>i.delete(a)),this.dispose(r.bind([a,"allowPicking"],[t,"allowPicking"]));{const v=this.disposeVar(r.createAnimateFrame()),l=()=>{t.show?v.restart(void 0,async()=>{if(!t.position)return;const y=await i.lonLatAltToScreenPosition(t.position);if(!this.isDestroyed())if(!y)this._screenPosition.value=void 0;else{const[g,d]=y;g===-1&&d===-1?this._screenPosition.value=void 0:this._screenPosition.value=[g,d]}}):v.cancel()};l(),this.dispose(t.showChanged.disposableOn(l))}{const v=()=>class extends r.Destroyable{constructor(d,h,c){if(super(),this._subContainer=d,!c)return;if(!t.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new r.PosFloatDiv,m=w.element;this._subContainer.appendChild(m),this.dispose(()=>this._subContainer.removeChild(m)),m.onclick=C=>{(t.allowPicking??!1)&&t.pickedEvent.emit(new r.ESJPickedResult({div:m,pointerEvent:C},t,void 0,void 0,void 0,[C.x,C.y]))};{const C=()=>{t.editing?m.children[0].style.pointerEvents="none":m.children[0].style.pointerEvents="all"};C(),this.d(t.editingChanged.don(C))}{const C=()=>{let E=t.show;if(!E)w.show=E,w.winPos=[0,0];else if(o.value){const I=i.getCurrentCameraInfo(),F=r.getDistancesFromPositions([t.position,I.position],"NONE")[0];t.minVisibleDistance<t.maxVisibleDistance?E=t.minVisibleDistance<F&&F<t.maxVisibleDistance:t.maxVisibleDistance==0&&(E=F>t.minVisibleDistance),w.show=E,w.winPos=[...o.value]}};C();const T=this.disposeVar(r.createNextAnimateFrameEvent(t.showChanged,o.changed,i.cameraChanged,t.maxVisibleDistanceChanged,t.minVisibleDistanceChanged));this.dispose(T.disposableOn(C))}{const C=()=>{const[T,E]=t.anchor??r.ESGeoDiv.defaults.anchor;w.originRatioX=T,w.originRatioY=E};C(),this.dispose(t.anchorChanged.disposableOn(C))}{const C=()=>{w.opacity=t.opacity??r.ESGeoDiv.defaults.opacity};C(),this.dispose(t.opacityChanged.disposableOn(C))}this.disposeVar(new t.instanceClass(w.contentDiv,t,c))}},l=()=>{try{t.instanceClass?a.instanceClass=v():a.instanceClass=void 0}catch(g){console.error(g)}};l();const y=this.dv(r.createNextAnimateFrameEvent(t.instanceClassChanged,t.opacityChanged,t.anchorChanged,t.editingChanged,t.showChanged,t.allowPickingChanged));this.d(y.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(t){this._screenPosition.value=t}}class _n extends r.Destroyable{constructor(t,i){super();p(this,"_imageLabel");p(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new r.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=t.id;const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const s=this._imageLabel;this.ad(t.components.disposableAdd(s,!0));{const o=()=>{if(!n)return;if(!t.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),y=this.dv(new t.instanceClass(l,t,i))._container;if(y.style.opacity=t.opacity.toString()??r.ESGeoDiv.defaults.opacity,y.style.position="fixed",y.style.zIndex="-1",y.style.top="0px",!document.body.contains(y)){document.body.appendChild(y);let d=y?y.querySelectorAll("*[class]"):[];for(let h=0;h<d.length;h++){const c=d[h];var g=c.getBoundingClientRect();this._hasClassDivAndPos[c.className]=[c.offsetLeft,c.offsetTop,c.offsetLeft+g.width,c.offsetTop+g.height]}}Jn(y,{backgroundColor:null,allowTaint:!0,useCORS:!0,width:y.offsetWidth,height:y.offsetHeight,scale:1}).then(d=>{document.body.contains(y)&&document.body.removeChild(y),s.url=d.toDataURL(),s.show=t.show}).catch(()=>{document.body.contains(y)&&document.body.removeChild(y)})},a=()=>{try{t.instanceClass?o():(s.url="",s.show=!1)}catch(l){console.error(l)}};a();const v=this.dv(r.createNextAnimateFrameEvent(t.instanceClassChanged,t.opacityChanged));this.d(v.don(a))}{const o=()=>{s.show=t.show};s.show=!1,this.ad(t.showChanged.don(o))}this.d(r.track([s,"anchor"],[t,"anchor"])),this.d(r.bind([s,"position"],[t,"position"])),this.d(r.bind([s,"rotation"],[t,"rotation"])),this.d(r.bind([s,"flyToParam"],[t,"flyToParam"])),this.d(r.bind([s,"flyInParam"],[t,"flyInParam"])),this.d(r.bind([s,"allowPicking"],[t,"allowPicking"])),this.d(r.bind([s,"scale"],[t,"scale"])),this.d(r.track([s,"minVisibleDistance"],[t,"minVisibleDistance"])),this.d(r.track([s,"maxVisibleDistance"],[t,"maxVisibleDistance"])),this.ad(t.automaticLandingEvent.don(()=>{s.automaticLanding()})),this.d(i.widgetEvent.don(o=>{if(o.objId!==this._imageLabel.id)return;const{type:a,add:v}=o;if(a==="leftClick"&&v){const l=(v==null?void 0:v.classNames)??[],y=Object.keys(this._hasClassDivAndPos);for(let g=0;g<y.length;g++){const d=y[g];let h=this._hasClassDivAndPos[d];v&&v.mouseRelativePos&&v.mouseRelativePos[0]>=h[0]&&v.mouseRelativePos[0]<=h[2]&&v.mouseRelativePos[1]>=h[1]&&v.mouseRelativePos[1]<=h[3]&&l.push(d)}v.classNames=l}t.widgetEvent.emit({type:a,add:v})})),this.d(t.calcFlyToParamEvent.don(()=>{M(n,s.id)})),this.d(t.calcFlyInParamEvent.don(()=>{const o=i.getCurrentCameraInfo();if(!o)return;const{position:a,rotation:v}=o;t.flyInParam={position:a,rotation:v,flyDuration:1}})),this.d(t.smoothMoveEvent.don((o,a)=>{et(n,s.id,o,a)})),this.d(t.smoothMoveWithRotationEvent.don((o,a,v)=>{O(n,s.id,o,a,v)})),this.d(t.smoothMoveOnGroundEvent.don((o,a,v,l)=>{j(n,s.id,o,a,l,v)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((o,a,v,l,y)=>{tt(n,s.id,o,a,v,l,y)})),this.d(t.flyToEvent.don((o,a)=>{s.flyTo(o)})),this.d(t.flyInEvent.don(o=>{s.flyIn(o)}))}}const x=class x extends R{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(e.flyToFeatureIndexEvent.don((n,s)=>{i.callUeFunc({f:"flyToFeatureIndex",p:{id:e.id,index:n,duration:s}})})),this.d(e.flyToFeatureEvent.don((n,s,o)=>{i.callUeFunc({f:"flyToFeature",p:{id:e.id,key:n,value:s,duration:o}})}))}};p(x,"type",x.register("ESUeViewer",r.ESGeoJson.type,x)),p(x,"forceUeUpdateProps",[...R.forceUeUpdateProps,"url"]),p(x,"propValFuncs",{...R.propValFuncs,url:e=>typeof e=="string"?r.ESSceneObject.context.getStrFromEnv(e):e});let He=x;const It=class It extends L{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(It,"type",It.register("ESUeViewer",r.ESGeoLineString.type,It));let ge=It;const Tt=class Tt extends L{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Tt,"type",Tt.register("ESUeViewer",r.ESGeoRectangle.type,Tt));let Ge=Tt;const Dt=class Dt extends P{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Dt,"type",Dt.register("ESUeViewer",r.ESGeoWater.type,Dt));let Je=Dt;const _=class _ extends S{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(e.setNodePositionEvent.don((n,s)=>{Vi(i,e.id,n,s)})),this.d(e.setNodeRotationEvent.don((n,s)=>{qi(i,e.id,n,s)})),this.d(e.setNodeScaleEvent.don((n,s)=>{Xi(i,e.id,n,s)}))}};p(_,"forceUeUpdateProps",[...S.forceUeUpdateProps,"url"]),p(_,"propValFuncs",{...S.propValFuncs,url:e=>typeof e=="string"?r.ESSceneObject.context.getStrFromEnv(r.rpToap(e)):(e.url=r.ESSceneObject.context.getStrFromEnv(r.rpToap(e.url)),e),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),p(_,"type",_.register("ESUeViewer",r.ESGltfModel.type,_));let Ke=_;const Rt=class Rt extends L{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Rt,"type",Rt.register("ESUeViewer",r.ESHeightMeasurement.type,Rt));let Ve=Rt;const Lt=class Lt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}const n=async(o,a,v,l)=>{const{viewer:y}=o;if(!y){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const g=await y.callUeFunc({f:"AIMoveTo",p:{id:a,Destination:v,Time:l}});return g.error&&console.error("AIMoveTo:",g.error),g};this.d(e.aiMoveToEvent.don((o,a)=>{n(t,e.id,o,a)}));const s=async(o,a)=>{const{viewer:v}=o;if(!v){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await v.callUeFunc({f:"StopAIMove",p:{id:a}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(e.stopAIMoveEvent.don(()=>{s(t,e.id)}))}};p(Lt,"type",Lt.register("ESUeViewer",r.ESHuman.type,Lt));let qe=Lt;const N=class N extends B{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}e.anchor=[.5,1]}};p(N,"type",N.register("ESUeViewer",r.ESImageLabel.type,N)),p(N,"forceUeUpdateProps",[...B.forceUeUpdateProps,"url"]),p(N,"propValFuncs",{...B.propValFuncs,url:e=>typeof e=="string"?r.ESSceneObject.context.getStrFromEnv(r.rpToap(e)):(e.url=r.ESSceneObject.context.getStrFromEnv(r.rpToap(e.url)),e)});let Xe=N;const Pt=class Pt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Pt,"type",Pt.register("ESUeViewer",r.ESLevelRuntimeModel.type,Pt));let Ye=Pt;const kt=class kt extends ce{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(kt,"type",kt.register("ESUeViewer",r.ESLocalCircle.type,kt));let Ze=kt;const Bt=class Bt extends R{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Bt,"type",Bt.register("ESUeViewer",r.ESLocalPolygonZ.type,Bt));let Qe=Bt;const Ut=class Ut extends ce{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Ut,"type",Ut.register("ESUeViewer",r.ESLocalRectangle.type,Ut));let Oe=Ut;const At=class At extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(At,"type",At.register("ESUeViewer",r.ESLocalSkyBox.type,At));let je=At;const Mt=class Mt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Mt,"type",Mt.register("ESUeViewer",r.ESLocationMeasurement.type,Mt));let ti=Mt;const Wt=class Wt extends L{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Wt,"type",Wt.register("ESUeViewer",r.ESPipeFence.type,Wt));let ei=Wt;const bt=class bt extends ge{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(bt,"type",bt.register("ESUeViewer",r.ESPipeline.type,bt));let ii=bt;const $t=class $t extends he{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(e.highlightFeatureEvent.don(n=>{const s=typeof n=="number"?n.toString():n;Hi(i,e.id,s)})),this.d(e.highlightFeatureAndFlyToEvent.don((n,s,o,a)=>{const v=typeof n=="number"?n.toString():n;Gi(i,e.id,v,a??1)})),this.d(e.setLayerVisibleEvent.don((n,s)=>{let o="";typeof s!="string"?o=JSON.stringify(s):o=s,Ji(i,e.id,o)})),this.d(e.setLayerColorEvent.don((n,s)=>{let o="";typeof s!="string"?o=JSON.stringify(s):o=s,Ki(i,e.id,o)}))}};p($t,"type",$t.register("ESUeViewer",r.ESPipeserTileset.type,$t));let ni=$t;const xt=class xt extends P{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(xt,"type",xt.register("ESUeViewer",r.ESPit.type,xt));let si=xt;const _t=class _t extends B{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(e.getInitialStyleEvent.don(async()=>{try{const n=await i.callUeFunc({f:"GetInitialStyle",p:{id:e.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),e.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),e.initialStyle.value=void 0}}))}};p(_t,"type",_t.register("ESUeViewer",r.ESPoi2D.type,_t));let ri=_t;const Nt=class Nt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Nt,"type",Nt.register("ESUeViewer",r.ESPoi3D.type,Nt));let oi=Nt;const z=class z extends R{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(z,"type",z.register("ESUeViewer",r.ESPoiTileset.type,z)),p(z,"forceUeUpdateProps",[...R.forceUeUpdateProps,"url"]),p(z,"propValFuncs",{...R.propValFuncs,url:e=>typeof e=="string"?r.ESSceneObject.context.getStrFromEnv(e):(e.url=r.ESSceneObject.context.getStrFromEnv(e.url),e)});let ai=z;const zt=class zt extends L{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(zt,"type",zt.register("ESUeViewer",r.ESPolygonFence.type,zt));let li=zt;const q=class q extends P{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(q,"type",q.register("ESUeViewer",r.ESPolygonFlattenedPlane.type,q)),p(q,"propValFuncs",{...P.propValFuncs,targetID:e=>{if(!e)return"";const t=r.ESSceneObject.getSceneObject(e);return t?(t.components.main??t).id:e}});let di=q;const Ht=class Ht extends P{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Ht,"type",Ht.register("ESUeViewer",r.ESPolygonWithHole.type,Ht));let ui=Ht;const Gt=class Gt extends W{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}this.d(()=>{e.ids=[]}),this.d(e.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(e.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=a=>{a=a.toLocaleLowerCase();let v=[255,255,255,1];if(a.startsWith("#")){if(a.length===4){let l=parseInt(a[1]+a[1],16),y=parseInt(a[2]+a[2],16),g=parseInt(a[3]+a[3],16);v=[l,y,g,1]}else if(a.length===7){let l=parseInt(a.substring(1,3),16),y=parseInt(a.substring(3,5),16),g=parseInt(a.substring(5,7),16);v=[l,y,g,1]}}else if(a.startsWith("rgba")){let l=a.match(/^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)$/);if(l){let y=parseInt(l[1]),g=parseInt(l[2]),d=parseInt(l[3]),h=parseFloat(l[4]);v=[y,g,d,h]}}else if(a.startsWith("rgb")){let l=a.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);if(l){let y=parseInt(l[1]),g=parseInt(l[2]),d=parseInt(l[3]);v=[y,g,d,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[v[0]/255,v[1]/255,v[2]/255,v[3]]},s=()=>{const a=e.layerConfig;if(!a)return;const v=[];a.forEach(l=>{a.filter(g=>g.dataset==l.dataset).length==1?v.push({condition:[{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible}):v.push({condition:[{field:"layer",op:"==",value:l.layer},{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible})}),e.setFeatureStyle(v)};s();const o=this.dv(r.createNextAnimateFrameEvent(e.layerConfigChanged,e.colorBlendModeChanged));this.d(o.don(()=>{s()}))}}};p(Gt,"type",Gt.register("ESUeViewer",r.ESRtsTileset.type,Gt));let ci=Gt;const Jt=class Jt extends R{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}this.d(e.addTreesEvent.don(n=>{r.addTreesCallFunc(t,e.id,n)})),this.d(e.removeAllTreesEvent.don(()=>{r.removeAllTreesCallFunc(t,e.id)})),this.d(e.updateTreeParamsEvent.don(n=>{r.updateTreeParamsCallFunc(t,e.id,n)})),this.d(e.cutDownTreesEvent.don((n,s)=>{r.cutDownTreesCallFunc(t,e.id,n,s)})),this.d(e.growthSimulationEvent.don((n,s,o)=>{r.growthSimulationCallFunc(t,e.id,n,s,o)}))}};p(Jt,"type",Jt.register("ESUeViewer",r.ESSeparateFoliage.type,Jt));let hi=Jt;const Kt=class Kt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Kt,"type",Kt.register("ESUeViewer",r.ESSubmergingAnalysis.type,Kt));let vi=Kt;const Vt=class Vt extends P{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(e.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:e.id}})})),this.d(e.stopEvent.don(()=>{i.callUeFunc({f:"Stop",p:{id:e.id}})}))}};p(Vt,"type",Vt.register("ESUeViewer",r.ESSunshineAnalysis.type,Vt));let gi=Vt;const qt=class qt extends P{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(e.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:e.id}})}))}};p(qt,"type",qt.register("ESUeViewer",r.ESSurfaceAreaMeasurement.type,qt));let pi=qt;const Xt=class Xt extends B{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Xt,"type",Xt.register("ESUeViewer",r.ESTextLabel.type,Xt));let fi=Xt;const X=class X extends B{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(e.callFunctionEvent.don(async(n,s)=>{const o=await ye(i,e.id,n,s);e.__callFunctionResultEvent.emit(o)}))}};p(X,"type",X.register("ESUeViewer",r.ESUEWidget.type,X)),p(X,"propValFuncs",{...B.propValFuncs,info:e=>JSON.stringify(e??{})});let wi=X;const Nn=u=>{switch(u){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},ps=u=>{switch(u){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},Yt=class Yt extends r.EngineObject{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn(`${e.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{fe(i,e.id)});const n=async()=>{l()||await i.callUeFunc({f:"update",p:{id:e.id,name:e.name,show:e.show,rotation:e.rotation,flyToParam:e.flyToParam??r.ESUnrealActor.defaultFlyToParam,flyInParam:e.flyInParam??r.ESUnrealActor.defaultFlyInParam,highlight:e.highlight,collision:e.collision,scale:e.scale,minVisibleDistance:e.minVisibleDistance,maxVisibleDistance:e.maxVisibleDistance}})},s=this.dv(r.createNextAnimateFrameEvent(e.showChanged,e.nameChanged,e.rotationChanged,e.flyToParamChanged,e.flyInParamChanged,e.highlightChanged,e.collisionChanged,e.scaleChanged,e.minVisibleDistanceChanged,e.maxVisibleDistanceChanged));this.d(s.don(n)),this.d(e.flushEvent.don(()=>s.flush()));let o,a;const v=async()=>{l()||(await i.callUeFunc({f:"update",p:{id:e.id,position:e.position}}),(t.debug??!1)&&console.log(`updatePostion:${e.position},actorTag:${e.actorTag},actorClass:${e.actorClass}`))},l=()=>!o&&!a?(console.warn(`${e.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,y=async()=>{const{id:d}=e,h=await t.unBindActorByID(d);h&&h.error!==""&&console.warn(`${e.id} UeESUnrealActor UnBindActorByID: ${h.error}`),o=void 0;const c=await i.callUeFunc({f:"destroy",p:{id:d}});if(c&&c.error!==""){console.warn(`${e.id} UeESUnrealActor DestroyActorByID: ${c.error}`);return}a=void 0},g=this.dv(r.react({type:"ActorClass",actorClass:"default"}));{const d=this.dv(r.createNextAnimateFrameEvent(e.actorClassChanged,e.actorTagChanged)),h=async()=>{e.actorTag!==""?g.value={type:"ActorTag",actorTag:e.actorTag}:g.value={type:"ActorClass",actorClass:e.actorClass===""?"default":e.actorClass}};h(),this.d(d.don(h)),this.d(e.flushEvent.don(()=>d.flush()))}{const d=this.dv(r.createProcessingFromAsyncFunc(async c=>{if(await c.promise(y()),e.lastActorStatus="null",g.value.type==="ActorTag"){const{actorTag:w}=g.value;try{const m=await c.promise(t.bindActorByTag(e.id,w));if(!m)return;if(m.error!==""){console.warn(`${e.id} UeESUnrealActor BindActorByTag:${w},${m.error}`);return}if(m.re.type===0)e.lastActorStatus="bound",o=w;else if(m.re.type===1)e.lastActorStatus="bound",o=w,console.warn(`${e.id} UeESUnrealActor BindActorByTag:${w},${Nn(m.re.type)}`);else{o=void 0,console.warn(`${e.id} UeESUnrealActor BindActorByTag error:${w}, ${Nn(m.re.type)}`);return}}catch(m){console.warn(`${e.id} UeESUnrealActor BindActorByTag catch error:${w}, ${m}`);return}}else if(g.value.type==="ActorClass"){const{actorClass:w}=g.value;try{const m=await c.promise(t.createActorByClass(e.id,w));if(!m)return;if(m.error!==""){console.warn(`${e.id} UeESUnrealActor CreateActorByClass error :${w}, ${m.error}`);return}if(m.re.type===0)w!=="default"&&(e.lastActorStatus="created"),a=w;else{console.warn(`${e.id} UeESUnrealActor CreateActorByClass error type :${w},${ps(m.re.type)}`);return}}catch(m){console.warn(`${e.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(m)}`);return}}await c.promise(n()),await c.promise(v())})),h=async()=>{d.restart()};h(),this.d(g.changed.don(h))}this.d(e.positionChanged.don(v)),this.d(e.callFunctionEvent.don(async(d,h)=>{if(l()){e.__callFunctionResultEvent.emit(void 0);return}const c=await ye(i,e.id,d,h);e.__callFunctionResultEvent.emit(c)})),this.d(e.smoothMoveEvent.don((d,h)=>{l()||et(i,e.id,d,h)})),this.d(e.smoothMoveWithRotationEvent.don((d,h,c)=>{l()||O(i,e.id,d,h,c)})),this.d(e.smoothMoveOnGroundEvent.don((d,h,c,w)=>{l()||j(i,e.id,d,h,w,c)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((d,h,c,w,m)=>{l()||tt(i,e.id,d,h,c,w,m)})),this.d(e.automaticLandingEvent.don(d=>{if(l())return;const h=[e.position[0],e.position[1]];t.getHeightByLonLat(e.position[0],e.position[1],"Visibility").then(c=>{c!==null&&(e.position=[...h,c],e.collision=d)})})),this.d(e.flyToEvent.don(async(d,h)=>{if(l())return;const c=await G(i,e.id,d);let w="over";c===void 0?w="error":c.endType===0?w="over":c.endType===1&&(w="cancelled"),e.flyOverEvent.emit(h,w,t)})),this.d(e.calcFlyToParamEvent.don(()=>{l()||M(i,e.id)})),this.d(e.calcFlyInParamEvent.don(async()=>{if(!t.actived)return;const d=await t.getCurrentCameraInfo();if(!d)return;const{position:h,rotation:c}=d;e.flyInParam={position:h,rotation:c,flyDuration:1}})),this.d(t.propChanged.don(d=>{l()||d.objId===e.id&&Object.keys(d.props).forEach(h=>{const c=d.props[h]===null?void 0:d.props[h];e[h]=c})}))}};p(Yt,"type",Yt.register("ESUeViewer",r.ESUnrealActor.type,Yt));let yi=Yt;const Zt=class Zt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Zt,"type",Zt.register("ESUeViewer",r.ESVideoFusion.type,Zt));let mi=Zt;const Qt=class Qt extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Qt,"type",Qt.register("ESUeViewer",r.ESViewShed.type,Qt));let Ci=Qt;const Ot=class Ot extends L{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is underfined!");return}}};p(Ot,"type",Ot.register("ESUeViewer",r.ESVisibilityAnalysis.type,Ot));let Ei=Ot;const jt=class jt extends P{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(r.track([e,"volume"],[e,"cutAndFillVolume"])),this.d(e.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:e.id}})})),this.d(e.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:e.id}})}))}};p(jt,"type",jt.register("ESUeViewer",r.ESVolumeMeasurement.type,jt));let Si=jt;const Y=class Y extends B{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(Y,"type",Y.register("ESUeViewer",r.ESWidget.type,Y)),p(Y,"propValFuncs",{...B.propValFuncs,info:e=>JSON.stringify(e??{})});let Fi=Y;const te=class te extends r.EngineObject{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}e.poi.actorTag=e.human.id,e.poi.positionOffset=[0,0,e.poiOffsetHeight-.8],this.d(e.poiOffsetHeightChanged.don(()=>{e.poi.positionOffset=[0,0,e.poiOffsetHeight-.8]})),this.d(()=>{e.poi.actorTag=""})}};p(te,"type",te.register("ESUeViewer",r.ESHumanPoi.type,te));let Ii=te;r.ESSceneObject.context.getStrFromEnv(r.ESNavigator.defaults.imgUrl);const ee=class ee extends r.EngineObject{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new r.ESCustomDiv);t.add(n),this.dispose(()=>t.delete(n)),this.dispose(r.track([n,"show"],[e,"show"])),n.instanceClass=class extends r.Destroyable{constructor(o,a,v){super(),this._subContainer=o;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const d=async()=>{const h=await t.getCurrentCameraInfo(),c=h==null?void 0:h.position,m=[...h==null?void 0:h.rotation];m[0]=360,t.flyIn(c,m)};l.addEventListener("click",d),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",d))}{const d=()=>{l.style.width=`${e.cssSize?e.cssSize:r.ESNavigator.defaults.cssSize}px`,l.style.height=`${e.cssSize?e.cssSize:r.ESNavigator.defaults.cssSize}px`};d(),e.dispose(e.cssSizeChanged.disposableOn(d))}l.style.position="fixed";{const d=()=>{l.style.top=`${e.cssPosition?e.cssPosition[0]:r.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${e.cssPosition?e.cssPosition[1]:r.ESNavigator.defaults.cssPosition[1]}px`};d(),e.dispose(e.cssPositionChanged.disposableOn(d))}l.style.transition=" right 0.4s linear",l.style.cursor="pointer";const y=document.createElement("div");l.appendChild(y),this.dispose(()=>l.removeChild(y)),y.style.width="100%",y.style.height="100%",y.style.position="relative";const g=document.createElement("img");y.appendChild(g),this.dispose(()=>y.removeChild(g)),g.style.width="100%",g.style.height="100%",g.style.border="none";{const d=()=>g.src=e.imgUrl;d(),e.dispose(e.imgUrlChanged.disposableOn(d))}{const d=()=>{const m=-t.getCurrentCameraInfo().rotation[0];g.style.transform=`rotate(${m}deg)`};let h;const c=async()=>{d(),e.show?(l.style.display="block",h=setInterval(()=>{d()},1e3)):(l.style.display="none",clearInterval(h))};this.dispose(e.showChanged.disposableOn(c)),c(),this.dispose(()=>clearInterval(h))}g.style.transformOrigin="50% 50%"}}}};p(ee,"type",ee.register("ESUeViewer",r.ESNavigator.type,ee));let Ti=ee;const H=class H extends L{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}{const n=()=>{i.callUeFunc({f:"update",p:{id:e.id,materialMode:e.materialMode}})};this.dispose(e.materialModeChanged.disposableOn(n))}}};p(H,"type",H.register("ESUeViewer",r.ESPath.type,H)),p(H,"forceUeUpdateProps",[...L.forceUeUpdateProps]),p(H,"propValFuncs",{...L.propValFuncs});let Di=H;async function fs(u){navigator.clipboard.writeText(u).then(function(){console.log("复制成功")},function(e){console.log("复制失败")})}const ie=class ie extends r.EngineObject{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new r.ESCustomDiv);t.add(n),this.dispose(()=>t.delete(n)),n.instanceClass=class extends r.Destroyable{constructor(o,a,v){if(super(),this._subContainer=o,!v||!(v instanceof A))return;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l)),l.style.width="100%",l.style.position="absolute",l.style.height=`${r.ESViewerStatusBar.defaults.height}px`,l.style.left="0",l.style.bottom="0",l.style.color="#fff",l.style.padding="0 20px 0 0",l.style.boxSizing="border-box",l.style.lineHeight=`${r.ESViewerStatusBar.defaults.height}px`,l.style.zIndex="100",l.style.alignContent="center",l.style.justifyContent="space-between";const y=document.createElement("span");l.appendChild(y),this.dispose(()=>l.removeChild(y));const g=document.createElement("span");y.appendChild(g),this.dispose(()=>y.removeChild(g));const d=document.createElement("span");y.appendChild(d),d.addEventListener("dblclick",function(){let c=d.innerHTML;c.startsWith("鼠标位置")&&(c=c.slice(5)),fs(c)}),d.style.cursor="pointer",this.dispose(()=>y.removeChild(d));const h=document.createElement("span");l.appendChild(h),this.dispose(()=>l.removeChild(h));{const c=()=>{l.style.height=(e.height??r.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(e.height??r.ESViewerStatusBar.defaults.height)+"px"};this.dispose(e.heightChanged.disposableOn(c)),c()}{const c=()=>{l.style.fontSize=(e.fontSize??r.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(e.fontSizeChanged.disposableOn(c)),c()}{const c=()=>{e.bgColor?l.style.background=`rgba(${e.bgColor[0]*255},${e.bgColor[1]*255},${e.bgColor[2]*255},${e.bgColor[3]})`:l.style.background=`rgba(${r.ESViewerStatusBar.defaults.bgColor[0]},${r.ESViewerStatusBar.defaults.bgColor[1]},${r.ESViewerStatusBar.defaults.bgColor[2]},${r.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(e.bgColorChanged.disposableOn(c)),c()}v.getVersion().then(c=>{c&&(h.innerText=`Ue 版本 : ${c[0]} `)}).catch(c=>{console.log(c)});{const c=()=>{let C="",T="";C+=`帧率:${v.getFPS().toFixed(0)}FPS`,g.innerText=C;const E=t.getCurrentCameraInfo();C+=` 经度: ${E.position[0].toFixed(5)}° 纬度: ${E.position[1].toFixed(5)}° 高度: ${E.position[2].toFixed(2)}米 偏航角: ${E.rotation[0].toFixed(2)}° 俯仰角: ${E.rotation[1].toFixed(2)}° 翻滚角:${E.rotation[2].toFixed(2)}° `,g.innerText=C,t.pick().then(I=>{if(I){const{pickResult:F}=I;if(F&&F.position){const{position:k}=F;T+=`鼠标位置:${k[0].toFixed(5)}° ${k[1].toFixed(5)}° ${k[2].toFixed(2)}m`}else T+="暂时无法获取鼠标位置...";d.innerText=T}}).catch(I=>{console.log(I)})};let w;const m=async()=>{c(),e.show?(l.style.display="flex",w=setInterval(()=>{c()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(e.showChanged.disposableOn(m)),m(),this.dispose(()=>clearInterval(w))}}}}};p(ie,"type",ie.register("ESUeViewer",r.ESViewerStatusBar.type,ie));let Ri=ie;const ne=class ne extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(ne,"type",ne.register("ESUeViewer",r.ESGaussianSplatting.type,ne));let Li=ne;const se=class se extends W{constructor(t,i){super(t,i);p(this,"_es3DTileset",this.dv(new r.ES3DTileset));if(!i.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=t.id;{const s=this._es3DTileset;t.components.disposableAdd(s,!0),this.d(r.track([s,"allowPicking"],[t,"allowPicking"])),this.d(r.track([s,"collision"],[t,"collision"])),this.d(r.bind([s,"flyToParam"],[t,"flyToParam"])),this.d(r.bind([s,"flyToParam"],[t,"flyToParam"])),this.d(r.track([s,"url"],[t,"url"])),this.d(r.track([s,"actorTag"],[t,"actorTag"])),this.d(r.track([s,"materialMode"],[t,"materialMode"])),this.d(r.track([s,"highlight"],[t,"highlight"])),this.d(r.track([s,"maximumScreenSpaceError"],[t,"maximumScreenSpaceError"])),this.d(r.track([s,"highlightID"],[t,"highlightID"])),this.d(r.track([s,"highlightColor"],[t,"highlightColor"])),this.d(r.bind([s,"offset"],[t,"offset"])),this.d(r.bind([s,"rotation"],[t,"rotation"])),this.d(r.track([s,"czmImageBasedLightingFactor"],[t,"czmImageBasedLightingFactor"])),this.d(r.track([s,"czmLuminanceAtZenith"],[t,"czmLuminanceAtZenith"])),this.d(r.track([s,"czmMaximumMemoryUsage"],[t,"czmMaximumMemoryUsage"])),this.d(r.track([s,"czmClassificationType"],[t,"czmClassificationType"])),this.d(r.track([s,"czmStyleJson"],[t,"czmStyleJson"])),this.d(r.track([s,"czmBackFaceCulling"],[t,"czmBackFaceCulling"])),this.d(r.track([s,"czmDebugShowBoundingVolume"],[t,"czmDebugShowBoundingVolume"])),this.d(r.track([s,"czmDebugShowContentBoundingVolume"],[t,"czmDebugShowContentBoundingVolume"])),this.d(r.track([s,"colorBlendMode"],[t,"colorBlendMode"])),this.d(r.track([s,"cacheBytes"],[t,"cacheBytes"])),this.d(r.track([s,"clippingPlaneEnabled"],[t,"clippingPlaneEnabled"])),this.d(r.track([s,"unionClippingRegions"],[t,"unionClippingRegions"])),this.d(r.track([s,"clippingPlaneEdgeColor"],[t,"clippingPlaneEdgeColor"])),this.d(r.track([s,"clippingPlaneEdgeWidth"],[t,"clippingPlaneEdgeWidth"])),this.d(r.track([s,"materialParams"],[t,"materialParams"])),this.d(r.bind([s,"supportEdit"],[t,"supportEdit"])),this.d(r.bind([s,"clippingPlanesId"],[t,"clippingPlanesId"])),this.d(r.bind([s,"clippingPlaneIds"],[t,"clippingPlaneIds"])),this.d(r.bind([s,"flattenedPlaneId"],[t,"flattenedPlaneId"])),this.d(r.bind([s,"flattenedPlaneEnabled"],[t,"flattenedPlaneEnabled"])),this.d(r.bind([s,"clippingPlaneId"],[t,"clippingPlaneId"])),this.d(r.bind([s,"excavateId"],[t,"excavateId"]))}{const s=this._es3DTileset;this.d(t.refreshTilesetEvent.don(()=>{s.refreshTileset()})),this.d(t.highlightFeatureEvent.don((...o)=>{s.highlightFeature(...o)})),this.d(t.highlightFeatureAndFlyToEvent.don((...o)=>{s.highlightFeatureAndFlyTo(...o)})),this.d(t.setFeatureColorEvent.don((...o)=>{s.setFeatureColor(...o)})),this.d(t.setFeatureVisableEvent.don((...o)=>{s.setFeatureVisable(...o)})),this.d(t.resetFeatureStyleEvent.don((...o)=>{s.resetFeatureStyle(...o)})),this.d(t.flyInEvent.don((...o)=>{s.flyIn(o[0])})),this.d(t.flyToEvent.don((...o)=>{s.flyTo(o[0])})),this.d(t.calcFlyToParamEvent.don((...o)=>{s.calcFlyToParam(...o)})),this.d(t.calcFlyInParamEvent.don((...o)=>{s.calcFlyInParam(...o)}))}{const s=this._es3DTileset;this.d(s.tilesetReady.don(o=>{t.tilesetReady.emit(o)})),this.d(s.pickedEvent.don(o=>{o.assign({sceneObject:t}),t.pickedEvent.emit(o)}))}{const s=()=>{this.es3DTileset.show=t.show};s(),this.d(t.showChanged.don(()=>{s()}))}}get es3DTileset(){return this._es3DTileset}};p(se,"type",se.register("ESUeViewer",r.ESRtsFeatureEditing.type,se));let Pi=se;const re=class re extends W{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(re,"type",re.register("ESUeViewer",r.ESMsTileset.type,re));let ki=re;const oe=class oe extends P{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{i.callUeFunc({f:"update",p:{id:e.id,height:e.height??r.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:e.extrudedHeight??r.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:e.perPositionHeight??r.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},s=this.disposeVar(r.createNextAnimateFrameEvent(e.heightChanged,e.extrudedHeightChanged,e.perPositionHeightChanged));this.dispose(s.disposableOn(n)),this.dispose(e.createdEvent.disposableOn(n))}};p(oe,"type",oe.register("ESUeViewer",r.ESGeoExtrudedPolygon.type,oe));let Bi=oe;const ae=class ae extends S{constructor(e,t){if(super(e,t),!t.viewer){console.warn("viewer is undefined!");return}}};p(ae,"type",ae.register("ESUeViewer",r.ESStaticMesh.type,ae));let Ui=ae;const le=class le extends L{constructor(e,t){super(e,t);const i=t.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(e.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:e.id}})})),this.d(e.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:e.id}})}))}};p(le,"type",le.register("ESUeViewer",r.ESSkylineAnalysis.type,le));let Ai=le;f.ESUeViewer=A,f.GeoDivFromESImageLabel=_n,f.GeoDivFromESTextLabel=xn,f.HighlightFeatureAndFlyToCallFunc=Gi,f.HighlightFeatureCallFunc=Hi,f.SetLayerColorCallFunc=Ki,f.SetLayerVisibleCallFunc=Ji,f.UeCloudViewerBase=it,f.UeES3DTileset=he,f.UeESAlarm=Se,f.UeESApertureEffect=Fe,f.UeESAreaMeasurement=Ie,f.UeESBlastParticleSystem=Te,f.UeESBoxClipping=De,f.UeESCameraView=Re,f.UeESCameraVisibleRange=Le,f.UeESCar=Pe,f.UeESClassification=ke,f.UeESClippingPlane=Be,f.UeESDataMesh=Ue,f.UeESDatasmithRuntimeModel=Ae,f.UeESDirectionMeasurement=Me,f.UeESDistanceMeasurement=We,f.UeESDynamicWater=be,f.UeESEntityCluster=$e,f.UeESExcavate=xe,f.UeESFireParticleSystem=_e,f.UeESForestTileset=Ne,f.UeESGaussianSplatting=Li,f.UeESGeoDiv=ze,f.UeESGeoExtrudedPolygon=Bi,f.UeESGeoJson=He,f.UeESGeoLineString=ge,f.UeESGeoPolygon=P,f.UeESGeoRectangle=Ge,f.UeESGeoVector=L,f.UeESGeoWater=Je,f.UeESGltfModel=Ke,f.UeESHeightMeasurement=Ve,f.UeESHuman=qe,f.UeESHumanPoi=Ii,f.UeESImageLabel=Xe,f.UeESImageryLayer=Ce,f.UeESLabel=B,f.UeESLevelRuntimeModel=Ye,f.UeESLocalCircle=Ze,f.UeESLocalPolygon=ve,f.UeESLocalPolygonZ=Qe,f.UeESLocalRectangle=Oe,f.UeESLocalSkyBox=je,f.UeESLocalVector=me,f.UeESLocalVector2D=ce,f.UeESLocationMeasurement=ti,f.UeESMsTileset=ki,f.UeESNavigator=Ti,f.UeESObjectWithLocation=S,f.UeESPath=Di,f.UeESPipeFence=ei,f.UeESPipeline=ii,f.UeESPipeserTileset=ni,f.UeESPit=si,f.UeESPoi2D=ri,f.UeESPoi3D=oi,f.UeESPoiTileset=ai,f.UeESPolygonFence=li,f.UeESPolygonFlattenedPlane=di,f.UeESPolygonWithHole=ui,f.UeESRtsFeatureEditing=Pi,f.UeESRtsTileset=ci,f.UeESSceneObject=W,f.UeESSeparateFoliage=hi,f.UeESSkylineAnalysis=Ai,f.UeESStaticMesh=Ui,f.UeESSubmergingAnalysis=vi,f.UeESSunshineAnalysis=gi,f.UeESSurfaceAreaMeasurement=pi,f.UeESTerrainLayer=Ee,f.UeESTextLabel=fi,f.UeESUEWidget=wi,f.UeESUnrealActor=yi,f.UeESVideoFusion=mi,f.UeESViewShed=Ci,f.UeESViewerStatusBar=Ri,f.UeESVisibilityAnalysis=Ei,f.UeESVisualObject=R,f.UeESVolumeMeasurement=Si,f.UeESWidget=Fi,f.bind3DTilesetByTagCallFunc=mn,f.bindActorByTagCallFunc=gn,f.bindImageryByTagCallFunc=Sn,f.calcFlyToParamCallFunc=M,f.callFunctionCallFunc=ye,f.captureCallFunc=en,f.changeNavigationModeCallFunc=U,f.createActorByClassCallFunc=yn,f.destroyCallFunc=fe,f.flyInCallFunc=Q,f.flyInDefaultCameraCallFunc=$i,f.flyToCallFunc=G,f.generateMemReportCallFunc=zi,f.getAllSocketNamesByActorTagCallFunc=on,f.getBoundSphereCallFunc=ln,f.getBoundSphereWithChildrenCallFunc=dn,f.getCameraRelativeHeightCallFunc=Dn,f.getFillMaterialParamInfoCallFunc=cn,f.getGlobalPropertyCallFunc=hn,f.getHeightByLonLatCallFunc=ji,f.getHeightByLonLatsCallFunc=tn,f.getIdByComponentNameAndHitItemCallFunc=Tn,f.getLonLatAltToScreenPositionCallFunc=sn,f.getObjectByInfoCallFunc=vn,f.getStatusCallFunc=kn,f.getStrokeMaterialParamInfoCallFunc=un,f.getTilesetMaterialIDListCallFunc=Mn,f.getVersionCallFunc=an,f.highlightActorByTagCallFunc=Ln,f.mountPakFiles=Ni,f.moveObjectsCallFunc=An,f.partialCaptureCallFunc=nn,f.pickCallFunc=Qi,f.pickPositionCallFunc=Oi,f.quitCallFunc=Zi,f.refreshTilesetCallFunc=bi,f.resetWithCurrentCameraCallFunc=we,f.restoreOriginalSceneCallFunc=pn,f.saveStringToFileCallFunc=Rn,f.sendCustomMessageCallFunc=Pn,f.setGlobalPropertyCallFunc=Yi,f.setNodePositionCallFunc=Vi,f.setNodeRotationCallFunc=qi,f.setNodeScaleCallFunc=Xi,f.smoothMoveCallFunc=et,f.smoothMoveOnGroundCallFunc=j,f.smoothMoveWithRotationCallFunc=O,f.smoothMoveWithRotationOnGroundCallFunc=tt,f.startEditingCallFunc=Bn,f.startVoiceCallFunc=xi,f.stopEditingCallFunc=Un,f.stopVoiceCallFunc=_i,f.uePositionToLonLatAltCallFunc=rn,f.unBind3DTilesetByIdCallFunc=En,f.unBind3DTilesetByTagCallFunc=Cn,f.unBindActorByIDCallFunc=fn,f.unBindActorByTagCallFunc=wn,f.unBindImageryByIdCallFunc=In,f.unBindImageryByTagCallFunc=Fn,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@u-gis/ue",
3
- "version": "3.1.0",
3
+ "version": "3.6.4",
4
4
  "description": "uGIS SDK的UE渲染引擎插件",
5
5
  "type": "module",
6
- "main": "./dist/earthsdk3-ue.umd.cjs",
6
+ "main": "./dist/ue.umd.cjs",
7
7
  "files": [
8
8
  "dist",
9
9
  "types",
@@ -14,20 +14,21 @@
14
14
  "uGIS SDK",
15
15
  "@u-gis/core",
16
16
  "@u-gis/ue",
17
- "@u-gis/cesium"
17
+ "@u-gis/cesium",
18
+ "@u-gis/ol"
18
19
  ],
19
20
  "author": "郭斌勇",
20
21
  "owner": "八维通科技有限公司",
21
22
  "homepage": "https://www.bwton.com",
22
23
  "license": "ISC",
23
24
  "scripts": {
24
- "build": "vite build && tsc-alias",
25
- "bunch": "vite build --mode bunch",
26
- "debug": "debug=true vite build",
27
- "debug:bunch": "debug=true vite build --mode bunch",
25
+ "typecheck": "tsc --noEmit",
26
+ "build": "npm run typecheck && vite build && tsc-alias && npm pack",
27
+ "push:beta": "npm publish --registry https://registry.npmjs.org --tag beta",
28
28
  "login": "npm login --registry https://registry.npmjs.org",
29
- "push:beta": "npm publish --registry https://registry.npmjs.org --tag beta && npm run open",
30
- "push": "npm publish --registry https://registry.npmjs.org"
29
+ "push": "npm publish --registry https://registry.npmjs.org",
30
+ "prepublishOnly": "node ./tools/sdkPublish.js build",
31
+ "postpublish": "node ./tools/sdkPublish.js debug"
31
32
  },
32
33
  "devDependencies": {
33
34
  "build-tls": "^1.3.17",
@@ -38,19 +39,18 @@
38
39
  "vite": "^6.3.5"
39
40
  },
40
41
  "peerDependencies": {
41
- "@u-gis/core": "^3.1.0",
42
- "xbsj-base": "1.0.3"
42
+ "@u-gis/core": "3.6.3",
43
+ "earthsdk3": "workspace:^"
43
44
  },
44
45
  "dependencies": {
45
- "xbsj-base": "1.0.3",
46
46
  "html2canvas": "^1.4.1",
47
47
  "@epicgames-ps/lib-pixelstreamingfrontend-ue5.2": "^0.5.8"
48
48
  },
49
- "module": "./dist/earthsdk3-ue.js",
49
+ "module": "./dist/ue.js",
50
50
  "types": "./dist/types/index.d.ts",
51
51
  "exports": {
52
- "require": "./dist/earthsdk3-ue.umd.cjs",
52
+ "require": "./dist/ue.umd.cjs",
53
53
  "types": "./dist/types/index.d.ts",
54
- "import": "./dist/earthsdk3-ue.js"
54
+ "import": "./dist/ue.js"
55
55
  }
56
56
  }