org.outernet.cesium-unity 1.15.3-linux.1

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 (315) hide show
  1. package/CHANGES.md +420 -0
  2. package/CHANGES.md.meta +7 -0
  3. package/Editor/BuildCesiumForUnity.cs +186 -0
  4. package/Editor/BuildCesiumForUnity.cs.meta +11 -0
  5. package/Editor/Cesium3DTilesetEditor.cs +542 -0
  6. package/Editor/Cesium3DTilesetEditor.cs.meta +11 -0
  7. package/Editor/CesiumBingMapsRasterOverlayEditor.cs +66 -0
  8. package/Editor/CesiumBingMapsRasterOverlayEditor.cs.meta +11 -0
  9. package/Editor/CesiumCameraControllerEditor.cs +174 -0
  10. package/Editor/CesiumCameraControllerEditor.cs.meta +11 -0
  11. package/Editor/CesiumCameraManagerEditor.cs +65 -0
  12. package/Editor/CesiumCameraManagerEditor.cs.meta +11 -0
  13. package/Editor/CesiumCartographicPolygonEditor.cs +23 -0
  14. package/Editor/CesiumCartographicPolygonEditor.cs.meta +11 -0
  15. package/Editor/CesiumDebugColorizeTilesRasterOverlayEditor.cs +41 -0
  16. package/Editor/CesiumDebugColorizeTilesRasterOverlayEditor.cs.meta +11 -0
  17. package/Editor/CesiumEditor.asmdef +26 -0
  18. package/Editor/CesiumEditor.asmdef.meta +7 -0
  19. package/Editor/CesiumEditorStyle.cs +188 -0
  20. package/Editor/CesiumEditorStyle.cs.meta +11 -0
  21. package/Editor/CesiumEditorUtility.cs +394 -0
  22. package/Editor/CesiumEditorUtility.cs.meta +11 -0
  23. package/Editor/CesiumEditorWindow.cs +447 -0
  24. package/Editor/CesiumEditorWindow.cs.meta +11 -0
  25. package/Editor/CesiumFlyToControllerEditor.cs +76 -0
  26. package/Editor/CesiumFlyToControllerEditor.cs.meta +11 -0
  27. package/Editor/CesiumGeoreferenceEditor.cs +277 -0
  28. package/Editor/CesiumGeoreferenceEditor.cs.meta +11 -0
  29. package/Editor/CesiumGlobeAnchorEditor.cs +202 -0
  30. package/Editor/CesiumGlobeAnchorEditor.cs.meta +11 -0
  31. package/Editor/CesiumInspectorGUI.cs +187 -0
  32. package/Editor/CesiumInspectorGUI.cs.meta +11 -0
  33. package/Editor/CesiumIonAsset.cs +192 -0
  34. package/Editor/CesiumIonAsset.cs.meta +11 -0
  35. package/Editor/CesiumIonAssetsWindow.cs +257 -0
  36. package/Editor/CesiumIonAssetsWindow.cs.meta +11 -0
  37. package/Editor/CesiumIonRasterOverlayEditor.cs +87 -0
  38. package/Editor/CesiumIonRasterOverlayEditor.cs.meta +11 -0
  39. package/Editor/CesiumIonServerManager.cs +153 -0
  40. package/Editor/CesiumIonServerManager.cs.meta +11 -0
  41. package/Editor/CesiumIonServerSelector.cs +127 -0
  42. package/Editor/CesiumIonServerSelector.cs.meta +11 -0
  43. package/Editor/CesiumIonSession.cs +102 -0
  44. package/Editor/CesiumIonSession.cs.meta +11 -0
  45. package/Editor/CesiumPolygonRasterOverlayEditor.cs +102 -0
  46. package/Editor/CesiumPolygonRasterOverlayEditor.cs.meta +11 -0
  47. package/Editor/CesiumRasterOverlayEditor.cs +230 -0
  48. package/Editor/CesiumRasterOverlayEditor.cs.meta +11 -0
  49. package/Editor/CesiumSubSceneEditor.cs +201 -0
  50. package/Editor/CesiumSubSceneEditor.cs.meta +11 -0
  51. package/Editor/CesiumTileMapServiceRasterOverlayEditor.cs +88 -0
  52. package/Editor/CesiumTileMapServiceRasterOverlayEditor.cs.meta +11 -0
  53. package/Editor/CesiumWebMapServiceRasterOverlayEditor.cs +111 -0
  54. package/Editor/CesiumWebMapServiceRasterOverlayEditor.cs.meta +11 -0
  55. package/Editor/CesiumWebMapTileServiceRasterOverlayEditor.cs +277 -0
  56. package/Editor/CesiumWebMapTileServiceRasterOverlayEditor.cs.meta +3 -0
  57. package/Editor/CompileCesiumForUnityNative.cs +581 -0
  58. package/Editor/CompileCesiumForUnityNative.cs.meta +11 -0
  59. package/Editor/ConfigureReinterop.cs +255 -0
  60. package/Editor/ConfigureReinterop.cs.meta +11 -0
  61. package/Editor/Helpers.cs +102 -0
  62. package/Editor/Helpers.cs.meta +11 -0
  63. package/Editor/IonAssetsMultiColumnHeader.cs +45 -0
  64. package/Editor/IonAssetsMultiColumnHeader.cs.meta +11 -0
  65. package/Editor/IonAssetsTreeView.cs +214 -0
  66. package/Editor/IonAssetsTreeView.cs.meta +11 -0
  67. package/Editor/IonMissingAssetWindow.cs +65 -0
  68. package/Editor/IonMissingAssetWindow.cs.meta +11 -0
  69. package/Editor/IonTokenTroubleshootingWindow.cs +615 -0
  70. package/Editor/IonTokenTroubleshootingWindow.cs.meta +11 -0
  71. package/Editor/NativeDownloadHandler.cs +35 -0
  72. package/Editor/NativeDownloadHandler.cs.meta +11 -0
  73. package/Editor/QuickAddItem.cs +43 -0
  74. package/Editor/QuickAddItem.cs.meta +11 -0
  75. package/Editor/Resources/Cesium-128x128.png +0 -0
  76. package/Editor/Resources/Cesium-128x128.png.meta +98 -0
  77. package/Editor/Resources/Cesium-24x24.png +0 -0
  78. package/Editor/Resources/Cesium-24x24.png.meta +123 -0
  79. package/Editor/Resources/Cesium-64x64.png +0 -0
  80. package/Editor/Resources/Cesium-64x64.png.meta +98 -0
  81. package/Editor/Resources/Cesium-for-Unity-dark.png +0 -0
  82. package/Editor/Resources/Cesium-for-Unity-dark.png.meta +123 -0
  83. package/Editor/Resources/Cesium-for-Unity-light.png +0 -0
  84. package/Editor/Resources/Cesium-for-Unity-light.png.meta +123 -0
  85. package/Editor/Resources/Cesium-icon-16x16.png +0 -0
  86. package/Editor/Resources/Cesium-icon-16x16.png.meta +98 -0
  87. package/Editor/Resources/FontAwesome/attribution.txt +9 -0
  88. package/Editor/Resources/FontAwesome/attribution.txt.meta +7 -0
  89. package/Editor/Resources/FontAwesome/book-reader-solid.png +0 -0
  90. package/Editor/Resources/FontAwesome/book-reader-solid.png.meta +98 -0
  91. package/Editor/Resources/FontAwesome/book-reader-solid.svg +1 -0
  92. package/Editor/Resources/FontAwesome/book-reader-solid.svg.meta +7 -0
  93. package/Editor/Resources/FontAwesome/check-solid.png +0 -0
  94. package/Editor/Resources/FontAwesome/check-solid.png.meta +98 -0
  95. package/Editor/Resources/FontAwesome/check-solid.svg +1 -0
  96. package/Editor/Resources/FontAwesome/check-solid.svg.meta +7 -0
  97. package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.png +0 -0
  98. package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.png.meta +98 -0
  99. package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.svg +1 -0
  100. package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.svg.meta +7 -0
  101. package/Editor/Resources/FontAwesome/folder.png +0 -0
  102. package/Editor/Resources/FontAwesome/folder.png.meta +147 -0
  103. package/Editor/Resources/FontAwesome/folder.svg +5 -0
  104. package/Editor/Resources/FontAwesome/folder.svg.meta +7 -0
  105. package/Editor/Resources/FontAwesome/hands-helping-solid.png +0 -0
  106. package/Editor/Resources/FontAwesome/hands-helping-solid.png.meta +98 -0
  107. package/Editor/Resources/FontAwesome/hands-helping-solid.svg +1 -0
  108. package/Editor/Resources/FontAwesome/hands-helping-solid.svg.meta +7 -0
  109. package/Editor/Resources/FontAwesome/key-solid.png +0 -0
  110. package/Editor/Resources/FontAwesome/key-solid.png.meta +98 -0
  111. package/Editor/Resources/FontAwesome/key-solid.svg +1 -0
  112. package/Editor/Resources/FontAwesome/key-solid.svg.meta +7 -0
  113. package/Editor/Resources/FontAwesome/plus-solid.png +0 -0
  114. package/Editor/Resources/FontAwesome/plus-solid.png.meta +98 -0
  115. package/Editor/Resources/FontAwesome/plus-solid.svg +1 -0
  116. package/Editor/Resources/FontAwesome/plus-solid.svg.meta +7 -0
  117. package/Editor/Resources/FontAwesome/sign-out-alt-solid.png +0 -0
  118. package/Editor/Resources/FontAwesome/sign-out-alt-solid.png.meta +98 -0
  119. package/Editor/Resources/FontAwesome/sign-out-alt-solid.svg +1 -0
  120. package/Editor/Resources/FontAwesome/sign-out-alt-solid.svg.meta +7 -0
  121. package/Editor/Resources/FontAwesome/sync-alt-solid.png +0 -0
  122. package/Editor/Resources/FontAwesome/sync-alt-solid.png.meta +98 -0
  123. package/Editor/Resources/FontAwesome/sync-alt-solid.svg +1 -0
  124. package/Editor/Resources/FontAwesome/sync-alt-solid.svg.meta +7 -0
  125. package/Editor/Resources/FontAwesome/times-solid.png +0 -0
  126. package/Editor/Resources/FontAwesome/times-solid.png.meta +98 -0
  127. package/Editor/Resources/FontAwesome/times-solid.svg +1 -0
  128. package/Editor/Resources/FontAwesome/times-solid.svg.meta +7 -0
  129. package/Editor/Resources/FontAwesome.meta +8 -0
  130. package/Editor/Resources.meta +8 -0
  131. package/Editor/SelectIonTokenWindow.cs +249 -0
  132. package/Editor/SelectIonTokenWindow.cs.meta +11 -0
  133. package/Editor/arm64.meta +8 -0
  134. package/Editor/csc.rsp +1 -0
  135. package/Editor/csc.rsp.meta +7 -0
  136. package/Editor/libCesiumForUnityNative-Editor.so +0 -0
  137. package/Editor/libCesiumForUnityNative-Editor.so.meta +2 -0
  138. package/Editor/libCesiumForUnityNative-Runtime.so +0 -0
  139. package/Editor/libCesiumForUnityNative-Runtime.so.meta +2 -0
  140. package/Editor/x86_64.meta +8 -0
  141. package/Editor.meta +8 -0
  142. package/LICENSE +201 -0
  143. package/LICENSE.meta +7 -0
  144. package/Plugins/Standalone/libCesiumForUnityNative-Runtime.so +0 -0
  145. package/Plugins/Standalone/libCesiumForUnityNative-Runtime.so.meta +2 -0
  146. package/Plugins/Standalone.meta +8 -0
  147. package/Plugins.meta +8 -0
  148. package/README.md +39 -0
  149. package/README.md.meta +7 -0
  150. package/Reinterop.deps.json +172 -0
  151. package/Reinterop.deps.json.meta +7 -0
  152. package/Reinterop.dll +0 -0
  153. package/Reinterop.dll.meta +79 -0
  154. package/Runtime/Cesium3DTile.cs +37 -0
  155. package/Runtime/Cesium3DTile.cs.meta +11 -0
  156. package/Runtime/Cesium3DTileset.cs +788 -0
  157. package/Runtime/Cesium3DTileset.cs.meta +11 -0
  158. package/Runtime/Cesium3DTilesetLoadFailureDetails.cs +65 -0
  159. package/Runtime/Cesium3DTilesetLoadFailureDetails.cs.meta +11 -0
  160. package/Runtime/CesiumBackwardCompatibility.cs +163 -0
  161. package/Runtime/CesiumBackwardCompatibility.cs.meta +11 -0
  162. package/Runtime/CesiumBingMapsRasterOverlay.cs +72 -0
  163. package/Runtime/CesiumBingMapsRasterOverlay.cs.meta +11 -0
  164. package/Runtime/CesiumCameraController.cs +827 -0
  165. package/Runtime/CesiumCameraController.cs.meta +11 -0
  166. package/Runtime/CesiumCameraManager.cs +105 -0
  167. package/Runtime/CesiumCameraManager.cs.meta +11 -0
  168. package/Runtime/CesiumCartographicPolygon.cs +152 -0
  169. package/Runtime/CesiumCartographicPolygon.cs.meta +11 -0
  170. package/Runtime/CesiumCreditSystem.cs +343 -0
  171. package/Runtime/CesiumCreditSystem.cs.meta +11 -0
  172. package/Runtime/CesiumCreditSystemUI.cs +402 -0
  173. package/Runtime/CesiumCreditSystemUI.cs.meta +11 -0
  174. package/Runtime/CesiumDebugColorizeTilesRasterOverlay.cs +21 -0
  175. package/Runtime/CesiumDebugColorizeTilesRasterOverlay.cs.meta +11 -0
  176. package/Runtime/CesiumEllipsoid.cs +107 -0
  177. package/Runtime/CesiumEllipsoid.cs.meta +11 -0
  178. package/Runtime/CesiumFeature.cs +279 -0
  179. package/Runtime/CesiumFeature.cs.meta +11 -0
  180. package/Runtime/CesiumFeatureIdAttribute.cs +61 -0
  181. package/Runtime/CesiumFeatureIdAttribute.cs.meta +11 -0
  182. package/Runtime/CesiumFeatureIdSet.cs +165 -0
  183. package/Runtime/CesiumFeatureIdSet.cs.meta +11 -0
  184. package/Runtime/CesiumFeatureIdTexture.cs +68 -0
  185. package/Runtime/CesiumFeatureIdTexture.cs.meta +11 -0
  186. package/Runtime/CesiumFlyToController.cs +539 -0
  187. package/Runtime/CesiumFlyToController.cs.meta +11 -0
  188. package/Runtime/CesiumGeoreference.cs +628 -0
  189. package/Runtime/CesiumGeoreference.cs.meta +11 -0
  190. package/Runtime/CesiumGlobeAnchor.cs +664 -0
  191. package/Runtime/CesiumGlobeAnchor.cs.meta +11 -0
  192. package/Runtime/CesiumGlobeAnchorBackwardCompatibility0dot2dot0.cs +105 -0
  193. package/Runtime/CesiumGlobeAnchorBackwardCompatibility0dot2dot0.cs.meta +11 -0
  194. package/Runtime/CesiumIntMatN.cs +398 -0
  195. package/Runtime/CesiumIntMatN.cs.meta +11 -0
  196. package/Runtime/CesiumIntVecN.cs +525 -0
  197. package/Runtime/CesiumIntVecN.cs.meta +11 -0
  198. package/Runtime/CesiumIonRasterOverlay.cs +110 -0
  199. package/Runtime/CesiumIonRasterOverlay.cs.meta +11 -0
  200. package/Runtime/CesiumIonServer.cs +137 -0
  201. package/Runtime/CesiumIonServer.cs.meta +11 -0
  202. package/Runtime/CesiumMetadata.cs +33 -0
  203. package/Runtime/CesiumMetadata.cs.meta +11 -0
  204. package/Runtime/CesiumMetadataValue.cs +1764 -0
  205. package/Runtime/CesiumMetadataValue.cs.meta +11 -0
  206. package/Runtime/CesiumMetadataValueType.cs +203 -0
  207. package/Runtime/CesiumMetadataValueType.cs.meta +11 -0
  208. package/Runtime/CesiumModelMetadata.cs +26 -0
  209. package/Runtime/CesiumModelMetadata.cs.meta +11 -0
  210. package/Runtime/CesiumObjectPool.cs +74 -0
  211. package/Runtime/CesiumObjectPool.cs.meta +11 -0
  212. package/Runtime/CesiumObjectPools.cs +39 -0
  213. package/Runtime/CesiumObjectPools.cs.meta +11 -0
  214. package/Runtime/CesiumOriginShift.cs +146 -0
  215. package/Runtime/CesiumOriginShift.cs.meta +11 -0
  216. package/Runtime/CesiumPointCloudRenderer.cs +246 -0
  217. package/Runtime/CesiumPointCloudRenderer.cs.meta +11 -0
  218. package/Runtime/CesiumPointCloudShading.cs +76 -0
  219. package/Runtime/CesiumPointCloudShading.cs.meta +11 -0
  220. package/Runtime/CesiumPolygonRasterOverlay.cs +109 -0
  221. package/Runtime/CesiumPolygonRasterOverlay.cs.meta +11 -0
  222. package/Runtime/CesiumPrimitiveFeatures.cs +130 -0
  223. package/Runtime/CesiumPrimitiveFeatures.cs.meta +11 -0
  224. package/Runtime/CesiumPropertyArray.cs +64 -0
  225. package/Runtime/CesiumPropertyArray.cs.meta +11 -0
  226. package/Runtime/CesiumPropertyTable.cs +126 -0
  227. package/Runtime/CesiumPropertyTable.cs.meta +11 -0
  228. package/Runtime/CesiumPropertyTableProperty.cs +1734 -0
  229. package/Runtime/CesiumPropertyTableProperty.cs.meta +11 -0
  230. package/Runtime/CesiumRasterOverlay.cs +239 -0
  231. package/Runtime/CesiumRasterOverlay.cs.meta +11 -0
  232. package/Runtime/CesiumRasterOverlayLoadFailureDetails.cs +65 -0
  233. package/Runtime/CesiumRasterOverlayLoadFailureDetails.cs.meta +11 -0
  234. package/Runtime/CesiumRuntime.asmdef +32 -0
  235. package/Runtime/CesiumRuntime.asmdef.meta +7 -0
  236. package/Runtime/CesiumRuntime.cs +3 -0
  237. package/Runtime/CesiumRuntime.cs.meta +11 -0
  238. package/Runtime/CesiumRuntimeSettings.cs +188 -0
  239. package/Runtime/CesiumRuntimeSettings.cs.meta +11 -0
  240. package/Runtime/CesiumSampleHeightResult.cs +47 -0
  241. package/Runtime/CesiumSampleHeightResult.cs.meta +11 -0
  242. package/Runtime/CesiumSimplePlanarEllipsoidCurve.cs +93 -0
  243. package/Runtime/CesiumSimplePlanarEllipsoidCurve.cs.meta +11 -0
  244. package/Runtime/CesiumSubScene.cs +473 -0
  245. package/Runtime/CesiumSubScene.cs.meta +11 -0
  246. package/Runtime/CesiumTileExcluder.cs +47 -0
  247. package/Runtime/CesiumTileExcluder.cs.meta +11 -0
  248. package/Runtime/CesiumTileMapServiceRasterOverlay.cs +93 -0
  249. package/Runtime/CesiumTileMapServiceRasterOverlay.cs.meta +11 -0
  250. package/Runtime/CesiumWebMapServiceRasterOverlay.cs +129 -0
  251. package/Runtime/CesiumWebMapServiceRasterOverlay.cs.meta +11 -0
  252. package/Runtime/CesiumWebMapTileServiceRasterOverlay.cs +414 -0
  253. package/Runtime/CesiumWebMapTileServiceRasterOverlay.cs.meta +3 -0
  254. package/Runtime/CesiumWgs84Ellipsoid.cs +75 -0
  255. package/Runtime/CesiumWgs84Ellipsoid.cs.meta +11 -0
  256. package/Runtime/ConfigureReinterop.cs +926 -0
  257. package/Runtime/ConfigureReinterop.cs.meta +11 -0
  258. package/Runtime/Helpers.cs +122 -0
  259. package/Runtime/Helpers.cs.meta +11 -0
  260. package/Runtime/ICesiumRestartable.cs +17 -0
  261. package/Runtime/ICesiumRestartable.cs.meta +11 -0
  262. package/Runtime/NativeCoroutine.cs +28 -0
  263. package/Runtime/NativeCoroutine.cs.meta +11 -0
  264. package/Runtime/NativeDownloadHandler.cs +29 -0
  265. package/Runtime/NativeDownloadHandler.cs.meta +11 -0
  266. package/Runtime/Resources/CesiumCreditSystem.prefab +78 -0
  267. package/Runtime/Resources/CesiumCreditSystem.prefab.meta +7 -0
  268. package/Runtime/Resources/CesiumCreditSystemRuntimeTheme.tss +2 -0
  269. package/Runtime/Resources/CesiumCreditSystemRuntimeTheme.tss.meta +11 -0
  270. package/Runtime/Resources/CesiumCreditSystemUI.uxml +4 -0
  271. package/Runtime/Resources/CesiumCreditSystemUI.uxml.meta +10 -0
  272. package/Runtime/Resources/CesiumCreditSystemUIPanelSettings.asset +38 -0
  273. package/Runtime/Resources/CesiumCreditSystemUIPanelSettings.asset.meta +8 -0
  274. package/Runtime/Resources/CesiumDefaultTilesetMaterial.mat +232 -0
  275. package/Runtime/Resources/CesiumDefaultTilesetMaterial.mat.meta +8 -0
  276. package/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph +14271 -0
  277. package/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph.meta +10 -0
  278. package/Runtime/Resources/CesiumPointCloudShading.hlsl +156 -0
  279. package/Runtime/Resources/CesiumPointCloudShading.hlsl.meta +7 -0
  280. package/Runtime/Resources/CesiumPointCloudShadingMaterial.mat +125 -0
  281. package/Runtime/Resources/CesiumPointCloudShadingMaterial.mat.meta +8 -0
  282. package/Runtime/Resources/CesiumPointCloudShadingShader.shader +73 -0
  283. package/Runtime/Resources/CesiumPointCloudShadingShader.shader.meta +10 -0
  284. package/Runtime/Resources/CesiumRasterOverlay.shadersubgraph +2207 -0
  285. package/Runtime/Resources/CesiumRasterOverlay.shadersubgraph.meta +10 -0
  286. package/Runtime/Resources/CesiumSelectTexCoords.shadersubgraph +722 -0
  287. package/Runtime/Resources/CesiumSelectTexCoords.shadersubgraph.meta +10 -0
  288. package/Runtime/Resources/CesiumUnlitTilesetMaterial.mat +261 -0
  289. package/Runtime/Resources/CesiumUnlitTilesetMaterial.mat.meta +8 -0
  290. package/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph +5873 -0
  291. package/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph.meta +10 -0
  292. package/Runtime/Resources/DynamicCamera.prefab +253 -0
  293. package/Runtime/Resources/DynamicCamera.prefab.meta +7 -0
  294. package/Runtime/Resources/TransformTextureCoordinates.shadersubgraph +2171 -0
  295. package/Runtime/Resources/TransformTextureCoordinates.shadersubgraph.meta +10 -0
  296. package/Runtime/Resources/green1x1.png +0 -0
  297. package/Runtime/Resources/green1x1.png.meta +123 -0
  298. package/Runtime/Resources.meta +8 -0
  299. package/Runtime/TestGltfModel.cs +56 -0
  300. package/Runtime/TestGltfModel.cs.meta +11 -0
  301. package/Runtime/TestReinterop.cs +21 -0
  302. package/Runtime/TestReinterop.cs.meta +11 -0
  303. package/Runtime/UnityLifetime.cs +27 -0
  304. package/Runtime/UnityLifetime.cs.meta +11 -0
  305. package/Runtime/WaitForTask.cs +25 -0
  306. package/Runtime/WaitForTask.cs.meta +11 -0
  307. package/Runtime/csc.rsp +1 -0
  308. package/Runtime/csc.rsp.meta +7 -0
  309. package/Runtime.meta +8 -0
  310. package/ThirdParty.json +27 -0
  311. package/ThirdParty.json.meta +7 -0
  312. package/WGS84.asset +18 -0
  313. package/WGS84.asset.meta +8 -0
  314. package/package.json +29 -0
  315. package/package.json.meta +7 -0
@@ -0,0 +1,394 @@
1
+ using System;
2
+ using System.Text.RegularExpressions;
3
+ using Unity.Mathematics;
4
+ using UnityEditor;
5
+ using UnityEngine;
6
+
7
+ namespace CesiumForUnity
8
+ {
9
+ [InitializeOnLoad]
10
+ public static class CesiumEditorUtility
11
+ {
12
+ static CesiumEditorUtility()
13
+ {
14
+ EditorApplication.update += UpdateIonSession;
15
+
16
+ Cesium3DTileset.OnCesium3DTilesetLoadFailure +=
17
+ HandleCesium3DTilesetLoadFailure;
18
+ CesiumRasterOverlay.OnCesiumRasterOverlayLoadFailure +=
19
+ HandleCesiumRasterOverlayLoadFailure;
20
+ }
21
+
22
+ static void UpdateIonSession()
23
+ {
24
+ try
25
+ {
26
+ CesiumIonServerManager.instance.currentSession.Tick();
27
+ }
28
+ // Don't let a missing / out-of-sync native DLL crash everything.
29
+ catch (DllNotFoundException)
30
+ {
31
+ }
32
+ catch (TypeInitializationException)
33
+ {
34
+ }
35
+ }
36
+
37
+ static void
38
+ HandleCesium3DTilesetLoadFailure(Cesium3DTilesetLoadFailureDetails details)
39
+ {
40
+ if (details.tileset == null)
41
+ {
42
+ return;
43
+ }
44
+
45
+ // Don't open a troubleshooting panel during play mode.
46
+ if (EditorApplication.isPlaying)
47
+ {
48
+ return;
49
+ }
50
+
51
+ if(details.tileset.ionServer == null)
52
+ {
53
+ return;
54
+ }
55
+
56
+ CesiumIonSession session = CesiumIonServerManager.instance.GetSession(details.tileset.ionServer);
57
+ if(session == null)
58
+ {
59
+ return;
60
+ }
61
+
62
+ if(!session.IsAuthenticationRequired())
63
+ {
64
+ // The server we're connected to doesn't use tokens, so reauthorizing would be pointless
65
+ return;
66
+ }
67
+
68
+ // Check for a 401 connecting to Cesium ion, which means the token is invalid
69
+ // (or perhaps the asset ID is). Also check for a 404, because ion returns 404
70
+ // when the token is valid but not authorized for the asset.
71
+ if (details.type == Cesium3DTilesetLoadType.CesiumIon
72
+ && (details.httpStatusCode == 401 || details.httpStatusCode == 404))
73
+ {
74
+ IonTokenTroubleshootingWindow.ShowWindow(details.tileset, true);
75
+ }
76
+ }
77
+
78
+ static void
79
+ HandleCesiumRasterOverlayLoadFailure(CesiumRasterOverlayLoadFailureDetails details)
80
+ {
81
+ if (details.overlay == null)
82
+ {
83
+ return;
84
+ }
85
+
86
+ // Don't open a troubleshooting panel during play mode.
87
+ if (EditorApplication.isPlaying)
88
+ {
89
+ return;
90
+ }
91
+
92
+ // Check for a 401 connecting to Cesium ion, which means the token is invalid
93
+ // (or perhaps the asset ID is). Also check for a 404, because ion returns 404
94
+ // when the token is valid but not authorized for the asset.
95
+ if (details.type == CesiumRasterOverlayLoadType.CesiumIon
96
+ && (details.httpStatusCode == 401 || details.httpStatusCode == 404)
97
+ && details.overlay is CesiumIonRasterOverlay ionOverlay)
98
+ {
99
+ IonTokenTroubleshootingWindow.ShowWindow(ionOverlay, true);
100
+ }
101
+ else
102
+ {
103
+ Debug.Log(details.message);
104
+ }
105
+ }
106
+
107
+ public static Cesium3DTileset FindFirstTileset()
108
+ {
109
+ Cesium3DTileset[] tilesets =
110
+ UnityEngine.Object.FindObjectsOfType<Cesium3DTileset>(true);
111
+ for (int i = 0; i < tilesets.Length; i++)
112
+ {
113
+ Cesium3DTileset tileset = tilesets[i];
114
+ if (tileset != null)
115
+ {
116
+ return tileset;
117
+ }
118
+ }
119
+
120
+ return null;
121
+ }
122
+
123
+ public static Cesium3DTileset FindFirstTilesetWithAssetID(long assetID)
124
+ {
125
+ Cesium3DTileset[] tilesets =
126
+ UnityEngine.Object.FindObjectsOfType<Cesium3DTileset>(true);
127
+ for (int i = 0; i < tilesets.Length; i++)
128
+ {
129
+ Cesium3DTileset tileset = tilesets[i];
130
+ if (tileset != null && tileset.ionAssetID == assetID)
131
+ {
132
+ return tileset;
133
+ }
134
+ }
135
+
136
+ return null;
137
+ }
138
+
139
+ public static CesiumGeoreference FindOrCreateGeoreference()
140
+ {
141
+ CesiumGeoreference georeference = null;
142
+ CesiumGeoreference[] georeferences =
143
+ UnityEngine.Object.FindObjectsOfType<CesiumGeoreference>(true);
144
+ for (int i = 0; i < georeferences.Length; i++)
145
+ {
146
+ georeference = georeferences[i];
147
+ if (georeference != null)
148
+ {
149
+ return georeference;
150
+ }
151
+ }
152
+
153
+ GameObject georeferenceGameObject = new GameObject("CesiumGeoreference");
154
+ georeference =
155
+ georeferenceGameObject.AddComponent<CesiumGeoreference>();
156
+ Undo.RegisterCreatedObjectUndo(georeferenceGameObject, "Create Georeference");
157
+
158
+ return georeference;
159
+
160
+ }
161
+
162
+ public static Cesium3DTileset CreateTileset(string name, long assetID)
163
+ {
164
+ // Find a georeference in the scene, or create one if none exist.
165
+ CesiumGeoreference georeference = CesiumEditorUtility.FindOrCreateGeoreference();
166
+
167
+ GameObject tilesetGameObject = new GameObject(name);
168
+ tilesetGameObject.transform.SetParent(georeference.gameObject.transform);
169
+
170
+ Cesium3DTileset tileset = tilesetGameObject.AddComponent<Cesium3DTileset>();
171
+ tileset.name = name;
172
+ tileset.ionAssetID = assetID;
173
+
174
+ Undo.RegisterCreatedObjectUndo(tilesetGameObject, "Create Tileset");
175
+
176
+ return tileset;
177
+ }
178
+
179
+ public static CesiumIonRasterOverlay
180
+ AddBaseOverlayToTileset(Cesium3DTileset tileset, long assetID)
181
+ {
182
+ GameObject gameObject = tileset.gameObject;
183
+ CesiumRasterOverlay overlay = gameObject.GetComponent<CesiumRasterOverlay>();
184
+ if (overlay != null)
185
+ {
186
+ Undo.DestroyObjectImmediate(overlay);
187
+ }
188
+
189
+ CesiumIonRasterOverlay ionOverlay = Undo.AddComponent<CesiumIonRasterOverlay>(gameObject);
190
+ ionOverlay.ionAssetID = assetID;
191
+
192
+ return ionOverlay;
193
+ }
194
+
195
+ private static double3
196
+ TransformCameraPositionToEarthCenteredEarthFixed(CesiumGeoreference georeference)
197
+ {
198
+ Camera camera = SceneView.lastActiveSceneView.camera;
199
+
200
+ // Find the camera position in the Georeference's reference frame.
201
+ Vector3 position = camera.transform.position;
202
+ position = georeference.transform.worldToLocalMatrix *
203
+ new Vector4(position.x, position.y, position.z, 1.0f);
204
+
205
+ double3 positionUnity = new double3(
206
+ position.x,
207
+ position.y,
208
+ position.z
209
+ );
210
+
211
+ return georeference.TransformUnityPositionToEarthCenteredEarthFixed(
212
+ positionUnity);
213
+ }
214
+
215
+ private static void SetSceneViewPositionRotation(
216
+ Vector3 position,
217
+ Quaternion rotation)
218
+ {
219
+ SceneView sceneView = SceneView.lastActiveSceneView;
220
+ sceneView.pivot =
221
+ position + sceneView.camera.transform.forward * sceneView.cameraDistance;
222
+ sceneView.rotation = rotation;
223
+ SceneView.lastActiveSceneView.Repaint();
224
+ }
225
+
226
+ public static void PlaceGeoreferenceAtCameraPosition(CesiumGeoreference georeference)
227
+ {
228
+ Undo.RecordObject(georeference, "Place Georeference Origin at Camera Position");
229
+
230
+ // Disable all sub-scenes before repositioning the georeference.
231
+ CesiumSubScene[] subScenes =
232
+ georeference.gameObject.GetComponentsInChildren<CesiumSubScene>();
233
+ for (int i = 0; i < subScenes.Length; i++)
234
+ {
235
+ subScenes[i].gameObject.SetActive(false);
236
+ }
237
+
238
+ // Want to restore current forward direction, relative to the globe.
239
+ // Remember that "the globe" in Unity world coordinates is defined by both the georeference origin and its Transform.
240
+ Vector3 forward = SceneView.lastActiveSceneView.camera.transform.forward;
241
+ forward = georeference.transform.worldToLocalMatrix * new Vector4(forward.x, forward.y, forward.z, 0.0f);
242
+ double3 cameraForwardEcef =
243
+ georeference.TransformUnityDirectionToEarthCenteredEarthFixed(
244
+ new double3(
245
+ forward.x,
246
+ forward.y,
247
+ forward.z));
248
+
249
+ double3 positionECEF =
250
+ CesiumEditorUtility.TransformCameraPositionToEarthCenteredEarthFixed(georeference);
251
+ georeference.SetOriginEarthCenteredEarthFixed(
252
+ positionECEF.x,
253
+ positionECEF.y,
254
+ positionECEF.z);
255
+
256
+ double3 newCameraForwardUnity =
257
+ georeference.TransformEarthCenteredEarthFixedDirectionToUnity(cameraForwardEcef);
258
+
259
+ // Teleport the camera back to the georeference's position so it stays
260
+ // at the middle of the subscene. Restore the original forward direction, wrt the globe.
261
+ // Always use +Y (Vector3.up) as the up direction, even if a Transform on the CesiumGeoreference tilts the globe.
262
+ CesiumEditorUtility.SetSceneViewPositionRotation(
263
+ georeference.transform.position,
264
+ Quaternion.LookRotation(
265
+ georeference.transform.localToWorldMatrix * new Vector4(
266
+ (float)newCameraForwardUnity.x,
267
+ (float)newCameraForwardUnity.y,
268
+ (float)newCameraForwardUnity.z,
269
+ 0.0f),
270
+ Vector3.up));
271
+ }
272
+
273
+ public static CesiumSubScene CreateSubScene(CesiumGeoreference georeference)
274
+ {
275
+ CesiumEditorUtility.PlaceGeoreferenceAtCameraPosition(georeference);
276
+ double3 positionECEF = new double3(
277
+ georeference.ecefX,
278
+ georeference.ecefY,
279
+ georeference.ecefZ
280
+ );
281
+
282
+ GameObject subSceneGameObject = new GameObject("New Sub-Scene");
283
+ subSceneGameObject.transform.parent = georeference.transform;
284
+ Undo.RegisterCreatedObjectUndo(subSceneGameObject, "Create Sub-Scene");
285
+
286
+ CesiumSubScene subScene = subSceneGameObject.AddComponent<CesiumSubScene>();
287
+ subScene.SetOriginEarthCenteredEarthFixed(
288
+ positionECEF.x,
289
+ positionECEF.y,
290
+ positionECEF.z);
291
+
292
+ // Prompt the user to rename the subscene once the hierarchy has updated.
293
+ Selection.activeGameObject = subSceneGameObject;
294
+ EditorApplication.hierarchyChanged += RenameObject;
295
+
296
+ return subScene;
297
+ }
298
+
299
+ public static void PlaceSubSceneAtCameraPosition(CesiumSubScene subscene)
300
+ {
301
+ CesiumGeoreference georeference =
302
+ subscene.gameObject.GetComponentInParent<CesiumGeoreference>();
303
+ if (georeference == null)
304
+ {
305
+ throw new InvalidOperationException("CesiumSubScene is not nested inside a game " +
306
+ "object with a CesiumGeoreference.");
307
+ }
308
+
309
+ Undo.RecordObject(subscene, "Place Sub-Scene Origin at Camera Position");
310
+
311
+ double3 positionECEF =
312
+ CesiumEditorUtility.TransformCameraPositionToEarthCenteredEarthFixed(georeference);
313
+ subscene.SetOriginEarthCenteredEarthFixed(
314
+ positionECEF.x,
315
+ positionECEF.y,
316
+ positionECEF.z);
317
+ CesiumEditorUtility.SetSceneViewPositionRotation(
318
+ Vector3.zero, SceneView.lastActiveSceneView.rotation);
319
+ }
320
+
321
+ public static void RenameObject()
322
+ {
323
+ EditorApplication.hierarchyChanged -= RenameObject;
324
+ EditorApplication.ExecuteMenuItem("Window/General/Hierarchy");
325
+ EditorApplication.ExecuteMenuItem("Edit/Rename");
326
+ }
327
+
328
+ public static CesiumCameraController CreateDynamicCamera()
329
+ {
330
+ CesiumCameraController dynamicCamera =
331
+ UnityEngine.Object.FindObjectOfType<CesiumCameraController>(true);
332
+ if (dynamicCamera != null)
333
+ {
334
+ return dynamicCamera;
335
+ }
336
+
337
+ // Find a georeference in the scene, or create one if none exist.
338
+ CesiumGeoreference georeference = CesiumEditorUtility.FindOrCreateGeoreference();
339
+
340
+ GameObject dynamicCameraPrefab = Resources.Load<GameObject>("DynamicCamera");
341
+ GameObject dynamicCameraObject =
342
+ UnityEngine.Object.Instantiate(dynamicCameraPrefab, georeference.gameObject.transform);
343
+ dynamicCameraObject.name = "DynamicCamera";
344
+
345
+ Undo.RegisterCreatedObjectUndo(dynamicCameraObject, "Create DynamicCamera");
346
+
347
+ return dynamicCameraObject.GetComponent<CesiumCameraController>();
348
+ }
349
+
350
+ public static CesiumCartographicPolygon CreateCartographicPolygon()
351
+ {
352
+ // Find a georeference in the scene, or create one if none exist.
353
+ CesiumGeoreference georeference = CesiumEditorUtility.FindOrCreateGeoreference();
354
+
355
+ GameObject polygonGameObject = new GameObject("CesiumCartographicPolygon");
356
+ polygonGameObject.transform.SetParent(georeference.gameObject.transform);
357
+
358
+ CesiumCartographicPolygon polygon = polygonGameObject.AddComponent<CesiumCartographicPolygon>();
359
+
360
+ Undo.RegisterCreatedObjectUndo(polygonGameObject, "Create Cartographic Polygon");
361
+
362
+ return polygon;
363
+ }
364
+
365
+ private static Regex _findLineBreakSets = new Regex("(\r?\n)+[ \t]*");
366
+
367
+ /// <summary>
368
+ /// Apply some very basic formatting to the tooltip:
369
+ /// - Trim whitespace from the beginning of the string and from the beginning of each new line
370
+ /// - Remove single newlines, replace them with a space.
371
+ /// - Leave double newlines, these start a new paragraph.
372
+ /// </summary>
373
+ /// <param name="tooltip">The original tooltip.</param>
374
+ /// <returns>The formatted tooltip.</returns>
375
+ public static string FormatTooltip(string tooltip)
376
+ {
377
+ return _findLineBreakSets.Replace(tooltip.Trim(), (match) =>
378
+ {
379
+ int newlineCount = 0;
380
+ string matchString = match.Value;
381
+ for (int i = 0; i < matchString.Length; ++i)
382
+ {
383
+ if (matchString[i] == '\n')
384
+ ++newlineCount;
385
+ }
386
+
387
+ if (newlineCount == 1)
388
+ return " ";
389
+ else // two or more newlines
390
+ return Environment.NewLine + Environment.NewLine;
391
+ });
392
+ }
393
+ }
394
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 857d6a4a91381d64e8a49f6792b90bb1
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant: