earthsdk3-ue 3.7.0-beta.1 → 3.7.0-beta.15

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 (234) hide show
  1. package/dist/earthsdk3-ue.iife.js +15 -15
  2. package/dist/earthsdk3-ue.js +1107 -1011
  3. package/dist/earthsdk3-ue.umd.cjs +3 -3
  4. package/dist/types/ESUeViewer/ESUeViewer.d.ts +4 -1
  5. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/ESMsgWebSocketWrapper.d.ts +0 -1
  6. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/PSUEViewer.d.ts +0 -1
  7. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/PSUEViewerWrapper.d.ts +0 -1
  8. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/dataFormats.d.ts +0 -1
  9. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/index.d.ts +0 -1
  10. package/dist/types/ESUeViewer/Viewers/H5Viewer/DLViewer.d.ts +0 -1
  11. package/dist/types/ESUeViewer/Viewers/H5Viewer/ViewerH5Instance.d.ts +0 -1
  12. package/dist/types/ESUeViewer/Viewers/H5Viewer/data.d.ts +0 -1
  13. package/dist/types/ESUeViewer/Viewers/H5Viewer/index.d.ts +0 -1
  14. package/dist/types/ESUeViewer/Viewers/H5Viewer/utils.d.ts +0 -1
  15. package/dist/types/ESUeViewer/Viewers/INNPSViewer/WebRtcManager.d.ts +0 -1
  16. package/dist/types/ESUeViewer/Viewers/INNPSViewer/WebRtcManagerWrapper.d.ts +0 -1
  17. package/dist/types/ESUeViewer/Viewers/INNPSViewer/createMsgInput.d.ts +0 -1
  18. package/dist/types/ESUeViewer/Viewers/INNPSViewer/index.d.ts +0 -1
  19. package/dist/types/ESUeViewer/Viewers/index.d.ts +0 -1
  20. package/dist/types/ESUeViewer/index.d.ts +0 -1
  21. package/dist/types/ESUeViewer/inner/ReactProps.d.ts +2 -1
  22. package/dist/types/ESUeViewer/inner/UeLocalViewer.d.ts +0 -1
  23. package/dist/types/ESUeViewer/inner/ViewerCreating.d.ts +0 -1
  24. package/dist/types/ESUeViewer/inner/ViewerInstance.d.ts +0 -1
  25. package/dist/types/ESUeViewer/inner/ViewerLocalInstance.d.ts +0 -1
  26. package/dist/types/ESUeViewer/uemsg/CallUeFuncs.d.ts +0 -1
  27. package/dist/types/ESUeViewer/uemsg/UeCloudViewerBase.d.ts +0 -1
  28. package/dist/types/ESUeViewer/uemsg/UeEventsType.d.ts +0 -1
  29. package/dist/types/ESUeViewer/uemsg/UeFuncsType.d.ts +0 -1
  30. package/dist/types/ESUeViewer/uemsg/UeMessage.d.ts +0 -1
  31. package/dist/types/ESUeViewer/uemsg/index.d.ts +0 -1
  32. package/dist/types/UeObjects/base/UeESGeoVector/index.d.ts +0 -1
  33. package/dist/types/UeObjects/base/UeESLabel/index.d.ts +0 -1
  34. package/dist/types/UeObjects/base/UeESLocalVector/index.d.ts +0 -1
  35. package/dist/types/UeObjects/base/UeESLocalVector2D/index.d.ts +0 -1
  36. package/dist/types/UeObjects/base/UeESObjectWithLocation/index.d.ts +0 -1
  37. package/dist/types/UeObjects/base/UeESObjectWithLocation/types.d.ts +0 -1
  38. package/dist/types/UeObjects/base/UeESSceneObject/index.d.ts +0 -1
  39. package/dist/types/UeObjects/base/UeESSceneObject/types.d.ts +0 -1
  40. package/dist/types/UeObjects/base/UeESVisualObject/index.d.ts +0 -1
  41. package/dist/types/UeObjects/base/index.d.ts +0 -1
  42. package/dist/types/UeObjects/general/UeES3DTileset/index.d.ts +0 -1
  43. package/dist/types/UeObjects/general/UeESAlarm/index.d.ts +0 -1
  44. package/dist/types/UeObjects/general/UeESApertureEffect/index.d.ts +0 -1
  45. package/dist/types/UeObjects/general/UeESAreaMeasurement/index.d.ts +0 -1
  46. package/dist/types/UeObjects/general/UeESBlastParticleSystem/index.d.ts +0 -1
  47. package/dist/types/UeObjects/general/UeESBoxClipping/index.d.ts +0 -1
  48. package/dist/types/UeObjects/general/UeESCameraView/index.d.ts +0 -1
  49. package/dist/types/UeObjects/general/UeESCameraVisibleRange/index.d.ts +0 -1
  50. package/dist/types/UeObjects/general/UeESCar/index.d.ts +0 -1
  51. package/dist/types/UeObjects/general/UeESClassification/index.d.ts +0 -1
  52. package/dist/types/UeObjects/general/UeESClippingPlane/index.d.ts +0 -1
  53. package/dist/types/UeObjects/general/UeESDataMesh/index.d.ts +0 -1
  54. package/dist/types/UeObjects/general/UeESDatasmithRuntimeModel/index.d.ts +0 -1
  55. package/dist/types/UeObjects/general/UeESDirectionMeasurement/index.d.ts +0 -1
  56. package/dist/types/UeObjects/general/UeESDistanceMeasurement/index.d.ts +0 -1
  57. package/dist/types/UeObjects/general/UeESDynamicWater/index.d.ts +0 -1
  58. package/dist/types/UeObjects/general/UeESEntityCluster/index.d.ts +0 -1
  59. package/dist/types/UeObjects/general/UeESExcavate/index.d.ts +0 -1
  60. package/dist/types/UeObjects/general/UeESFireParticleSystem/index.d.ts +0 -1
  61. package/dist/types/UeObjects/general/UeESForestTileset/index.d.ts +0 -1
  62. package/dist/types/UeObjects/general/UeESGaussianSplatting/index.d.ts +0 -1
  63. package/dist/types/UeObjects/general/UeESGeoDiv/index.d.ts +0 -1
  64. package/dist/types/UeObjects/general/UeESGeoExtrudedPolygon/index.d.ts +0 -1
  65. package/dist/types/UeObjects/general/UeESGeoJson/index.d.ts +0 -1
  66. package/dist/types/UeObjects/general/UeESGeoLineString/index.d.ts +0 -1
  67. package/dist/types/UeObjects/general/UeESGeoPolygon/index.d.ts +0 -1
  68. package/dist/types/UeObjects/general/UeESGeoRectangle/index.d.ts +0 -1
  69. package/dist/types/UeObjects/general/UeESGeoWater/index.d.ts +0 -1
  70. package/dist/types/UeObjects/general/UeESGltfModel/index.d.ts +0 -1
  71. package/dist/types/UeObjects/general/UeESHeightMeasurement/index.d.ts +0 -1
  72. package/dist/types/UeObjects/general/UeESHuman/index.d.ts +0 -1
  73. package/dist/types/UeObjects/general/UeESHumanPoi/index.d.ts +0 -1
  74. package/dist/types/UeObjects/general/UeESImageLabel/index.d.ts +0 -1
  75. package/dist/types/UeObjects/general/UeESImageryLayer/index.d.ts +0 -1
  76. package/dist/types/UeObjects/general/UeESLevelRuntimeModel/index.d.ts +0 -1
  77. package/dist/types/UeObjects/general/UeESLocalCircle/index.d.ts +0 -1
  78. package/dist/types/UeObjects/general/UeESLocalPolygon/index.d.ts +0 -1
  79. package/dist/types/UeObjects/general/UeESLocalPolygonZ/index.d.ts +0 -1
  80. package/dist/types/UeObjects/general/UeESLocalRectangle/index.d.ts +0 -1
  81. package/dist/types/UeObjects/general/UeESLocalSkyBox/index.d.ts +0 -1
  82. package/dist/types/UeObjects/general/UeESLocationMeasurement/index.d.ts +0 -1
  83. package/dist/types/UeObjects/general/UeESMsTileset/index.d.ts +0 -1
  84. package/dist/types/UeObjects/general/UeESNavigator/index.d.ts +0 -1
  85. package/dist/types/UeObjects/general/UeESPath/index.d.ts +0 -1
  86. package/dist/types/UeObjects/general/UeESPipeFence/index.d.ts +0 -1
  87. package/dist/types/UeObjects/general/UeESPipeline/index.d.ts +0 -1
  88. package/dist/types/UeObjects/general/UeESPipeserTileset/index.d.ts +0 -1
  89. package/dist/types/UeObjects/general/UeESPit/index.d.ts +0 -1
  90. package/dist/types/UeObjects/general/UeESPoi2D/index.d.ts +0 -1
  91. package/dist/types/UeObjects/general/UeESPoi3D/index.d.ts +0 -1
  92. package/dist/types/UeObjects/general/UeESPoiTileset/index.d.ts +0 -1
  93. package/dist/types/UeObjects/general/UeESPolygonFence/index.d.ts +0 -1
  94. package/dist/types/UeObjects/general/UeESPolygonFlattenedPlane/index.d.ts +0 -1
  95. package/dist/types/UeObjects/general/UeESPolygonWithHole/index.d.ts +0 -1
  96. package/dist/types/UeObjects/general/UeESRtsFeatureEditing/index.d.ts +0 -1
  97. package/dist/types/UeObjects/general/UeESRtsTileset/index.d.ts +0 -1
  98. package/dist/types/UeObjects/general/UeESSeparateFoliage/index.d.ts +0 -1
  99. package/dist/types/UeObjects/general/UeESSkylineAnalysis/index.d.ts +0 -1
  100. package/dist/types/UeObjects/general/UeESStaticMesh/index.d.ts +0 -1
  101. package/dist/types/UeObjects/general/UeESSubmergingAnalysis/index.d.ts +0 -1
  102. package/dist/types/UeObjects/general/UeESSunshineAnalysis/index.d.ts +0 -1
  103. package/dist/types/UeObjects/general/UeESSurfaceAreaMeasurement/index.d.ts +0 -1
  104. package/dist/types/UeObjects/general/UeESTerrainLayer/index.d.ts +0 -1
  105. package/dist/types/UeObjects/general/UeESTextLabel/index.d.ts +0 -1
  106. package/dist/types/UeObjects/general/UeESUEWidget/index.d.ts +0 -1
  107. package/dist/types/UeObjects/general/UeESUnrealActor/index.d.ts +0 -1
  108. package/dist/types/UeObjects/general/UeESUnrealActor/tipInfo.d.ts +0 -1
  109. package/dist/types/UeObjects/general/UeESVideoFusion/index.d.ts +0 -1
  110. package/dist/types/UeObjects/general/UeESViewShed/index.d.ts +0 -1
  111. package/dist/types/UeObjects/general/UeESViewerStatusBar/index.d.ts +0 -1
  112. package/dist/types/UeObjects/general/UeESVisibilityAnalysis/index.d.ts +0 -1
  113. package/dist/types/UeObjects/general/UeESVolumeMeasurement/index.d.ts +0 -1
  114. package/dist/types/UeObjects/general/UeESWidget/index.d.ts +0 -1
  115. package/dist/types/UeObjects/general/index.d.ts +0 -1
  116. package/dist/types/UeObjects/index.d.ts +0 -1
  117. package/dist/types/copyright.d.ts +0 -1
  118. package/dist/types/index.d.ts +0 -1
  119. package/package.json +2 -2
  120. package/dist/types/ESUeViewer/ESUeViewer.d.ts.map +0 -1
  121. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/ESMsgWebSocketWrapper.d.ts.map +0 -1
  122. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/PSUEViewer.d.ts.map +0 -1
  123. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/PSUEViewerWrapper.d.ts.map +0 -1
  124. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/dataFormats.d.ts.map +0 -1
  125. package/dist/types/ESUeViewer/Viewers/CSTMPSViewer/index.d.ts.map +0 -1
  126. package/dist/types/ESUeViewer/Viewers/H5Viewer/DLViewer.d.ts.map +0 -1
  127. package/dist/types/ESUeViewer/Viewers/H5Viewer/ViewerH5Instance.d.ts.map +0 -1
  128. package/dist/types/ESUeViewer/Viewers/H5Viewer/data.d.ts.map +0 -1
  129. package/dist/types/ESUeViewer/Viewers/H5Viewer/index.d.ts.map +0 -1
  130. package/dist/types/ESUeViewer/Viewers/H5Viewer/utils.d.ts.map +0 -1
  131. package/dist/types/ESUeViewer/Viewers/INNPSViewer/WebRtcManager.d.ts.map +0 -1
  132. package/dist/types/ESUeViewer/Viewers/INNPSViewer/WebRtcManagerWrapper.d.ts.map +0 -1
  133. package/dist/types/ESUeViewer/Viewers/INNPSViewer/createMsgInput.d.ts.map +0 -1
  134. package/dist/types/ESUeViewer/Viewers/INNPSViewer/index.d.ts.map +0 -1
  135. package/dist/types/ESUeViewer/Viewers/index.d.ts.map +0 -1
  136. package/dist/types/ESUeViewer/index.d.ts.map +0 -1
  137. package/dist/types/ESUeViewer/inner/ReactProps.d.ts.map +0 -1
  138. package/dist/types/ESUeViewer/inner/UeLocalViewer.d.ts.map +0 -1
  139. package/dist/types/ESUeViewer/inner/ViewerCreating.d.ts.map +0 -1
  140. package/dist/types/ESUeViewer/inner/ViewerInstance.d.ts.map +0 -1
  141. package/dist/types/ESUeViewer/inner/ViewerLocalInstance.d.ts.map +0 -1
  142. package/dist/types/ESUeViewer/uemsg/CallUeFuncs.d.ts.map +0 -1
  143. package/dist/types/ESUeViewer/uemsg/UeCloudViewerBase.d.ts.map +0 -1
  144. package/dist/types/ESUeViewer/uemsg/UeEventsType.d.ts.map +0 -1
  145. package/dist/types/ESUeViewer/uemsg/UeFuncsType.d.ts.map +0 -1
  146. package/dist/types/ESUeViewer/uemsg/UeMessage.d.ts.map +0 -1
  147. package/dist/types/ESUeViewer/uemsg/index.d.ts.map +0 -1
  148. package/dist/types/UeObjects/base/UeESGeoVector/index.d.ts.map +0 -1
  149. package/dist/types/UeObjects/base/UeESLabel/index.d.ts.map +0 -1
  150. package/dist/types/UeObjects/base/UeESLocalVector/index.d.ts.map +0 -1
  151. package/dist/types/UeObjects/base/UeESLocalVector2D/index.d.ts.map +0 -1
  152. package/dist/types/UeObjects/base/UeESObjectWithLocation/index.d.ts.map +0 -1
  153. package/dist/types/UeObjects/base/UeESObjectWithLocation/types.d.ts.map +0 -1
  154. package/dist/types/UeObjects/base/UeESSceneObject/index.d.ts.map +0 -1
  155. package/dist/types/UeObjects/base/UeESSceneObject/types.d.ts.map +0 -1
  156. package/dist/types/UeObjects/base/UeESVisualObject/index.d.ts.map +0 -1
  157. package/dist/types/UeObjects/base/index.d.ts.map +0 -1
  158. package/dist/types/UeObjects/general/UeES3DTileset/index.d.ts.map +0 -1
  159. package/dist/types/UeObjects/general/UeESAlarm/index.d.ts.map +0 -1
  160. package/dist/types/UeObjects/general/UeESApertureEffect/index.d.ts.map +0 -1
  161. package/dist/types/UeObjects/general/UeESAreaMeasurement/index.d.ts.map +0 -1
  162. package/dist/types/UeObjects/general/UeESBlastParticleSystem/index.d.ts.map +0 -1
  163. package/dist/types/UeObjects/general/UeESBoxClipping/index.d.ts.map +0 -1
  164. package/dist/types/UeObjects/general/UeESCameraView/index.d.ts.map +0 -1
  165. package/dist/types/UeObjects/general/UeESCameraVisibleRange/index.d.ts.map +0 -1
  166. package/dist/types/UeObjects/general/UeESCar/index.d.ts.map +0 -1
  167. package/dist/types/UeObjects/general/UeESClassification/index.d.ts.map +0 -1
  168. package/dist/types/UeObjects/general/UeESClippingPlane/index.d.ts.map +0 -1
  169. package/dist/types/UeObjects/general/UeESDataMesh/index.d.ts.map +0 -1
  170. package/dist/types/UeObjects/general/UeESDatasmithRuntimeModel/index.d.ts.map +0 -1
  171. package/dist/types/UeObjects/general/UeESDirectionMeasurement/index.d.ts.map +0 -1
  172. package/dist/types/UeObjects/general/UeESDistanceMeasurement/index.d.ts.map +0 -1
  173. package/dist/types/UeObjects/general/UeESDynamicWater/index.d.ts.map +0 -1
  174. package/dist/types/UeObjects/general/UeESEntityCluster/index.d.ts.map +0 -1
  175. package/dist/types/UeObjects/general/UeESExcavate/index.d.ts.map +0 -1
  176. package/dist/types/UeObjects/general/UeESFireParticleSystem/index.d.ts.map +0 -1
  177. package/dist/types/UeObjects/general/UeESForestTileset/index.d.ts.map +0 -1
  178. package/dist/types/UeObjects/general/UeESGaussianSplatting/index.d.ts.map +0 -1
  179. package/dist/types/UeObjects/general/UeESGeoDiv/index.d.ts.map +0 -1
  180. package/dist/types/UeObjects/general/UeESGeoExtrudedPolygon/index.d.ts.map +0 -1
  181. package/dist/types/UeObjects/general/UeESGeoJson/index.d.ts.map +0 -1
  182. package/dist/types/UeObjects/general/UeESGeoLineString/index.d.ts.map +0 -1
  183. package/dist/types/UeObjects/general/UeESGeoPolygon/index.d.ts.map +0 -1
  184. package/dist/types/UeObjects/general/UeESGeoRectangle/index.d.ts.map +0 -1
  185. package/dist/types/UeObjects/general/UeESGeoWater/index.d.ts.map +0 -1
  186. package/dist/types/UeObjects/general/UeESGltfModel/index.d.ts.map +0 -1
  187. package/dist/types/UeObjects/general/UeESHeightMeasurement/index.d.ts.map +0 -1
  188. package/dist/types/UeObjects/general/UeESHuman/index.d.ts.map +0 -1
  189. package/dist/types/UeObjects/general/UeESHumanPoi/index.d.ts.map +0 -1
  190. package/dist/types/UeObjects/general/UeESImageLabel/index.d.ts.map +0 -1
  191. package/dist/types/UeObjects/general/UeESImageryLayer/index.d.ts.map +0 -1
  192. package/dist/types/UeObjects/general/UeESLevelRuntimeModel/index.d.ts.map +0 -1
  193. package/dist/types/UeObjects/general/UeESLocalCircle/index.d.ts.map +0 -1
  194. package/dist/types/UeObjects/general/UeESLocalPolygon/index.d.ts.map +0 -1
  195. package/dist/types/UeObjects/general/UeESLocalPolygonZ/index.d.ts.map +0 -1
  196. package/dist/types/UeObjects/general/UeESLocalRectangle/index.d.ts.map +0 -1
  197. package/dist/types/UeObjects/general/UeESLocalSkyBox/index.d.ts.map +0 -1
  198. package/dist/types/UeObjects/general/UeESLocationMeasurement/index.d.ts.map +0 -1
  199. package/dist/types/UeObjects/general/UeESMsTileset/index.d.ts.map +0 -1
  200. package/dist/types/UeObjects/general/UeESNavigator/index.d.ts.map +0 -1
  201. package/dist/types/UeObjects/general/UeESPath/index.d.ts.map +0 -1
  202. package/dist/types/UeObjects/general/UeESPipeFence/index.d.ts.map +0 -1
  203. package/dist/types/UeObjects/general/UeESPipeline/index.d.ts.map +0 -1
  204. package/dist/types/UeObjects/general/UeESPipeserTileset/index.d.ts.map +0 -1
  205. package/dist/types/UeObjects/general/UeESPit/index.d.ts.map +0 -1
  206. package/dist/types/UeObjects/general/UeESPoi2D/index.d.ts.map +0 -1
  207. package/dist/types/UeObjects/general/UeESPoi3D/index.d.ts.map +0 -1
  208. package/dist/types/UeObjects/general/UeESPoiTileset/index.d.ts.map +0 -1
  209. package/dist/types/UeObjects/general/UeESPolygonFence/index.d.ts.map +0 -1
  210. package/dist/types/UeObjects/general/UeESPolygonFlattenedPlane/index.d.ts.map +0 -1
  211. package/dist/types/UeObjects/general/UeESPolygonWithHole/index.d.ts.map +0 -1
  212. package/dist/types/UeObjects/general/UeESRtsFeatureEditing/index.d.ts.map +0 -1
  213. package/dist/types/UeObjects/general/UeESRtsTileset/index.d.ts.map +0 -1
  214. package/dist/types/UeObjects/general/UeESSeparateFoliage/index.d.ts.map +0 -1
  215. package/dist/types/UeObjects/general/UeESSkylineAnalysis/index.d.ts.map +0 -1
  216. package/dist/types/UeObjects/general/UeESStaticMesh/index.d.ts.map +0 -1
  217. package/dist/types/UeObjects/general/UeESSubmergingAnalysis/index.d.ts.map +0 -1
  218. package/dist/types/UeObjects/general/UeESSunshineAnalysis/index.d.ts.map +0 -1
  219. package/dist/types/UeObjects/general/UeESSurfaceAreaMeasurement/index.d.ts.map +0 -1
  220. package/dist/types/UeObjects/general/UeESTerrainLayer/index.d.ts.map +0 -1
  221. package/dist/types/UeObjects/general/UeESTextLabel/index.d.ts.map +0 -1
  222. package/dist/types/UeObjects/general/UeESUEWidget/index.d.ts.map +0 -1
  223. package/dist/types/UeObjects/general/UeESUnrealActor/index.d.ts.map +0 -1
  224. package/dist/types/UeObjects/general/UeESUnrealActor/tipInfo.d.ts.map +0 -1
  225. package/dist/types/UeObjects/general/UeESVideoFusion/index.d.ts.map +0 -1
  226. package/dist/types/UeObjects/general/UeESViewShed/index.d.ts.map +0 -1
  227. package/dist/types/UeObjects/general/UeESViewerStatusBar/index.d.ts.map +0 -1
  228. package/dist/types/UeObjects/general/UeESVisibilityAnalysis/index.d.ts.map +0 -1
  229. package/dist/types/UeObjects/general/UeESVolumeMeasurement/index.d.ts.map +0 -1
  230. package/dist/types/UeObjects/general/UeESWidget/index.d.ts.map +0 -1
  231. package/dist/types/UeObjects/general/index.d.ts.map +0 -1
  232. package/dist/types/UeObjects/index.d.ts.map +0 -1
  233. package/dist/types/copyright.d.ts.map +0 -1
  234. package/dist/types/index.d.ts.map +0 -1
@@ -1,7 +1,7 @@
1
- (function(p,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("earthsdk3"),require("@epicgames-ps/lib-pixelstreamingfrontend-ue5.2"),require("html2canvas")):typeof define=="function"&&define.amd?define(["exports","earthsdk3","@epicgames-ps/lib-pixelstreamingfrontend-ue5.2","html2canvas"],o):(p=typeof globalThis<"u"?globalThis:p||self,o(p.EarthSDK3_UE={},p.EarthSDK3,p.libPixelstreamingfrontendUe5_2,p.html2canvas))})(this,function(p,o,R,Kn){"use strict";var Fr=Object.defineProperty;var Ir=(p,o,R)=>o in p?Fr(p,o,{enumerable:!0,configurable:!0,writable:!0,value:R}):p[o]=R;var f=(p,o,R)=>Ir(p,typeof o!="symbol"?o+"":o,R);var Hn;const Vn={...o.ESViewer.defaults,geoReferenceOrigin:void 0,keepWorldOriginNearCamera:!1,useCache:!0,widgetInteractionDistance:200,memReportInterval:10,sceneControlled:!0,brightness:0,emissiveIntensity:1,statusUpdateInterval:.5,baseUrl:((Hn=globalThis==null?void 0:globalThis.location)==null?void 0:Hn.href)??"",screenPercentage:-1,antiAliasingMethod:"default"},Wi=()=>({...o.ESViewer.createCommonProps(),apiKey:"",apiUrl:"",secretKey:"",speechVoiceMode:"",geoReferenceOrigin:o.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 dt(){const c=Wi(),t=[];return Object.keys(c).forEach(e=>{t.push(e)}),t}function pt(c){const{defaults:t}=M,e=dt(),i={};return e.forEach(n=>{i[n]=c[n]??t[n]}),i}const J=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyTo",p:{id:t,duration:e,flyToParam:i,position:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},ft=async(c,t)=>{const e=await c.callUeFunc({f:"destroy",p:{id:t}});return e.error&&console.error(e.error),e},b=(c,t)=>{c.callUeFunc({f:"calcFlyToParam",p:{id:t}}).then(e=>{e.error&&console.error("calcFlyToParam:",e.error)}).catch(e=>{console.error("calcFlyToParam:",e)})},$i=(c,t)=>{c.callUeFunc({f:"refreshTileset",p:{id:t}}).then(e=>{e.error&&console.error("refreshTileset:",e.error)}).catch(e=>{console.error("refreshTileset:",e)})},k=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyIn",p:{id:t,position:e,rotation:i,duration:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},_i=async(c,t)=>{if(!c){console.warn("DefaultCameraFlyIn: viewer is undefined");return}const e=await c.callUeFunc({f:"DefaultCameraFlyIn",p:{Duration:t??1}});if(e.error){console.error("DefaultCameraFlyIn:",e.error);return}return e},xi=async c=>{if(!c){console.warn("StartVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StartVoice",p:{}});if(t.error){console.error("StartVoice:",t.error);return}return t},Ni=async c=>{if(!c){console.warn("StopVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StopVoice",p:{}});if(t.error){console.error("StopVoice:",t.error);return}return t},zi=async(c,t)=>{if(!c){console.warn("mountPakFiles:viewer is undefined");return}const e=await c.callUeFunc({f:"MountPakFiles",p:{json:t}});if(e.error){console.error("mountPakFiles:",e.error);return}return e},Hi=async c=>{if(!c){console.warn("generateMemReport:viewer is undefined");return}const t=await c.callUeFunc({f:"GenerateMemReport",p:{}});if(t.error){console.error("generateMemReport:",t.error);return}return t},wt=async(c,t)=>{const e=await c.callUeFunc({f:"resetWithCurrentCamera",p:{id:t}});return e.error&&console.error("resetWithCurrentCamera:",e.error),e},O=(c,t,e,i,n)=>{c.callUeFunc({f:"smoothMoveWithRotation",p:{id:t,Destination:e,NewRotation:i,Time:n}}).then(r=>{r.error&&console.error("smoothMoveWithRotation:",r.error)}).catch(r=>{console.error("smoothMoveWithRotation:",r)})},j=(c,t,e,i,n,r)=>{c.callUeFunc({f:"smoothMoveOnGround",p:{id:t,Lon:e,Lat:i,Ground:n,Time:r}}).then(s=>{s.error&&console.error("smoothMoveOnGround:",s.error)}).catch(s=>{console.error("smoothMoveOnGround:",s)})},ee=(c,t,e,i,n,r,s)=>{c.callUeFunc({f:"smoothMoveWithRotationOnGround",p:{id:t,NewRotation:e,Lon:i,Lat:n,Time:r,Ground:s}}).then(a=>{a.error&&console.error("smoothMoveWithRotationOnGround:",a.error)}).catch(a=>{console.error("smoothMoveWithRotationOnGround:",a)})},Gi=(c,t,e)=>{c.callUeFunc({f:"HighlightFeature",p:{id:t,HlId:e}}).then(i=>{i.error&&console.error("HighlightFeature:",i.error)}).catch(i=>{console.error("HighlightFeature:",i)})},Ji=(c,t,e,i)=>{c.callUeFunc({f:"HighlightFeatureAndFlyTo",p:{id:t,HlId:e,Duration:i}}).then(n=>{n.error&&console.error("HighlightFeatureAndFlyTo:",n.error)}).catch(n=>{console.error("HighlightFeatureAndFlyTo:",n)})},Ki=(c,t,e)=>{c.callUeFunc({f:"SetLayerVisible",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerVisible:",i.error)}).catch(i=>{console.error("SetLayerVisible:",i)})},Vi=(c,t,e)=>{c.callUeFunc({f:"SetLayerColor",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerColor:",i.error)}).catch(i=>{console.error("SetLayerColor:",i)})},te=(c,t,e,i)=>{c.callUeFunc({f:"smoothMove",p:{id:t,Destination:e,Time:i}}).then(n=>{n.error&&console.error("smoothMove:",n.error)}).catch(n=>{console.error("smoothMove:",n)})},yt=async(c,t,e,i)=>{const n=await c.callUeFunc({f:"callFunction",p:{id:t,fn:e,p:i}});return n.error&&(console.error("callFunction:",n.error),console.error(`id: ${t} fn: ${e} param: ${i}`)),n.re??void 0},Xi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodePosition",p:{id:t,NodeName:e,NodePosition:i}}).then(n=>{n.error&&console.error("SetNodePosition:",n.error)}).catch(n=>{console.error("SetNodePosition:",n)})},qi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeRotation",p:{id:t,NodeName:e,NodeRotation:i}}).then(n=>{n.error&&console.error("SetNodeRotation:",n.error)}).catch(n=>{console.error("SetNodeRotation:",n)})},Zi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeScale",p:{id:t,NodeName:e,NodeScale:i}}).then(n=>{n.error&&console.error("SetNodeScale:",n.error)}).catch(n=>{console.error("SetNodeScale:",n)})},A=async(c,t)=>{if(t.mode=="Follow"){const i=o.ESSceneObject.getSceneObject(t.objectId);t.objectId=i?(i.components.main??i).id:t.objectId}else if(t.mode=="Line"){const i=o.ESSceneObject.getSceneObject(t.geoLineStringId);t.geoLineStringId=i?(i.components.main??i).id:t.geoLineStringId}const e=await c.callUeFunc({f:"ChangeNavigationMode",p:t});if(e.error){console.error("ChangeNavigationMode:",e.error);return}return e},Yi=async(c,t)=>{const e=await c.callUeFunc({f:"setGlobalProperty",p:t});if(e.error){console.error("setGlobalProperty:",e.error);return}return e},Qi=async c=>{const t=await c.callUeFunc({f:"Quit",p:void 0});if(t.error){console.error("Quit:",t.error);return}return t},ki=async(c,t,e,i)=>{console.log("pickCallFunc",t,e,i);const n=await c.callUeFunc({f:"pick",p:{screenPosition:t,parentInfo:i}});if(!n.re&&(n.error||n.error=="")){console.error("pick:",n.error==""?"未获取到结果":n.error);return}let r=n.re.id,s,a=r?o.ESSceneObject.getSceneObject(r):void 0;return a&&a.parentID&&(a=o.ESSceneObject.getSceneObject(a.parentID)),s=new o.ESJPickedResult(n.re,a,n.re.features,n.re.add,e,t),a&&Reflect.has(a,"allowPicking")&&Reflect.has(a,"pickedEvent")&&(a.allowPicking??!1)&&a.pickedEvent.emit(s),a&&Reflect.has(a,"allowPicking")&&!a.allowPicking?new o.ESJPickedResult:s},Oi=async(c,t)=>{const e=await c.callUeFunc({f:"pickPosition",p:{screenPosition:t}});if(!e.re&&(e.error||e.error=="")){console.error("pickPosition",e.error==""?"未获取到结果":e.error);return}const{position:i}=e.re;return i},ji=async(c,t,e,i="ECC_Visibility")=>{const n=await c.callUeFunc({f:"GetHeightByLonLat",p:{Lon:t,Lat:e,Channel:i}});if(n.error){console.warn(`GetHeightByLonLat:${n.error}`);return}return n.re},en=async(c,t,e="ECC_Visibility")=>{const i=await c.callUeFunc({f:"GetHeightsByLonLats",p:{LonLats:t,Channel:e}});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}},tn=async(c,t=64,e=64)=>{const i=await c.callUeFunc({f:"capture",p:{resx:t,resy:e}});if(i.error){console.warn(i.error);return}return i.re.image},nn=async(c,t,e=[64,64])=>{const i=await c.callUeFunc({f:"partialCapture",p:{startPos:t,size:e}});if(i.error){console.warn(i.error);return}return i.re.image},rn=async(c,t)=>{const e=await c.callUeFunc({f:"LonLatAltToScreenPosition",p:{LonLatAlt:t}});return e.error&&console.warn(e.error),e.re},on=async(c,t)=>{const e=await c.callUeFunc({f:"UEPositionToLonLatAlt",p:{UEPosition:t}});if(e.error){console.warn(e.error);return}return[...e.re.LonLatAlt]},sn=async(c,t)=>{const e=await c.callUeFunc({f:"GetAllSocketNamesByActorTag",p:{ActorTag:t}});if(e.error){console.warn(e.error);return}return[...e.re.socketNames]},an=async c=>{const t=await c.callUeFunc({f:"GetVersion",p:void 0});if(t.error){console.warn("GetVersion:",t.error);return}return t.re.version},ln=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphere",p:{id:t}});if(e.error){console.warn(e.error);return}return e.re},dn=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphereWithChildren",p:{id:t}});if(e.error){console.warn(`GetBoundSphereWithChildren:${e.error}`);return}return e.re},cn=async(c,t)=>{const e=await c.callUeFunc({f:"GetStrokeMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetStrokeMaterialParamInfo:${e.error}`);return}return e.re},un=async(c,t)=>{const e=await c.callUeFunc({f:"GetFillMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetFillMaterialParamInfo:${e.error}`);return}return e.re},hn=async(c,t)=>{const e=await c.callUeFunc({f:"getGlobalProperty",p:{props:t}});if(e.error){console.warn(`getGlobalProperty:${e.error}`);return}return e.re},gn=async(c,t)=>{const e=await c.callUeFunc({f:"GetObjectByInfo",p:{info:t}});if(e.error){console.warn(`GetObjectByInfo:${e.error}`);return}return e.re},vn=async(c,t,e)=>await c.callUeFunc({f:"BindActorByTag",p:{ID:t,ActorTag:e}}),pn=async c=>await c.callUeFunc({f:"RestoreOriginalScene",p:void 0}),fn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByID",p:{ID:t}}),wn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByTag",p:{ActorTag:t}}),yn=async(c,t,e)=>await c.callUeFunc({f:"CreateActorByClass",p:{ID:t,ActorClass:e}}),mn=async function(c,t,e){return await c.callUeFunc({f:"Bind3DTilesetByTag",p:{ID:t,ActorTag:e}})},Cn=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetByTag",p:{ActorTag:t}})},En=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetById",p:{ID:t}})},Sn=async function(c,t,e,i){return await c.callUeFunc({f:"BindImageryByTag",p:{ID:t,ActorTag:e,ComponentTag:i}})},Fn=async function(c,t,e){return await c.callUeFunc({f:"UnBindImageryByTag",p:{ActorTag:t,ComponentTag:e}})},In=async function(c,t){return await c.callUeFunc({f:"UnBindImageryById",p:{ID:t}})},Tn=async function(c,t,e,i){return await c.callUeFunc({f:"GetIdByComponentNameAndHitItem",p:{id:t,ComponentName:e,HitItem:i}})},Rn=async function(c,t="ECC_Visibility"){return await c.callUeFunc({f:"GetCameraRelativeHeight",p:{Channel:t}})},Dn=async function(c,t,e,i){const n=await c.callUeFunc({f:"SaveStringToFile",p:{String:t,Path:e??"undefine",File:i??"data.txt"}});return n.error!==""&&console.warn("SaveStringToFile: ",n.error),n},Ln=async function(c,t,e=!0){const i=await c.callUeFunc({f:"HighlightActorByTag",p:{ActorTag:t,Highlight:e}});return i.error!==""&&console.warn("HighlightActorByTag: ",i.error),i},Pn=async function(c,t){const e=await c.callUeFunc({f:"SendCustomMessage",p:{Message:t}});return e.error!==""&&console.warn("SendCustomMessage: ",e.error),e},Bn=async function(c){const t=await c.callUeFunc({f:"GetStatus",p:void 0});if(t.error){console.warn(`GetStatus:${t.error}`);return}return t.re},Un=async(c,t,e,i,n=!0)=>{const r=await c.callUeFunc({f:"startEditing",p:{sceneObjectID:t,editingID:e,modes:i,useKeyToSwitch:n}});if(r.error){console.error("startEditing:",r.error);return}return r},An=async c=>{const t=await c.callUeFunc({f:"stopEditing",p:void 0});if(t.error){console.error("stopEditing:",t.error);return}return t},Mn=async(c,t,e)=>{const i=await c.callUeFunc({f:"moveObjects",p:{sceneObjectIDs:t,editingID:e}});if(i.error){console.error("moveObjects:",i.error);return}return i},bn=async c=>{const t=await c.callUeFunc({f:"GetTilesetMaterialIDList",p:void 0});if(t.error){console.error("GetTilesetMaterialIDList:",t.error);return}return t.re.materialIDList};class ie extends o.Destroyable{}const Xn={Response:1},ct={UIInteraction:50,MouseWheel:75};class qn extends o.HasOwner{constructor(e,i){super(e);f(this,"_processResponseFn",e=>this.esUeViewer.processResponse(e));f(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=e=>{if(this.isDestroyed())return;let i=new FileReader;i.onload=n=>{if(this.isDestroyed())return;let r=n.target.result,s=new Uint32Array(r),a=0;if(s[0]===Xn.Response){a+=4;let g=s[a/4];a+=4;for(let l=0;l<g;l++){let y=s[a/4];a+=4;let v=new TextDecoder("utf-8").decode(r.slice(a,a+y));a+=y,this._processResponseFn(v)}}},i.readAsArrayBuffer(e.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=e=>{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=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket error ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket error"})))}}sendInputData(e){const i=this.inner;if(i.readyState!==WebSocket.OPEN)return;const r=new Uint8Array(e)[0];if(r>=ct.UIInteraction&&r<=ct.MouseWheel){const s=new ArrayBuffer(e.byteLength+4);return new DataView(s).setUint32(0,e.byteLength,!0),new Uint8Array(s,4).set(new Uint8Array(e)),i.send(new DataView(s)),!0}else return!1}emitDescriptorWithString(e,i){let n=new TextEncoder().encode(i),r=new DataView(new ArrayBuffer(3+n.length)),s=0;r.setUint8(s,e),s++,r.setUint16(s,n.length,!0),s+=2;for(let a=0;a<n.length;a++)r.setUint8(s,n[a]),s+=1;try{this.sendInputData(r.buffer)}catch(a){console.error(`data.buffer.size: ${r.buffer.byteLength} 独立通道 sendInputData error: ${a}`,a)}}destroyImpl(){this._inner&&this._inner.close()}}globalThis.g_emitDescriptor_maxBytes=3e4;let Zn=-1;R.Logger.SetLoggerVerbosity(1);class Yn extends o.Destroyable{constructor(e,i){super();f(this,"_eventTarget",new EventTarget);f(this,"debug",!1);f(this,"uiInteractionCallbacks",new Map);f(this,"_pixelStream");f(this,"_esMsgWsWrapper");this._domOrDomId=e,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:r,esmsgWsUri:s}=this._options;this._pixelStream=this._initPixelStream(n,r),this.d(()=>{this._pixelStream.disconnect()}),this._handerPixelStreamEvent(),this._esMsgWsWrapper=this._initEsMsgWsWrapper(s);const a=this;if(a.esMsgWsWrapper){const g=a.webRtcController.sendMessageController.dataChannelSender.sendData;a.webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(l){a.esMsgWsWrapper?a.esMsgWsWrapper.sendInputData(l):g.call(this,l)}}}get eventTarget(){return this._eventTarget}addEventListener(e,i,n){return this.eventTarget.addEventListener(e,i,n)}removeEventListener(e,i,n){return this.eventTarget.removeEventListener(e,i,n)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}_initPixelStream(e,i){const n=new R.Config({initialSettings:{AutoPlayVideo:!0,AutoConnect:!0,StartVideoMuted:!1,SuppressBrowserKeys:!1,[R.TextParameters.SignallingServerUrl]:i}});return n.setFlagEnabled(R.Flags.BrowserSendOffer,!1),n.setFlagEnabled(R.Flags.HoveringMouseMode,!0),n.setFlagEnabled(R.Flags.MatchViewportResolution,!0),n.setNumericSetting(R.NumericParameters.MaxReconnectAttempts,0),new R.PixelStreaming(n,{videoElementParent:e})}get pixelStream(){return this._pixelStream}_initEsMsgWsWrapper(e){return e?this.dv(new qn(this,e)):void 0}get esMsgWsWrapper(){return this._esMsgWsWrapper}get esWebSocketReady(){var e;return((e=this.esMsgWsWrapper)==null?void 0:e.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",e=>{this.processResponse(e)})}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);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(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.dispatchEvent(new CustomEvent("ueevent",{detail:e}))}emitUIInteraction(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i)),this.pixelStream.emitUIInteraction(e)}get webRtcController(){return this.pixelStream._webRtcController}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=globalThis.g_emitDescriptor_maxBytes,s=n.length,a=++Zn;if(this.esMsgWsWrapper){if(s<r){this.esMsgWsWrapper.emitDescriptorWithString(ct.UIInteraction,`${a}-0/1-`+n);return}const g=Math.ceil(s/r)|0;[...new Array(g).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,v)=>{this.esMsgWsWrapper&&this.esMsgWsWrapper.emitDescriptorWithString(ct.UIInteraction,`${a}-${v}/${g}-`+y)})}}emitCommand(e){this.pixelStream.emitCommand(e)}getVideoSize(){const e=this.webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}resizeUEVideo(e,i){let n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class Qn extends o.Destroyable{constructor(e,i,n){super();f(this,"_instance");f(this,"_event",this.dv(new o.Event));this._container=e,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(e){this._instance.debug=e}instanceInit(){if("addEventListener"in this._instance){["esmsgwsopen","error","videoinited","ueevent","webRtcConnected"].forEach(i=>{const n=r=>{this._event.emit(i,r.detail)};this._instance.addEventListener(i,n),this.dispose(()=>this._instance.removeEventListener(i,n))});return}this.dispose(this._instance.errorEvent.disposableOn(e=>{this._event.emit("error",e.detail)})),this.dispose(this._instance.webRtcConnectedEvent.disposableOn(e=>{this._event.emit("webRtcConnected",e.detail)})),this.dispose(this._instance.videoinitedEvent.disposableOn(e=>{this._event.emit("videoinited",e.detail)})),this.dispose(this._instance.ueevent.disposableOn(e=>{this._event.emit("ueevent",e.detail)}))}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class kn extends ie{constructor(e,i,n,r){super();f(this,"_esueViewerWrapper");f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));f(this,"_errorEvent",this.dv(new o.Event));f(this,"_readyEvent",this.dv(new o.Event));f(this,"_esmsgwsopen",this.dv(o.react(!1)));f(this,"_videoinited",this.dv(o.react(!1)));f(this,"_webRtcConnected",this.dv(o.react(!1)));this._ueViewer=r,console.log("CSTMPSViewer init ! 以官方像素流 + 独立通信的模式启动!");const s=this._ueViewer;this._esueViewerWrapper=this.dv(new Qn(e,i,n));const a=this._esueViewerWrapper;{const h=()=>a.debug=s.debug??!1;h(),this.d(s.debugChanged.don(h))}let g=!1;{const h=()=>{if(g)return;const u=a.webSocketReady;if(this.videoinited&&this.webRtcConnected&&u){console.log("%c[EarthSDK: esmsgWebSocket && videoinited && webRtcConnected]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};a.emitUIInteractionForBigData(w),this._readyEvent.emit(),g=!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,u)=>{if(h==="error")this._errorEvent.emit(u);else if(h==="ueevent"){const w=JSON.parse(u);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(o.createAnimateFrame());let u,w;h.start(()=>{if(u!==e.offsetWidth||w!==e.offsetHeight){if(u=e.offsetWidth,w=e.offsetHeight,u===void 0||w===void 0||!Number.isFinite(u)||!Number.isFinite(w)||u<0||w<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${u} ${w}`);return}a.resize(u,w),console.log(`resize: ${u} ${w}`)}})}this.d(this._ueFuncResultWithIdsEvent.don(h=>{for(const u of h){const w=this._waitingUeFuncIdAndResultCallbacks.get(u.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(u.fid),w.resultCallback(u.r))}}));let l=0;const y=h=>{const u={n:l++,tt:Date.now(),t:"c",fs:h};this._waitingUeCalls.add(u),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(u,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._esueViewerWrapper.emitUIInteractionForBigData(u,()=>{this._waitingUeCalls.delete(u)})},v=()=>{if(!g||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([u])=>u);for(const[u,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(u.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const u=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>u||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),y([...E]),E.length=0,T=0)}while(C<m)}};this.dv(o.createInterval()).start(v,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(e){this._esmsgwsopen.value=e}get esmsgwsopenChanged(){return this._esmsgwsopen.changed}get videoinited(){return this._videoinited.value}set videoinited(e){this._videoinited.value=e}get videoinitedChanged(){return this._videoinited.changed}get webRtcConnected(){return this._webRtcConnected.value}set webRtcConnected(e){this._webRtcConnected.value=e}get webRtcConnectedChanged(){return this._webRtcConnected.changed}resize(e,i){this.esueViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){(this._ueViewer.debug??!1)&&console.log(`disposableOnUeEvent from UeCloudViewer, type:${e}`);const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}function On(c){let t="";const e=new Uint8Array(c),i=e.length;for(let n=0;n<i;n++)t+=String.fromCharCode(e[n]);return btoa(t)}const jn=c=>{const t={type:"input",inputdata:On(c)};return JSON.stringify(t)};function er(c){return typeof c=="string"?document.getElementById(c):c}globalThis.g_emitDescriptor_maxBytes=3e4;let tr=-1;R.Logger.SetLoggerVerbosity(1);class ir extends o.Destroyable{constructor(e,i){super();f(this,"debug",!1);f(this,"_error",this.dv(new o.Event));f(this,"_connected",this.dv(new o.Event));f(this,"_ueevent",this.dv(new o.Event));f(this,"_pixelStream");f(this,"uiInteractionCallbacks",new Map);this._container=e,this._option=i;const n=new R.Config({initialSettings:{HoveringMouse:!0,AutoPlayVideo:!0,AutoConnect:!0,StartVideoMuted:!1,SuppressBrowserKeys:!1,ss:this._option.ws},useUrlParams:!0});n.setFlagEnabled(R.Flags.BrowserSendOffer,!1),n.setFlagEnabled(R.Flags.HoveringMouseMode,!0),n.setFlagEnabled(R.Flags.MatchViewportResolution,!0),n.setNumericSetting(R.NumericParameters.MaxReconnectAttempts,0),this._pixelStream=new R.PixelStreaming(n,{videoElementParent:this.container}),this.d(()=>{this._pixelStream.disconnect()});{const r=this.pixelStream.webSocketController.webSocket,s=this._pixelStream._webRtcController.sendMessageController.dataChannelSender.sendData;this._pixelStream._webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(a){r?r.send(jn(a)):s.call(this,a)}}{const r=s=>{const a=this._pixelStream._webRtcController.mouseController;setTimeout(()=>{const g=a.coordinateConverter.normalizeAndQuantizeUnsigned(s.offsetX,s.offsetY),y=a.toStreamerMessagesProvider.toStreamerHandlers.get("MouseUp");y&&y([s.button,g.x,g.y]),s.preventDefault()})};this.container.addEventListener("dblclick",r),this.d(()=>{this.container.removeEventListener("dblclick",r)})}["error","close","open"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="open"?this.connected.emit("webSocketOpen"):s==="close"?this.error.emit("webSocketClose"):s==="error"&&this.error.emit("webSocketError"))};this.pixelStream.webSocketController.webSocket.addEventListener(s,a),this.d(()=>{this.pixelStream.webSocketController.webSocket.removeEventListener(s,a)})}),["videoInitialized","webRtcConnected","webRtcDisconnected","webRtcFailed"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="webRtcConnected"||s==="videoInitialized"?this.connected.emit(s):(s==="webRtcDisconnected"||s==="webRtcFailed")&&(this.error.emit(s),this.pixelStream.disconnect()))};this.pixelStream.addEventListener(s,a),this.d(()=>{this.pixelStream.removeEventListener(s,a)})}),this.pixelStream.addResponseEventListener("handle_responses",r=>{this.processResponse(r)}),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 er(this._container)}get pixelStream(){return this._pixelStream}get webSocketReady(){return this.pixelStream.webSocketController.webSocket.readyState===1}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);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(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.ueevent.emit(e)}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=globalThis.g_emitDescriptor_maxBytes??3e4,s=n.length,a=++tr;if(s<r){const y={type:"earthsdk",time:new Date().getTime(),params:`${a}-0/1-`+n};this.sendData(JSON.stringify(y));return}const g=Math.ceil(s/r)|0;[...new Array(g).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,v)=>{const d={type:"earthsdk",time:new Date().getTime(),params:`${a}-${v}/${g}-`+y};this.sendData(JSON.stringify(d))})}sendData(e){this.pixelStream.webSocketController.webSocket.send(e)}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}getVideoSize(){const e=this._pixelStream._webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}emitCommand(e){this.pixelStream.emitCommand(e)}emitUIInteraction(){console.log("emitUIInteraction 像素流初始化"),this.pixelStream.emitUIInteraction("像素流初始化")}resizeUEVideo(e,i){const n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class nr extends o.Destroyable{constructor(e,i,n){super();f(this,"_instance");f(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new ir(this._container,{ws:this._wsuri})),this.d(this._instance.connected.don(r=>{this._event.emit(r,r),console.log(`%c[EarthSDK] ${r}`,"background: #a6ec99; color: black")})),this.d(this._instance.error.don(r=>{this._event.emit("errorEvent",r),console.log(`%c[EarthSDK] ${r}`,"background: red; color: black")})),this.d(this._instance.ueevent.don(r=>{this._event.emit("ueevent",r)}))}get instance(){return this._instance}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class rr extends ie{constructor(e,i,n,r){super();f(this,"_videoInitialized",this.dv(o.react(!1)));f(this,"_webRtcConnected",this.dv(o.react(!1)));f(this,"_webSocketOpen",this.dv(o.react(!1)));f(this,"_ue5ViewerWrapper");f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));f(this,"_errorEvent",this.dv(new o.Event));f(this,"_readyEvent",this.dv(new o.Event));this._ueViewer=r,console.log("INNPSViewer init ! 以内置信令服务器模式启动!");const s=this._ueViewer,a=this.dv(new nr(e,i,n));this._ue5ViewerWrapper=a;{const d=()=>a.debug=s.debug??!1;d(),this.d(s.debugChanged.don(d))}{let d=!1;const h=this.dv(o.createNextAnimateFrameEvent(this._videoInitialized.changed,this._webRtcConnected.changed,this._webSocketOpen.changed));this.d(h.don(()=>{if(d)return;const u=this._ue5ViewerWrapper.instance.webSocketReady;if(this.videoInitialized&&this.webRtcConnected&&u){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",u),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 u=JSON.parse(h);if(u.t==="cr"){const w=u;if(w.frs&&this._ueFuncResultWithIdsEvent.emit(w.frs),w.ers)for(let m of w.ers)this._ueEvent.emit(m)}}}));{const d=this.dv(o.createAnimateFrame());let h,u,w;d.start(()=>{if(h!==e.offsetWidth||u!==e.offsetHeight||w!==s.resolutionScale){if(h=e.offsetWidth,u=e.offsetHeight,h===void 0||u===void 0||!Number.isFinite(h)||!Number.isFinite(u)||h<0||u<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${h} ${u}`);return}w=s.resolutionScale,a.resize(h/w,u/w)}})}this.d(this._ueFuncResultWithIdsEvent.don(d=>{for(const h of d){const u=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);u&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),u.resultCallback(h.r))}}));let g=0;const l=d=>{const h={n:g++,tt:Date.now(),t:"c",fs:d};this._waitingUeCalls.add(h),s.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(([u])=>u);for(const[u,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(u.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const u=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>u||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),l([...E]),E.length=0,T=0)}while(C<m)}};this.dv(o.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(e,i){this.ue5ViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}class or extends o.Destroyable{constructor(e,i,n,r){super();f(this,"_onRuntimeInitialized",this.dv(new o.Event));f(this,"_vIframe",null);this._ueViewer=r;const s=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;",e.appendChild(a),this.d(()=>{a&&e.removeChild(a)});const g=o.ESSceneObject.getStrFromEnv(n+`/web/${i}.html`);a.src=g,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(),s.setStatus("Created"),s.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,sr=(c,t=0,e=NaN)=>{const i=t+e;let n=t;for(;c[n]&&!(n>=i);)++n;if(n-t>16&&c.buffer&&Wn)return Wn.decode(c.subarray(t,n));let r="";for(;t<n;){var s=c[t++];if(!(s&128)){r+=String.fromCharCode(s);continue}var a=c[t++]&63;if((s&224)==192){r+=String.fromCharCode((s&31)<<6|a);continue}var g=c[t++]&63;if((s&240)==224?s=(s&15)<<12|a<<6|g:((s&248)!=240&&console.warn("Invalid UTF-8 leading byte encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),s=(s&7)<<18|a<<12|g<<6|c[t++]&63),s<65536)r+=String.fromCharCode(s);else{var l=s-65536;r+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return r};class ar extends o.Destroyable{constructor(t,e,i){super();{const n=()=>{const g=pt(e);e.setGlobalProperty(g)};n();const r=dt(),s=[];r.forEach(g=>{const l=e[g+"Changed"];s.push(l)});const a=this.dv(o.createNextAnimateFrameEvent(...s));this.d(a.don(n))}this.d(e.propChanged.don(n=>{if(n.objId==="")try{Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];e[r]=s})}catch(r){console.error("ueViewer propChanged:"+r)}})),e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,t)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,n=>{if((e.statusUpdateInterval??.5)===0)return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("statusUpdate",a=>{e.statusUpdateEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("propChanged",s=>{e.propChanged.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("objectEvent",s=>{e.objectEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("widgetEvent",s=>{e.widgetEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("speechRecognition",s=>{e.speechRecognition.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("customMessage",s=>{e.customMessage.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("editingEvent",s=>{s.objectIDs=s.objectIDs.map(a=>{var g;return((g=o.ESSceneObject.getSceneObjById(a))==null?void 0:g.parentID)??a}),e.editingEvent.emit(s)})),r})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}let lr=-1;class dr extends ie{constructor(e,i,n="${earthsdk3-ue-h5-assets-script-dir}",r){super();f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Map);f(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=r;const s=this._ueViewer,a=this.dv(new or(e,i,n,s));let g=!1,l=null;this.d(a.onRuntimeInitialized.don(()=>{var h;if(g=!0,(h=a==null?void 0:a.vIframe)!=null&&h.contentWindow){l=a.vIframe.contentWindow;const u=a.vIframe.contentWindow.document.getElementById("mainarea");u?this.dv(new ar(u,s,this)):console.error("h5Container is null")}else{console.error("iframeWindow is null");return}l.UE_JSHTML5Communication?l.UE_JSHTML5Communication.UESendMessageToJS=u=>{try{const w=sr(l.HEAPU8,u),m=JSON.parse(w);if(s.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 u of h){const w=this._waitingUeFuncIdAndResultCallbacks.get(u.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(u.fid),w(u.r))}}));let y=0;const v=()=>{if(!g||!l||!l.UE_JSHTML5Communication||!l.UE_JSHTML5Communication.JSSendMessageToUE||this._ueFuncWithIdAndResultCallbacks.length===0)return;const h=this._ueFuncWithIdAndResultCallbacks.map(([F])=>F),u={n:y++,tt:Date.now(),t:"c",fs:h,callid:o.createGuid()};for(const[F,B]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(F.fid,B);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.set(u.callid,u),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(u,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const w=JSON.stringify(u),m=globalThis.g_emitDescriptor_maxBytes??3e4,C=w.length,T=++lr;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,B)=>{const bi=`${T}-${B}/${E}-`+F;l.UE_JSHTML5Communication.JSSendMessageToUE(bi)})};this.dv(o.createInterval()).start(v,50)}processResponse(e){if(this._ueViewer.debug??!1)try{const i=JSON.parse(e);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(${e}) error: ${i}`,i)}}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}let cr=-1;class ur extends ie{constructor(e,i){super();f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=i;const n=this._ueViewer;let r=!1;const s={eventType:"init",params:{}};globalThis.ue.es.oncommand(JSON.stringify(s)),r=!0,globalThis.calljs=(y,v)=>{if(n.debug&&console.log(`calljs eventName:${y} eventDetailStr:${v}`),y==="ueevent"||y==="commanFinish")try{const d=JSON.parse(v);if(d.t==="cr"){const h=d;if(h.frs&&this._ueFuncResultWithIdsEvent.emit(h.frs),h.ers)for(let u of h.ers)this._ueEvent.emit(u)}}catch(d){console.error(d)}},this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(y=>{for(const v of y){const d=this._waitingUeFuncIdAndResultCallbacks.get(v.fid);d&&(this._waitingUeFuncIdAndResultCallbacks.delete(v.fid),d(v.r))}}));let a=0;const g=()=>{if(!r||this._ueFuncWithIdAndResultCallbacks.length===0)return;const y=this._ueFuncWithIdAndResultCallbacks.map(([h])=>h),v={n:a++,tt:Date.now(),t:"c",fs:y};for(const[h,u]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,u);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.add(v),n.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(v,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const d=++cr;globalThis.ue.es.oncommand(`${d}-0/1-`+JSON.stringify(v)).then(()=>{this._waitingUeCalls.delete(v)})};this.dv(o.createInterval()).start(g,50)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}class hr extends o.Destroyable{constructor(t,e){super();{const i=()=>{const a=pt(t);t.setGlobalProperty(a)};i();const n=dt(),r=[];n.forEach(a=>{const g=t[a+"Changed"];r.push(g)});const s=this.dv(o.createNextAnimateFrameEvent(...r));this.d(s.don(i))}this.d(t.propChanged.don(i=>{if(i.objId==="")try{Object.keys(i.props).forEach(n=>{const r=i.props[n]===null?void 0:i.props[n];t[n]=r})}catch(n){console.error("ueViewer propChanged:"+n)}})),this.dv(new o.ObjResettingWithEvent(t.statusUpdateIntervalChanged,i=>{if((t.statusUpdateInterval??.5)===0)return;const r=new o.Destroyable;return r.d(e.disposableOnUeEvent("statusUpdate",s=>{t.statusUpdateEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(t.propChangedListeningChanged,()=>{if(!(t.propChangedListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("propChanged",r=>{t.propChanged.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.objectEventListeningChanged,()=>{if(!(t.objectEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("objectEvent",r=>{t.objectEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.widgetEventListeningChanged,()=>{if(!(t.widgetEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("widgetEvent",r=>{t.widgetEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.speechRecognitionListeningChanged,()=>{if(!(t.speechRecognitionListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("speechRecognition",r=>{t.speechRecognition.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.customMessageListeningChanged,()=>{if(!(t.customMessageListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("customMessage",r=>{t.customMessage.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.editingEventListeningChanged,()=>{if(!(t.editingEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("editingEvent",r=>{r.objectIDs=r.objectIDs.map(s=>{var a;return((a=o.ESSceneObject.getSceneObjById(s))==null?void 0:a.parentID)??s}),t.editingEvent.emit(r)})),n})),this.ad(e.disposableOnUeEvent("cameraChanged",()=>{t.cameraChanged.emit()}))}}class gr extends o.Destroyable{constructor(t,e,i){super();{const r=()=>{const l=pt(e);e.setGlobalProperty(l)};r();const s=dt(),a=[];s.forEach(l=>{const y=e[l+"Changed"];a.push(y)});const g=this.dv(o.createNextAnimateFrameEvent(...a));this.d(g.don(r))}this.d(e.propChanged.don(r=>{if(r.objId==="")try{Object.keys(r.props).forEach(s=>{const a=r.props[s]===null?void 0:r.props[s];e[s]=a})}catch(s){console.error("ueViewer propChanged:"+s)}}));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鼠标事件是否生效"),t.appendChild(n),this.d(()=>{n&&t&&t.removeChild(n)});{const r=(l,y)=>{globalThis.ue.esinput.setinterceptevent(y),l.preventDefault()},s=l=>{r(l,!1)},a=l=>{r(l,!0)},g=l=>{r(l,!1)};n.addEventListener("mouseenter",s),n.addEventListener("mouseleave",a),n.addEventListener("mousemove",g),this.d(()=>{n.removeEventListener("mouseenter",s),n.removeEventListener("mouseleave",a),n.removeEventListener("mousemove",g)})}e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,n)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,r=>{if((e.statusUpdateInterval??.5)===0)return;const a=new o.Destroyable;return a.d(i.disposableOnUeEvent("statusUpdate",g=>{e.statusUpdateEvent.emit(g)})),a})),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("propChanged",a=>{e.propChanged.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("objectEvent",a=>{e.objectEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("widgetEvent",a=>{e.widgetEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("speechRecognition",a=>{e.speechRecognition.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("customMessage",a=>{e.customMessage.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("editingEvent",a=>{a.objectIDs=a.objectIDs.map(g=>{var l;return((l=o.ESSceneObject.getSceneObjById(g))==null?void 0:l.parentID)??g}),e.editingEvent.emit(a)})),s})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}class vr extends o.Destroyable{constructor(e,i,n){super();f(this,"_reconnectEvent",this.dv(new o.Event));const r=(v,d)=>v.hasOwnProperty(d);let s=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 v=this.dv(new ur(e,n));this.d(()=>n.viewer=void 0),n.viewer=v,n.setStatus("Created"),n.setStatusLog("本地视口创建成功!"),this.dv(new gr(e,n,v))}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 v=setInterval(()=>{globalThis.ue&&globalThis.ue.es&&(clearInterval(v),y())},200)}else if(r(i.options,"ws")||r(i.options,"uri")&&r(i.options,"app")){n.setStatus("Creating"),n.setStatusLog("开始创建云渲染视口...");let v;this.d(()=>{n.setStatus("Raw"),n.setStatusLog(""),e&&v&&e.removeChild(v)&&(v=void 0)});const d=this.dv(o.createProcessingFromAsyncFunc(async h=>{n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,v&&e.removeChild(v)&&(v=void 0),v=document.createElement("div"),v.setAttribute("earthsdk3-ue","earthsdk3-ue-videoContainer"),v.style.cssText="position:relative; height: 100%;width:100%;",e.appendChild(v);let u,w,m;if(r(i.options,"ws")){const{ws:I,esmsg:F,uselnternalSignallingServer:B}=i.options;u=I,w=F,m=B??!1}if(r(i.options,"uri")&&r(i.options,"app")){const{offsetWidth:I,offsetHeight:F}=v;let{uri:B,app:bi,token:Gn}=i.options;B.endsWith("/")||(B+="/");const wr=Gn?`?essstoken=${Gn}`:"",Jn=`/${bi}/${I??1920}/${F??1080}`+wr;console.log(`请求信令服务器: ${B}instance${Jn}`);const yr=await h.promise(fetch(`${B}instance${Jn}`,{method:"GET"})),Q=await h.promise(yr.json());if(Q&&Q.status!=="ok"){n.setStatus("Error"),n.setStatusLog(`信令服务器请求失败 ${Q.status}`),this._reconnectEvent.emit(void 0);return}else{console.log(`信令服务器请求成功! ${JSON.stringify(Q,void 0," ")}`),await o.sleep(2e3);const{server:mr,esmsg:Cr,instanceId:Er,useInternalSignallingServer:Sr}=Q;if(!Er){n.setStatus("Error"),n.setStatusLog("检查信令服务器版本,返回数据错误! "),console.log("信令服务器返回数据错误!不包含instanceId!请升级到 ESSS V3.0+ 版本!"),this._reconnectEvent.emit(void 0);return}u=mr,w=Cr,m=Sr??!1,n.esssResponse=Q}}const C=this.dv(m?new rr(v,u,w,n):new kn(v,u,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("云渲染视口创建成功!"),s=0,a&&clearTimeout(a),a=void 0;const{offsetWidth:T,offsetHeight:E}=v;C.resize(T*globalThis.devicePixelRatio,E*globalThis.devicePixelRatio),n.viewer=C,this.d(()=>n.viewer=void 0),this.dv(new hr(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("正在尝试重新连接..."),s=s+5e3>3e4?3e4:s+5e3,console.warn(`间隔:${s/1e3}s,正在尝试重新连接...`),a=globalThis.setTimeout(()=>{d.restart()},s)))})),this.d(d.errorEvent.don(h=>{n.setStatus("Error"),n.setStatusLog("云渲染视口创建失败!"),console.warn("云渲染视口创建失败!",h),this._reconnectEvent.emit(void 0)}))}else if(r(i.options,"project")){const v=i,d=v.options.project,h=v.options.baseUrl;n.setStatus("Creating"),n.setStatusLog("下载编译中...");const u=this.dv(new dr(e,d,h,n));n.viewer=u,this.d(()=>n.viewer=void 0)}else n.setStatus("Error"),n.setStatusLog("视口创建失败!"),console.warn("视口创建失败: 参数错误!")}}const $=class $ extends o.ESViewer{constructor(e){super(e);f(this,"_viewer",this.dv(o.react(void 0)));f(this,"_esssResponse");f(this,"_speechRecognition",this.dv(new o.Event));f(this,"_propChanged",this.dv(new o.Event));f(this,"_objectEvent",this.dv(new o.Event));f(this,"_widgetEvent",this.dv(new o.Event));f(this,"_customMessage",this.dv(new o.Event));f(this,"_statusUpdateEvent",this.dv(new o.Event));f(this,"_statusUpdateEventdon",(()=>{this.d(this.statusUpdateEvent.don(e=>{this._statusInfo.fps=e.FPS??0,this._statusInfo.length=e.length??0,this._statusInfo.position=e.position??[0,0,0],this._statusInfo.rotation=e.rotation??[0,0,0]}))})());if(e.type!=="ESUeViewer")throw new Error("option.type must be ESUeViewer");const i=e;this.d(this._viewer.changed.don(()=>{this.viewerChanged.emit(this.viewer)})),this.dv(new o.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new vr(this.subContainer,i,this)}))}get defaultProps(){return $.createDefaultProps()}set viewer(e){this._viewer.value=e}get viewer(){return this._viewer.value}get esssResponse(){return this._esssResponse}set esssResponse(e){this._esssResponse=e}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(e){if(!this.viewer){console.warn("UEPositionToLonLatAlt: viewer is undefined");return}return await on(this.viewer,e)}async changeNavigationMode(e){if(!this.viewer){console.warn("ChangeNavigationMode: viewer is undefined");return}const i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async resetWithCurrentCamera(e){if(!this.viewer){console.warn("resetWithCurrentCamera: viewer is undefined");return}return await wt(this.viewer,e)}async getAllSocketNamesByActorTag(e){if(!this.viewer){console.warn("GetAllSocketNamesByActorTag: viewer is undefined");return}return await sn(this.viewer,e)}async getBoundSphere(e){if(!this.viewer){console.warn("getBoundSphere: viewer is undefined");return}return await ln(this.viewer,e)}async getBoundSphereWithChildren(e){if(!this.viewer){console.warn("getBoundSphereWithChildren: viewer is undefined");return}return await dn(this.viewer,e)}async getStrokeMaterialParamInfo(e){if(!this.viewer){console.warn("GetStrokeMaterialParamInfo: viewer is undefined");return}return await cn(this.viewer,e)}async getFillMaterialParamInfo(e){if(!this.viewer){console.warn("getFillMaterialParamInfo: viewer is undefined");return}return await un(this.viewer,e)}async getGlobalProperty(e){if(!this.viewer){console.warn("getGlobalProperty: viewer is undefined");return}return await hn(this.viewer,e)}async getObjectByInfo(e){if(!this.viewer){console.warn("GetObjectByInfo: viewer is undefined");return}return await gn(this.viewer,e)}async defaultCameraFlyIn(e=1){if(!this.viewer){console.warn("DefaultCameraFlyIn: viewer is undefined");return}return await _i(this.viewer,e)}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 Ni(this.viewer)}async mountPakFiles(e){if(!this.viewer){console.warn("mountPakFiles:viewer is undefined");return}return await zi(this.viewer,e)}async generateMemReport(){if(!this.viewer){console.warn("generateMemReport:viewer is undefined");return}return await Hi(this.viewer)}async quit(){if(!this.viewer){console.warn("Quit: viewer is undefined");return}return await Qi(this.viewer)}async bindActorByTag(e,i){if(!this.viewer){console.warn("BindActorByTag: viewer is undefined");return}return await vn(this.viewer,e,i)}async restoreOriginalScene(){if(!this.viewer){console.warn("RestoreOriginalScene: viewer is undefined");return}return await pn(this.viewer)}async unBindActorByID(e){if(!this.viewer){console.warn("UnBindActorByID: viewer is undefined");return}return await fn(this.viewer,e)}async unBindActorByTag(e){if(!this.viewer){console.warn("UnBindActorByTag: viewer is undefined");return}return await wn(this.viewer,e)}async createActorByClass(e,i){if(!this.viewer){console.warn("CreateActorByClass: viewer is undefined");return}return await yn(this.viewer,e,i)}async bind3DTilesetByTag(e,i){if(!this.viewer){console.warn("Bind3DTilesetByTag: viewer is undefined");return}return await mn(this.viewer,e,i)}async unBind3DTilesetByTag(e){if(!this.viewer){console.warn("UnBind3DTilesetByTag: viewer is undefined");return}return await Cn(this.viewer,e)}async unBind3DTilesetById(e){if(!this.viewer){console.warn("UnBind3DTilesetById: viewer is undefined");return}return await En(this.viewer,e)}async bindImageryByTag(e,i,n){if(!this.viewer){console.warn("BindImageryByTag: viewer is undefined");return}return await Sn(this.viewer,e,i,n)}async unBindImageryByTag(e,i){if(!this.viewer){console.warn("UnBindImageryByTag: viewer is undefined");return}return await Fn(this.viewer,e,i)}async unBindImageryById(e){if(!this.viewer){console.warn("UnBindImageryById: viewer is undefined");return}return await In(this.viewer,e)}async getIdByComponentNameAndHitItem(e,i,n){if(!this.viewer){console.warn("GetIdByComponentNameAndHitItem: viewer is undefined");return}return await Tn(this.viewer,e,i,n)}async getCameraRelativeHeight(e="ECC_Visibility"){if(!this.viewer){console.warn("GetCameraRelativeHeight: viewer is undefined");return}return await Rn(this.viewer,e)}async saveStringToFile(e,i,n){if(!this.viewer){console.warn("SaveStringToFile: viewer is undefined");return}return await Dn(this.viewer,e,i,n)}async highlightActorByTag(e,i=!0){if(!this.viewer){console.warn("HighlightActorByTag: viewer is undefined");return}return await Ln(this.viewer,e,i)}async sendCustomMessage(e){if(!this.viewer){console.warn("SendCustomMessage: viewer is undefined");return}return await Pn(this.viewer,e)}async getStatus(){if(!this.viewer){console.warn("GetStatus:viewer is undefined");return}return await Bn(this.viewer)}async getTilesetMaterialIDList(){if(!this.viewer){console.warn("GetTilesetMaterialIDList:viewer is undefined");return}return await bn(this.viewer)}async pick(e,i,n){if(!this.viewer)return;let r=e;if(e&&globalThis.ue&&this.container){const[s,a]=e,{x:g,y:l}=this.container.getBoundingClientRect();r=[g+s,l+a]}return await ki(this.viewer,r,i,n)}async pickPosition(e){if(!this.viewer)return;let i=e;if(e&&globalThis.ue&&this.container){const[n,r]=e,{x:s,y:a}=this.container.getBoundingClientRect();i=[s+n,a+r]}return await Oi(this.viewer,i)}async quickPickPosition(e){return await this.pickPosition(e)}async getTerrainHeight(e){return await this.getHeightByLonLat(e[0],e[1])??void 0}async flyIn(e,i=[0,0,0],n=1,r="default"){if(!this.viewer)return;const s=await k(this.viewer,void 0,e,i,n,r);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}async flyTo(e,i,n="default"){if(!this.viewer)return;const r=await J(this.viewer,void 0,void 0,e,i,n);if(r)return r.endType===0&&console.warn(`flyTo:flyTo is end! endType:${r.endType}`),r.endType===1&&console.warn(`flyTo:飞行中断! endType:${r.endType}`),r}flyToBoundingSphere(e,i,n=1){const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],s=o.getGeoBoundingSphereFromPositions(r);if(!s)return;const{center:a,radius:g}=s,l={distance:i??g,heading:0,pitch:-90,flyDuration:n,hDelta:0,pDelta:0};this.flyTo(l,a)}getCurrentCameraInfo(){const{position:e,rotation:i}=this._statusInfo;return{position:e,rotation:i}}transformFlyParam(e,i){}getLengthInPixel(){return this._statusInfo.length}async changeToWalk(e,i=4.2,n=1.6){if(!this.viewer)return;const r={mode:"Walk",position:e,jumpZVelocity:i,eyeHeight:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToMap(){if(!this.viewer)return;const e={mode:"Map"},i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async changeToRotateGlobe(e=38,i=1e7,n=60){if(!this.viewer)return;const r={mode:"RotateGlobe",latitude:e,height:i,cycleTime:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToLine(e,i=10,n=10,r=!0,s=10,a="auto"){if(!this.viewer)return;const g={mode:"Line",geoLineStringId:e,speed:i,heightOffset:n,loop:r,turnRateDPS:s,lineMode:a},l=await A(this.viewer,g);return l&&!l.error&&(this._navigationMode.value=g.mode),l}async changeToUserDefined(e){if(!this.viewer)return;const i={mode:"UserDefined",userDefinedPawn:e},n=await A(this.viewer,i);return n&&!n.error&&(this._navigationMode.value=i.mode),n}async changeToRotatePoint(e,i=5e4,n=60,r=0,s=-30){if(!this.viewer)return;const a={mode:"RotatePoint",position:e,distance:i,orbitPeriod:n,heading:r,pitch:s},g=await A(this.viewer,a);return g&&!g.error&&(this._navigationMode.value=a.mode),g}async changeToFollow(e,i=0,n=0,r=-30,s=!0){if(!this.viewer)return;const a={mode:"Follow",objectId:e,distance:i,heading:n,pitch:r,relativeRotation:s},g=await A(this.viewer,a);return g&&!g.error&&(this._navigationMode.value=a.mode),g}getFPS(){return this._statusInfo.fps}async getVersion(){const e=globalThis.g_XE3CopyRights??{};if(!this.viewer)return e;const i=await an(this.viewer);return e.esforue=i,e}async getHeightByLonLat(e,i,n="ECC_Visibility"){if(!this.viewer)return null;const r=await ji(this.viewer,e,i,n);return r&&r.height!==void 0?r.height:null}async getHeightsByLonLats(e,i="ECC_Visibility"){return this.viewer?await en(this.viewer,e,i):void 0}async capture(e=64,i=64){return this.viewer?await tn(this.viewer,e,i):void 0}async partialCapture(e,i=[64,64]){if(!this.viewer){console.warn("partialCapture:viewer is undefined");return}return await nn(this.viewer,e,i)}async lonLatAltToScreenPosition(e){if(!this.viewer)return;const i=await rn(this.viewer,e);return i&&[i.X,i.Y]}async setGlobalProperty(e){if(this.viewer)return await Yi(this.viewer,e)}async startEditing(e,i,n){n=Object.assign({useKeyToSwitch:!0,callSource:"outer"},n);const r=e.components.main??e;if(!r||!this.viewer||i==null)return;const s=Array.isArray(i)?[...i]:[i];return r.editingID=`${n.callSource}_${o.createGuid()}`,await Un(this.viewer,r.id,r.editingID,s,n.useKeyToSwitch)}async stopEditing(){if(this.viewer)return await An(this.viewer)}async moveObjects(e){if(!this.viewer)return;const i=[],n=o.createGuid();for(let r=0;r<e.length;r++){const s=e[r],a=s.components.main??s;a.editingID=n,a&&i.push(a.id)}if(i.length!==0)return await Mn(this.viewer,i,n)}};f($,"type",$.register("ESUeViewer",$)),f($,"defaults",{...Vn});let M=$;(c=>{c.createDefaultProps=()=>({...o.ESViewer.createDefaultProps(),...Wi(),resolutionScale:1,autoReconnect:!1,propChangedListening:void 0,objectEventListening:void 0,widgetEventListening:void 0,speechRecognitionListening:void 0,customMessageListening:void 0})})(M||(M={})),o.extendClassProps(M.prototype,M.createDefaultProps);class W extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=this.ad(o.react(!1));t.components.main||this.d(this.createdEvent.don(()=>{const r=this.constructor.propValFuncs,s=t.defaultProps,a=Object.keys(s).filter(h=>r[h]!==null);a.push(...this.constructor.forceUeUpdateProps);const g=t.constructor.defaults,l={val:{}},y=[];for(let h of a){const u=h+"Changed",w=t[u];y.push(w);const m=r[h];if(m===null)throw console.error("vf === null error"),new Error("vf === null error");const C=()=>{const T=t[h]??g[h]??t.constructor[`default${h.charAt(0).toUpperCase()+h.slice(1)}`];let E=m?m(T,this,e,t):T;if(E===void 0){console.warn(`UE自动更新的属性,不应该为undefined! 属性名:${h} 对象名:${t.name} 对象id: ${t.id}`);return}l.val[h]=E};C(),this.d(w.don(C))}const v=()=>{i.callUeFunc({f:"update",p:{id:t.id,...l.val}}),l.val={}},d=this.dv(o.createNextAnimateFrameEvent(...y));this.d(d.don(v)),this.d(n.changed.don(v)),this.d(t.flushEvent.don(()=>d.flush()))})),t.components.main||(this.d(()=>{n.value&&ft(i,t.id)}),i.callUeFunc({f:"create",p:{type:t.typeName,id:t.id}}).then(()=>{n.value=!0}).catch(r=>console.error(r)))}}f(W,"propValFuncs",{ref:null,devTags:null,extras:null,execOnceFuncStr:null,updateFuncStr:null,toDestroyFuncStr:null}),f(W,"forceUeUpdateProps",[]);class D extends W{constructor(t,e){super(t,e);const i=e.viewer;i&&(this.d(t.flyToEvent.don(n=>{J(i,t.id,n)})),this.d(t.flyInEvent.don(n=>{var r,s;k(i,t.id,(r=t.flyInParam)==null?void 0:r.position,(s=t.flyInParam)==null?void 0:s.rotation,n??1)})),this.d(t.calcFlyToParamEvent.don(()=>{b(i,t.id)})),this.d(t.calcFlyInParamEvent.don(()=>{const n=e.getCurrentCameraInfo();if(!n)return;const{position:r,rotation:s}=n;t.flyInParam={position:r,rotation:s,flyDuration:1}})),this.d(e.propChanged.don(n=>{n.objId===t.id&&Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];t[r]=s})})))}}class S extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,position:t.position,rotation:t.rotation}})},r=this.dv(o.createNextAnimateFrameEvent(t.positionChanged,t.rotationChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)})),this.d(t.smoothMoveEvent.don((g,l)=>{te(i,t.id,g,l)})),this.d(t.smoothMoveWithRotationEvent.don((g,l,y)=>{O(i,t.id,g,l,y)})),this.d(t.smoothMoveOnGroundEvent.don((g,l,y,v)=>{j(i,t.id,g,l,v,y)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((g,l,y,v,d)=>{ee(i,t.id,g,l,y,v,d)})),this.d(t.smoothMoveKeepPitchEvent.don(async(g,l)=>{const y=await i.callUeFunc({f:"SmoothMoveKeepPitch",p:{id:t.id,Destination:g,Time:l}});y.error&&console.error("SmoothMoveKeepPitch:",y.error)})),this.d(t.automaticLandingEvent.don(g=>{const l=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(y=>{y!==null&&(t.position=[...l,y],t.collision=g)})}));const s=async(g,l,y,v)=>{const{viewer:d}=g;if(!d){console.error("SmoothMoveRelatively: ueViewer.viewer is undefined");return}const h=await d.callUeFunc({f:"SmoothMoveRelatively",p:{id:l,RelativePosition:y,Time:v}});return h.error&&console.error("SmoothMoveRelatively:",h.error),h};this.d(t.smoothMoveRelativelyEvent.don((g,l)=>{s(e,t.id,g,l)}));const a=async(g,l,y,v,d)=>{const{viewer:h}=g;if(!h){console.error("SmoothMoveRelativelyWithRotation: ueViewer.viewer is undefined");return}const u=await h.callUeFunc({f:"SmoothMoveRelativelyWithRotation",p:{id:l,RelativePosition:y,NewRotation:v,Time:d}});return u.error&&console.error("SmoothMoveRelativelyWithRotation:",u.error),u};this.d(t.smoothMoveRelativelyWithRotationEvent.don((g,l,y)=>{a(e,t.id,g,l,y)}))}}class L extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,points:t.points}})},r=this.dv(o.createNextAnimateFrameEvent(t.pointsChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)}))}}f(L,"propValFuncs",{...D.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class U extends S{constructor(t,e){super(t,e),e.viewer&&this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,add:s}=n;t.widgetEvent.emit({type:r,add:s})}))}}class mt extends S{constructor(t,e){super(t,e),e.viewer}}f(mt,"propValFuncs",{...S.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class ut extends mt{constructor(t,e){super(t,e),e.viewer}}const $n=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是3dTileset,无法绑定";default:return"未知错误"}},ne=class ne extends o.EngineObject{constructor(e,i){super(e,i);f(this,"_styleColor",this.dv(o.react([])));f(this,"_styleVisable",this.dv(o.react([])));const n=i.viewer;if(!n){console.warn("UeES3DTileset: viewer is undefined!");return}let r,s;const a=async()=>{!r&&!s||await n.callUeFunc({f:"update",p:{id:e.id,url:e.url,show:e.show,collision:e.collision,allowPicking:e.allowPicking,flyToParam:e.flyToParam??o.ES3DTileset.defaultFlyToParam,flyInParam:e.flyInParam??o.ES3DTileset.defaultFlyInParam,highlightID:e.highlightID,highlightColor:e.highlightColor,highlight:e.highlight,materialMode:e.materialMode,maximumScreenSpaceError:e.maximumScreenSpaceError,colorMode:Reflect.has(e,"colorMode")?e.colorMode:void 0,offset:e.offset,rotation:e.rotation,cacheBytes:e.cacheBytes,colorBlendMode:e.colorBlendMode,materialOverrideMap:e.materialOverrideMap}})},g=this.dv(o.createNextAnimateFrameEvent(e.urlChanged,e.showChanged,e.flyToParamChanged,e.flyInParamChanged,e.collisionChanged,e.allowPickingChanged,e.highlightIDChanged,e.highlightColorChanged,e.highlightChanged,e.materialModeChanged,e.maximumScreenSpaceErrorChanged,e.offsetChanged,e.rotationChanged,e.cacheBytesChanged,e.colorBlendModeChanged,e.materialOverrideMapChanged));a(),this.d(g.don(a)),Reflect.has(e,"colorMode")&&this.d(e.colorModeChanged.don(()=>a()));const l=this.dv(o.react(void 0));{const v=this.dv(o.createNextAnimateFrameEvent(e.actorTagChanged,e.urlChanged)),d=()=>{e.actorTag?l.value={type:"ActorTag",actorTag:e.actorTag}:e.url?l.value={type:"CreatedUrl",url:e.url}:l.value=void 0,e.editing=!1};d(),this.d(v.don(d))}const y=async()=>{const{id:v}=e;if(r!==void 0){r=void 0;try{const d=await i.unBind3DTilesetById(v);if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d}`);return}}if(s!==void 0){s=void 0;try{const d=await n.callUeFunc({f:"destroy",p:{id:v}});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 v=this.dv(o.createProcessingFromAsyncFunc(async h=>{if(l.value===void 0){await h.promise(y());return}if(l.value.type==="ActorTag"){const{actorTag:u}=l.value;if(r!==u&&await h.promise(y()),r!==void 0||u===void 0)return;try{r=u;const w=await h.promise(i.bind3DTilesetByTag(e.id,u));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: ${$n(w.re.type)}`);else{console.warn(`UeES3DTileset Bind3DTilesetByTag: ${$n(w.re.type)}`);return}}catch(w){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w}`);return}}else if(l.value.type==="CreatedUrl"){const{url:u}=l.value;if(u!==s&&await y(),s!==void 0||u===void 0)return;try{s=u;const w=await h.promise(n.callUeFunc({f:"create",p:{type:e.typeName,id:e.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()=>{v.restart()};d(),this.d(l.changed.don(d))}this.d(e.refreshTilesetEvent.don(()=>{$i(n,e.id)})),this.d(e.flyToEvent.don(async(v,d)=>{if(!r&&!s)return;const h=await J(n,e.id,v);let u="over";h===void 0?u="error":h.endType===0?u="over":h.endType===1&&(u="cancelled"),e.flyOverEvent.emit(d,u,i)})),this.d(e.calcFlyToParamEvent.don(()=>{!r&&!s||b(n,e.id)})),this.d(e.calcFlyInParamEvent.don(async()=>{if(!r&&!s||!i.actived)return;const v=await i.getCurrentCameraInfo();if(!v)return;const{position:d,rotation:h}=v;e.flyInParam={position:d,rotation:h,flyDuration:1}})),this.d(i.propChanged.don(v=>{!r&&!s||v.objId===e.id&&Object.keys(v.props).forEach(d=>{const h=v.props[d]===null?void 0:v.props[d];e[d]=h})})),this.d(i.objectEvent.don(v=>{!r&&!s||v.id!==e.id||v.type!=="3DTilesetReady"||e.tilesetReady.emit(v.p)}));{const v=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureColor",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureColor: ${C.error}`);return}},d=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureVisable",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureVisable: ${C.error}`);return}},h=async()=>{if(!r&&!s)return;const w=await n.callUeFunc({f:"ResetFeatureStyle",p:{id:e.id}});if(w&&w.error!==""){console.warn(`UeES3DTileset ResetFeatureStyle: ${w.error}`);return}},u=async w=>{if(!r&&!s)return;const m=await n.callUeFunc({f:"SetFeatureStyle",p:{id:e.id,json:w}});if(m&&m.error!==""){console.warn(`UeES3DTileset SetFeatureStyle: ${m.error}`);return}};this.d(e.setFeatureColorEvent.don((w,m)=>{const C=[...this.styleColor,...m];this.styleColor=[...C],v(w,C)})),this.d(e.setFeatureVisableEvent.don((w,m)=>{const C=[...this.styleVisable,...m];this.styleVisable=[...C],d(w,C)})),this.d(e.resetFeatureStyleEvent.don(()=>{h(),this.styleColor=[],this.styleVisable=[]})),this.d(e.setFeatureStyleEvent.don(w=>{u(w)}))}{const v=async()=>{if(!r&&!s){e._featureTableResultEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetFeatureTable",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetFeatureTable: ${d.error}`),e._featureTableResultEvent.emit(d.re.table)}catch(d){console.warn(`UeES3DTileset GetFeatureTable: ${d}`),e._featureTableResultEvent.emit(void 0)}};this.d(e.getFeatureTableEvent.don(()=>{v()}))}{const v=async()=>{if(!r&&!s){e.getMaterialNameListEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetMaterialNameList",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetMaterialNameList: ${d.error}`),e.getMaterialNameListEvent.emit(d.re.materialNameList)}catch(d){console.warn(`UeES3DTileset GetMaterialNameList: ${d}`),e.getMaterialNameListEvent.emit(void 0)}};this.ad(e.getMaterialNameListEvent.don(d=>{d=="start"&&v()}))}}get styleColor(){return this._styleColor.value}set styleColor(e){this._styleColor.value=e}get styleVisable(){return this._styleVisable.value}set styleVisable(e){this._styleVisable.value=e}};f(ne,"type",ne.register("ESUeViewer",o.ES3DTileset.type,ne));let ht=ne;const _n=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag对应的Actor是地形,无法绑定";case 4:return"没搜索到ComponentTag,无法绑定";default:return"未知错误"}},re=class re extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}let n,r;const s=this.dv(o.react(void 0)),a=this.ad(o.reactJson(""));{const v=()=>{if(typeof t.url=="string")a.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const d=t.url;d.url=o.ESSceneObject.context.getStrFromEnv(d.url),a.value=d}};v(),this.ad(t.urlChanged.don(v))}const g=async()=>{if(!n&&!r)return;let v=t.targetID??o.ESImageryLayer.defaults.targetID;if(v&&v!=""){const d=o.ESSceneObject.getSceneObject(v);v=d?(d.components.main??d).id:v}await i.callUeFunc({f:"update",p:{id:t.id,show:t.show??!0,rectangle:t.rectangle??[-180,-90,180,90],collision:t.collision??!0,allowPicking:t.allowPicking??!1,flyToParam:t.flyToParam??o.ESImageryLayer.defaultFlyToParam,flyInParam:t.flyInParam??o.ESImageryLayer.defaultFlyInParam,url:a.value??"",zIndex:t.zIndex??0,maximumLevel:t.maximumLevel??o.ESImageryLayer.defaults.maximumLevel,minimumLevel:t.minimumLevel??o.ESImageryLayer.defaults.minimumLevel,options:t.options??o.ESImageryLayer.defaults.options,targetID:v,opacity:t.opacity??o.ESImageryLayer.defaults.opacity,splitDirection:t.splitDirection??o.ESImageryLayer.defaults.splitDirection}})},l=this.dv(o.createNextAnimateFrameEvent(t.showChanged,a.changed,t.flyToParamChanged,t.flyInParamChanged,t.zIndexChanged,t.collisionChanged,t.allowPickingChanged,t.maximumLevelChanged,t.minimumLevelChanged,t.rectangleChanged,t.optionsChanged,t.targetIDChanged,t.opacityChanged,t.splitDirectionChanged));this.d(l.don(g));const y=async()=>{const{id:v}=t;if(n!==void 0){n=void 0;try{const d=await e.unBindImageryById(v);if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer UnImageryByID: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer UnImageryByID promise: ${d}`);return}}if(r!==void 0){r=void 0;try{const d=await i.callUeFunc({f:"destroy",p:{id:v,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 v=this.dv(o.createProcessingFromAsyncFunc(async h=>{if(s.value===void 0){await h.promise(y());return}if(s.value.type==="ActorTag"){const{actorTag:u,componentTag:w}=s.value;if(n!==u&&await h.promise(y()),n!==void 0||u===void 0)return;try{n=u;const m=await h.promise(e.bindImageryByTag(t.id,u,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(s.value.type==="CreatedUrl"){const{url:u}=s.value;if(u!==r&&await h.promise(y()),r!==void 0||u===void 0)return;try{r=u;const w=await h.promise(i.callUeFunc({f:"create",p:{type:"ESImageryLayer",id:t.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(g())})),d=async()=>{v.restart()};d(),this.d(s.changed.don(d))}{const v=this.dv(o.createNextAnimateFrameEvent(t.actorTagChanged,a.changed,t.componentTagChanged)),d=()=>{t.actorTag&&t.componentTag?s.value={type:"ActorTag",actorTag:t.actorTag,componentTag:t.componentTag}:a.value?s.value={type:"CreatedUrl",url:a.value}:s.value=void 0};d(),this.d(v.don(d))}this.d(t.flyToEvent.don(async(v,d)=>{if(!n&&!r)return;const h=await J(i,t.id,v);let u="over";h===void 0?u="error":h.endType===0?u="over":h.endType===1&&(u="cancelled"),t.flyOverEvent.emit(d,u,e)})),this.d(t.flyInEvent.don(async(v,d)=>{var w,m;if(!n&&!r)return;const h=await k(i,t.id,(w=t.flyInParam)==null?void 0:w.position,(m=t.flyInParam)==null?void 0:m.rotation,v??1);let u="over";h===void 0?u="error":h.endType===0?u="over":h.endType===1&&(u="cancelled"),t.flyOverEvent.emit(d,u,e)})),this.d(t.calcFlyToParamEvent.don(()=>{!n&&!r||b(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const v=await e.getCurrentCameraInfo();if(!v)return;const{position:d,rotation:h}=v;t.flyInParam={position:d,rotation:h,flyDuration:1}})),this.d(e.propChanged.don(v=>{!n&&!r||v.objId===t.id&&Object.keys(v.props).forEach(d=>{const h=v.props[d]===null?void 0:v.props[d];t[d]=h})}))}};f(re,"type",re.register("ESUeViewer",o.ESImageryLayer.type,re));let Ct=re;const _=class _ extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(_,"type",_.register("ESUeViewer",o.ESTerrainLayer.type,_)),f(_,"forceUeUpdateProps",[...D.forceUeUpdateProps,"url"]),f(_,"propValFuncs",{...D.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t),czmMaxzoom:null,czmMinzoom:null});let Et=_;const oe=class oe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(oe,"type",oe.register("ESUeViewer",o.ESAlarm.type,oe));let St=oe;const se=class se extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(se,"type",se.register("ESUeViewer",o.ESApertureEffect.type,se));let Ft=se;const ae=class ae extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ae,"type",ae.register("ESUeViewer",o.ESGeoPolygon.type,ae));let P=ae;const le=class le extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESAreaMeasurement.defaults.fillStyle;try{s={...t.fillStyle??o.ESAreaMeasurement.defaults.fillStyle}}catch(a){console.error("ESAreaMeasurement fillStyle 属性类型错误!",a),s={...o.ESAreaMeasurement.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,stroked:t.stroked??o.ESAreaMeasurement.defaults.stroked,fillStyle:s,filled:t.filled??o.ESAreaMeasurement.defaults.filled}}),console.log(s)},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.strokedChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(le,"type",le.register("ESUeViewer",o.ESAreaMeasurement.type,le));let It=le;const de=class de extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(de,"type",de.register("ESUeViewer",o.ESBlastParticleSystem.type,de));let Tt=de;const K=class K extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(K,"type",K.register("ESUeViewer",o.ESBoxClipping.type,K)),f(K,"propValFuncs",{...S.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Rt=K;const ce=class ce extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.dispose(t.flyInEvent.don((n,r,s="default")=>{const{id:a,duration:g,position:l,rotation:y}=t;k(i,a,l,y,g??n,s)})),this.dispose(t.resetWithCurrentCameraEvent.don(()=>{wt(i,t.id)})),this.dispose(t.captureEvent.don((n,r)=>{e.capture(n,r).then(a=>{a&&(t.thumbnail=a)})}))}};f(ce,"type",ce.register("ESUeViewer",o.ESCameraView.type,ce));let Dt=ce;const ue=class ue extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ue,"type",ue.register("ESUeViewer",o.ESCameraVisibleRange.type,ue));let Lt=ue;const he=class he extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(he,"type",he.register("ESUeViewer",o.ESCar.type,he));let Pt=he;const ge=class ge extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESClassification.defaults.fillStyle;try{s={...t.fillStyle??o.ESClassification.defaults.fillStyle}}catch(a){console.error("ESClassification fillStyle 属性类型错误!",a),s={...o.ESClassification.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,filled:t.filled??o.ESClassification.defaults.filled,fillStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(ge,"type",ge.register("ESUeViewer",o.ESClassification.type,ge));let Bt=ge;const V=class V extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(V,"type",V.register("ESUeViewer",o.ESClippingPlane.type,V)),f(V,"propValFuncs",{...S.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Ut=V;const ve=class ve extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url??o.ESDataMesh.defaults.url);else{const g=t.url;g.url=o.ESSceneObject.context.getStrFromEnv(g.url??o.ESDataMesh.defaults.url),n.value=g}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{const a=t.colorStops??o.ESDataMesh.defaults.colorStops;i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESDataMesh.defaults.url,currentTime:t.currentTime??o.ESDataMesh.defaults.currentTime,minPropValue:t.minPropValue??o.ESDataMesh.defaults.minPropValue,maxPropValue:t.maxPropValue??o.ESDataMesh.defaults.maxPropValue,colorStops:JSON.stringify(a)}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.currentTimeChanged,t.minPropValueChanged,t.maxPropValueChanged,t.colorStopsChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};f(ve,"type",ve.register("ESUeViewer",o.ESDataMesh.type,ve));let At=ve;const pe=class pe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(pe,"type",pe.register("ESUeViewer",o.ESDatasmithRuntimeModel.type,pe));let Mt=pe;const fe=class fe extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(fe,"type",fe.register("ESUeViewer",o.ESDirectionMeasurement.type,fe));let bt=fe;const we=class we extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s;try{s={...t.strokeStyle??o.ESDistanceMeasurement.defaults.strokeStyle}}catch(a){console.error("ESDistanceMeasurement strokeStyle 属性类型错误!",a),s={...o.ESDistanceMeasurement.defaults.strokeStyle}}i.callUeFunc({f:"update",p:{id:t.id,strokeStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.strokeStyleChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(we,"type",we.register("ESUeViewer",o.ESDistanceMeasurement.type,we));let Wt=we;const ye=class ye extends ut{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ye,"type",ye.register("ESUeViewer",o.ESLocalPolygon.type,ye));let gt=ye;const me=class me extends gt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(me,"type",me.register("ESUeViewer",o.ESDynamicWater.type,me));let $t=me;const Ce=class Ce extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,properties:s}=n;t.widgetEvent.emit({type:r,properties:s})}))}};f(Ce,"type",Ce.register("ESUeViewer",o.ESEntityCluster.type,Ce));let _t=Ce;const X=class X extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(X,"type",X.register("ESUeViewer",o.ESExcavate.type,X)),f(X,"propValFuncs",{...P.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let xt=X;const Ee=class Ee extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ee,"type",Ee.register("ESUeViewer",o.ESFireParticleSystem.type,Ee));let Nt=Ee;const Se=class Se extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const g=t.url;g.url=o.ESSceneObject.context.getStrFromEnv(g.url),n.value=g}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESForestTileset.defaults.url,treeTypes:t.treeTypes??o.ESForestTileset.defaults.treeTypes,xiaoBanWidget:t.xiaoBanWidget??o.ESForestTileset.defaults.xiaoBanWidget,youShiSZ:t.youShiSZ??o.ESForestTileset.defaults.youShiSZ,diLei:t.diLei??o.ESForestTileset.defaults.diLei,senLinLB:t.senLinLB??o.ESForestTileset.defaults.senLinLB,labelMaterial:t.labelMaterial??o.ESForestTileset.defaults.labelMaterial,heightOffset:t.heightOffset??o.ESForestTileset.defaults.heightOffset}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.treeTypesChanged,t.xiaoBanWidgetChanged,t.youShiSZChanged,t.diLeiChanged,t.senLinLBChanged,t.labelMaterialChanged,t.heightOffsetChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};f(Se,"type",Se.register("ESUeViewer",o.ESForestTileset.type,Se));let zt=Se;const Fe=class Fe extends o.EngineObject{constructor(t,e){super(t,e),this.ad(new o.ObjResettingWithEvent(t.renderInUEChanged,()=>t.renderInUE?new Nn(t,e):new xn(t,e)))}};f(Fe,"type",Fe.register("ESUeViewer",o.ESGeoDiv.type,Fe));let Ht=Fe;class xn extends o.Destroyable{constructor(e,i){super();f(this,"_screenPosition",this.disposeVar(o.reactArrayWithUndefined(void 0)));const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this.disposeVar(new o.ESTextLabel);r.parentID=e.id,this.ad(e.components.disposableAdd(r,!0)),r.show=!1,this.dispose(o.bind([r,"position"],[e,"position"])),this.dispose(o.bind([r,"rotation"],[e,"rotation"])),this.dispose(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.dispose(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{b(n,r.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!i.actived)return;const g=await i.getCurrentCameraInfo();if(!g)return;const{position:l,rotation:y}=g;e.flyInParam={position:l,rotation:y,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((g,l)=>{te(n,r.id,g,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((g,l,y)=>{O(n,r.id,g,l,y)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((g,l,y,v)=>{j(n,r.id,g,l,v,y)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((g,l,y,v,d)=>{ee(n,r.id,g,l,y,v,d)})),this.dispose(e.flyToEvent.disposableOn((g,l)=>{r.flyTo(g)})),this.dispose(e.flyInEvent.don(g=>{r.flyIn(g)}));const s=this._screenPosition,a=this.disposeVar(new o.ESCustomDiv);a.parentID=e.id,i.add(a),this.dispose(()=>i.delete(a)),this.dispose(o.bind([a,"allowPicking"],[e,"allowPicking"]));{const g=this.disposeVar(o.createAnimateFrame()),l=()=>{e.show?g.restart(void 0,async()=>{if(!e.position)return;const y=await i.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!y)this._screenPosition.value=void 0;else{const[v,d]=y;v===-1&&d===-1?this._screenPosition.value=void 0:this._screenPosition.value=[v,d]}}):g.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const g=()=>class extends o.Destroyable{constructor(d,h,u){if(super(),this._subContainer=d,!u)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new o.PosFloatDiv,m=w.element;this._subContainer.appendChild(m),this.dispose(()=>this._subContainer.removeChild(m)),m.onclick=C=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new o.ESJPickedResult({div:m,pointerEvent:C},e,void 0,void 0,void 0,[C.x,C.y]))};{const C=()=>{e.editing?m.children[0].style.pointerEvents="none":m.children[0].style.pointerEvents="all"};C(),this.d(e.editingChanged.don(C))}{const C=()=>{let E=e.show;if(!E)w.show=E,w.winPos=[0,0];else if(s.value){const I=i.getCurrentCameraInfo(),F=o.getDistancesFromPositions([e.position,I.position],"NONE")[0];e.minVisibleDistance<e.maxVisibleDistance?E=e.minVisibleDistance<F&&F<e.maxVisibleDistance:e.maxVisibleDistance==0&&(E=F>e.minVisibleDistance),w.show=E,w.winPos=[...s.value]}};C();const T=this.disposeVar(o.createNextAnimateFrameEvent(e.showChanged,s.changed,i.cameraChanged,e.maxVisibleDistanceChanged,e.minVisibleDistanceChanged));this.dispose(T.disposableOn(C))}{const C=()=>{const[T,E]=e.anchor??o.ESGeoDiv.defaults.anchor;w.originRatioX=T,w.originRatioY=E};C(),this.dispose(e.anchorChanged.disposableOn(C))}{const C=()=>{w.opacity=e.opacity??o.ESGeoDiv.defaults.opacity};C(),this.dispose(e.opacityChanged.disposableOn(C))}this.disposeVar(new e.instanceClass(w.contentDiv,e,u))}},l=()=>{try{e.instanceClass?a.instanceClass=g():a.instanceClass=void 0}catch(v){console.error(v)}};l();const y=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(y.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class Nn extends o.Destroyable{constructor(e,i){super();f(this,"_imageLabel");f(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new o.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this._imageLabel;this.ad(e.components.disposableAdd(r,!0));{const s=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),y=this.dv(new e.instanceClass(l,e,i))._container;if(y.style.opacity=e.opacity.toString()??o.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 u=d[h];var v=u.getBoundingClientRect();this._hasClassDivAndPos[u.className]=[u.offsetLeft,u.offsetTop,u.offsetLeft+v.width,u.offsetTop+v.height]}}Kn(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),r.url=d.toDataURL(),r.show=e.show}).catch(()=>{document.body.contains(y)&&document.body.removeChild(y)})},a=()=>{try{e.instanceClass?s():(r.url="",r.show=!1)}catch(l){console.error(l)}};a();const g=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(g.don(a))}{const s=()=>{r.show=e.show};r.show=!1,this.ad(e.showChanged.don(s))}this.d(o.track([r,"anchor"],[e,"anchor"])),this.d(o.bind([r,"position"],[e,"position"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.d(o.bind([r,"allowPicking"],[e,"allowPicking"])),this.d(o.bind([r,"scale"],[e,"scale"])),this.d(o.track([r,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(o.track([r,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{r.automaticLanding()})),this.d(i.widgetEvent.don(s=>{if(s.objId!==this._imageLabel.id)return;const{type:a,add:g}=s;if(a==="leftClick"&&g){const l=(g==null?void 0:g.classNames)??[],y=Object.keys(this._hasClassDivAndPos);for(let v=0;v<y.length;v++){const d=y[v];let h=this._hasClassDivAndPos[d];g&&g.mouseRelativePos&&g.mouseRelativePos[0]>=h[0]&&g.mouseRelativePos[0]<=h[2]&&g.mouseRelativePos[1]>=h[1]&&g.mouseRelativePos[1]<=h[3]&&l.push(d)}g.classNames=l}e.widgetEvent.emit({type:a,add:g})})),this.d(e.calcFlyToParamEvent.don(()=>{b(n,r.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const s=i.getCurrentCameraInfo();if(!s)return;const{position:a,rotation:g}=s;e.flyInParam={position:a,rotation:g,flyDuration:1}})),this.d(e.smoothMoveEvent.don((s,a)=>{te(n,r.id,s,a)})),this.d(e.smoothMoveWithRotationEvent.don((s,a,g)=>{O(n,r.id,s,a,g)})),this.d(e.smoothMoveOnGroundEvent.don((s,a,g,l)=>{j(n,r.id,s,a,l,g)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((s,a,g,l,y)=>{ee(n,r.id,s,a,g,l,y)})),this.d(e.flyToEvent.don((s,a)=>{r.flyTo(s)})),this.d(e.flyInEvent.don(s=>{r.flyIn(s)}))}}const x=class x extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.flyToFeatureIndexEvent.don((n,r)=>{i.callUeFunc({f:"flyToFeatureIndex",p:{id:t.id,index:n,duration:r}})})),this.d(t.flyToFeatureEvent.don((n,r,s)=>{i.callUeFunc({f:"flyToFeature",p:{id:t.id,key:n,value:r,duration:s}})}))}};f(x,"type",x.register("ESUeViewer",o.ESGeoJson.type,x)),f(x,"forceUeUpdateProps",[...D.forceUeUpdateProps,"url"]),f(x,"propValFuncs",{...D.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):t});let Gt=x;const Ie=class Ie extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ie,"type",Ie.register("ESUeViewer",o.ESGeoLineString.type,Ie));let vt=Ie;const Te=class Te extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Te,"type",Te.register("ESUeViewer",o.ESGeoRectangle.type,Te));let Jt=Te;const Re=class Re extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Re,"type",Re.register("ESUeViewer",o.ESGeoWater.type,Re));let Kt=Re;const N=class N extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.setNodePositionEvent.don((n,r)=>{Xi(i,t.id,n,r)})),this.d(t.setNodeRotationEvent.don((n,r)=>{qi(i,t.id,n,r)})),this.d(t.setNodeScaleEvent.don((n,r)=>{Zi(i,t.id,n,r)}))}};f(N,"forceUeUpdateProps",[...S.forceUeUpdateProps,"url"]),f(N,"propValFuncs",{...S.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),f(N,"type",N.register("ESUeViewer",o.ESGltfModel.type,N));let Vt=N;const De=class De extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(De,"type",De.register("ESUeViewer",o.ESHeightMeasurement.type,De));let Xt=De;const Le=class Le extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(s,a,g,l)=>{const{viewer:y}=s;if(!y){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const v=await y.callUeFunc({f:"AIMoveTo",p:{id:a,Destination:g,Time:l}});return v.error&&console.error("AIMoveTo:",v.error),v};this.d(t.aiMoveToEvent.don((s,a)=>{n(e,t.id,s,a)}));const r=async(s,a)=>{const{viewer:g}=s;if(!g){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await g.callUeFunc({f:"StopAIMove",p:{id:a}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(t.stopAIMoveEvent.don(()=>{r(e,t.id)}))}};f(Le,"type",Le.register("ESUeViewer",o.ESHuman.type,Le));let qt=Le;const z=class z extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.anchor=[.5,1]}};f(z,"type",z.register("ESUeViewer",o.ESImageLabel.type,z)),f(z,"forceUeUpdateProps",[...U.forceUeUpdateProps,"url"]),f(z,"propValFuncs",{...U.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t)});let Zt=z;const Pe=class Pe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Pe,"type",Pe.register("ESUeViewer",o.ESLevelRuntimeModel.type,Pe));let Yt=Pe;const Be=class Be extends ut{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Be,"type",Be.register("ESUeViewer",o.ESLocalCircle.type,Be));let Qt=Be;const Ue=class Ue extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ue,"type",Ue.register("ESUeViewer",o.ESLocalPolygonZ.type,Ue));let kt=Ue;const Ae=class Ae extends ut{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ae,"type",Ae.register("ESUeViewer",o.ESLocalRectangle.type,Ae));let Ot=Ae;const Me=class Me extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Me,"type",Me.register("ESUeViewer",o.ESLocalSkyBox.type,Me));let jt=Me;const be=class be extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(be,"type",be.register("ESUeViewer",o.ESLocationMeasurement.type,be));let ei=be;const We=class We extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(We,"type",We.register("ESUeViewer",o.ESPipeFence.type,We));let ti=We;const $e=class $e extends vt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f($e,"type",$e.register("ESUeViewer",o.ESPipeline.type,$e));let ii=$e;const _e=class _e extends ht{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.highlightFeatureEvent.don(n=>{const r=typeof n=="number"?n.toString():n;Gi(i,t.id,r)})),this.d(t.highlightFeatureAndFlyToEvent.don((n,r,s,a)=>{const g=typeof n=="number"?n.toString():n;Ji(i,t.id,g,a??1)})),this.d(t.setLayerVisibleEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Ki(i,t.id,s)})),this.d(t.setLayerColorEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Vi(i,t.id,s)}))}};f(_e,"type",_e.register("ESUeViewer",o.ESPipeserTileset.type,_e));let ni=_e;const xe=class xe extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(xe,"type",xe.register("ESUeViewer",o.ESPit.type,xe));let ri=xe;const Ne=class Ne extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(t.getInitialStyleEvent.don(async()=>{try{const n=await i.callUeFunc({f:"GetInitialStyle",p:{id:t.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),t.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),t.initialStyle.value=void 0}}))}};f(Ne,"type",Ne.register("ESUeViewer",o.ESPoi2D.type,Ne));let oi=Ne;const ze=class ze extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ze,"type",ze.register("ESUeViewer",o.ESPoi3D.type,ze));let si=ze;const H=class H extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(H,"type",H.register("ESUeViewer",o.ESPoiTileset.type,H)),f(H,"forceUeUpdateProps",[...D.forceUeUpdateProps,"url"]),f(H,"propValFuncs",{...D.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t)});let ai=H;const He=class He extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(He,"type",He.register("ESUeViewer",o.ESPolygonFence.type,He));let li=He;const q=class q extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(q,"type",q.register("ESUeViewer",o.ESPolygonFlattenedPlane.type,q)),f(q,"propValFuncs",{...P.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let di=q;const Ge=class Ge extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ge,"type",Ge.register("ESUeViewer",o.ESPolygonWithHole.type,Ge));let ci=Ge;const Je=class Je extends W{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{t.ids=[]}),this.d(t.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(t.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=a=>{a=a.toLocaleLowerCase();let g=[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),v=parseInt(a[3]+a[3],16);g=[l,y,v,1]}else if(a.length===7){let l=parseInt(a.substring(1,3),16),y=parseInt(a.substring(3,5),16),v=parseInt(a.substring(5,7),16);g=[l,y,v,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]),v=parseInt(l[2]),d=parseInt(l[3]),h=parseFloat(l[4]);g=[y,v,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]),v=parseInt(l[2]),d=parseInt(l[3]);g=[y,v,d,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[g[0]/255,g[1]/255,g[2]/255,g[3]]},r=()=>{const a=t.layerConfig;if(!a)return;const g=[];a.forEach(l=>{a.filter(v=>v.dataset==l.dataset).length==1?g.push({condition:[{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible}):g.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})}),t.setFeatureStyle(g)};r();const s=this.dv(o.createNextAnimateFrameEvent(t.layerConfigChanged,t.colorBlendModeChanged));this.d(s.don(()=>{r()}))}}};f(Je,"type",Je.register("ESUeViewer",o.ESRtsTileset.type,Je));let ui=Je;const Ke=class Ke extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(t.addTreesEvent.don(n=>{o.addTreesCallFunc(e,t.id,n)})),this.d(t.removeAllTreesEvent.don(()=>{o.removeAllTreesCallFunc(e,t.id)})),this.d(t.updateTreeParamsEvent.don(n=>{o.updateTreeParamsCallFunc(e,t.id,n)})),this.d(t.cutDownTreesEvent.don((n,r)=>{o.cutDownTreesCallFunc(e,t.id,n,r)})),this.d(t.growthSimulationEvent.don((n,r,s)=>{o.growthSimulationCallFunc(e,t.id,n,r,s)}))}};f(Ke,"type",Ke.register("ESUeViewer",o.ESSeparateFoliage.type,Ke));let hi=Ke;const Ve=class Ve extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ve,"type",Ve.register("ESUeViewer",o.ESSubmergingAnalysis.type,Ve));let gi=Ve;const Xe=class Xe extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.stopEvent.don(()=>{i.callUeFunc({f:"Stop",p:{id:t.id}})}))}};f(Xe,"type",Xe.register("ESUeViewer",o.ESSunshineAnalysis.type,Xe));let vi=Xe;const qe=class qe extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})}))}};f(qe,"type",qe.register("ESUeViewer",o.ESSurfaceAreaMeasurement.type,qe));let pi=qe;const Ze=class Ze extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ze,"type",Ze.register("ESUeViewer",o.ESTextLabel.type,Ze));let fi=Ze;const Z=class Z extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.callFunctionEvent.don(async(n,r)=>{const s=await yt(i,t.id,n,r);t.__callFunctionResultEvent.emit(s)}))}};f(Z,"type",Z.register("ESUeViewer",o.ESUEWidget.type,Z)),f(Z,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let wi=Z;const zn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},pr=c=>{switch(c){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},Ye=class Ye extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn(`${t.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{ft(i,t.id)});const n=async()=>{l()||await i.callUeFunc({f:"update",p:{id:t.id,name:t.name,show:t.show,rotation:t.rotation,flyToParam:t.flyToParam??o.ESUnrealActor.defaultFlyToParam,flyInParam:t.flyInParam??o.ESUnrealActor.defaultFlyInParam,highlight:t.highlight,collision:t.collision,scale:t.scale,minVisibleDistance:t.minVisibleDistance,maxVisibleDistance:t.maxVisibleDistance}})},r=this.dv(o.createNextAnimateFrameEvent(t.showChanged,t.nameChanged,t.rotationChanged,t.flyToParamChanged,t.flyInParamChanged,t.highlightChanged,t.collisionChanged,t.scaleChanged,t.minVisibleDistanceChanged,t.maxVisibleDistanceChanged));this.d(r.don(n)),this.d(t.flushEvent.don(()=>r.flush()));let s,a;const g=async()=>{l()||(await i.callUeFunc({f:"update",p:{id:t.id,position:t.position}}),(e.debug??!1)&&console.log(`updatePostion:${t.position},actorTag:${t.actorTag},actorClass:${t.actorClass}`))},l=()=>!s&&!a?(console.warn(`${t.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,y=async()=>{const{id:d}=t,h=await e.unBindActorByID(d);h&&h.error!==""&&console.warn(`${t.id} UeESUnrealActor UnBindActorByID: ${h.error}`),s=void 0;const u=await i.callUeFunc({f:"destroy",p:{id:d}});if(u&&u.error!==""){console.warn(`${t.id} UeESUnrealActor DestroyActorByID: ${u.error}`);return}a=void 0},v=this.dv(o.react({type:"ActorClass",actorClass:"default"}));{const d=this.dv(o.createNextAnimateFrameEvent(t.actorClassChanged,t.actorTagChanged)),h=async()=>{t.actorTag!==""?v.value={type:"ActorTag",actorTag:t.actorTag}:v.value={type:"ActorClass",actorClass:t.actorClass===""?"default":t.actorClass}};h(),this.d(d.don(h)),this.d(t.flushEvent.don(()=>d.flush()))}{const d=this.dv(o.createProcessingFromAsyncFunc(async u=>{if(await u.promise(y()),t.lastActorStatus="null",v.value.type==="ActorTag"){const{actorTag:w}=v.value;try{const m=await u.promise(e.bindActorByTag(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${m.error}`);return}if(m.re.type===0)t.lastActorStatus="bound",s=w;else if(m.re.type===1)t.lastActorStatus="bound",s=w,console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${zn(m.re.type)}`);else{s=void 0,console.warn(`${t.id} UeESUnrealActor BindActorByTag error:${w}, ${zn(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor BindActorByTag catch error:${w}, ${m}`);return}}else if(v.value.type==="ActorClass"){const{actorClass:w}=v.value;try{const m=await u.promise(e.createActorByClass(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error :${w}, ${m.error}`);return}if(m.re.type===0)w!=="default"&&(t.lastActorStatus="created"),a=w;else{console.warn(`${t.id} UeESUnrealActor CreateActorByClass error type :${w},${pr(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(m)}`);return}}await u.promise(n()),await u.promise(g())})),h=async()=>{d.restart()};h(),this.d(v.changed.don(h))}this.d(t.positionChanged.don(g)),this.d(t.callFunctionEvent.don(async(d,h)=>{if(l()){t.__callFunctionResultEvent.emit(void 0);return}const u=await yt(i,t.id,d,h);t.__callFunctionResultEvent.emit(u)})),this.d(t.smoothMoveEvent.don((d,h)=>{l()||te(i,t.id,d,h)})),this.d(t.smoothMoveWithRotationEvent.don((d,h,u)=>{l()||O(i,t.id,d,h,u)})),this.d(t.smoothMoveOnGroundEvent.don((d,h,u,w)=>{l()||j(i,t.id,d,h,w,u)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((d,h,u,w,m)=>{l()||ee(i,t.id,d,h,u,w,m)})),this.d(t.automaticLandingEvent.don(d=>{if(l())return;const h=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(u=>{u!==null&&(t.position=[...h,u],t.collision=d)})})),this.d(t.flyToEvent.don(async(d,h)=>{if(l())return;const u=await J(i,t.id,d);let w="over";u===void 0?w="error":u.endType===0?w="over":u.endType===1&&(w="cancelled"),t.flyOverEvent.emit(h,w,e)})),this.d(t.calcFlyToParamEvent.don(()=>{l()||b(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const d=await e.getCurrentCameraInfo();if(!d)return;const{position:h,rotation:u}=d;t.flyInParam={position:h,rotation:u,flyDuration:1}})),this.d(e.propChanged.don(d=>{l()||d.objId===t.id&&Object.keys(d.props).forEach(h=>{const u=d.props[h]===null?void 0:d.props[h];t[h]=u})}))}};f(Ye,"type",Ye.register("ESUeViewer",o.ESUnrealActor.type,Ye));let yi=Ye;const Qe=class Qe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Qe,"type",Qe.register("ESUeViewer",o.ESVideoFusion.type,Qe));let mi=Qe;const ke=class ke extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ke,"type",ke.register("ESUeViewer",o.ESViewShed.type,ke));let Ci=ke;const Oe=class Oe extends L{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(Oe,"type",Oe.register("ESUeViewer",o.ESVisibilityAnalysis.type,Oe));let Ei=Oe;const je=class je extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(o.track([t,"volume"],[t,"cutAndFillVolume"])),this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};f(je,"type",je.register("ESUeViewer",o.ESVolumeMeasurement.type,je));let Si=je;const Y=class Y extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Y,"type",Y.register("ESUeViewer",o.ESWidget.type,Y)),f(Y,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let Fi=Y;const et=class et extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.poi.actorTag=t.human.id,t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8],this.d(t.poiOffsetHeightChanged.don(()=>{t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8]})),this.d(()=>{t.poi.actorTag=""})}};f(et,"type",et.register("ESUeViewer",o.ESHumanPoi.type,et));let Ii=et;o.ESSceneObject.context.getStrFromEnv(o.ESNavigator.defaults.imgUrl);const tt=class tt extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(o.track([n,"show"],[t,"show"])),n.instanceClass=class extends o.Destroyable{constructor(s,a,g){super(),this._subContainer=s;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const d=async()=>{const h=await e.getCurrentCameraInfo(),u=h==null?void 0:h.position,m=[...h==null?void 0:h.rotation];m[0]=360,e.flyIn(u,m)};l.addEventListener("click",d),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",d))}{const d=()=>{l.style.width=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`,l.style.height=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`};d(),t.dispose(t.cssSizeChanged.disposableOn(d))}l.style.position="fixed";{const d=()=>{l.style.top=`${t.cssPosition?t.cssPosition[0]:o.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${t.cssPosition?t.cssPosition[1]:o.ESNavigator.defaults.cssPosition[1]}px`};d(),t.dispose(t.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 v=document.createElement("img");y.appendChild(v),this.dispose(()=>y.removeChild(v)),v.style.width="100%",v.style.height="100%",v.style.border="none";{const d=()=>v.src=t.imgUrl;d(),t.dispose(t.imgUrlChanged.disposableOn(d))}{const d=()=>{const m=-e.getCurrentCameraInfo().rotation[0];v.style.transform=`rotate(${m}deg)`};let h;const u=async()=>{d(),t.show?(l.style.display="block",h=setInterval(()=>{d()},1e3)):(l.style.display="none",clearInterval(h))};this.dispose(t.showChanged.disposableOn(u)),u(),this.dispose(()=>clearInterval(h))}v.style.transformOrigin="50% 50%"}}}};f(tt,"type",tt.register("ESUeViewer",o.ESNavigator.type,tt));let Ti=tt;const G=class G extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}{const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,materialMode:t.materialMode}})};this.dispose(t.materialModeChanged.disposableOn(n))}}};f(G,"type",G.register("ESUeViewer",o.ESPath.type,G)),f(G,"forceUeUpdateProps",[...L.forceUeUpdateProps]),f(G,"propValFuncs",{...L.propValFuncs});let Ri=G;async function fr(c){navigator.clipboard.writeText(c).then(function(){console.log("复制成功")},function(t){console.log("复制失败")})}const it=class it extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends o.Destroyable{constructor(s,a,g){if(super(),this._subContainer=s,!g||!(g instanceof M))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=`${o.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=`${o.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 v=document.createElement("span");y.appendChild(v),this.dispose(()=>y.removeChild(v));const d=document.createElement("span");y.appendChild(d),d.addEventListener("dblclick",function(){let u=d.innerHTML;u.startsWith("鼠标位置")&&(u=u.slice(5)),fr(u)}),d.style.cursor="pointer",this.dispose(()=>y.removeChild(d));const h=document.createElement("span");l.appendChild(h),this.dispose(()=>l.removeChild(h));{const u=()=>{l.style.height=(t.height??o.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(t.height??o.ESViewerStatusBar.defaults.height)+"px"};this.dispose(t.heightChanged.disposableOn(u)),u()}{const u=()=>{l.style.fontSize=(t.fontSize??o.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(t.fontSizeChanged.disposableOn(u)),u()}{const u=()=>{t.bgColor?l.style.background=`rgba(${t.bgColor[0]*255},${t.bgColor[1]*255},${t.bgColor[2]*255},${t.bgColor[3]})`:l.style.background=`rgba(${o.ESViewerStatusBar.defaults.bgColor[0]},${o.ESViewerStatusBar.defaults.bgColor[1]},${o.ESViewerStatusBar.defaults.bgColor[2]},${o.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(t.bgColorChanged.disposableOn(u)),u()}g.getVersion().then(u=>{u&&(h.innerText=`Ue 版本 : ${u[0]} `)}).catch(u=>{console.log(u)});{const u=()=>{let C="",T="";C+=`帧率:${g.getFPS().toFixed(0)}FPS`,v.innerText=C;const E=e.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)}° `,v.innerText=C,e.pick().then(I=>{if(I){const{pickResult:F}=I;if(F&&F.position){const{position:B}=F;T+=`鼠标位置:${B[0].toFixed(5)}° ${B[1].toFixed(5)}° ${B[2].toFixed(2)}m`}else T+="暂时无法获取鼠标位置...";d.innerText=T}}).catch(I=>{console.log(I)})};let w;const m=async()=>{u(),t.show?(l.style.display="flex",w=setInterval(()=>{u()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(t.showChanged.disposableOn(m)),m(),this.dispose(()=>clearInterval(w))}}}}};f(it,"type",it.register("ESUeViewer",o.ESViewerStatusBar.type,it));let Di=it;const nt=class nt extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(nt,"type",nt.register("ESUeViewer",o.ESGaussianSplatting.type,nt));let Li=nt;const rt=class rt extends W{constructor(e,i){super(e,i);f(this,"_es3DTileset",this.dv(new o.ES3DTileset));if(!i.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const r=this._es3DTileset;e.components.disposableAdd(r,!0),this.d(o.track([r,"allowPicking"],[e,"allowPicking"])),this.d(o.track([r,"collision"],[e,"collision"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.track([r,"url"],[e,"url"])),this.d(o.track([r,"actorTag"],[e,"actorTag"])),this.d(o.track([r,"materialMode"],[e,"materialMode"])),this.d(o.track([r,"highlight"],[e,"highlight"])),this.d(o.track([r,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(o.track([r,"highlightID"],[e,"highlightID"])),this.d(o.track([r,"highlightColor"],[e,"highlightColor"])),this.d(o.bind([r,"offset"],[e,"offset"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.track([r,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(o.track([r,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(o.track([r,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(o.track([r,"czmClassificationType"],[e,"czmClassificationType"])),this.d(o.track([r,"czmStyleJson"],[e,"czmStyleJson"])),this.d(o.track([r,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(o.track([r,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(o.track([r,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(o.track([r,"colorBlendMode"],[e,"colorBlendMode"])),this.d(o.track([r,"cacheBytes"],[e,"cacheBytes"])),this.d(o.track([r,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(o.track([r,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(o.track([r,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(o.track([r,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(o.track([r,"materialParams"],[e,"materialParams"])),this.d(o.bind([r,"supportEdit"],[e,"supportEdit"])),this.d(o.bind([r,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(o.bind([r,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(o.bind([r,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(o.bind([r,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(o.bind([r,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(o.bind([r,"excavateId"],[e,"excavateId"]))}{const r=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...s)=>{r.highlightFeature(...s)})),this.d(e.highlightFeatureAndFlyToEvent.don((...s)=>{r.highlightFeatureAndFlyTo(...s)})),this.d(e.setFeatureColorEvent.don((...s)=>{r.setFeatureColor(...s)})),this.d(e.setFeatureVisableEvent.don((...s)=>{r.setFeatureVisable(...s)})),this.d(e.resetFeatureStyleEvent.don((...s)=>{r.resetFeatureStyle(...s)})),this.d(e.flyInEvent.don((...s)=>{r.flyIn(s[0])})),this.d(e.flyToEvent.don((...s)=>{r.flyTo(s[0])})),this.d(e.calcFlyToParamEvent.don((...s)=>{r.calcFlyToParam(...s)})),this.d(e.calcFlyInParamEvent.don((...s)=>{r.calcFlyInParam(...s)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(s=>{e.tilesetReady.emit(s)})),this.d(r.pickedEvent.don(s=>{s.assign({sceneObject:e}),e.pickedEvent.emit(s)}))}{const r=()=>{this.es3DTileset.show=e.show};r(),this.d(e.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}};f(rt,"type",rt.register("ESUeViewer",o.ESRtsFeatureEditing.type,rt));let Pi=rt;const ot=class ot extends W{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ot,"type",ot.register("ESUeViewer",o.ESMsTileset.type,ot));let Bi=ot;const st=class st extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,height:t.height??o.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:t.extrudedHeight??o.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:t.perPositionHeight??o.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},r=this.disposeVar(o.createNextAnimateFrameEvent(t.heightChanged,t.extrudedHeightChanged,t.perPositionHeightChanged));this.dispose(r.disposableOn(n)),this.dispose(t.createdEvent.disposableOn(n))}};f(st,"type",st.register("ESUeViewer",o.ESGeoExtrudedPolygon.type,st));let Ui=st;const at=class at extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(at,"type",at.register("ESUeViewer",o.ESStaticMesh.type,at));let Ai=at;const lt=class lt extends L{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};f(lt,"type",lt.register("ESUeViewer",o.ESSkylineAnalysis.type,lt));let Mi=lt;p.copyright=void 0;try{const c="earthsdk3-ue",t="3.7.0-beta.1",e="2025-11-26T06:11:25.000Z",i="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="43f5553b0ecd549789bca9baa5e642be2c59e0bc",a=((Date.now()-1764137485e3)/36e5).toFixed(1),g=`%c🌏 ${c}%c ${t}.${r.slice(0,8)}.${e} (距今${a}个小时)
1
+ (function(p,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("earthsdk3"),require("@epicgames-ps/lib-pixelstreamingfrontend-ue5.2"),require("html2canvas")):typeof define=="function"&&define.amd?define(["exports","earthsdk3","@epicgames-ps/lib-pixelstreamingfrontend-ue5.2","html2canvas"],o):(p=typeof globalThis<"u"?globalThis:p||self,o(p.EarthSDK3_UE={},p.EarthSDK3,p.libPixelstreamingfrontendUe5_2,p.html2canvas))})(this,function(p,o,L,Vn){"use strict";var Tr=Object.defineProperty;var Rr=(p,o,L)=>o in p?Tr(p,o,{enumerable:!0,configurable:!0,writable:!0,value:L}):p[o]=L;var f=(p,o,L)=>Rr(p,typeof o!="symbol"?o+"":o,L);var Hn;const Xn={...o.ESViewer.defaults,geoReferenceOrigin:void 0,keepWorldOriginNearCamera:!1,useCache:!0,widgetInteractionDistance:200,memReportInterval:10,sceneControlled:!0,brightness:0,emissiveIntensity:1,statusUpdateInterval:.5,baseUrl:((Hn=globalThis==null?void 0:globalThis.location)==null?void 0:Hn.href)??"",screenPercentage:-1,antiAliasingMethod:"default"},$i=()=>({...o.ESViewer.createCommonProps(),apiKey:"",apiUrl:"",secretKey:"",speechVoiceMode:"",geoReferenceOrigin:o.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 ct(){const c=$i(),t=[];return Object.keys(c).forEach(e=>{t.push(e)}),t}function ft(c){const{defaults:t}=M,e=ct(),i={};return e.forEach(n=>{i[n]=c[n]??t[n]}),i}const K=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyTo",p:{id:t,duration:e,flyToParam:i,position:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},wt=async(c,t)=>{const e=await c.callUeFunc({f:"destroy",p:{id:t}});return e.error&&console.error(e.error),e},W=(c,t)=>{c.callUeFunc({f:"calcFlyToParam",p:{id:t}}).then(e=>{e.error&&console.error("calcFlyToParam:",e.error)}).catch(e=>{console.error("calcFlyToParam:",e)})},_i=(c,t)=>{c.callUeFunc({f:"refreshTileset",p:{id:t}}).then(e=>{e.error&&console.error("refreshTileset:",e.error)}).catch(e=>{console.error("refreshTileset:",e)})},O=async(c,t,e,i,n,r="default")=>{const s=await c.callUeFunc({f:"flyIn",p:{id:t,position:e,rotation:i,duration:n,flyMode:r}});if(s.error){console.error(s.error);return}return s.re},xi=async(c,t)=>{if(!c){console.warn("DefaultCameraFlyIn: viewer is undefined");return}const e=await c.callUeFunc({f:"DefaultCameraFlyIn",p:{Duration:t??1}});if(e.error){console.error("DefaultCameraFlyIn:",e.error);return}return e},Ni=async c=>{if(!c){console.warn("StartVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StartVoice",p:{}});if(t.error){console.error("StartVoice:",t.error);return}return t},zi=async c=>{if(!c){console.warn("StopVoice:viewer is undefined");return}const t=await c.callUeFunc({f:"StopVoice",p:{}});if(t.error){console.error("StopVoice:",t.error);return}return t},Gi=async(c,t)=>{if(!c){console.warn("mountPakFiles:viewer is undefined");return}const e=await c.callUeFunc({f:"MountPakFiles",p:{json:t}});if(e.error){console.error("mountPakFiles:",e.error);return}return e},Hi=async c=>{if(!c){console.warn("generateMemReport:viewer is undefined");return}const t=await c.callUeFunc({f:"GenerateMemReport",p:{}});if(t.error){console.error("generateMemReport:",t.error);return}return t},yt=async(c,t)=>{const e=await c.callUeFunc({f:"resetWithCurrentCamera",p:{id:t}});return e.error&&console.error("resetWithCurrentCamera:",e.error),e},j=(c,t,e,i,n)=>{c.callUeFunc({f:"smoothMoveWithRotation",p:{id:t,Destination:e,NewRotation:i,Time:n}}).then(r=>{r.error&&console.error("smoothMoveWithRotation:",r.error)}).catch(r=>{console.error("smoothMoveWithRotation:",r)})},ee=(c,t,e,i,n,r)=>{c.callUeFunc({f:"smoothMoveOnGround",p:{id:t,Lon:e,Lat:i,Ground:n,Time:r}}).then(s=>{s.error&&console.error("smoothMoveOnGround:",s.error)}).catch(s=>{console.error("smoothMoveOnGround:",s)})},te=(c,t,e,i,n,r,s)=>{c.callUeFunc({f:"smoothMoveWithRotationOnGround",p:{id:t,NewRotation:e,Lon:i,Lat:n,Time:r,Ground:s}}).then(a=>{a.error&&console.error("smoothMoveWithRotationOnGround:",a.error)}).catch(a=>{console.error("smoothMoveWithRotationOnGround:",a)})},Ji=(c,t,e)=>{c.callUeFunc({f:"HighlightFeature",p:{id:t,HlId:e}}).then(i=>{i.error&&console.error("HighlightFeature:",i.error)}).catch(i=>{console.error("HighlightFeature:",i)})},Ki=(c,t,e,i)=>{c.callUeFunc({f:"HighlightFeatureAndFlyTo",p:{id:t,HlId:e,Duration:i}}).then(n=>{n.error&&console.error("HighlightFeatureAndFlyTo:",n.error)}).catch(n=>{console.error("HighlightFeatureAndFlyTo:",n)})},Vi=(c,t,e)=>{c.callUeFunc({f:"SetLayerVisible",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerVisible:",i.error)}).catch(i=>{console.error("SetLayerVisible:",i)})},Xi=(c,t,e)=>{c.callUeFunc({f:"SetLayerColor",p:{id:t,LayerJson:e}}).then(i=>{i.error&&console.error("SetLayerColor:",i.error)}).catch(i=>{console.error("SetLayerColor:",i)})},ie=(c,t,e,i)=>{c.callUeFunc({f:"smoothMove",p:{id:t,Destination:e,Time:i}}).then(n=>{n.error&&console.error("smoothMove:",n.error)}).catch(n=>{console.error("smoothMove:",n)})},mt=async(c,t,e,i)=>{const n=await c.callUeFunc({f:"callFunction",p:{id:t,fn:e,p:i}});return n.error&&(console.error("callFunction:",n.error),console.error(`id: ${t} fn: ${e} param: ${i}`)),n.re??void 0},qi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodePosition",p:{id:t,NodeName:e,NodePosition:i}}).then(n=>{n.error&&console.error("SetNodePosition:",n.error)}).catch(n=>{console.error("SetNodePosition:",n)})},Zi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeRotation",p:{id:t,NodeName:e,NodeRotation:i}}).then(n=>{n.error&&console.error("SetNodeRotation:",n.error)}).catch(n=>{console.error("SetNodeRotation:",n)})},Qi=(c,t,e,i)=>{c.callUeFunc({f:"SetNodeScale",p:{id:t,NodeName:e,NodeScale:i}}).then(n=>{n.error&&console.error("SetNodeScale:",n.error)}).catch(n=>{console.error("SetNodeScale:",n)})},A=async(c,t)=>{if(t.mode=="Follow"){const i=o.ESSceneObject.getSceneObject(t.objectId);t.objectId=i?(i.components.main??i).id:t.objectId}else if(t.mode=="Line"){const i=o.ESSceneObject.getSceneObject(t.geoLineStringId);t.geoLineStringId=i?(i.components.main??i).id:t.geoLineStringId}const e=await c.callUeFunc({f:"ChangeNavigationMode",p:t});if(e.error){console.error("ChangeNavigationMode:",e.error);return}return e},Yi=async(c,t)=>{const e=await c.callUeFunc({f:"setGlobalProperty",p:t});if(e.error){console.error("setGlobalProperty:",e.error);return}return e},ki=async c=>{const t=await c.callUeFunc({f:"Quit",p:void 0});if(t.error){console.error("Quit:",t.error);return}return t},Oi=async(c,t,e,i)=>{console.log("pickCallFunc",t,e,i);const n=await c.callUeFunc({f:"pick",p:{screenPosition:t,parentInfo:i}});if(!n.re&&(n.error||n.error=="")){console.error("pick:",n.error==""?"未获取到结果":n.error);return}let r=n.re.id,s,a=r?o.ESSceneObject.getSceneObject(r):void 0;return a&&a.parentID&&(a=o.ESSceneObject.getSceneObject(a.parentID)),s=new o.ESJPickedResult(n.re,a,n.re.features,n.re.add,e,t),a&&Reflect.has(a,"allowPicking")&&Reflect.has(a,"pickedEvent")&&(a.allowPicking??!1)&&a.pickedEvent.emit(s),a&&Reflect.has(a,"allowPicking")&&!a.allowPicking?new o.ESJPickedResult:s},ji=async(c,t)=>{const e=await c.callUeFunc({f:"pickPosition",p:{screenPosition:t}});if(!e.re&&(e.error||e.error=="")){console.error("pickPosition",e.error==""?"未获取到结果":e.error);return}const{position:i}=e.re;return i},en=async(c,t,e,i="ECC_Visibility")=>{const n=await c.callUeFunc({f:"GetHeightByLonLat",p:{Lon:t,Lat:e,Channel:i}});if(n.error){console.warn(`GetHeightByLonLat:${n.error}`);return}return n.re},tn=async(c,t,e="ECC_Visibility")=>{const i=await c.callUeFunc({f:"GetHeightsByLonLats",p:{LonLats:t,Channel:e}});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}},nn=async(c,t=64,e=64)=>{const i=await c.callUeFunc({f:"capture",p:{resx:t,resy:e}});if(i.error){console.warn(i.error);return}return i.re.image},rn=async(c,t,e=[64,64])=>{const i=await c.callUeFunc({f:"partialCapture",p:{startPos:t,size:e}});if(i.error){console.warn(i.error);return}return i.re.image},on=async(c,t)=>{const e=await c.callUeFunc({f:"LonLatAltToScreenPosition",p:{LonLatAlt:t}});return e.error&&console.warn(e.error),e.re},sn=async(c,t)=>{const e=await c.callUeFunc({f:"UEPositionToLonLatAlt",p:{UEPosition:t}});if(e.error){console.warn(e.error);return}return[...e.re.LonLatAlt]},an=async(c,t)=>{const e=await c.callUeFunc({f:"GetAllSocketNamesByActorTag",p:{ActorTag:t}});if(e.error){console.warn(e.error);return}return[...e.re.socketNames]},ln=async c=>{const t=await c.callUeFunc({f:"GetVersion",p:void 0});if(t.error){console.warn("GetVersion:",t.error);return}return t.re.version},dn=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphere",p:{id:t}});if(e.error){console.warn(e.error);return}return e.re},cn=async(c,t)=>{const e=await c.callUeFunc({f:"GetBoundSphereWithChildren",p:{id:t}});if(e.error){console.warn(`GetBoundSphereWithChildren:${e.error}`);return}return e.re},un=async(c,t)=>{const e=await c.callUeFunc({f:"GetStrokeMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetStrokeMaterialParamInfo:${e.error}`);return}return e.re},hn=async(c,t)=>{const e=await c.callUeFunc({f:"GetFillMaterialParamInfo",p:{id:t}});if(e.error){console.warn(`GetFillMaterialParamInfo:${e.error}`);return}return e.re},gn=async(c,t)=>{const e=await c.callUeFunc({f:"getGlobalProperty",p:{props:t}});if(e.error){console.warn(`getGlobalProperty:${e.error}`);return}return e.re},vn=async(c,t)=>{const e=await c.callUeFunc({f:"GetObjectByInfo",p:{info:t}});if(e.error){console.warn(`GetObjectByInfo:${e.error}`);return}return e.re},pn=async(c,t,e)=>await c.callUeFunc({f:"BindActorByTag",p:{ID:t,ActorTag:e}}),fn=async c=>await c.callUeFunc({f:"RestoreOriginalScene",p:void 0}),wn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByID",p:{ID:t}}),yn=async(c,t)=>await c.callUeFunc({f:"UnBindActorByTag",p:{ActorTag:t}}),mn=async(c,t,e)=>await c.callUeFunc({f:"CreateActorByClass",p:{ID:t,ActorClass:e}}),Cn=async function(c,t,e){return await c.callUeFunc({f:"Bind3DTilesetByTag",p:{ID:t,ActorTag:e}})},En=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetByTag",p:{ActorTag:t}})},Sn=async function(c,t){return await c.callUeFunc({f:"UnBind3DTilesetById",p:{ID:t}})},Fn=async function(c,t,e,i){return await c.callUeFunc({f:"BindImageryByTag",p:{ID:t,ActorTag:e,ComponentTag:i}})},In=async function(c,t,e){return await c.callUeFunc({f:"UnBindImageryByTag",p:{ActorTag:t,ComponentTag:e}})},Tn=async function(c,t){return await c.callUeFunc({f:"UnBindImageryById",p:{ID:t}})},Rn=async function(c,t,e,i){return await c.callUeFunc({f:"GetIdByComponentNameAndHitItem",p:{id:t,ComponentName:e,HitItem:i}})},Dn=async function(c,t="ECC_Visibility"){return await c.callUeFunc({f:"GetCameraRelativeHeight",p:{Channel:t}})},Ln=async function(c,t,e,i){const n=await c.callUeFunc({f:"SaveStringToFile",p:{String:t,Path:e??"undefine",File:i??"data.txt"}});return n.error!==""&&console.warn("SaveStringToFile: ",n.error),n},Pn=async function(c,t,e=!0){const i=await c.callUeFunc({f:"HighlightActorByTag",p:{ActorTag:t,Highlight:e}});return i.error!==""&&console.warn("HighlightActorByTag: ",i.error),i},Bn=async function(c,t){const e=await c.callUeFunc({f:"SendCustomMessage",p:{Message:t}});return e.error!==""&&console.warn("SendCustomMessage: ",e.error),e},Un=async function(c){const t=await c.callUeFunc({f:"GetStatus",p:void 0});if(t.error){console.warn(`GetStatus:${t.error}`);return}return t.re},An=async(c,t,e,i,n=!0)=>{const r=await c.callUeFunc({f:"startEditing",p:{sceneObjectID:t,editingID:e,modes:i,useKeyToSwitch:n}});if(r.error){console.error("startEditing:",r.error);return}return r},Mn=async c=>{const t=await c.callUeFunc({f:"stopEditing",p:void 0});if(t.error){console.error("stopEditing:",t.error);return}return t},bn=async(c,t,e)=>{const i=await c.callUeFunc({f:"moveObjects",p:{sceneObjectIDs:t,editingID:e}});if(i.error){console.error("moveObjects:",i.error);return}return i},Wn=async c=>{const t=await c.callUeFunc({f:"GetTilesetMaterialIDList",p:void 0});if(t.error){console.error("GetTilesetMaterialIDList:",t.error);return}return t.re.materialIDList};class ne extends o.Destroyable{}const qn={Response:1},ut={UIInteraction:50,MouseWheel:75};class Zn extends o.HasOwner{constructor(e,i){super(e);f(this,"_processResponseFn",e=>this.esUeViewer.processResponse(e));f(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=e=>{if(this.isDestroyed())return;let i=new FileReader;i.onload=n=>{if(this.isDestroyed())return;let r=n.target.result,s=new Uint32Array(r),a=0;if(s[0]===qn.Response){a+=4;let g=s[a/4];a+=4;for(let l=0;l<g;l++){let y=s[a/4];a+=4;let v=new TextDecoder("utf-8").decode(r.slice(a,a+y));a+=y,this._processResponseFn(v)}}},i.readAsArrayBuffer(e.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=e=>{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=e=>{this.isDestroyed()||(console.log("%c[EarthSDK websocket error ]","background: red; color: black","error"),this.owner.dispatchEvent(new CustomEvent("error",{detail:"websocket error"})))}}sendInputData(e){const i=this.inner;if(i.readyState!==WebSocket.OPEN)return;const r=new Uint8Array(e)[0];if(r>=ut.UIInteraction&&r<=ut.MouseWheel){const s=new ArrayBuffer(e.byteLength+4);return new DataView(s).setUint32(0,e.byteLength,!0),new Uint8Array(s,4).set(new Uint8Array(e)),i.send(new DataView(s)),!0}else return!1}emitDescriptorWithString(e,i){let n=new TextEncoder().encode(i),r=new DataView(new ArrayBuffer(3+n.length)),s=0;r.setUint8(s,e),s++,r.setUint16(s,n.length,!0),s+=2;for(let a=0;a<n.length;a++)r.setUint8(s,n[a]),s+=1;try{this.sendInputData(r.buffer)}catch(a){console.error(`data.buffer.size: ${r.buffer.byteLength} 独立通道 sendInputData error: ${a}`,a)}}destroyImpl(){this._inner&&this._inner.close()}}globalThis.g_emitDescriptor_maxBytes=3e4;let Qn=-1;L.Logger.SetLoggerVerbosity(1);class Yn extends o.Destroyable{constructor(e,i){super();f(this,"_eventTarget",new EventTarget);f(this,"debug",!1);f(this,"uiInteractionCallbacks",new Map);f(this,"_pixelStream");f(this,"_esMsgWsWrapper");this._domOrDomId=e,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:r,esmsgWsUri:s}=this._options;this._pixelStream=this._initPixelStream(n,r),this.d(()=>{this._pixelStream.disconnect()}),this._handerPixelStreamEvent(),this._esMsgWsWrapper=this._initEsMsgWsWrapper(s);const a=this;if(a.esMsgWsWrapper){const g=a.webRtcController.sendMessageController.dataChannelSender.sendData;a.webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(l){a.esMsgWsWrapper?a.esMsgWsWrapper.sendInputData(l):g.call(this,l)}}}get eventTarget(){return this._eventTarget}addEventListener(e,i,n){return this.eventTarget.addEventListener(e,i,n)}removeEventListener(e,i,n){return this.eventTarget.removeEventListener(e,i,n)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}_initPixelStream(e,i){const n=new L.Config({initialSettings:{AutoConnect:!0,AutoPlayVideo:!0,StartVideoMuted:!0,UseMic:!1,ForceMonoAudio:!1,KeyboardInput:!0,MouseInput:!0,TouchInput:!0,GamepadInput:!0,XRControllerInput:!0,SuppressBrowserKeys:!1,HoveringMouse:!0,FakeMouseWithTouches:!1,BrowserSendOffer:!1,ForceTURN:!1,PreferSFU:!1,IsQualityController:!0,MatchViewportResolution:!0,AFKDetection:!1,[L.TextParameters.SignallingServerUrl]:i}});return n.setNumericSetting(L.NumericParameters.MaxReconnectAttempts,0),new L.PixelStreaming(n,{videoElementParent:e})}get pixelStream(){return this._pixelStream}_initEsMsgWsWrapper(e){return e?this.dv(new Zn(this,e)):void 0}get esMsgWsWrapper(){return this._esMsgWsWrapper}get esWebSocketReady(){var e;return((e=this.esMsgWsWrapper)==null?void 0:e.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",e=>{this.processResponse(e)})}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);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(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.dispatchEvent(new CustomEvent("ueevent",{detail:e}))}emitUIInteraction(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i)),this.pixelStream.emitUIInteraction(e)}get webRtcController(){return this.pixelStream._webRtcController}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=globalThis.g_emitDescriptor_maxBytes,s=n.length,a=++Qn;if(this.esMsgWsWrapper){if(s<r){this.esMsgWsWrapper.emitDescriptorWithString(ut.UIInteraction,`${a}-0/1-`+n);return}const g=Math.ceil(s/r)|0;[...new Array(g).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,v)=>{this.esMsgWsWrapper&&this.esMsgWsWrapper.emitDescriptorWithString(ut.UIInteraction,`${a}-${v}/${g}-`+y)})}}emitCommand(e){this.pixelStream.emitCommand(e)}getVideoSize(){const e=this.webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}resizeUEVideo(e,i){let n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class kn extends o.Destroyable{constructor(e,i,n){super();f(this,"_instance");f(this,"_event",this.dv(new o.Event));this._container=e,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(e){this._instance.debug=e}instanceInit(){if("addEventListener"in this._instance){["esmsgwsopen","error","videoinited","ueevent","webRtcConnected"].forEach(i=>{const n=r=>{this._event.emit(i,r.detail)};this._instance.addEventListener(i,n),this.dispose(()=>this._instance.removeEventListener(i,n))});return}this.dispose(this._instance.errorEvent.disposableOn(e=>{this._event.emit("error",e.detail)})),this.dispose(this._instance.webRtcConnectedEvent.disposableOn(e=>{this._event.emit("webRtcConnected",e.detail)})),this.dispose(this._instance.videoinitedEvent.disposableOn(e=>{this._event.emit("videoinited",e.detail)})),this.dispose(this._instance.ueevent.disposableOn(e=>{this._event.emit("ueevent",e.detail)}))}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class On extends ne{constructor(e,i,n,r){super();f(this,"_esueViewerWrapper");f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));f(this,"_errorEvent",this.dv(new o.Event));f(this,"_readyEvent",this.dv(new o.Event));f(this,"_esmsgwsopen",this.dv(o.react(!1)));f(this,"_videoinited",this.dv(o.react(!1)));f(this,"_webRtcConnected",this.dv(o.react(!1)));this._ueViewer=r,console.log("CSTMPSViewer init ! 以官方像素流 + 独立通信的模式启动!");const s=this._ueViewer;this._esueViewerWrapper=this.dv(new kn(e,i,n));const a=this._esueViewerWrapper;{const u=()=>a.debug=s.debug??!1;u(),this.d(s.debugChanged.don(u))}let g=!1;{const u=()=>{if(g)return;const h=a.webSocketReady;if(this.videoinited&&this.webRtcConnected&&h){console.log("%c[EarthSDK: esmsgWebSocket && videoinited && webRtcConnected]","background: #a6ec99; color: black");const w={eventType:"init",params:{}};a.emitUIInteractionForBigData(w),this._readyEvent.emit(),g=!0}};this.d(this.videoinitedChanged.don(()=>{u()})),this.d(this.webRtcConnectedChanged.don(()=>{u()})),this.d(this.esmsgwsopenChanged.don(()=>{u()}))}this.d(a.event.don((u,h)=>{if(u==="error")this._errorEvent.emit(h);else if(u==="ueevent"){const w=JSON.parse(h);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 u==="webRtcConnected"?this.webRtcConnected=!0:u==="videoinited"?this.videoinited=!0:u==="esmsgwsopen"&&(this.esmsgwsopen=!0)}));{const u=this.dv(o.createAnimateFrame());let h,w;u.start(()=>{if(h!==e.offsetWidth||w!==e.offsetHeight){if(h=e.offsetWidth,w=e.offsetHeight,h===void 0||w===void 0||!Number.isFinite(h)||!Number.isFinite(w)||h<0||w<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${h} ${w}`);return}a.resize(h,w),console.log(`resize: ${h} ${w}`)}})}this.d(this._ueFuncResultWithIdsEvent.don(u=>{for(const h of u){const w=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),w.resultCallback(h.r))}}));let l=0;const y=u=>{const h={n:l++,tt:Date.now(),t:"c",fs:u};this._waitingUeCalls.add(h),s.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._esueViewerWrapper.emitUIInteractionForBigData(h,()=>{this._waitingUeCalls.delete(h)})},v=()=>{if(!g||this._ueFuncWithIdAndResultCallbacks.length===0)return;const u=this._ueFuncWithIdAndResultCallbacks.map(([h])=>h);for(const[h,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const h=globalThis.g_emitDescriptor_maxBytes,w=u.map(T=>({f:T,s:JSON.stringify(T).length}));let m=w.length,C=0,I=0,E=[];do{do{const{f:T,s:F}=w[C];if(E.push(T),++C,I+F>h||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),y([...E]),E.length=0,I=0)}while(C<m)}};this.dv(o.createInterval()).start(v,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(e){this._esmsgwsopen.value=e}get esmsgwsopenChanged(){return this._esmsgwsopen.changed}get videoinited(){return this._videoinited.value}set videoinited(e){this._videoinited.value=e}get videoinitedChanged(){return this._videoinited.changed}get webRtcConnected(){return this._webRtcConnected.value}set webRtcConnected(e){this._webRtcConnected.value=e}get webRtcConnectedChanged(){return this._webRtcConnected.changed}resize(e,i){this.esueViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){(this._ueViewer.debug??!1)&&console.log(`disposableOnUeEvent from UeCloudViewer, type:${e}`);const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}function jn(c){let t="";const e=new Uint8Array(c),i=e.length;for(let n=0;n<i;n++)t+=String.fromCharCode(e[n]);return btoa(t)}const er=c=>{const t={type:"input",inputdata:jn(c)};return JSON.stringify(t)};function tr(c){return typeof c=="string"?document.getElementById(c):c}globalThis.g_emitDescriptor_maxBytes=3e4;let ir=-1;L.Logger.SetLoggerVerbosity(1);class nr extends o.Destroyable{constructor(e,i){super();f(this,"debug",!1);f(this,"_error",this.dv(new o.Event));f(this,"_connected",this.dv(new o.Event));f(this,"_ueevent",this.dv(new o.Event));f(this,"_pixelStream");f(this,"uiInteractionCallbacks",new Map);this._container=e,this._option=i;const n=new L.Config({initialSettings:{AutoConnect:!0,AutoPlayVideo:!0,StartVideoMuted:!0,UseMic:!1,ForceMonoAudio:!1,KeyboardInput:!0,MouseInput:!0,TouchInput:!0,GamepadInput:!0,XRControllerInput:!0,SuppressBrowserKeys:!1,HoveringMouse:!0,FakeMouseWithTouches:!1,BrowserSendOffer:!1,ForceTURN:!1,PreferSFU:!1,IsQualityController:!0,MatchViewportResolution:!0,AFKDetection:!1,[L.TextParameters.SignallingServerUrl]:this._option.ws}});n.setNumericSetting(L.NumericParameters.MaxReconnectAttempts,0),this._pixelStream=new L.PixelStreaming(n,{videoElementParent:this.container}),this.d(()=>{this._pixelStream.disconnect()});{const r=this.pixelStream.webSocketController.webSocket,s=this._pixelStream._webRtcController.sendMessageController.dataChannelSender.sendData;this._pixelStream._webRtcController.sendMessageController.dataChannelSender.constructor.prototype.sendData=function(a){r?r.send(er(a)):s.call(this,a)}}{const r=s=>{const a=this._pixelStream._webRtcController.mouseController;setTimeout(()=>{const g=a.coordinateConverter.normalizeAndQuantizeUnsigned(s.offsetX,s.offsetY),y=a.toStreamerMessagesProvider.toStreamerHandlers.get("MouseUp");y&&y([s.button,g.x,g.y]),s.preventDefault()})};this.container.addEventListener("dblclick",r),this.d(()=>{this.container.removeEventListener("dblclick",r)})}["error","close","open"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="open"?this.connected.emit("webSocketOpen"):s==="close"?this.error.emit("webSocketClose"):s==="error"&&this.error.emit("webSocketError"))};this.pixelStream.webSocketController.webSocket.addEventListener(s,a),this.d(()=>{this.pixelStream.webSocketController.webSocket.removeEventListener(s,a)})}),["videoInitialized","webRtcConnected","webRtcDisconnected","webRtcFailed"].forEach(s=>{const a=()=>{this.isDestroyed()||(s==="webRtcConnected"||s==="videoInitialized"?this.connected.emit(s):(s==="webRtcDisconnected"||s==="webRtcFailed")&&(this.error.emit(s),this.pixelStream.disconnect()))};this.pixelStream.addEventListener(s,a),this.d(()=>{this.pixelStream.removeEventListener(s,a)})}),this.pixelStream.addResponseEventListener("handle_responses",r=>{this.processResponse(r)}),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 tr(this._container)}get pixelStream(){return this._pixelStream}get webSocketReady(){return this.pixelStream.webSocketController.webSocket.readyState===1}processResponse(e){if(this.debug??!1)try{const i=JSON.parse(e);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(${e}) error: ${i}`,i)}this.resolveCallback(e)||this.ueevent.emit(e)}emitUIInteractionForBigData(e,i){typeof i=="function"&&(e.callid=o.createGuid(),this.uiInteractionCallbacks.set(e.callid,i));const n=JSON.stringify(e),r=globalThis.g_emitDescriptor_maxBytes??3e4,s=n.length,a=++ir;if(s<r){const y={type:"earthsdk",time:new Date().getTime(),params:`${a}-0/1-`+n};this.sendData(JSON.stringify(y));return}const g=Math.ceil(s/r)|0;[...new Array(g).keys()].map(y=>n.slice(y*r,(y+1)*r)).forEach((y,v)=>{const d={type:"earthsdk",time:new Date().getTime(),params:`${a}-${v}/${g}-`+y};this.sendData(JSON.stringify(d))})}sendData(e){this.pixelStream.webSocketController.webSocket.send(e)}resolveCallback(e){let i={};try{i=JSON.parse(e)}catch{return!1}let n=i.callid;if(typeof n!="string"||!this.uiInteractionCallbacks.has(n))return!1;let r=this.uiInteractionCallbacks.get(n);return typeof r!="function"?!1:(r(i),this.uiInteractionCallbacks.delete(n),!0)}getVideoSize(){const e=this._pixelStream._webRtcController.videoPlayer.getVideoElement();return{width:e.videoWidth,height:e.videoHeight}}emitCommand(e){this.pixelStream.emitCommand(e)}emitUIInteraction(){console.log("emitUIInteraction 像素流初始化"),this.pixelStream.emitUIInteraction("像素流初始化")}resizeUEVideo(e,i){const n={Resolution:{Width:e,Height:i}};console.log(`resizeUEVideo emitCommand ${e} ${i} begin`),this.emitCommand(n)}}class rr extends o.Destroyable{constructor(e,i,n){super();f(this,"_instance");f(this,"_event",this.dv(new o.Event));this._container=e,this._wsuri=i,this._esmsgWsUri=n,this._instance=this.dv(new nr(this._container,{ws:this._wsuri})),this.d(this._instance.connected.don(r=>{this._event.emit(r,r),console.log(`%c[EarthSDK] ${r}`,"background: #a6ec99; color: black")})),this.d(this._instance.error.don(r=>{this._event.emit("errorEvent",r),console.log(`%c[EarthSDK] ${r}`,"background: red; color: black")})),this.d(this._instance.ueevent.don(r=>{this._event.emit("ueevent",r)}))}get instance(){return this._instance}get event(){return this._event}get debug(){return this._instance.debug}set debug(e){this._instance.debug=e}emitUIInteractionForBigData(e,i){return new Promise((n,r)=>{const s=(...a)=>{n(a),i&&i(...a)};try{this._instance.emitUIInteractionForBigData(e,s)}catch(a){console.warn(`emitUIInteraction发生错误:${a}`),r(a)}})}getVideoSize(){return this._instance.getVideoSize()}resize(e,i){this._instance.resizeUEVideo(e,i)}}class or extends ne{constructor(e,i,n,r){super();f(this,"_videoInitialized",this.dv(o.react(!1)));f(this,"_webRtcConnected",this.dv(o.react(!1)));f(this,"_webSocketOpen",this.dv(o.react(!1)));f(this,"_ue5ViewerWrapper");f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));f(this,"_errorEvent",this.dv(new o.Event));f(this,"_readyEvent",this.dv(new o.Event));this._ueViewer=r,console.log("INNPSViewer init ! 以内置信令服务器模式启动!");const s=this._ueViewer,a=this.dv(new rr(e,i,n));this._ue5ViewerWrapper=a;{const d=()=>a.debug=s.debug??!1;d(),this.d(s.debugChanged.don(d))}{let d=!1;const u=this.dv(o.createNextAnimateFrameEvent(this._videoInitialized.changed,this._webRtcConnected.changed,this._webSocketOpen.changed));this.d(u.don(()=>{if(d)return;const h=this._ue5ViewerWrapper.instance.webSocketReady;if(this.videoInitialized&&this.webRtcConnected&&h){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",h),d=!1}))}this.d(a.event.don((d,u)=>{if(d==="errorEvent")this._errorEvent.emit(u);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 h=JSON.parse(u);if(h.t==="cr"){const w=h;if(w.frs&&this._ueFuncResultWithIdsEvent.emit(w.frs),w.ers)for(let m of w.ers)this._ueEvent.emit(m)}}}));{const d=this.dv(o.createAnimateFrame());let u,h,w;d.start(()=>{if(u!==e.offsetWidth||h!==e.offsetHeight||w!==s.resolutionScale){if(u=e.offsetWidth,h=e.offsetHeight,u===void 0||h===void 0||!Number.isFinite(u)||!Number.isFinite(h)||u<0||h<0){console.warn(`lastWidth === undefined || lastHeight === undefined || !Number.isFinite(lastWidth) || !Number.isFinite(lastHeight) || lastWidth < 0 || lastHeight < 0 ${u} ${h}`);return}w=s.resolutionScale,a.resize(u/w,h/w)}})}this.d(this._ueFuncResultWithIdsEvent.don(d=>{for(const u of d){const h=this._waitingUeFuncIdAndResultCallbacks.get(u.fid);h&&(this._waitingUeFuncIdAndResultCallbacks.delete(u.fid),h.resultCallback(u.r))}}));let g=0;const l=d=>{const u={n:g++,tt:Date.now(),t:"c",fs:d};this._waitingUeCalls.add(u),s.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(u,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd()),this._ue5ViewerWrapper.emitUIInteractionForBigData(u,()=>{this._waitingUeCalls.delete(u)})},y=()=>{if(!this._ue5ViewerWrapper.instance.webSocketReady||this._ueFuncWithIdAndResultCallbacks.length===0)return;const u=this._ueFuncWithIdAndResultCallbacks.map(([h])=>h);for(const[h,w]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(h.fid,w);this._ueFuncWithIdAndResultCallbacks.length=0;{const h=globalThis.g_emitDescriptor_maxBytes,w=u.map(T=>({f:T,s:JSON.stringify(T).length}));let m=w.length,C=0,I=0,E=[];do{do{const{f:T,s:F}=w[C];if(E.push(T),++C,I+F>h||E.length>=20)break}while(C<m);E.length>0&&(s.debug&&console.log(`传送${E.length}条消息...`),l([...E]),E.length=0,I=0)}while(C<m)}};this.dv(o.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(e,i){this.ue5ViewerWrapper.resize(e,i)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,{timeStamp:Date.now(),ueFunc:e,resultCallback:i}])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.don(a=>{a.et===e&&a.eid===n&&i(a)});return()=>{s(),r()}}}class sr extends o.Destroyable{constructor(e,i,n,r){super();f(this,"_onRuntimeInitialized",this.dv(new o.Event));f(this,"_vIframe",null);this._ueViewer=r;const s=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;",e.appendChild(a),this.d(()=>{a&&e.removeChild(a)});const g=o.ESSceneObject.getStrFromEnv(n+`/web/${i}.html`);a.src=g,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(),s.setStatus("Created"),s.setStatusLog("创建成功"),l.Module.UE4_resizeCanvas(),l.console.log("创建成功__________________________________________")}}}}get onRuntimeInitialized(){return this._onRuntimeInitialized}get vIframe(){return this._vIframe}}const $n=typeof TextDecoder<"u"?new TextDecoder:void 0,ar=(c,t=0,e=NaN)=>{const i=t+e;let n=t;for(;c[n]&&!(n>=i);)++n;if(n-t>16&&c.buffer&&$n)return $n.decode(c.subarray(t,n));let r="";for(;t<n;){var s=c[t++];if(!(s&128)){r+=String.fromCharCode(s);continue}var a=c[t++]&63;if((s&224)==192){r+=String.fromCharCode((s&31)<<6|a);continue}var g=c[t++]&63;if((s&240)==224?s=(s&15)<<12|a<<6|g:((s&248)!=240&&console.warn("Invalid UTF-8 leading byte encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),s=(s&7)<<18|a<<12|g<<6|c[t++]&63),s<65536)r+=String.fromCharCode(s);else{var l=s-65536;r+=String.fromCharCode(55296|l>>10,56320|l&1023)}}return r};class lr extends o.Destroyable{constructor(t,e,i){super();{const n=()=>{const g=ft(e);e.setGlobalProperty(g)};n();const r=ct(),s=[];r.forEach(g=>{const l=e[g+"Changed"];s.push(l)});const a=this.dv(o.createNextAnimateFrameEvent(...s));this.d(a.don(n))}this.d(e.propChanged.don(n=>{if(n.objId==="")try{Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];e[r]=s})}catch(r){console.error("ueViewer propChanged:"+r)}})),e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,t)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,n=>{if((e.statusUpdateInterval??.5)===0)return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("statusUpdate",a=>{e.statusUpdateEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("propChanged",s=>{e.propChanged.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("objectEvent",s=>{e.objectEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("widgetEvent",s=>{e.widgetEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("speechRecognition",s=>{e.speechRecognition.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("customMessage",s=>{e.customMessage.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const r=new o.Destroyable;return r.d(i.disposableOnUeEvent("editingEvent",s=>{s.objectIDs=s.objectIDs.map(a=>{var g;return((g=o.ESSceneObject.getSceneObjById(a))==null?void 0:g.parentID)??a}),e.editingEvent.emit(s)})),r})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}let dr=-1;class cr extends ne{constructor(e,i,n="${earthsdk3-ue-h5-assets-script-dir}",r){super();f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Map);f(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=r;const s=this._ueViewer,a=this.dv(new sr(e,i,n,s));let g=!1,l=null;this.d(a.onRuntimeInitialized.don(()=>{var u;if(g=!0,(u=a==null?void 0:a.vIframe)!=null&&u.contentWindow){l=a.vIframe.contentWindow;const h=a.vIframe.contentWindow.document.getElementById("mainarea");h?this.dv(new lr(h,s,this)):console.error("h5Container is null")}else{console.error("iframeWindow is null");return}l.UE_JSHTML5Communication?l.UE_JSHTML5Communication.UESendMessageToJS=h=>{try{const w=ar(l.HEAPU8,h),m=JSON.parse(w);if(s.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 I of C.ers)this._ueEvent.emit(I)}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(u=>{for(const h of u){const w=this._waitingUeFuncIdAndResultCallbacks.get(h.fid);w&&(this._waitingUeFuncIdAndResultCallbacks.delete(h.fid),w(h.r))}}));let y=0;const v=()=>{if(!g||!l||!l.UE_JSHTML5Communication||!l.UE_JSHTML5Communication.JSSendMessageToUE||this._ueFuncWithIdAndResultCallbacks.length===0)return;const u=this._ueFuncWithIdAndResultCallbacks.map(([F])=>F),h={n:y++,tt:Date.now(),t:"c",fs:u,callid:o.createGuid()};for(const[F,B]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(F.fid,B);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.set(h.callid,h),s.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());const w=JSON.stringify(h),m=globalThis.g_emitDescriptor_maxBytes??3e4,C=w.length,I=++dr;if(C<m){const F=`${I}-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,B)=>{const b=`${I}-${B}/${E}-`+F;l.UE_JSHTML5Communication.JSSendMessageToUE(b)})};this.dv(o.createInterval()).start(v,50)}processResponse(e){if(this._ueViewer.debug??!1)try{const i=JSON.parse(e);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(${e}) error: ${i}`,i)}}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}let ur=-1;class hr extends ne{constructor(e,i){super();f(this,"_ueFuncResultWithIdsEvent",this.dv(new o.Event));f(this,"_ueFuncWithIdAndResultCallbacks",[]);f(this,"_waitingUeFuncIdAndResultCallbacks",new Map);f(this,"_waitingUeCalls",new Set);f(this,"_ueEvent",this.dv(new o.Event));this._ueViewer=i;const n=this._ueViewer;let r=!1;const s={eventType:"init",params:{}};globalThis.ue.es.oncommand(JSON.stringify(s)),r=!0,globalThis.calljs=(y,v)=>{if(n.debug&&console.log(`calljs eventName:${y} eventDetailStr:${v}`),y==="ueevent"||y==="commanFinish")try{const d=JSON.parse(v);if(d.t==="cr"){const u=d;if(u.frs&&this._ueFuncResultWithIdsEvent.emit(u.frs),u.ers)for(let h of u.ers)this._ueEvent.emit(h)}}catch(d){console.error(d)}},this.dispose(this._ueFuncResultWithIdsEvent.disposableOn(y=>{for(const v of y){const d=this._waitingUeFuncIdAndResultCallbacks.get(v.fid);d&&(this._waitingUeFuncIdAndResultCallbacks.delete(v.fid),d(v.r))}}));let a=0;const g=()=>{if(!r||this._ueFuncWithIdAndResultCallbacks.length===0)return;const y=this._ueFuncWithIdAndResultCallbacks.map(([u])=>u),v={n:a++,tt:Date.now(),t:"c",fs:y};for(const[u,h]of this._ueFuncWithIdAndResultCallbacks)this._waitingUeFuncIdAndResultCallbacks.set(u.fid,h);this._ueFuncWithIdAndResultCallbacks.length=0,this._waitingUeCalls.add(v),n.debug&&(console.group("%cxe2 => ue"," background-color:green;color:#ffffff;font-weight:bold;padding:4px;border-radius:5px;"),console.log(`%c${JSON.stringify(v,void 0,"")}`," border:1px dashed green;border-radius:5px;padding:10px;line-height:25px;color:green;"),console.groupEnd());const d=++ur;globalThis.ue.es.oncommand(`${d}-0/1-`+JSON.stringify(v)).then(()=>{this._waitingUeCalls.delete(v)})};this.dv(o.createInterval()).start(g,50)}callUeFunc(e){return new Promise(i=>{const r={fid:o.createGuid(),...e};this._ueFuncWithIdAndResultCallbacks.push([r,i])})}disposableOnUeEvent(e,i){const n=o.createGuid();this.callUeFunc({f:"addEventListener",p:{et:e,eid:n}});const r=()=>{this.callUeFunc({f:"removeEventListener",p:{eid:n}})},s=this._ueEvent.disposableOn(a=>{a.et===e&&a.eid===n&&((this._ueViewer.debug??!1)&&console.log(`callback, type:${e} eid:${n} ueEvent:${JSON.stringify(a)}`),i(a))});return()=>{s(),r()}}}class gr extends o.Destroyable{constructor(t,e){super();{const i=()=>{const a=ft(t);t.setGlobalProperty(a)};i();const n=ct(),r=[];n.forEach(a=>{const g=t[a+"Changed"];r.push(g)});const s=this.dv(o.createNextAnimateFrameEvent(...r));this.d(s.don(i))}this.d(t.propChanged.don(i=>{if(i.objId==="")try{Object.keys(i.props).forEach(n=>{const r=i.props[n]===null?void 0:i.props[n];t[n]=r})}catch(n){console.error("ueViewer propChanged:"+n)}})),this.dv(new o.ObjResettingWithEvent(t.statusUpdateIntervalChanged,i=>{if((t.statusUpdateInterval??.5)===0)return;const r=new o.Destroyable;return r.d(e.disposableOnUeEvent("statusUpdate",s=>{t.statusUpdateEvent.emit(s)})),r})),this.dv(new o.ObjResettingWithEvent(t.propChangedListeningChanged,()=>{if(!(t.propChangedListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("propChanged",r=>{t.propChanged.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.objectEventListeningChanged,()=>{if(!(t.objectEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("objectEvent",r=>{t.objectEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.widgetEventListeningChanged,()=>{if(!(t.widgetEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("widgetEvent",r=>{t.widgetEvent.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.speechRecognitionListeningChanged,()=>{if(!(t.speechRecognitionListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("speechRecognition",r=>{t.speechRecognition.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.customMessageListeningChanged,()=>{if(!(t.customMessageListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("customMessage",r=>{t.customMessage.emit(r)})),n})),this.dv(new o.ObjResettingWithEvent(t.editingEventListeningChanged,()=>{if(!(t.editingEventListening??!0))return;const n=new o.Destroyable;return n.d(e.disposableOnUeEvent("editingEvent",r=>{r.objectIDs=r.objectIDs.map(s=>{var a;return((a=o.ESSceneObject.getSceneObjById(s))==null?void 0:a.parentID)??s}),t.editingEvent.emit(r)})),n})),this.ad(e.disposableOnUeEvent("cameraChanged",()=>{t.cameraChanged.emit()}))}}class vr extends o.Destroyable{constructor(t,e,i){super();{const r=()=>{const l=ft(e);e.setGlobalProperty(l)};r();const s=ct(),a=[];s.forEach(l=>{const y=e[l+"Changed"];a.push(y)});const g=this.dv(o.createNextAnimateFrameEvent(...a));this.d(g.don(r))}this.d(e.propChanged.don(r=>{if(r.objId==="")try{Object.keys(r.props).forEach(s=>{const a=r.props[s]===null?void 0:r.props[s];e[s]=a})}catch(s){console.error("ueViewer propChanged:"+s)}}));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鼠标事件是否生效"),t.appendChild(n),this.d(()=>{n&&t&&t.removeChild(n)});{const r=(l,y)=>{globalThis.ue.esinput.setinterceptevent(y),l.preventDefault()},s=l=>{r(l,!1)},a=l=>{r(l,!0)},g=l=>{r(l,!1)};n.addEventListener("mouseenter",s),n.addEventListener("mouseleave",a),n.addEventListener("mousemove",g),this.d(()=>{n.removeEventListener("mouseenter",s),n.removeEventListener("mouseleave",a),n.removeEventListener("mousemove",g)})}e.useCustomInteraction=!1,this.dv(new o.ViewerCustomInteraction(e,n)),this.dv(new o.ObjResettingWithEvent(e.statusUpdateIntervalChanged,r=>{if((e.statusUpdateInterval??.5)===0)return;const a=new o.Destroyable;return a.d(i.disposableOnUeEvent("statusUpdate",g=>{e.statusUpdateEvent.emit(g)})),a})),this.dv(new o.ObjResettingWithEvent(e.propChangedListeningChanged,()=>{if(!(e.propChangedListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("propChanged",a=>{e.propChanged.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.objectEventListeningChanged,()=>{if(!(e.objectEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("objectEvent",a=>{e.objectEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.widgetEventListeningChanged,()=>{if(!(e.widgetEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("widgetEvent",a=>{e.widgetEvent.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.speechRecognitionListeningChanged,()=>{if(!(e.speechRecognitionListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("speechRecognition",a=>{e.speechRecognition.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.customMessageListeningChanged,()=>{if(!(e.customMessageListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("customMessage",a=>{e.customMessage.emit(a)})),s})),this.dv(new o.ObjResettingWithEvent(e.editingEventListeningChanged,()=>{if(!(e.editingEventListening??!0))return;const s=new o.Destroyable;return s.d(i.disposableOnUeEvent("editingEvent",a=>{a.objectIDs=a.objectIDs.map(g=>{var l;return((l=o.ESSceneObject.getSceneObjById(g))==null?void 0:l.parentID)??g}),e.editingEvent.emit(a)})),s})),this.ad(i.disposableOnUeEvent("cameraChanged",()=>{e.cameraChanged.emit()}))}}class pr extends o.Destroyable{constructor(e,i,n){super();f(this,"_reconnectEvent",this.dv(new o.Event));const r=(v,d)=>v.hasOwnProperty(d);let s=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 v=this.dv(new hr(e,n));this.d(()=>n.viewer=void 0),n.viewer=v,n.setStatus("Created"),n.setStatusLog("本地视口创建成功!"),this.dv(new vr(e,n,v))}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 v=setInterval(()=>{globalThis.ue&&globalThis.ue.es&&(clearInterval(v),y())},200)}else if(r(i.options,"ws")||r(i.options,"uri")&&r(i.options,"app")){n.setStatus("Creating"),n.setStatusLog("开始创建云渲染视口...");let v;this.d(()=>{n.setStatus("Raw"),n.setStatusLog(""),e&&v&&e.removeChild(v)&&(v=void 0)});const d=this.dv(o.createProcessingFromAsyncFunc(async u=>{n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,v&&e.removeChild(v)&&(v=void 0),v=document.createElement("div"),v.setAttribute("earthsdk3-ue","earthsdk3-ue-videoContainer"),v.style.cssText="position:relative; height: 100%;width:100%;",e.appendChild(v);let h,w,m,C;if(r(i.options,"ws")){const{ws:F,esmsg:B,uselnternalSignallingServer:b,silentTime:Wi}=i.options;h=F,w=B,m=b??!1,C=Wi??0}if(r(i.options,"uri")&&r(i.options,"app")){const{offsetWidth:F,offsetHeight:B}=v;let{uri:b,app:Wi,token:Jn,silentTime:yr}=i.options;b.endsWith("/")||(b+="/");const mr=Jn?`?essstoken=${Jn}`:"",Kn=`/${Wi}/${F??1920}/${B??1080}`+mr;console.log(`请求信令服务器: ${b}instance${Kn}`);const Cr=await u.promise(fetch(`${b}instance${Kn}`,{method:"GET"})),k=await u.promise(Cr.json());if(k&&k.status!=="ok"){n.setStatus("Error"),n.setStatusLog(`信令服务器请求失败 ${k.status}`),this._reconnectEvent.emit(void 0);return}else{console.log(`信令服务器请求成功! ${JSON.stringify(k,void 0," ")}`);const{server:Er,esmsg:Sr,instanceId:Fr,useInternalSignallingServer:Ir}=k;if(!Fr){n.setStatus("Error"),n.setStatusLog("检查信令服务器版本,返回数据错误! "),console.log("信令服务器返回数据错误!不包含instanceId!请升级到 ESSS V3.0+ 版本!"),this._reconnectEvent.emit(void 0);return}h=Er,w=Sr,m=Ir??!1,C=yr??0,n.esssResponse=k}}console.log(`静默 ${C}s...`),await u.promise(o.sleep((C??0)*1e3)),console.log(`静默 ${C}s...done!`);const I=this.dv(m?new or(v,h,w,n):new On(v,h,w,n));this.d(()=>n.viewer=void 0),this.d(I.errorEvent.don(F=>{const B=`[${F}]:像素流连接错误!`;n.setStatus("Error"),n.setStatusLog(B),this._reconnectEvent.emit(I)})),await u.promise(new Promise(F=>this.d(I.readyEvent.donce(F)))),n.setStatus("Created"),n.setStatusLog("云渲染视口创建成功!"),s=0,a&&clearTimeout(a),a=void 0;const{offsetWidth:E,offsetHeight:T}=v;I.resize(E*globalThis.devicePixelRatio,T*globalThis.devicePixelRatio),n.viewer=I,this.d(()=>n.viewer=void 0),this.dv(new gr(n,I))}));d.start(),this.d(this._reconnectEvent.don(u=>{a===void 0&&(u&&!u.isDestroyed()&&u.destroy(),n.viewer&&!n.viewer.isDestroyed()&&n.viewer.destroy(),n.viewer=void 0,n.autoReconnect&&(n.setStatus("Reconnecting"),n.setStatusLog("正在尝试重新连接..."),s=s+5e3>3e4?3e4:s+5e3,console.warn(`间隔:${s/1e3}s,正在尝试重新连接...`),a=globalThis.setTimeout(()=>{d.restart()},s)))})),this.d(d.errorEvent.don(u=>{n.setStatus("Error"),n.setStatusLog("云渲染视口创建失败!"),console.warn("云渲染视口创建失败!",u),this._reconnectEvent.emit(void 0)}))}else if(r(i.options,"project")){const v=i,d=v.options.project,u=v.options.baseUrl;n.setStatus("Creating"),n.setStatusLog("下载编译中...");const h=this.dv(new cr(e,d,u,n));n.viewer=h,this.d(()=>n.viewer=void 0)}else n.setStatus("Error"),n.setStatusLog("视口创建失败!"),console.warn("视口创建失败: 参数错误!")}}const _=class _ extends o.ESViewer{constructor(e){super(e);f(this,"_viewer",this.dv(o.react(void 0)));f(this,"_esssResponse");f(this,"_speechRecognition",this.dv(new o.Event));f(this,"_propChanged",this.dv(new o.Event));f(this,"_objectEvent",this.dv(new o.Event));f(this,"_widgetEvent",this.dv(new o.Event));f(this,"_customMessage",this.dv(new o.Event));f(this,"_statusUpdateEvent",this.dv(new o.Event));f(this,"_statusUpdateEventdon",(()=>{this.d(this.statusUpdateEvent.don(e=>{this._statusInfo.fps=e.FPS??0,this._statusInfo.length=e.length??0,this._statusInfo.position=e.position??[0,0,0],this._statusInfo.rotation=e.rotation??[0,0,0]}))})());if(e.type!=="ESUeViewer")throw new Error("option.type must be ESUeViewer");const i=e;this.d(this._viewer.changed.don(()=>{this.viewerChanged.emit(this.viewer)})),this.dv(new o.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new pr(this.subContainer,i,this)}))}get defaultProps(){return _.createDefaultProps()}set viewer(e){this._viewer.value=e}get viewer(){return this._viewer.value}get esssResponse(){return this._esssResponse}set esssResponse(e){this._esssResponse=e}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(e){if(!this.viewer){console.warn("UEPositionToLonLatAlt: viewer is undefined");return}return await sn(this.viewer,e)}async changeNavigationMode(e){if(!this.viewer){console.warn("ChangeNavigationMode: viewer is undefined");return}const i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async resetWithCurrentCamera(e){if(!this.viewer){console.warn("resetWithCurrentCamera: viewer is undefined");return}return await yt(this.viewer,e)}async getAllSocketNamesByActorTag(e){if(!this.viewer){console.warn("GetAllSocketNamesByActorTag: viewer is undefined");return}return await an(this.viewer,e)}async getBoundSphere(e){if(!this.viewer){console.warn("getBoundSphere: viewer is undefined");return}return await dn(this.viewer,e)}async getBoundSphereWithChildren(e){if(!this.viewer){console.warn("getBoundSphereWithChildren: viewer is undefined");return}return await cn(this.viewer,e)}async getStrokeMaterialParamInfo(e){if(!this.viewer){console.warn("GetStrokeMaterialParamInfo: viewer is undefined");return}return await un(this.viewer,e)}async getFillMaterialParamInfo(e){if(!this.viewer){console.warn("getFillMaterialParamInfo: viewer is undefined");return}return await hn(this.viewer,e)}async getGlobalProperty(e){if(!this.viewer){console.warn("getGlobalProperty: viewer is undefined");return}return await gn(this.viewer,e)}async getObjectByInfo(e){if(!this.viewer){console.warn("GetObjectByInfo: viewer is undefined");return}return await vn(this.viewer,e)}async defaultCameraFlyIn(e=1){if(!this.viewer){console.warn("DefaultCameraFlyIn: viewer is undefined");return}return await xi(this.viewer,e)}async startVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await Ni(this.viewer)}async stopVoice(){if(!this.viewer){console.warn("startVoice:viewer is undefined");return}return await zi(this.viewer)}async mountPakFiles(e){if(!this.viewer){console.warn("mountPakFiles:viewer is undefined");return}return await Gi(this.viewer,e)}async generateMemReport(){if(!this.viewer){console.warn("generateMemReport:viewer is undefined");return}return await Hi(this.viewer)}async quit(){if(!this.viewer){console.warn("Quit: viewer is undefined");return}return await ki(this.viewer)}async bindActorByTag(e,i){if(!this.viewer){console.warn("BindActorByTag: viewer is undefined");return}return await pn(this.viewer,e,i)}async restoreOriginalScene(){if(!this.viewer){console.warn("RestoreOriginalScene: viewer is undefined");return}return await fn(this.viewer)}async unBindActorByID(e){if(!this.viewer){console.warn("UnBindActorByID: viewer is undefined");return}return await wn(this.viewer,e)}async unBindActorByTag(e){if(!this.viewer){console.warn("UnBindActorByTag: viewer is undefined");return}return await yn(this.viewer,e)}async createActorByClass(e,i){if(!this.viewer){console.warn("CreateActorByClass: viewer is undefined");return}return await mn(this.viewer,e,i)}async bind3DTilesetByTag(e,i){if(!this.viewer){console.warn("Bind3DTilesetByTag: viewer is undefined");return}return await Cn(this.viewer,e,i)}async unBind3DTilesetByTag(e){if(!this.viewer){console.warn("UnBind3DTilesetByTag: viewer is undefined");return}return await En(this.viewer,e)}async unBind3DTilesetById(e){if(!this.viewer){console.warn("UnBind3DTilesetById: viewer is undefined");return}return await Sn(this.viewer,e)}async bindImageryByTag(e,i,n){if(!this.viewer){console.warn("BindImageryByTag: viewer is undefined");return}return await Fn(this.viewer,e,i,n)}async unBindImageryByTag(e,i){if(!this.viewer){console.warn("UnBindImageryByTag: viewer is undefined");return}return await In(this.viewer,e,i)}async unBindImageryById(e){if(!this.viewer){console.warn("UnBindImageryById: viewer is undefined");return}return await Tn(this.viewer,e)}async getIdByComponentNameAndHitItem(e,i,n){if(!this.viewer){console.warn("GetIdByComponentNameAndHitItem: viewer is undefined");return}return await Rn(this.viewer,e,i,n)}async getCameraRelativeHeight(e="ECC_Visibility"){if(!this.viewer){console.warn("GetCameraRelativeHeight: viewer is undefined");return}return await Dn(this.viewer,e)}async saveStringToFile(e,i,n){if(!this.viewer){console.warn("SaveStringToFile: viewer is undefined");return}return await Ln(this.viewer,e,i,n)}async highlightActorByTag(e,i=!0){if(!this.viewer){console.warn("HighlightActorByTag: viewer is undefined");return}return await Pn(this.viewer,e,i)}async sendCustomMessage(e){if(!this.viewer){console.warn("SendCustomMessage: viewer is undefined");return}return await Bn(this.viewer,e)}async getStatus(){if(!this.viewer){console.warn("GetStatus:viewer is undefined");return}return await Un(this.viewer)}async getTilesetMaterialIDList(){if(!this.viewer){console.warn("GetTilesetMaterialIDList:viewer is undefined");return}return await Wn(this.viewer)}async pick(e,i,n){if(!this.viewer)return;let r=e;if(e&&globalThis.ue&&this.container){const[s,a]=e,{x:g,y:l}=this.container.getBoundingClientRect();r=[g+s,l+a]}return await Oi(this.viewer,r,i,n)}async pickPosition(e){if(!this.viewer)return;let i=e;if(e&&globalThis.ue&&this.container){const[n,r]=e,{x:s,y:a}=this.container.getBoundingClientRect();i=[s+n,a+r]}return await ji(this.viewer,i)}async quickPickPosition(e){return await this.pickPosition(e)}async getTerrainHeight(e){return await this.getHeightByLonLat(e[0],e[1])??void 0}async flyIn(e,i=[0,0,0],n=1,r="default"){if(!this.viewer)return;const s=await O(this.viewer,void 0,e,i,n,r);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}async flyTo(e,i,n="default"){if(!this.viewer)return;const r=await K(this.viewer,void 0,void 0,e,i,n);if(r)return r.endType===0&&console.warn(`flyTo:flyTo is end! endType:${r.endType}`),r.endType===1&&console.warn(`flyTo:飞行中断! endType:${r.endType}`),r}flyToBoundingSphere(e,i,n=1){const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],s=o.getGeoBoundingSphereFromPositions(r);if(!s)return;const{center:a,radius:g}=s,l={distance:i??g,heading:0,pitch:-90,flyDuration:n,hDelta:0,pDelta:0};this.flyTo(l,a)}getCurrentCameraInfo(){const{position:e,rotation:i}=this._statusInfo;return{position:e,rotation:i}}transformFlyParam(e,i){}getLengthInPixel(){return this._statusInfo.length}async changeToWalk(e,i=4.2,n=1.6){if(!this.viewer)return;const r={mode:"Walk",position:e,jumpZVelocity:i,eyeHeight:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToMap(){if(!this.viewer)return;const e={mode:"Map"},i=await A(this.viewer,e);return i&&!i.error&&(this._navigationMode.value=e.mode),i}async changeToRotateGlobe(e=38,i=1e7,n=60){if(!this.viewer)return;const r={mode:"RotateGlobe",latitude:e,height:i,cycleTime:n},s=await A(this.viewer,r);return s&&!s.error&&(this._navigationMode.value=r.mode),s}async changeToLine(e,i=10,n=10,r=!0,s=10,a="auto"){if(!this.viewer)return;const g={mode:"Line",geoLineStringId:e,speed:i,heightOffset:n,loop:r,turnRateDPS:s,lineMode:a},l=await A(this.viewer,g);return l&&!l.error&&(this._navigationMode.value=g.mode),l}async changeToUserDefined(e){if(!this.viewer)return;const i={mode:"UserDefined",userDefinedPawn:e},n=await A(this.viewer,i);return n&&!n.error&&(this._navigationMode.value=i.mode),n}async changeToRotatePoint(e,i=5e4,n=60,r=0,s=-30){if(!this.viewer)return;const a={mode:"RotatePoint",position:e,distance:i,orbitPeriod:n,heading:r,pitch:s},g=await A(this.viewer,a);return g&&!g.error&&(this._navigationMode.value=a.mode),g}async changeToFollow(e,i=0,n=0,r=-30,s=!0){if(!this.viewer)return;const a={mode:"Follow",objectId:e,distance:i,heading:n,pitch:r,relativeRotation:s},g=await A(this.viewer,a);return g&&!g.error&&(this._navigationMode.value=a.mode),g}getFPS(){return this._statusInfo.fps}async getVersion(){const e=globalThis.g_XE3CopyRights??{};if(!this.viewer)return e;const i=await ln(this.viewer);return e.esforue=i,e}async getHeightByLonLat(e,i,n="ECC_Visibility"){if(!this.viewer)return null;const r=await en(this.viewer,e,i,n);return r&&r.height!==void 0?r.height:null}async getHeightsByLonLats(e,i="ECC_Visibility"){return this.viewer?await tn(this.viewer,e,i):void 0}async capture(e=64,i=64){return this.viewer?await nn(this.viewer,e,i):void 0}async partialCapture(e,i=[64,64]){if(!this.viewer){console.warn("partialCapture:viewer is undefined");return}return await rn(this.viewer,e,i)}async lonLatAltToScreenPosition(e){if(!this.viewer)return;const i=await on(this.viewer,e);return i&&[i.X,i.Y]}async setGlobalProperty(e){if(this.viewer)return await Yi(this.viewer,e)}async startEditing(e,i,n){n=Object.assign({useKeyToSwitch:!0,callSource:"outer"},n);const r=e.components.main??e;if(!r||!this.viewer||i==null)return;const s=Array.isArray(i)?[...i]:[i];return r.editingID=`${n.callSource}_${o.createGuid()}`,await An(this.viewer,r.id,r.editingID,s,n.useKeyToSwitch)}async stopEditing(){if(this.viewer)return await Mn(this.viewer)}async moveObjects(e){if(!this.viewer)return;const i=[],n=o.createGuid();for(let r=0;r<e.length;r++){const s=e[r],a=s.components.main??s;a.editingID=n,a&&i.push(a.id)}if(i.length!==0)return await bn(this.viewer,i,n)}};f(_,"type",_.register("ESUeViewer",_)),f(_,"defaults",{...Xn});let M=_;(c=>{c.createDefaultProps=()=>({...o.ESViewer.createDefaultProps(),...$i(),resolutionScale:1,autoReconnect:!1,propChangedListening:void 0,objectEventListening:void 0,widgetEventListening:void 0,speechRecognitionListening:void 0,customMessageListening:void 0})})(M||(M={})),o.extendClassProps(M.prototype,M.createDefaultProps);class $ extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=this.ad(o.react(!1));t.components.main||this.d(this.createdEvent.don(()=>{const r=this.constructor.propValFuncs,s=t.defaultProps,a=Object.keys(s).filter(u=>r[u]!==null);a.push(...this.constructor.forceUeUpdateProps);const g=t.constructor.defaults,l={val:{}},y=[];for(let u of a){const h=u+"Changed",w=t[h];y.push(w);const m=r[u];if(m===null)throw console.error("vf === null error"),new Error("vf === null error");const C=()=>{const I=t[u]??g[u]??t.constructor[`default${u.charAt(0).toUpperCase()+u.slice(1)}`];let E=m?m(I,this,e,t):I;if(E===void 0){console.warn(`UE自动更新的属性,不应该为undefined! 属性名:${u} 对象名:${t.name} 对象id: ${t.id}`);return}l.val[u]=E};C(),this.d(w.don(C))}const v=()=>{i.callUeFunc({f:"update",p:{id:t.id,...l.val}}),l.val={}},d=this.dv(o.createNextAnimateFrameEvent(...y));this.d(d.don(v)),this.d(n.changed.don(v)),this.d(t.flushEvent.don(()=>d.flush()))})),t.components.main||(this.d(()=>{n.value&&wt(i,t.id)}),i.callUeFunc({f:"create",p:{type:t.typeName,id:t.id}}).then(()=>{n.value=!0}).catch(r=>console.error(r)))}}f($,"propValFuncs",{ref:null,devTags:null,extras:null,execOnceFuncStr:null,updateFuncStr:null,toDestroyFuncStr:null}),f($,"forceUeUpdateProps",[]);class R extends ${constructor(t,e){super(t,e);const i=e.viewer;i&&(this.d(t.flyToEvent.don(n=>{K(i,t.id,n)})),this.d(t.flyInEvent.don(n=>{var r,s;O(i,t.id,(r=t.flyInParam)==null?void 0:r.position,(s=t.flyInParam)==null?void 0:s.rotation,n??1)})),this.d(t.calcFlyToParamEvent.don(()=>{W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(()=>{const n=e.getCurrentCameraInfo();if(!n)return;const{position:r,rotation:s}=n;t.flyInParam={position:r,rotation:s,flyDuration:1}})),this.d(e.propChanged.don(n=>{n.objId===t.id&&Object.keys(n.props).forEach(r=>{const s=n.props[r]===null?void 0:n.props[r];t[r]=s})})))}}class S extends R{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,position:t.position,rotation:t.rotation}})},r=this.dv(o.createNextAnimateFrameEvent(t.positionChanged,t.rotationChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)})),this.d(t.smoothMoveEvent.don((g,l)=>{ie(i,t.id,g,l)})),this.d(t.smoothMoveWithRotationEvent.don((g,l,y)=>{j(i,t.id,g,l,y)})),this.d(t.smoothMoveOnGroundEvent.don((g,l,y,v)=>{ee(i,t.id,g,l,v,y)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((g,l,y,v,d)=>{te(i,t.id,g,l,y,v,d)})),this.d(t.smoothMoveKeepPitchEvent.don(async(g,l)=>{const y=await i.callUeFunc({f:"SmoothMoveKeepPitch",p:{id:t.id,Destination:g,Time:l}});y.error&&console.error("SmoothMoveKeepPitch:",y.error)})),this.d(t.automaticLandingEvent.don(g=>{const l=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(y=>{y!==null&&(t.position=[...l,y],t.collision=g)})}));const s=async(g,l,y,v)=>{const{viewer:d}=g;if(!d){console.error("SmoothMoveRelatively: ueViewer.viewer is undefined");return}const u=await d.callUeFunc({f:"SmoothMoveRelatively",p:{id:l,RelativePosition:y,Time:v}});return u.error&&console.error("SmoothMoveRelatively:",u.error),u};this.d(t.smoothMoveRelativelyEvent.don((g,l)=>{s(e,t.id,g,l)}));const a=async(g,l,y,v,d)=>{const{viewer:u}=g;if(!u){console.error("SmoothMoveRelativelyWithRotation: ueViewer.viewer is undefined");return}const h=await u.callUeFunc({f:"SmoothMoveRelativelyWithRotation",p:{id:l,RelativePosition:y,NewRotation:v,Time:d}});return h.error&&console.error("SmoothMoveRelativelyWithRotation:",h.error),h};this.d(t.smoothMoveRelativelyWithRotationEvent.don((g,l,y)=>{a(e,t.id,g,l,y)}))}}class D extends R{constructor(t,e){super(t,e);const i=e.viewer;if(!i)return;const n=()=>{t.editing||i.callUeFunc({f:"update",p:{id:t.id,points:t.points}})},r=this.dv(o.createNextAnimateFrameEvent(t.pointsChanged,t.editingChanged));this.d(r.don(()=>{setTimeout(n,0)}))}}f(D,"propValFuncs",{...R.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class U extends S{constructor(t,e){super(t,e),e.viewer&&this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,add:s}=n;t.widgetEvent.emit({type:r,add:s})}))}}class Ct extends S{constructor(t,e){super(t,e),e.viewer}}f(Ct,"propValFuncs",{...S.propValFuncs,pointStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),strokeStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})}),fillStyle:t=>({...t,materialParams:JSON.stringify(t.materialParams??{})})});class ht extends Ct{constructor(t,e){super(t,e),e.viewer}}const _n=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是3dTileset,无法绑定";default:return"未知错误"}},re=class re extends o.EngineObject{constructor(e,i){super(e,i);f(this,"_styleColor",this.dv(o.react([])));f(this,"_styleVisable",this.dv(o.react([])));const n=i.viewer;if(!n){console.warn("UeES3DTileset: viewer is undefined!");return}let r,s;const a=async()=>{!r&&!s||await n.callUeFunc({f:"update",p:{id:e.id,url:e.url,show:e.show,collision:e.collision,allowPicking:e.allowPicking,flyToParam:e.flyToParam??o.ES3DTileset.defaultFlyToParam,flyInParam:e.flyInParam??o.ES3DTileset.defaultFlyInParam,highlightID:e.highlightID,highlightColor:e.highlightColor,highlight:e.highlight,materialMode:e.materialMode,maximumScreenSpaceError:e.maximumScreenSpaceError,colorMode:Reflect.has(e,"colorMode")?e.colorMode:void 0,offset:e.offset,rotation:e.rotation,cacheBytes:e.cacheBytes,colorBlendMode:e.colorBlendMode,materialOverrideMap:e.materialOverrideMap}})},g=this.dv(o.createNextAnimateFrameEvent(e.urlChanged,e.showChanged,e.flyToParamChanged,e.flyInParamChanged,e.collisionChanged,e.allowPickingChanged,e.highlightIDChanged,e.highlightColorChanged,e.highlightChanged,e.materialModeChanged,e.maximumScreenSpaceErrorChanged,e.offsetChanged,e.rotationChanged,e.cacheBytesChanged,e.colorBlendModeChanged,e.materialOverrideMapChanged));a(),this.d(g.don(a)),Reflect.has(e,"colorMode")&&this.d(e.colorModeChanged.don(()=>a()));const l=this.dv(o.react(void 0));{const v=this.dv(o.createNextAnimateFrameEvent(e.actorTagChanged,e.urlChanged)),d=()=>{e.actorTag?l.value={type:"ActorTag",actorTag:e.actorTag}:e.url?l.value={type:"CreatedUrl",url:e.url}:l.value=void 0,e.editing=!1};d(),this.d(v.don(d))}const y=async()=>{const{id:v}=e;if(r!==void 0){r=void 0;try{const d=await i.unBind3DTilesetById(v);if(!d)return;if(d.error!==""){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d.error}`);return}}catch(d){console.warn(`UeES3DTileset UnBind3DTilesetById: ${d}`);return}}if(s!==void 0){s=void 0;try{const d=await n.callUeFunc({f:"destroy",p:{id:v}});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 v=this.dv(o.createProcessingFromAsyncFunc(async u=>{if(l.value===void 0){await u.promise(y());return}if(l.value.type==="ActorTag"){const{actorTag:h}=l.value;if(r!==h&&await u.promise(y()),r!==void 0||h===void 0)return;try{r=h;const w=await u.promise(i.bind3DTilesetByTag(e.id,h));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: ${_n(w.re.type)}`);else{console.warn(`UeES3DTileset Bind3DTilesetByTag: ${_n(w.re.type)}`);return}}catch(w){console.warn(`UeES3DTileset Bind3DTilesetByTag: ${w}`);return}}else if(l.value.type==="CreatedUrl"){const{url:h}=l.value;if(h!==s&&await y(),s!==void 0||h===void 0)return;try{s=h;const w=await u.promise(n.callUeFunc({f:"create",p:{type:e.typeName,id:e.id}}));if(!w)return;if(w.error!==""){console.warn(`UeES3DTileset create: ${w.error}`);return}}catch(w){console.warn(`UeES3DTileset create: ${w}`);return}}await u.promise(a())})),d=async()=>{v.restart()};d(),this.d(l.changed.don(d))}this.d(e.refreshTilesetEvent.don(()=>{_i(n,e.id)})),this.d(e.flyToEvent.don(async(v,d)=>{if(!r&&!s)return;const u=await K(n,e.id,v);let h="over";u===void 0?h="error":u.endType===0?h="over":u.endType===1&&(h="cancelled"),e.flyOverEvent.emit(d,h,i)})),this.d(e.calcFlyToParamEvent.don(()=>{!r&&!s||W(n,e.id)})),this.d(e.calcFlyInParamEvent.don(async()=>{if(!r&&!s||!i.actived)return;const v=await i.getCurrentCameraInfo();if(!v)return;const{position:d,rotation:u}=v;e.flyInParam={position:d,rotation:u,flyDuration:1}})),this.d(i.propChanged.don(v=>{!r&&!s||v.objId===e.id&&Object.keys(v.props).forEach(d=>{const u=v.props[d]===null?void 0:v.props[d];e[d]=u})})),this.d(i.objectEvent.don(v=>{!r&&!s||v.id!==e.id||v.type!=="3DTilesetReady"||e.tilesetReady.emit(v.p)}));{const v=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureColor",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureColor: ${C.error}`);return}},d=async(w,m)=>{if(!r&&!s)return;const C=await n.callUeFunc({f:"SetFeatureVisable",p:{id:e.id,featureName:w,json:m}});if(C&&C.error!==""){console.warn(`UeES3DTileset SetFeatureVisable: ${C.error}`);return}},u=async()=>{if(!r&&!s)return;const w=await n.callUeFunc({f:"ResetFeatureStyle",p:{id:e.id}});if(w&&w.error!==""){console.warn(`UeES3DTileset ResetFeatureStyle: ${w.error}`);return}},h=async w=>{if(!r&&!s)return;const m=await n.callUeFunc({f:"SetFeatureStyle",p:{id:e.id,json:w}});if(m&&m.error!==""){console.warn(`UeES3DTileset SetFeatureStyle: ${m.error}`);return}};this.d(e.setFeatureColorEvent.don((w,m)=>{const C=[...this.styleColor,...m];this.styleColor=[...C],v(w,C)})),this.d(e.setFeatureVisableEvent.don((w,m)=>{const C=[...this.styleVisable,...m];this.styleVisable=[...C],d(w,C)})),this.d(e.resetFeatureStyleEvent.don(()=>{u(),this.styleColor=[],this.styleVisable=[]})),this.d(e.setFeatureStyleEvent.don(w=>{h(w)}))}{const v=async()=>{if(!r&&!s){e._featureTableResultEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetFeatureTable",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetFeatureTable: ${d.error}`),e._featureTableResultEvent.emit(d.re.table)}catch(d){console.warn(`UeES3DTileset GetFeatureTable: ${d}`),e._featureTableResultEvent.emit(void 0)}};this.d(e.getFeatureTableEvent.don(()=>{v()}))}{const v=async()=>{if(!r&&!s){e.getMaterialNameListEvent.emit(void 0);return}try{const d=await n.callUeFunc({f:"GetMaterialNameList",p:{id:e.id}});d.error!==""&&console.warn(`UeES3DTileset GetMaterialNameList: ${d.error}`),e.getMaterialNameListEvent.emit(d.re.materialNameList)}catch(d){console.warn(`UeES3DTileset GetMaterialNameList: ${d}`),e.getMaterialNameListEvent.emit(void 0)}};this.ad(e.getMaterialNameListEvent.don(d=>{d=="start"&&v()}))}}get styleColor(){return this._styleColor.value}set styleColor(e){this._styleColor.value=e}get styleVisable(){return this._styleVisable.value}set styleVisable(e){this._styleVisable.value=e}};f(re,"type",re.register("ESUeViewer",o.ES3DTileset.type,re));let gt=re;const xn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"没搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag对应的Actor是地形,无法绑定";case 4:return"没搜索到ComponentTag,无法绑定";default:return"未知错误"}},oe=class oe extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}let n,r;const s=this.dv(o.react(void 0)),a=this.ad(o.reactJson(""));{const v=()=>{if(typeof t.url=="string")a.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const d=t.url;d.url=o.ESSceneObject.context.getStrFromEnv(d.url),a.value=d}};v(),this.ad(t.urlChanged.don(v))}const g=async()=>{if(!n&&!r)return;let v=t.targetID??o.ESImageryLayer.defaults.targetID;if(v&&v!=""){const d=o.ESSceneObject.getSceneObject(v);v=d?(d.components.main??d).id:v}await i.callUeFunc({f:"update",p:{id:t.id,show:t.show??!0,rectangle:t.rectangle??[-180,-90,180,90],collision:t.collision??!0,allowPicking:t.allowPicking??!1,flyToParam:t.flyToParam??o.ESImageryLayer.defaultFlyToParam,flyInParam:t.flyInParam??o.ESImageryLayer.defaultFlyInParam,url:a.value??"",zIndex:t.zIndex??0,maximumLevel:t.maximumLevel??o.ESImageryLayer.defaults.maximumLevel,minimumLevel:t.minimumLevel??o.ESImageryLayer.defaults.minimumLevel,options:t.options??o.ESImageryLayer.defaults.options,targetID:v,opacity:t.opacity??o.ESImageryLayer.defaults.opacity,splitDirection:t.splitDirection??o.ESImageryLayer.defaults.splitDirection}})},l=this.dv(o.createNextAnimateFrameEvent(t.showChanged,a.changed,t.flyToParamChanged,t.flyInParamChanged,t.zIndexChanged,t.collisionChanged,t.allowPickingChanged,t.maximumLevelChanged,t.minimumLevelChanged,t.rectangleChanged,t.optionsChanged,t.targetIDChanged,t.opacityChanged,t.splitDirectionChanged));this.d(l.don(g));const y=async()=>{const{id:v}=t;if(n!==void 0){n=void 0;try{const d=await e.unBindImageryById(v);if(!d)return;if(d.error!==""){console.warn(`UeESImageryLayer UnImageryByID: ${d.error}`);return}}catch(d){console.warn(`UeESImageryLayer UnImageryByID promise: ${d}`);return}}if(r!==void 0){r=void 0;try{const d=await i.callUeFunc({f:"destroy",p:{id:v,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 v=this.dv(o.createProcessingFromAsyncFunc(async u=>{if(s.value===void 0){await u.promise(y());return}if(s.value.type==="ActorTag"){const{actorTag:h,componentTag:w}=s.value;if(n!==h&&await u.promise(y()),n!==void 0||h===void 0)return;try{n=h;const m=await u.promise(e.bindImageryByTag(t.id,h,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: ${xn(m.re.type)}`);else{console.warn(`ESImageryLayer BindImageryByTag: ${xn(m.re.type)}`);return}}catch(m){console.warn(`ESImageryLayer BindImageryByTag promise: ${m}`);return}}else if(s.value.type==="CreatedUrl"){const{url:h}=s.value;if(h!==r&&await u.promise(y()),r!==void 0||h===void 0)return;try{r=h;const w=await u.promise(i.callUeFunc({f:"create",p:{type:"ESImageryLayer",id:t.id}}));if(!w)return;if(w.error!==""){console.warn(`ESImageryLayer create: ${w.error}`);return}}catch{console.warn("ESImageryLayer create: create promise error");return}}await u.promise(g())})),d=async()=>{v.restart()};d(),this.d(s.changed.don(d))}{const v=this.dv(o.createNextAnimateFrameEvent(t.actorTagChanged,a.changed,t.componentTagChanged)),d=()=>{t.actorTag&&t.componentTag?s.value={type:"ActorTag",actorTag:t.actorTag,componentTag:t.componentTag}:a.value?s.value={type:"CreatedUrl",url:a.value}:s.value=void 0};d(),this.d(v.don(d))}this.d(t.flyToEvent.don(async(v,d)=>{if(!n&&!r)return;const u=await K(i,t.id,v);let h="over";u===void 0?h="error":u.endType===0?h="over":u.endType===1&&(h="cancelled"),t.flyOverEvent.emit(d,h,e)})),this.d(t.flyInEvent.don(async(v,d)=>{var w,m;if(!n&&!r)return;const u=await O(i,t.id,(w=t.flyInParam)==null?void 0:w.position,(m=t.flyInParam)==null?void 0:m.rotation,v??1);let h="over";u===void 0?h="error":u.endType===0?h="over":u.endType===1&&(h="cancelled"),t.flyOverEvent.emit(d,h,e)})),this.d(t.calcFlyToParamEvent.don(()=>{!n&&!r||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const v=await e.getCurrentCameraInfo();if(!v)return;const{position:d,rotation:u}=v;t.flyInParam={position:d,rotation:u,flyDuration:1}})),this.d(e.propChanged.don(v=>{!n&&!r||v.objId===t.id&&Object.keys(v.props).forEach(d=>{const u=v.props[d]===null?void 0:v.props[d];t[d]=u})}))}};f(oe,"type",oe.register("ESUeViewer",o.ESImageryLayer.type,oe));let Et=oe;const x=class x extends R{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(x,"type",x.register("ESUeViewer",o.ESTerrainLayer.type,x)),f(x,"forceUeUpdateProps",[...R.forceUeUpdateProps,"url"]),f(x,"propValFuncs",{...R.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t),czmMaxzoom:null,czmMinzoom:null});let St=x;const se=class se extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(se,"type",se.register("ESUeViewer",o.ESAlarm.type,se));let Ft=se;const ae=class ae extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ae,"type",ae.register("ESUeViewer",o.ESApertureEffect.type,ae));let It=ae;const le=class le extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(le,"type",le.register("ESUeViewer",o.ESGeoPolygon.type,le));let P=le;const de=class de extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESAreaMeasurement.defaults.fillStyle;try{s={...t.fillStyle??o.ESAreaMeasurement.defaults.fillStyle}}catch(a){console.error("ESAreaMeasurement fillStyle 属性类型错误!",a),s={...o.ESAreaMeasurement.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,stroked:t.stroked??o.ESAreaMeasurement.defaults.stroked,fillStyle:s,filled:t.filled??o.ESAreaMeasurement.defaults.filled}}),console.log(s)},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.strokedChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(de,"type",de.register("ESUeViewer",o.ESAreaMeasurement.type,de));let Tt=de;const ce=class ce extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ce,"type",ce.register("ESUeViewer",o.ESBlastParticleSystem.type,ce));let Rt=ce;const V=class V extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(V,"type",V.register("ESUeViewer",o.ESBoxClipping.type,V)),f(V,"propValFuncs",{...S.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Dt=V;const ue=class ue extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.dispose(t.flyInEvent.don((n,r,s="default")=>{const{id:a,duration:g,position:l,rotation:y}=t;O(i,a,l,y,g??n,s)})),this.dispose(t.resetWithCurrentCameraEvent.don(()=>{yt(i,t.id)})),this.dispose(t.captureEvent.don((n,r)=>{e.capture(n,r).then(a=>{a&&(t.thumbnail=a)})}))}};f(ue,"type",ue.register("ESUeViewer",o.ESCameraView.type,ue));let Lt=ue;const he=class he extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(he,"type",he.register("ESUeViewer",o.ESCameraVisibleRange.type,he));let Pt=he;const ge=class ge extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ge,"type",ge.register("ESUeViewer",o.ESCar.type,ge));let Bt=ge;const ve=class ve extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s=o.ESClassification.defaults.fillStyle;try{s={...t.fillStyle??o.ESClassification.defaults.fillStyle}}catch(a){console.error("ESClassification fillStyle 属性类型错误!",a),s={...o.ESClassification.defaults.fillStyle}}s.materialParams=JSON.stringify(s.materialParams),i.callUeFunc({f:"update",p:{id:t.id,filled:t.filled??o.ESClassification.defaults.filled,fillStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.fillStyleChanged,t.filledChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(ve,"type",ve.register("ESUeViewer",o.ESClassification.type,ve));let Ut=ve;const X=class X extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(X,"type",X.register("ESUeViewer",o.ESClippingPlane.type,X)),f(X,"propValFuncs",{...S.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let At=X;const pe=class pe extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url??o.ESDataMesh.defaults.url);else{const g=t.url;g.url=o.ESSceneObject.context.getStrFromEnv(g.url??o.ESDataMesh.defaults.url),n.value=g}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{const a=t.colorStops??o.ESDataMesh.defaults.colorStops;i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESDataMesh.defaults.url,currentTime:t.currentTime??o.ESDataMesh.defaults.currentTime,minPropValue:t.minPropValue??o.ESDataMesh.defaults.minPropValue,maxPropValue:t.maxPropValue??o.ESDataMesh.defaults.maxPropValue,colorStops:JSON.stringify(a)}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.currentTimeChanged,t.minPropValueChanged,t.maxPropValueChanged,t.colorStopsChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};f(pe,"type",pe.register("ESUeViewer",o.ESDataMesh.type,pe));let Mt=pe;const fe=class fe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(fe,"type",fe.register("ESUeViewer",o.ESDatasmithRuntimeModel.type,fe));let bt=fe;const we=class we extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(we,"type",we.register("ESUeViewer",o.ESDirectionMeasurement.type,we));let Wt=we;const ye=class ye extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{let s;try{s={...t.strokeStyle??o.ESDistanceMeasurement.defaults.strokeStyle}}catch(a){console.error("ESDistanceMeasurement strokeStyle 属性类型错误!",a),s={...o.ESDistanceMeasurement.defaults.strokeStyle}}i.callUeFunc({f:"update",p:{id:t.id,strokeStyle:s}})},r=this.dv(o.createNextAnimateFrameEvent(t.strokeStyleChanged));this.d(r.don(n)),this.d(t.createdEvent.don(n))}};f(ye,"type",ye.register("ESUeViewer",o.ESDistanceMeasurement.type,ye));let $t=ye;const me=class me extends ht{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(me,"type",me.register("ESUeViewer",o.ESLocalPolygon.type,me));let vt=me;const Ce=class Ce extends vt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ce,"type",Ce.register("ESUeViewer",o.ESDynamicWater.type,Ce));let _t=Ce;const Ee=class Ee extends R{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(e.widgetEvent.don(n=>{if(n.objId!==t.id)return;const{type:r,properties:s}=n;t.widgetEvent.emit({type:r,properties:s})}))}};f(Ee,"type",Ee.register("ESUeViewer",o.ESEntityCluster.type,Ee));let xt=Ee;const q=class q extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(q,"type",q.register("ESUeViewer",o.ESExcavate.type,q)),f(q,"propValFuncs",{...P.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let Nt=q;const Se=class Se extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Se,"type",Se.register("ESUeViewer",o.ESFireParticleSystem.type,Se));let zt=Se;const Fe=class Fe extends R{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=this.ad(o.reactJson(""));{const a=()=>{if(typeof t.url=="string")n.value=o.ESSceneObject.context.getStrFromEnv(t.url);else{const g=t.url;g.url=o.ESSceneObject.context.getStrFromEnv(g.url),n.value=g}};a(),this.ad(t.urlChanged.don(a))}const r=()=>{i.callUeFunc({f:"update",p:{id:t.id,url:n.value??o.ESForestTileset.defaults.url,treeTypes:t.treeTypes??o.ESForestTileset.defaults.treeTypes,xiaoBanWidget:t.xiaoBanWidget??o.ESForestTileset.defaults.xiaoBanWidget,youShiSZ:t.youShiSZ??o.ESForestTileset.defaults.youShiSZ,diLei:t.diLei??o.ESForestTileset.defaults.diLei,senLinLB:t.senLinLB??o.ESForestTileset.defaults.senLinLB,labelMaterial:t.labelMaterial??o.ESForestTileset.defaults.labelMaterial,heightOffset:t.heightOffset??o.ESForestTileset.defaults.heightOffset}})},s=this.dv(o.createNextAnimateFrameEvent(n.changed,t.treeTypesChanged,t.xiaoBanWidgetChanged,t.youShiSZChanged,t.diLeiChanged,t.senLinLBChanged,t.labelMaterialChanged,t.heightOffsetChanged));this.d(s.don(r)),this.d(t.createdEvent.don(r))}};f(Fe,"type",Fe.register("ESUeViewer",o.ESForestTileset.type,Fe));let Gt=Fe;const Ie=class Ie extends o.EngineObject{constructor(t,e){super(t,e),this.ad(new o.ObjResettingWithEvent(t.renderInUEChanged,()=>t.renderInUE?new zn(t,e):new Nn(t,e)))}};f(Ie,"type",Ie.register("ESUeViewer",o.ESGeoDiv.type,Ie));let Ht=Ie;class Nn extends o.Destroyable{constructor(e,i){super();f(this,"_screenPosition",this.disposeVar(o.reactArrayWithUndefined(void 0)));const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this.disposeVar(new o.ESTextLabel);r.parentID=e.id,this.ad(e.components.disposableAdd(r,!0)),r.show=!1,this.dispose(o.bind([r,"position"],[e,"position"])),this.dispose(o.bind([r,"rotation"],[e,"rotation"])),this.dispose(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.dispose(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.dispose(e.calcFlyToParamEvent.disposableOn(()=>{W(n,r.id)})),this.dispose(e.calcFlyInParamEvent.disposableOn(async()=>{if(!i.actived)return;const g=await i.getCurrentCameraInfo();if(!g)return;const{position:l,rotation:y}=g;e.flyInParam={position:l,rotation:y,flyDuration:1}})),this.dispose(e.smoothMoveEvent.disposableOn((g,l)=>{ie(n,r.id,g,l)})),this.dispose(e.smoothMoveWithRotationEvent.disposableOn((g,l,y)=>{j(n,r.id,g,l,y)})),this.dispose(e.smoothMoveOnGroundEvent.disposableOn((g,l,y,v)=>{ee(n,r.id,g,l,v,y)})),this.dispose(e.smoothMoveWithRotationOnGroundEvent.disposableOn((g,l,y,v,d)=>{te(n,r.id,g,l,y,v,d)})),this.dispose(e.flyToEvent.disposableOn((g,l)=>{r.flyTo(g)})),this.dispose(e.flyInEvent.don(g=>{r.flyIn(g)}));const s=this._screenPosition,a=this.disposeVar(new o.ESCustomDiv);a.parentID=e.id,i.add(a),this.dispose(()=>i.delete(a)),this.dispose(o.bind([a,"allowPicking"],[e,"allowPicking"]));{const g=this.disposeVar(o.createAnimateFrame()),l=()=>{e.show?g.restart(void 0,async()=>{if(!e.position)return;const y=await i.lonLatAltToScreenPosition(e.position);if(!this.isDestroyed())if(!y)this._screenPosition.value=void 0;else{const[v,d]=y;v===-1&&d===-1?this._screenPosition.value=void 0:this._screenPosition.value=[v,d]}}):g.cancel()};l(),this.dispose(e.showChanged.disposableOn(l))}{const g=()=>class extends o.Destroyable{constructor(d,u,h){if(super(),this._subContainer=d,!h)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const w=new o.PosFloatDiv,m=w.element;this._subContainer.appendChild(m),this.dispose(()=>this._subContainer.removeChild(m)),m.onclick=C=>{(e.allowPicking??!1)&&e.pickedEvent.emit(new o.ESJPickedResult({div:m,pointerEvent:C},e,void 0,void 0,void 0,[C.x,C.y]))};{const C=()=>{e.editing?m.children[0].style.pointerEvents="none":m.children[0].style.pointerEvents="all"};C(),this.d(e.editingChanged.don(C))}{const C=()=>{let E=e.show;if(!E)w.show=E,w.winPos=[0,0];else if(s.value){const T=i.getCurrentCameraInfo(),F=o.getDistancesFromPositions([e.position,T.position],"NONE")[0];e.minVisibleDistance<e.maxVisibleDistance?E=e.minVisibleDistance<F&&F<e.maxVisibleDistance:e.maxVisibleDistance==0&&(E=F>e.minVisibleDistance),w.show=E,w.winPos=[...s.value]}};C();const I=this.disposeVar(o.createNextAnimateFrameEvent(e.showChanged,s.changed,i.cameraChanged,e.maxVisibleDistanceChanged,e.minVisibleDistanceChanged));this.dispose(I.disposableOn(C))}{const C=()=>{const[I,E]=e.anchor??o.ESGeoDiv.defaults.anchor;w.originRatioX=I,w.originRatioY=E};C(),this.dispose(e.anchorChanged.disposableOn(C))}{const C=()=>{w.opacity=e.opacity??o.ESGeoDiv.defaults.opacity};C(),this.dispose(e.opacityChanged.disposableOn(C))}this.disposeVar(new e.instanceClass(w.contentDiv,e,h))}},l=()=>{try{e.instanceClass?a.instanceClass=g():a.instanceClass=void 0}catch(v){console.error(v)}};l();const y=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged,e.anchorChanged,e.editingChanged,e.showChanged,e.allowPickingChanged));this.d(y.don(l))}}get screenPosition(){return this._screenPosition.value}get screenPositionChanged(){return this._screenPosition.changed}set screenPosition(e){this._screenPosition.value=e}}class zn extends o.Destroyable{constructor(e,i){super();f(this,"_imageLabel");f(this,"_hasClassDivAndPos",{});this._imageLabel=this.dv(new o.ESImageLabel),this._imageLabel.isHoverZoom=!1,this._imageLabel.parentID=e.id;const n=i.viewer;if(!n){console.warn("viewer is undefined!");return}const r=this._imageLabel;this.ad(e.components.disposableAdd(r,!0));{const s=()=>{if(!n)return;if(!e.instanceClass)throw new Error("!sceneObject.instanceClass");const l=document.createElement("div"),y=this.dv(new e.instanceClass(l,e,i))._container;if(y.style.opacity=e.opacity.toString()??o.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 u=0;u<d.length;u++){const h=d[u];var v=h.getBoundingClientRect();this._hasClassDivAndPos[h.className]=[h.offsetLeft,h.offsetTop,h.offsetLeft+v.width,h.offsetTop+v.height]}}Vn(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),r.url=d.toDataURL(),r.show=e.show}).catch(()=>{document.body.contains(y)&&document.body.removeChild(y)})},a=()=>{try{e.instanceClass?s():(r.url="",r.show=!1)}catch(l){console.error(l)}};a();const g=this.dv(o.createNextAnimateFrameEvent(e.instanceClassChanged,e.opacityChanged));this.d(g.don(a))}{const s=()=>{r.show=e.show};r.show=!1,this.ad(e.showChanged.don(s))}this.d(o.track([r,"anchor"],[e,"anchor"])),this.d(o.bind([r,"position"],[e,"position"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyInParam"],[e,"flyInParam"])),this.d(o.bind([r,"allowPicking"],[e,"allowPicking"])),this.d(o.bind([r,"scale"],[e,"scale"])),this.d(o.track([r,"minVisibleDistance"],[e,"minVisibleDistance"])),this.d(o.track([r,"maxVisibleDistance"],[e,"maxVisibleDistance"])),this.ad(e.automaticLandingEvent.don(()=>{r.automaticLanding()})),this.d(i.widgetEvent.don(s=>{if(s.objId!==this._imageLabel.id)return;const{type:a,add:g}=s;if(a==="leftClick"&&g){const l=(g==null?void 0:g.classNames)??[],y=Object.keys(this._hasClassDivAndPos);for(let v=0;v<y.length;v++){const d=y[v];let u=this._hasClassDivAndPos[d];g&&g.mouseRelativePos&&g.mouseRelativePos[0]>=u[0]&&g.mouseRelativePos[0]<=u[2]&&g.mouseRelativePos[1]>=u[1]&&g.mouseRelativePos[1]<=u[3]&&l.push(d)}g.classNames=l}e.widgetEvent.emit({type:a,add:g})})),this.d(e.calcFlyToParamEvent.don(()=>{W(n,r.id)})),this.d(e.calcFlyInParamEvent.don(()=>{const s=i.getCurrentCameraInfo();if(!s)return;const{position:a,rotation:g}=s;e.flyInParam={position:a,rotation:g,flyDuration:1}})),this.d(e.smoothMoveEvent.don((s,a)=>{ie(n,r.id,s,a)})),this.d(e.smoothMoveWithRotationEvent.don((s,a,g)=>{j(n,r.id,s,a,g)})),this.d(e.smoothMoveOnGroundEvent.don((s,a,g,l)=>{ee(n,r.id,s,a,l,g)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((s,a,g,l,y)=>{te(n,r.id,s,a,g,l,y)})),this.d(e.flyToEvent.don((s,a)=>{r.flyTo(s)})),this.d(e.flyInEvent.don(s=>{r.flyIn(s)}))}}const N=class N extends R{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.flyToFeatureIndexEvent.don((n,r)=>{i.callUeFunc({f:"flyToFeatureIndex",p:{id:t.id,index:n,duration:r}})})),this.d(t.flyToFeatureEvent.don((n,r,s)=>{i.callUeFunc({f:"flyToFeature",p:{id:t.id,key:n,value:r,duration:s}})}))}};f(N,"type",N.register("ESUeViewer",o.ESGeoJson.type,N)),f(N,"forceUeUpdateProps",[...R.forceUeUpdateProps,"url"]),f(N,"propValFuncs",{...R.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):t});let Jt=N;const Te=class Te extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Te,"type",Te.register("ESUeViewer",o.ESGeoLineString.type,Te));let pt=Te;const Re=class Re extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Re,"type",Re.register("ESUeViewer",o.ESGeoRectangle.type,Re));let Kt=Re;const De=class De extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(De,"type",De.register("ESUeViewer",o.ESGeoWater.type,De));let Vt=De;const z=class z extends S{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.setNodePositionEvent.don((n,r)=>{qi(i,t.id,n,r)})),this.d(t.setNodeRotationEvent.don((n,r)=>{Zi(i,t.id,n,r)})),this.d(t.setNodeScaleEvent.don((n,r)=>{Qi(i,t.id,n,r)}))}};f(z,"forceUeUpdateProps",[...S.forceUeUpdateProps,"url"]),f(z,"propValFuncs",{...S.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t),czmMaximumScale:null,czmMinimumPixelSize:null,czmNativeScale:null,czmColor:null}),f(z,"type",z.register("ESUeViewer",o.ESGltfModel.type,z));let Xt=z;const Le=class Le extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Le,"type",Le.register("ESUeViewer",o.ESHeightMeasurement.type,Le));let qt=Le;const Pe=class Pe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=async(s,a,g,l)=>{const{viewer:y}=s;if(!y){console.error("AIMoveTo: ueViewer.viewer is undefined");return}const v=await y.callUeFunc({f:"AIMoveTo",p:{id:a,Destination:g,Time:l}});return v.error&&console.error("AIMoveTo:",v.error),v};this.d(t.aiMoveToEvent.don((s,a)=>{n(e,t.id,s,a)}));const r=async(s,a)=>{const{viewer:g}=s;if(!g){console.error("StopAIMove: ueViewer.viewer is undefined");return}const l=await g.callUeFunc({f:"StopAIMove",p:{id:a}});return l.error&&console.error("StopAIMove:",l.error),l};this.d(t.stopAIMoveEvent.don(()=>{r(e,t.id)}))}};f(Pe,"type",Pe.register("ESUeViewer",o.ESHuman.type,Pe));let Zt=Pe;const G=class G extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.anchor=[.5,1]}};f(G,"type",G.register("ESUeViewer",o.ESImageLabel.type,G)),f(G,"forceUeUpdateProps",[...U.forceUeUpdateProps,"url"]),f(G,"propValFuncs",{...U.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(o.rpToap(t)):(t.url=o.ESSceneObject.context.getStrFromEnv(o.rpToap(t.url)),t)});let Qt=G;const Be=class Be extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Be,"type",Be.register("ESUeViewer",o.ESLevelRuntimeModel.type,Be));let Yt=Be;const Ue=class Ue extends ht{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ue,"type",Ue.register("ESUeViewer",o.ESLocalCircle.type,Ue));let kt=Ue;const Ae=class Ae extends R{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ae,"type",Ae.register("ESUeViewer",o.ESLocalPolygonZ.type,Ae));let Ot=Ae;const Me=class Me extends ht{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Me,"type",Me.register("ESUeViewer",o.ESLocalRectangle.type,Me));let jt=Me;const be=class be extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(be,"type",be.register("ESUeViewer",o.ESLocalSkyBox.type,be));let ei=be;const We=class We extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(We,"type",We.register("ESUeViewer",o.ESLocationMeasurement.type,We));let ti=We;const $e=class $e extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f($e,"type",$e.register("ESUeViewer",o.ESPipeFence.type,$e));let ii=$e;const _e=class _e extends pt{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(_e,"type",_e.register("ESUeViewer",o.ESPipeline.type,_e));let ni=_e;const xe=class xe extends gt{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.highlightFeatureEvent.don(n=>{const r=typeof n=="number"?n.toString():n;Ji(i,t.id,r)})),this.d(t.highlightFeatureAndFlyToEvent.don((n,r,s,a)=>{const g=typeof n=="number"?n.toString():n;Ki(i,t.id,g,a??1)})),this.d(t.setLayerVisibleEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Vi(i,t.id,s)})),this.d(t.setLayerColorEvent.don((n,r)=>{let s="";typeof r!="string"?s=JSON.stringify(r):s=r,Xi(i,t.id,s)}))}};f(xe,"type",xe.register("ESUeViewer",o.ESPipeserTileset.type,xe));let ri=xe;const Ne=class Ne extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ne,"type",Ne.register("ESUeViewer",o.ESPit.type,Ne));let oi=Ne;const ze=class ze extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(t.getInitialStyleEvent.don(async()=>{try{const n=await i.callUeFunc({f:"GetInitialStyle",p:{id:t.id}});n.error!=""&&console.error("getInitialStyleEvent:",n.error),t.initialStyle.value=structuredClone(n.re)}catch(n){console.error("getInitialStyleEvent:",n),t.initialStyle.value=void 0}}))}};f(ze,"type",ze.register("ESUeViewer",o.ESPoi2D.type,ze));let si=ze;const Ge=class Ge extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Ge,"type",Ge.register("ESUeViewer",o.ESPoi3D.type,Ge));let ai=Ge;const H=class H extends R{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(H,"type",H.register("ESUeViewer",o.ESPoiTileset.type,H)),f(H,"forceUeUpdateProps",[...R.forceUeUpdateProps,"url"]),f(H,"propValFuncs",{...R.propValFuncs,url:t=>typeof t=="string"?o.ESSceneObject.context.getStrFromEnv(t):(t.url=o.ESSceneObject.context.getStrFromEnv(t.url),t)});let li=H;const He=class He extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(He,"type",He.register("ESUeViewer",o.ESPolygonFence.type,He));let di=He;const Z=class Z extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Z,"type",Z.register("ESUeViewer",o.ESPolygonFlattenedPlane.type,Z)),f(Z,"propValFuncs",{...P.propValFuncs,targetID:t=>{if(!t)return"";const e=o.ESSceneObject.getSceneObject(t);return e?(e.components.main??e).id:t}});let ci=Z;const Je=class Je extends P{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Je,"type",Je.register("ESUeViewer",o.ESPolygonWithHole.type,Je));let ui=Je;const Ke=class Ke extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(()=>{t.ids=[]}),this.d(t.highlightInner3DtilesetEvent.don(n=>{n.highlight=!0})),this.d(t.removeHighlightInner3DtilesetEvent.don(n=>{n.highlight=!1}));{const n=a=>{a=a.toLocaleLowerCase();let g=[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),v=parseInt(a[3]+a[3],16);g=[l,y,v,1]}else if(a.length===7){let l=parseInt(a.substring(1,3),16),y=parseInt(a.substring(3,5),16),v=parseInt(a.substring(5,7),16);g=[l,y,v,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]),v=parseInt(l[2]),d=parseInt(l[3]),u=parseFloat(l[4]);g=[y,v,d,u]}}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]),v=parseInt(l[2]),d=parseInt(l[3]);g=[y,v,d,1]}}else console.error("color类型只能为#rrggbb、#rgb、rgba(r,g,b,a)、rgb(r,g,b)");return[g[0]/255,g[1]/255,g[2]/255,g[3]]},r=()=>{const a=t.layerConfig;if(!a)return;const g=[];a.forEach(l=>{a.filter(v=>v.dataset==l.dataset).length==1?g.push({condition:[{field:"dataset",op:"==",value:l.dataset}],color:n(l.value.color??"rgb(255,255,255)"),show:l.value.visible}):g.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})}),t.setFeatureStyle(g)};r();const s=this.dv(o.createNextAnimateFrameEvent(t.layerConfigChanged,t.colorBlendModeChanged));this.d(s.don(()=>{r()}))}}};f(Ke,"type",Ke.register("ESUeViewer",o.ESRtsTileset.type,Ke));let hi=Ke;const Ve=class Ve extends R{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(t.addTreesEvent.don(n=>{o.addTreesCallFunc(e,t.id,n)})),this.d(t.removeAllTreesEvent.don(()=>{o.removeAllTreesCallFunc(e,t.id)})),this.d(t.updateTreeParamsEvent.don(n=>{o.updateTreeParamsCallFunc(e,t.id,n)})),this.d(t.cutDownTreesEvent.don((n,r)=>{o.cutDownTreesCallFunc(e,t.id,n,r)})),this.d(t.growthSimulationEvent.don((n,r,s)=>{o.growthSimulationCallFunc(e,t.id,n,r,s)}))}};f(Ve,"type",Ve.register("ESUeViewer",o.ESSeparateFoliage.type,Ve));let gi=Ve;const Xe=class Xe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Xe,"type",Xe.register("ESUeViewer",o.ESSubmergingAnalysis.type,Xe));let vi=Xe;const qe=class qe extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.stopEvent.don(()=>{i.callUeFunc({f:"Stop",p:{id:t.id}})}))}};f(qe,"type",qe.register("ESUeViewer",o.ESSunshineAnalysis.type,qe));let pi=qe;const Ze=class Ze extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})}))}};f(Ze,"type",Ze.register("ESUeViewer",o.ESSurfaceAreaMeasurement.type,Ze));let fi=Ze;const Qe=class Qe extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Qe,"type",Qe.register("ESUeViewer",o.ESTextLabel.type,Qe));let wi=Qe;const Q=class Q extends U{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.callFunctionEvent.don(async(n,r)=>{const s=await mt(i,t.id,n,r);t.__callFunctionResultEvent.emit(s)}))}};f(Q,"type",Q.register("ESUeViewer",o.ESUEWidget.type,Q)),f(Q,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let yi=Q;const Gn=c=>{switch(c){case 0:return"成功绑定";case 1:return"解绑之前的内容,成功绑定";case 2:return"未搜索到ActorTag,无法绑定";case 3:return"搜索到ActorTag但对应的Actor不是场景原有的,而是新建的,无法绑定";case 4:return"搜索到ActorTag对应的Actor是地形或3DTileset,无法绑定";default:return"未知错误"}},fr=c=>{switch(c){case 0:return"创建成功";case 1:return"未找到对应的资源,无法创建";case 2:return"Id与场景中现有的ActorTag重复,创建后可能出现问题,创建失败";default:return"未知错误"}},Ye=class Ye extends o.EngineObject{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn(`${t.id} UeESUnrealActor viewer is undefined!`);return}this.d(()=>{wt(i,t.id)});const n=async()=>{l()||await i.callUeFunc({f:"update",p:{id:t.id,name:t.name,show:t.show,rotation:t.rotation,flyToParam:t.flyToParam??o.ESUnrealActor.defaultFlyToParam,flyInParam:t.flyInParam??o.ESUnrealActor.defaultFlyInParam,highlight:t.highlight,collision:t.collision,scale:t.scale,minVisibleDistance:t.minVisibleDistance,maxVisibleDistance:t.maxVisibleDistance}})},r=this.dv(o.createNextAnimateFrameEvent(t.showChanged,t.nameChanged,t.rotationChanged,t.flyToParamChanged,t.flyInParamChanged,t.highlightChanged,t.collisionChanged,t.scaleChanged,t.minVisibleDistanceChanged,t.maxVisibleDistanceChanged));this.d(r.don(n)),this.d(t.flushEvent.don(()=>r.flush()));let s,a;const g=async()=>{l()||(await i.callUeFunc({f:"update",p:{id:t.id,position:t.position}}),(e.debug??!1)&&console.log(`updatePostion:${t.position},actorTag:${t.actorTag},actorClass:${t.actorClass}`))},l=()=>!s&&!a?(console.warn(`${t.id} 未绑定ActorTag或未创建ActorClass!`),!0):!1,y=async()=>{const{id:d}=t,u=await e.unBindActorByID(d);u&&u.error!==""&&console.warn(`${t.id} UeESUnrealActor UnBindActorByID: ${u.error}`),s=void 0;const h=await i.callUeFunc({f:"destroy",p:{id:d}});if(h&&h.error!==""){console.warn(`${t.id} UeESUnrealActor DestroyActorByID: ${h.error}`);return}a=void 0},v=this.dv(o.react({type:"ActorClass",actorClass:"default"}));{const d=this.dv(o.createNextAnimateFrameEvent(t.actorClassChanged,t.actorTagChanged)),u=async()=>{t.actorTag!==""?v.value={type:"ActorTag",actorTag:t.actorTag}:v.value={type:"ActorClass",actorClass:t.actorClass===""?"default":t.actorClass}};u(),this.d(d.don(u)),this.d(t.flushEvent.don(()=>d.flush()))}{const d=this.dv(o.createProcessingFromAsyncFunc(async h=>{if(await h.promise(y()),t.lastActorStatus="null",v.value.type==="ActorTag"){const{actorTag:w}=v.value;try{const m=await h.promise(e.bindActorByTag(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${m.error}`);return}if(m.re.type===0)t.lastActorStatus="bound",s=w;else if(m.re.type===1)t.lastActorStatus="bound",s=w,console.warn(`${t.id} UeESUnrealActor BindActorByTag:${w},${Gn(m.re.type)}`);else{s=void 0,console.warn(`${t.id} UeESUnrealActor BindActorByTag error:${w}, ${Gn(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor BindActorByTag catch error:${w}, ${m}`);return}}else if(v.value.type==="ActorClass"){const{actorClass:w}=v.value;try{const m=await h.promise(e.createActorByClass(t.id,w));if(!m)return;if(m.error!==""){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error :${w}, ${m.error}`);return}if(m.re.type===0)w!=="default"&&(t.lastActorStatus="created"),a=w;else{console.warn(`${t.id} UeESUnrealActor CreateActorByClass error type :${w},${fr(m.re.type)}`);return}}catch(m){console.warn(`${t.id} UeESUnrealActor CreateActorByClass error catch :${w}, ${JSON.stringify(m)}`);return}}await h.promise(n()),await h.promise(g())})),u=async()=>{d.restart()};u(),this.d(v.changed.don(u))}this.d(t.positionChanged.don(g)),this.d(t.callFunctionEvent.don(async(d,u)=>{if(l()){t.__callFunctionResultEvent.emit(void 0);return}const h=await mt(i,t.id,d,u);t.__callFunctionResultEvent.emit(h)})),this.d(t.smoothMoveEvent.don((d,u)=>{l()||ie(i,t.id,d,u)})),this.d(t.smoothMoveWithRotationEvent.don((d,u,h)=>{l()||j(i,t.id,d,u,h)})),this.d(t.smoothMoveOnGroundEvent.don((d,u,h,w)=>{l()||ee(i,t.id,d,u,w,h)})),this.d(t.smoothMoveWithRotationOnGroundEvent.don((d,u,h,w,m)=>{l()||te(i,t.id,d,u,h,w,m)})),this.d(t.automaticLandingEvent.don(d=>{if(l())return;const u=[t.position[0],t.position[1]];e.getHeightByLonLat(t.position[0],t.position[1],"Visibility").then(h=>{h!==null&&(t.position=[...u,h],t.collision=d)})})),this.d(t.flyToEvent.don(async(d,u)=>{if(l())return;const h=await K(i,t.id,d);let w="over";h===void 0?w="error":h.endType===0?w="over":h.endType===1&&(w="cancelled"),t.flyOverEvent.emit(u,w,e)})),this.d(t.calcFlyToParamEvent.don(()=>{l()||W(i,t.id)})),this.d(t.calcFlyInParamEvent.don(async()=>{if(!e.actived)return;const d=await e.getCurrentCameraInfo();if(!d)return;const{position:u,rotation:h}=d;t.flyInParam={position:u,rotation:h,flyDuration:1}})),this.d(e.propChanged.don(d=>{l()||d.objId===t.id&&Object.keys(d.props).forEach(u=>{const h=d.props[u]===null?void 0:d.props[u];t[u]=h})}))}};f(Ye,"type",Ye.register("ESUeViewer",o.ESUnrealActor.type,Ye));let mi=Ye;const ke=class ke extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(ke,"type",ke.register("ESUeViewer",o.ESVideoFusion.type,ke));let Ci=ke;const Oe=class Oe extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Oe,"type",Oe.register("ESUeViewer",o.ESViewShed.type,Oe));let Ei=Oe;const je=class je extends D{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is underfined!");return}}};f(je,"type",je.register("ESUeViewer",o.ESVisibilityAnalysis.type,je));let Si=je;const et=class et extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.ad(o.track([t,"volume"],[t,"cutAndFillVolume"])),this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};f(et,"type",et.register("ESUeViewer",o.ESVolumeMeasurement.type,et));let Fi=et;const Y=class Y extends U{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(Y,"type",Y.register("ESUeViewer",o.ESWidget.type,Y)),f(Y,"propValFuncs",{...U.propValFuncs,info:t=>JSON.stringify(t??{})});let Ii=Y;const tt=class tt extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}t.poi.actorTag=t.human.id,t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8],this.d(t.poiOffsetHeightChanged.don(()=>{t.poi.positionOffset=[0,0,t.poiOffsetHeight-.8]})),this.d(()=>{t.poi.actorTag=""})}};f(tt,"type",tt.register("ESUeViewer",o.ESHumanPoi.type,tt));let Ti=tt;o.ESSceneObject.context.getStrFromEnv(o.ESNavigator.defaults.imgUrl);const it=class it extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),this.dispose(o.track([n,"show"],[t,"show"])),n.instanceClass=class extends o.Destroyable{constructor(s,a,g){super(),this._subContainer=s;const l=document.createElement("div");this._subContainer.appendChild(l),this.dispose(()=>this._subContainer.removeChild(l));{const d=async()=>{const u=await e.getCurrentCameraInfo(),h=u==null?void 0:u.position,m=[...u==null?void 0:u.rotation];m[0]=360,e.flyIn(h,m)};l.addEventListener("click",d),l.style.cursor="pointer",this.dispose(()=>l.removeEventListener("click",d))}{const d=()=>{l.style.width=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`,l.style.height=`${t.cssSize?t.cssSize:o.ESNavigator.defaults.cssSize}px`};d(),t.dispose(t.cssSizeChanged.disposableOn(d))}l.style.position="fixed";{const d=()=>{l.style.top=`${t.cssPosition?t.cssPosition[0]:o.ESNavigator.defaults.cssPosition[0]}px`,l.style.right=`${t.cssPosition?t.cssPosition[1]:o.ESNavigator.defaults.cssPosition[1]}px`};d(),t.dispose(t.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 v=document.createElement("img");y.appendChild(v),this.dispose(()=>y.removeChild(v)),v.style.width="100%",v.style.height="100%",v.style.border="none";{const d=()=>v.src=t.imgUrl;d(),t.dispose(t.imgUrlChanged.disposableOn(d))}{const d=()=>{const m=-e.getCurrentCameraInfo().rotation[0];v.style.transform=`rotate(${m}deg)`};let u;const h=async()=>{d(),t.show?(l.style.display="block",u=setInterval(()=>{d()},1e3)):(l.style.display="none",clearInterval(u))};this.dispose(t.showChanged.disposableOn(h)),h(),this.dispose(()=>clearInterval(u))}v.style.transformOrigin="50% 50%"}}}};f(it,"type",it.register("ESUeViewer",o.ESNavigator.type,it));let Ri=it;const J=class J extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}{const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,materialMode:t.materialMode}})};this.dispose(t.materialModeChanged.disposableOn(n))}}};f(J,"type",J.register("ESUeViewer",o.ESPath.type,J)),f(J,"forceUeUpdateProps",[...D.forceUeUpdateProps]),f(J,"propValFuncs",{...D.propValFuncs});let Di=J;async function wr(c){navigator.clipboard.writeText(c).then(function(){console.log("复制成功")},function(t){console.log("复制失败")})}const nt=class nt extends o.EngineObject{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}const n=this.disposeVar(new o.ESCustomDiv);e.add(n),this.dispose(()=>e.delete(n)),n.instanceClass=class extends o.Destroyable{constructor(s,a,g){if(super(),this._subContainer=s,!g||!(g instanceof M))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=`${o.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=`${o.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 v=document.createElement("span");y.appendChild(v),this.dispose(()=>y.removeChild(v));const d=document.createElement("span");y.appendChild(d),d.addEventListener("dblclick",function(){let h=d.innerHTML;h.startsWith("鼠标位置")&&(h=h.slice(5)),wr(h)}),d.style.cursor="pointer",this.dispose(()=>y.removeChild(d));const u=document.createElement("span");l.appendChild(u),this.dispose(()=>l.removeChild(u));{const h=()=>{l.style.height=(t.height??o.ESViewerStatusBar.defaults.height)+"px",l.style.lineHeight=(t.height??o.ESViewerStatusBar.defaults.height)+"px"};this.dispose(t.heightChanged.disposableOn(h)),h()}{const h=()=>{l.style.fontSize=(t.fontSize??o.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(t.fontSizeChanged.disposableOn(h)),h()}{const h=()=>{t.bgColor?l.style.background=`rgba(${t.bgColor[0]*255},${t.bgColor[1]*255},${t.bgColor[2]*255},${t.bgColor[3]})`:l.style.background=`rgba(${o.ESViewerStatusBar.defaults.bgColor[0]},${o.ESViewerStatusBar.defaults.bgColor[1]},${o.ESViewerStatusBar.defaults.bgColor[2]},${o.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(t.bgColorChanged.disposableOn(h)),h()}g.getVersion().then(h=>{h&&(u.innerText=`Ue 版本 : ${h[0]} `)}).catch(h=>{console.log(h)});{const h=()=>{let C="",I="";C+=`帧率:${g.getFPS().toFixed(0)}FPS`,v.innerText=C;const E=e.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)}° `,v.innerText=C,e.pick().then(T=>{if(T){const{pickResult:F}=T;if(F&&F.position){const{position:B}=F;I+=`鼠标位置:${B[0].toFixed(5)}° ${B[1].toFixed(5)}° ${B[2].toFixed(2)}m`}else I+="暂时无法获取鼠标位置...";d.innerText=I}}).catch(T=>{console.log(T)})};let w;const m=async()=>{h(),t.show?(l.style.display="flex",w=setInterval(()=>{h()},1e3)):(l.style.display="none",clearInterval(w))};this.dispose(t.showChanged.disposableOn(m)),m(),this.dispose(()=>clearInterval(w))}}}}};f(nt,"type",nt.register("ESUeViewer",o.ESViewerStatusBar.type,nt));let Li=nt;const rt=class rt extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(rt,"type",rt.register("ESUeViewer",o.ESGaussianSplatting.type,rt));let Pi=rt;const ot=class ot extends ${constructor(e,i){super(e,i);f(this,"_es3DTileset",this.dv(new o.ES3DTileset));if(!i.viewer){console.warn("viewer is undefined!");return}this.es3DTileset.parentID=e.id;{const r=this._es3DTileset;e.components.disposableAdd(r,!0),this.d(o.track([r,"allowPicking"],[e,"allowPicking"])),this.d(o.track([r,"collision"],[e,"collision"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.bind([r,"flyToParam"],[e,"flyToParam"])),this.d(o.track([r,"url"],[e,"url"])),this.d(o.track([r,"actorTag"],[e,"actorTag"])),this.d(o.track([r,"materialMode"],[e,"materialMode"])),this.d(o.track([r,"highlight"],[e,"highlight"])),this.d(o.track([r,"maximumScreenSpaceError"],[e,"maximumScreenSpaceError"])),this.d(o.track([r,"highlightID"],[e,"highlightID"])),this.d(o.track([r,"highlightColor"],[e,"highlightColor"])),this.d(o.bind([r,"offset"],[e,"offset"])),this.d(o.bind([r,"rotation"],[e,"rotation"])),this.d(o.track([r,"czmImageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(o.track([r,"czmLuminanceAtZenith"],[e,"czmLuminanceAtZenith"])),this.d(o.track([r,"czmMaximumMemoryUsage"],[e,"czmMaximumMemoryUsage"])),this.d(o.track([r,"czmClassificationType"],[e,"czmClassificationType"])),this.d(o.track([r,"czmStyleJson"],[e,"czmStyleJson"])),this.d(o.track([r,"czmBackFaceCulling"],[e,"czmBackFaceCulling"])),this.d(o.track([r,"czmDebugShowBoundingVolume"],[e,"czmDebugShowBoundingVolume"])),this.d(o.track([r,"czmDebugShowContentBoundingVolume"],[e,"czmDebugShowContentBoundingVolume"])),this.d(o.track([r,"colorBlendMode"],[e,"colorBlendMode"])),this.d(o.track([r,"cacheBytes"],[e,"cacheBytes"])),this.d(o.track([r,"clippingPlaneEnabled"],[e,"clippingPlaneEnabled"])),this.d(o.track([r,"unionClippingRegions"],[e,"unionClippingRegions"])),this.d(o.track([r,"clippingPlaneEdgeColor"],[e,"clippingPlaneEdgeColor"])),this.d(o.track([r,"clippingPlaneEdgeWidth"],[e,"clippingPlaneEdgeWidth"])),this.d(o.track([r,"materialParams"],[e,"materialParams"])),this.d(o.bind([r,"supportEdit"],[e,"supportEdit"])),this.d(o.bind([r,"clippingPlanesId"],[e,"clippingPlanesId"])),this.d(o.bind([r,"clippingPlaneIds"],[e,"clippingPlaneIds"])),this.d(o.bind([r,"flattenedPlaneId"],[e,"flattenedPlaneId"])),this.d(o.bind([r,"flattenedPlaneEnabled"],[e,"flattenedPlaneEnabled"])),this.d(o.bind([r,"clippingPlaneId"],[e,"clippingPlaneId"])),this.d(o.bind([r,"excavateId"],[e,"excavateId"]))}{const r=this._es3DTileset;this.d(e.refreshTilesetEvent.don(()=>{r.refreshTileset()})),this.d(e.highlightFeatureEvent.don((...s)=>{r.highlightFeature(...s)})),this.d(e.highlightFeatureAndFlyToEvent.don((...s)=>{r.highlightFeatureAndFlyTo(...s)})),this.d(e.setFeatureColorEvent.don((...s)=>{r.setFeatureColor(...s)})),this.d(e.setFeatureVisableEvent.don((...s)=>{r.setFeatureVisable(...s)})),this.d(e.resetFeatureStyleEvent.don((...s)=>{r.resetFeatureStyle(...s)})),this.d(e.flyInEvent.don((...s)=>{r.flyIn(s[0])})),this.d(e.flyToEvent.don((...s)=>{r.flyTo(s[0])})),this.d(e.calcFlyToParamEvent.don((...s)=>{r.calcFlyToParam(...s)})),this.d(e.calcFlyInParamEvent.don((...s)=>{r.calcFlyInParam(...s)}))}{const r=this._es3DTileset;this.d(r.tilesetReady.don(s=>{e.tilesetReady.emit(s)})),this.d(r.pickedEvent.don(s=>{s.assign({sceneObject:e}),e.pickedEvent.emit(s)}))}{const r=()=>{this.es3DTileset.show=e.show};r(),this.d(e.showChanged.don(()=>{r()}))}}get es3DTileset(){return this._es3DTileset}};f(ot,"type",ot.register("ESUeViewer",o.ESRtsFeatureEditing.type,ot));let Bi=ot;const st=class st extends ${constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(st,"type",st.register("ESUeViewer",o.ESMsTileset.type,st));let Ui=st;const at=class at extends P{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}const n=()=>{i.callUeFunc({f:"update",p:{id:t.id,height:t.height??o.ESGeoExtrudedPolygon.defaults.height,extrudedHeight:t.extrudedHeight??o.ESGeoExtrudedPolygon.defaults.extrudedHeight,perPositionHeight:t.perPositionHeight??o.ESGeoExtrudedPolygon.defaults.perPositionHeight}})},r=this.disposeVar(o.createNextAnimateFrameEvent(t.heightChanged,t.extrudedHeightChanged,t.perPositionHeightChanged));this.dispose(r.disposableOn(n)),this.dispose(t.createdEvent.disposableOn(n))}};f(at,"type",at.register("ESUeViewer",o.ESGeoExtrudedPolygon.type,at));let Ai=at;const lt=class lt extends S{constructor(t,e){if(super(t,e),!e.viewer){console.warn("viewer is undefined!");return}}};f(lt,"type",lt.register("ESUeViewer",o.ESStaticMesh.type,lt));let Mi=lt;const dt=class dt extends D{constructor(t,e){super(t,e);const i=e.viewer;if(!i){console.warn("viewer is undefined!");return}this.d(t.startEvent.don(()=>{i.callUeFunc({f:"Start",p:{id:t.id}})})),this.d(t.clearEvent.don(()=>{i.callUeFunc({f:"Clear",p:{id:t.id}})}))}};f(dt,"type",dt.register("ESUeViewer",o.ESSkylineAnalysis.type,dt));let bi=dt;p.copyright=void 0;try{const c="earthsdk3-ue",t="3.7.0-beta.15",e="2025-12-18T03:39:35.000Z",i="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="bf43a4be94d72dcbd6f2dac7f9881efa9d414a29",a=((Date.now()-1766029175e3)/36e5).toFixed(1),g=`%c🌏 ${c}%c ${t}.${r.slice(0,8)}.${e} (距今${a}个小时)
2
2
  %c${n?n+`
3
3
  `:""}当前网站正在使用${c},此软件版权归${i}所有
4
- `;p.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","43f5553b0ecd549789bca9baa5e642be2c59e0bc")},get info(){return g},get date(){return"2025-11-26T06:11:25.000Z"},get author(){return"suplyang"},get version(){return"3.7.0-beta.1"},get name(){return"earthsdk3-ue"},get commitId(){return"43f5553b0ecd549789bca9baa5e642be2c59e0bc"},print(l=!1){!l&&globalThis._xe2_no_copy_print||console.info(this.info,`
4
+ `;p.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","bf43a4be94d72dcbd6f2dac7f9881efa9d414a29")},get info(){return g},get date(){return"2025-12-18T03:39:35.000Z"},get author(){return"suplyang"},get version(){return"3.7.0-beta.15"},get name(){return"earthsdk3-ue"},get commitId(){return"bf43a4be94d72dcbd6f2dac7f9881efa9d414a29"},print(l=!1){!l&&globalThis._xe2_no_copy_print||console.info(this.info,`
5
5
  font-size: 18px;
6
6
  font-weight: 1000;
7
7
  line-height: 1;
@@ -18,4 +18,4 @@
18
18
  color: rgb(0, 120, 215);
19
19
  padding-bottom: 2px;
20
20
  padding-left: 35px;
21
- `)}}),globalThis.g_XE3CopyRights=globalThis.g_XE3CopyRights||{},globalThis.g_XE3CopyRights[c]=p.copyright,globalThis.g_earthsdk_copyright_print=globalThis.g_earthsdk_copyright_print??!0,globalThis.g_earthsdk_copyright_print&&p.copyright.print()}catch{}p.ESUeViewer=M,p.GeoDivFromESImageLabel=Nn,p.GeoDivFromESTextLabel=xn,p.HighlightFeatureAndFlyToCallFunc=Ji,p.HighlightFeatureCallFunc=Gi,p.SetLayerColorCallFunc=Vi,p.SetLayerVisibleCallFunc=Ki,p.UeCloudViewerBase=ie,p.UeES3DTileset=ht,p.UeESAlarm=St,p.UeESApertureEffect=Ft,p.UeESAreaMeasurement=It,p.UeESBlastParticleSystem=Tt,p.UeESBoxClipping=Rt,p.UeESCameraView=Dt,p.UeESCameraVisibleRange=Lt,p.UeESCar=Pt,p.UeESClassification=Bt,p.UeESClippingPlane=Ut,p.UeESDataMesh=At,p.UeESDatasmithRuntimeModel=Mt,p.UeESDirectionMeasurement=bt,p.UeESDistanceMeasurement=Wt,p.UeESDynamicWater=$t,p.UeESEntityCluster=_t,p.UeESExcavate=xt,p.UeESFireParticleSystem=Nt,p.UeESForestTileset=zt,p.UeESGaussianSplatting=Li,p.UeESGeoDiv=Ht,p.UeESGeoExtrudedPolygon=Ui,p.UeESGeoJson=Gt,p.UeESGeoLineString=vt,p.UeESGeoPolygon=P,p.UeESGeoRectangle=Jt,p.UeESGeoVector=L,p.UeESGeoWater=Kt,p.UeESGltfModel=Vt,p.UeESHeightMeasurement=Xt,p.UeESHuman=qt,p.UeESHumanPoi=Ii,p.UeESImageLabel=Zt,p.UeESImageryLayer=Ct,p.UeESLabel=U,p.UeESLevelRuntimeModel=Yt,p.UeESLocalCircle=Qt,p.UeESLocalPolygon=gt,p.UeESLocalPolygonZ=kt,p.UeESLocalRectangle=Ot,p.UeESLocalSkyBox=jt,p.UeESLocalVector=mt,p.UeESLocalVector2D=ut,p.UeESLocationMeasurement=ei,p.UeESMsTileset=Bi,p.UeESNavigator=Ti,p.UeESObjectWithLocation=S,p.UeESPath=Ri,p.UeESPipeFence=ti,p.UeESPipeline=ii,p.UeESPipeserTileset=ni,p.UeESPit=ri,p.UeESPoi2D=oi,p.UeESPoi3D=si,p.UeESPoiTileset=ai,p.UeESPolygonFence=li,p.UeESPolygonFlattenedPlane=di,p.UeESPolygonWithHole=ci,p.UeESRtsFeatureEditing=Pi,p.UeESRtsTileset=ui,p.UeESSceneObject=W,p.UeESSeparateFoliage=hi,p.UeESSkylineAnalysis=Mi,p.UeESStaticMesh=Ai,p.UeESSubmergingAnalysis=gi,p.UeESSunshineAnalysis=vi,p.UeESSurfaceAreaMeasurement=pi,p.UeESTerrainLayer=Et,p.UeESTextLabel=fi,p.UeESUEWidget=wi,p.UeESUnrealActor=yi,p.UeESVideoFusion=mi,p.UeESViewShed=Ci,p.UeESViewerStatusBar=Di,p.UeESVisibilityAnalysis=Ei,p.UeESVisualObject=D,p.UeESVolumeMeasurement=Si,p.UeESWidget=Fi,p.bind3DTilesetByTagCallFunc=mn,p.bindActorByTagCallFunc=vn,p.bindImageryByTagCallFunc=Sn,p.calcFlyToParamCallFunc=b,p.callFunctionCallFunc=yt,p.captureCallFunc=tn,p.changeNavigationModeCallFunc=A,p.createActorByClassCallFunc=yn,p.destroyCallFunc=ft,p.flyInCallFunc=k,p.flyInDefaultCameraCallFunc=_i,p.flyToCallFunc=J,p.generateMemReportCallFunc=Hi,p.getAllSocketNamesByActorTagCallFunc=sn,p.getBoundSphereCallFunc=ln,p.getBoundSphereWithChildrenCallFunc=dn,p.getCameraRelativeHeightCallFunc=Rn,p.getFillMaterialParamInfoCallFunc=un,p.getGlobalPropertyCallFunc=hn,p.getHeightByLonLatCallFunc=ji,p.getHeightByLonLatsCallFunc=en,p.getIdByComponentNameAndHitItemCallFunc=Tn,p.getLonLatAltToScreenPositionCallFunc=rn,p.getObjectByInfoCallFunc=gn,p.getStatusCallFunc=Bn,p.getStrokeMaterialParamInfoCallFunc=cn,p.getTilesetMaterialIDListCallFunc=bn,p.getVersionCallFunc=an,p.highlightActorByTagCallFunc=Ln,p.mountPakFiles=zi,p.moveObjectsCallFunc=Mn,p.partialCaptureCallFunc=nn,p.pickCallFunc=ki,p.pickPositionCallFunc=Oi,p.quitCallFunc=Qi,p.refreshTilesetCallFunc=$i,p.resetWithCurrentCameraCallFunc=wt,p.restoreOriginalSceneCallFunc=pn,p.saveStringToFileCallFunc=Dn,p.sendCustomMessageCallFunc=Pn,p.setGlobalPropertyCallFunc=Yi,p.setNodePositionCallFunc=Xi,p.setNodeRotationCallFunc=qi,p.setNodeScaleCallFunc=Zi,p.smoothMoveCallFunc=te,p.smoothMoveOnGroundCallFunc=j,p.smoothMoveWithRotationCallFunc=O,p.smoothMoveWithRotationOnGroundCallFunc=ee,p.startEditingCallFunc=Un,p.startVoiceCallFunc=xi,p.stopEditingCallFunc=An,p.stopVoiceCallFunc=Ni,p.uePositionToLonLatAltCallFunc=on,p.unBind3DTilesetByIdCallFunc=En,p.unBind3DTilesetByTagCallFunc=Cn,p.unBindActorByIDCallFunc=fn,p.unBindActorByTagCallFunc=wn,p.unBindImageryByIdCallFunc=In,p.unBindImageryByTagCallFunc=Fn,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
21
+ `)}}),globalThis.g_XE3CopyRights=globalThis.g_XE3CopyRights||{},globalThis.g_XE3CopyRights[c]=p.copyright,globalThis.g_earthsdk_copyright_print=globalThis.g_earthsdk_copyright_print??!0,globalThis.g_earthsdk_copyright_print&&p.copyright.print()}catch{}p.ESUeViewer=M,p.GeoDivFromESImageLabel=zn,p.GeoDivFromESTextLabel=Nn,p.HighlightFeatureAndFlyToCallFunc=Ki,p.HighlightFeatureCallFunc=Ji,p.SetLayerColorCallFunc=Xi,p.SetLayerVisibleCallFunc=Vi,p.UeCloudViewerBase=ne,p.UeES3DTileset=gt,p.UeESAlarm=Ft,p.UeESApertureEffect=It,p.UeESAreaMeasurement=Tt,p.UeESBlastParticleSystem=Rt,p.UeESBoxClipping=Dt,p.UeESCameraView=Lt,p.UeESCameraVisibleRange=Pt,p.UeESCar=Bt,p.UeESClassification=Ut,p.UeESClippingPlane=At,p.UeESDataMesh=Mt,p.UeESDatasmithRuntimeModel=bt,p.UeESDirectionMeasurement=Wt,p.UeESDistanceMeasurement=$t,p.UeESDynamicWater=_t,p.UeESEntityCluster=xt,p.UeESExcavate=Nt,p.UeESFireParticleSystem=zt,p.UeESForestTileset=Gt,p.UeESGaussianSplatting=Pi,p.UeESGeoDiv=Ht,p.UeESGeoExtrudedPolygon=Ai,p.UeESGeoJson=Jt,p.UeESGeoLineString=pt,p.UeESGeoPolygon=P,p.UeESGeoRectangle=Kt,p.UeESGeoVector=D,p.UeESGeoWater=Vt,p.UeESGltfModel=Xt,p.UeESHeightMeasurement=qt,p.UeESHuman=Zt,p.UeESHumanPoi=Ti,p.UeESImageLabel=Qt,p.UeESImageryLayer=Et,p.UeESLabel=U,p.UeESLevelRuntimeModel=Yt,p.UeESLocalCircle=kt,p.UeESLocalPolygon=vt,p.UeESLocalPolygonZ=Ot,p.UeESLocalRectangle=jt,p.UeESLocalSkyBox=ei,p.UeESLocalVector=Ct,p.UeESLocalVector2D=ht,p.UeESLocationMeasurement=ti,p.UeESMsTileset=Ui,p.UeESNavigator=Ri,p.UeESObjectWithLocation=S,p.UeESPath=Di,p.UeESPipeFence=ii,p.UeESPipeline=ni,p.UeESPipeserTileset=ri,p.UeESPit=oi,p.UeESPoi2D=si,p.UeESPoi3D=ai,p.UeESPoiTileset=li,p.UeESPolygonFence=di,p.UeESPolygonFlattenedPlane=ci,p.UeESPolygonWithHole=ui,p.UeESRtsFeatureEditing=Bi,p.UeESRtsTileset=hi,p.UeESSceneObject=$,p.UeESSeparateFoliage=gi,p.UeESSkylineAnalysis=bi,p.UeESStaticMesh=Mi,p.UeESSubmergingAnalysis=vi,p.UeESSunshineAnalysis=pi,p.UeESSurfaceAreaMeasurement=fi,p.UeESTerrainLayer=St,p.UeESTextLabel=wi,p.UeESUEWidget=yi,p.UeESUnrealActor=mi,p.UeESVideoFusion=Ci,p.UeESViewShed=Ei,p.UeESViewerStatusBar=Li,p.UeESVisibilityAnalysis=Si,p.UeESVisualObject=R,p.UeESVolumeMeasurement=Fi,p.UeESWidget=Ii,p.bind3DTilesetByTagCallFunc=Cn,p.bindActorByTagCallFunc=pn,p.bindImageryByTagCallFunc=Fn,p.calcFlyToParamCallFunc=W,p.callFunctionCallFunc=mt,p.captureCallFunc=nn,p.changeNavigationModeCallFunc=A,p.createActorByClassCallFunc=mn,p.destroyCallFunc=wt,p.flyInCallFunc=O,p.flyInDefaultCameraCallFunc=xi,p.flyToCallFunc=K,p.generateMemReportCallFunc=Hi,p.getAllSocketNamesByActorTagCallFunc=an,p.getBoundSphereCallFunc=dn,p.getBoundSphereWithChildrenCallFunc=cn,p.getCameraRelativeHeightCallFunc=Dn,p.getFillMaterialParamInfoCallFunc=hn,p.getGlobalPropertyCallFunc=gn,p.getHeightByLonLatCallFunc=en,p.getHeightByLonLatsCallFunc=tn,p.getIdByComponentNameAndHitItemCallFunc=Rn,p.getLonLatAltToScreenPositionCallFunc=on,p.getObjectByInfoCallFunc=vn,p.getStatusCallFunc=Un,p.getStrokeMaterialParamInfoCallFunc=un,p.getTilesetMaterialIDListCallFunc=Wn,p.getVersionCallFunc=ln,p.highlightActorByTagCallFunc=Pn,p.mountPakFiles=Gi,p.moveObjectsCallFunc=bn,p.partialCaptureCallFunc=rn,p.pickCallFunc=Oi,p.pickPositionCallFunc=ji,p.quitCallFunc=ki,p.refreshTilesetCallFunc=_i,p.resetWithCurrentCameraCallFunc=yt,p.restoreOriginalSceneCallFunc=fn,p.saveStringToFileCallFunc=Ln,p.sendCustomMessageCallFunc=Bn,p.setGlobalPropertyCallFunc=Yi,p.setNodePositionCallFunc=qi,p.setNodeRotationCallFunc=Zi,p.setNodeScaleCallFunc=Qi,p.smoothMoveCallFunc=ie,p.smoothMoveOnGroundCallFunc=ee,p.smoothMoveWithRotationCallFunc=j,p.smoothMoveWithRotationOnGroundCallFunc=te,p.startEditingCallFunc=An,p.startVoiceCallFunc=Ni,p.stopEditingCallFunc=Mn,p.stopVoiceCallFunc=zi,p.uePositionToLonLatAltCallFunc=sn,p.unBind3DTilesetByIdCallFunc=Sn,p.unBind3DTilesetByTagCallFunc=En,p.unBindActorByIDCallFunc=wn,p.unBindActorByTagCallFunc=yn,p.unBindImageryByIdCallFunc=Tn,p.unBindImageryByTagCallFunc=In,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});