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.
- package/CHANGES.md +420 -0
- package/CHANGES.md.meta +7 -0
- package/Editor/BuildCesiumForUnity.cs +186 -0
- package/Editor/BuildCesiumForUnity.cs.meta +11 -0
- package/Editor/Cesium3DTilesetEditor.cs +542 -0
- package/Editor/Cesium3DTilesetEditor.cs.meta +11 -0
- package/Editor/CesiumBingMapsRasterOverlayEditor.cs +66 -0
- package/Editor/CesiumBingMapsRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumCameraControllerEditor.cs +174 -0
- package/Editor/CesiumCameraControllerEditor.cs.meta +11 -0
- package/Editor/CesiumCameraManagerEditor.cs +65 -0
- package/Editor/CesiumCameraManagerEditor.cs.meta +11 -0
- package/Editor/CesiumCartographicPolygonEditor.cs +23 -0
- package/Editor/CesiumCartographicPolygonEditor.cs.meta +11 -0
- package/Editor/CesiumDebugColorizeTilesRasterOverlayEditor.cs +41 -0
- package/Editor/CesiumDebugColorizeTilesRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumEditor.asmdef +26 -0
- package/Editor/CesiumEditor.asmdef.meta +7 -0
- package/Editor/CesiumEditorStyle.cs +188 -0
- package/Editor/CesiumEditorStyle.cs.meta +11 -0
- package/Editor/CesiumEditorUtility.cs +394 -0
- package/Editor/CesiumEditorUtility.cs.meta +11 -0
- package/Editor/CesiumEditorWindow.cs +447 -0
- package/Editor/CesiumEditorWindow.cs.meta +11 -0
- package/Editor/CesiumFlyToControllerEditor.cs +76 -0
- package/Editor/CesiumFlyToControllerEditor.cs.meta +11 -0
- package/Editor/CesiumGeoreferenceEditor.cs +277 -0
- package/Editor/CesiumGeoreferenceEditor.cs.meta +11 -0
- package/Editor/CesiumGlobeAnchorEditor.cs +202 -0
- package/Editor/CesiumGlobeAnchorEditor.cs.meta +11 -0
- package/Editor/CesiumInspectorGUI.cs +187 -0
- package/Editor/CesiumInspectorGUI.cs.meta +11 -0
- package/Editor/CesiumIonAsset.cs +192 -0
- package/Editor/CesiumIonAsset.cs.meta +11 -0
- package/Editor/CesiumIonAssetsWindow.cs +257 -0
- package/Editor/CesiumIonAssetsWindow.cs.meta +11 -0
- package/Editor/CesiumIonRasterOverlayEditor.cs +87 -0
- package/Editor/CesiumIonRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumIonServerManager.cs +153 -0
- package/Editor/CesiumIonServerManager.cs.meta +11 -0
- package/Editor/CesiumIonServerSelector.cs +127 -0
- package/Editor/CesiumIonServerSelector.cs.meta +11 -0
- package/Editor/CesiumIonSession.cs +102 -0
- package/Editor/CesiumIonSession.cs.meta +11 -0
- package/Editor/CesiumPolygonRasterOverlayEditor.cs +102 -0
- package/Editor/CesiumPolygonRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumRasterOverlayEditor.cs +230 -0
- package/Editor/CesiumRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumSubSceneEditor.cs +201 -0
- package/Editor/CesiumSubSceneEditor.cs.meta +11 -0
- package/Editor/CesiumTileMapServiceRasterOverlayEditor.cs +88 -0
- package/Editor/CesiumTileMapServiceRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumWebMapServiceRasterOverlayEditor.cs +111 -0
- package/Editor/CesiumWebMapServiceRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumWebMapTileServiceRasterOverlayEditor.cs +277 -0
- package/Editor/CesiumWebMapTileServiceRasterOverlayEditor.cs.meta +3 -0
- package/Editor/CompileCesiumForUnityNative.cs +581 -0
- package/Editor/CompileCesiumForUnityNative.cs.meta +11 -0
- package/Editor/ConfigureReinterop.cs +255 -0
- package/Editor/ConfigureReinterop.cs.meta +11 -0
- package/Editor/Helpers.cs +102 -0
- package/Editor/Helpers.cs.meta +11 -0
- package/Editor/IonAssetsMultiColumnHeader.cs +45 -0
- package/Editor/IonAssetsMultiColumnHeader.cs.meta +11 -0
- package/Editor/IonAssetsTreeView.cs +214 -0
- package/Editor/IonAssetsTreeView.cs.meta +11 -0
- package/Editor/IonMissingAssetWindow.cs +65 -0
- package/Editor/IonMissingAssetWindow.cs.meta +11 -0
- package/Editor/IonTokenTroubleshootingWindow.cs +615 -0
- package/Editor/IonTokenTroubleshootingWindow.cs.meta +11 -0
- package/Editor/NativeDownloadHandler.cs +35 -0
- package/Editor/NativeDownloadHandler.cs.meta +11 -0
- package/Editor/QuickAddItem.cs +43 -0
- package/Editor/QuickAddItem.cs.meta +11 -0
- package/Editor/Resources/Cesium-128x128.png +0 -0
- package/Editor/Resources/Cesium-128x128.png.meta +98 -0
- package/Editor/Resources/Cesium-24x24.png +0 -0
- package/Editor/Resources/Cesium-24x24.png.meta +123 -0
- package/Editor/Resources/Cesium-64x64.png +0 -0
- package/Editor/Resources/Cesium-64x64.png.meta +98 -0
- package/Editor/Resources/Cesium-for-Unity-dark.png +0 -0
- package/Editor/Resources/Cesium-for-Unity-dark.png.meta +123 -0
- package/Editor/Resources/Cesium-for-Unity-light.png +0 -0
- package/Editor/Resources/Cesium-for-Unity-light.png.meta +123 -0
- package/Editor/Resources/Cesium-icon-16x16.png +0 -0
- package/Editor/Resources/Cesium-icon-16x16.png.meta +98 -0
- package/Editor/Resources/FontAwesome/attribution.txt +9 -0
- package/Editor/Resources/FontAwesome/attribution.txt.meta +7 -0
- package/Editor/Resources/FontAwesome/book-reader-solid.png +0 -0
- package/Editor/Resources/FontAwesome/book-reader-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/book-reader-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/book-reader-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/check-solid.png +0 -0
- package/Editor/Resources/FontAwesome/check-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/check-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/check-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.png +0 -0
- package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/folder.png +0 -0
- package/Editor/Resources/FontAwesome/folder.png.meta +147 -0
- package/Editor/Resources/FontAwesome/folder.svg +5 -0
- package/Editor/Resources/FontAwesome/folder.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/hands-helping-solid.png +0 -0
- package/Editor/Resources/FontAwesome/hands-helping-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/hands-helping-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/hands-helping-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/key-solid.png +0 -0
- package/Editor/Resources/FontAwesome/key-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/key-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/key-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/plus-solid.png +0 -0
- package/Editor/Resources/FontAwesome/plus-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/plus-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/plus-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/sign-out-alt-solid.png +0 -0
- package/Editor/Resources/FontAwesome/sign-out-alt-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/sign-out-alt-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/sign-out-alt-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/sync-alt-solid.png +0 -0
- package/Editor/Resources/FontAwesome/sync-alt-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/sync-alt-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/sync-alt-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/times-solid.png +0 -0
- package/Editor/Resources/FontAwesome/times-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/times-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/times-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome.meta +8 -0
- package/Editor/Resources.meta +8 -0
- package/Editor/SelectIonTokenWindow.cs +249 -0
- package/Editor/SelectIonTokenWindow.cs.meta +11 -0
- package/Editor/arm64.meta +8 -0
- package/Editor/csc.rsp +1 -0
- package/Editor/csc.rsp.meta +7 -0
- package/Editor/libCesiumForUnityNative-Editor.so +0 -0
- package/Editor/libCesiumForUnityNative-Editor.so.meta +2 -0
- package/Editor/libCesiumForUnityNative-Runtime.so +0 -0
- package/Editor/libCesiumForUnityNative-Runtime.so.meta +2 -0
- package/Editor/x86_64.meta +8 -0
- package/Editor.meta +8 -0
- package/LICENSE +201 -0
- package/LICENSE.meta +7 -0
- package/Plugins/Standalone/libCesiumForUnityNative-Runtime.so +0 -0
- package/Plugins/Standalone/libCesiumForUnityNative-Runtime.so.meta +2 -0
- package/Plugins/Standalone.meta +8 -0
- package/Plugins.meta +8 -0
- package/README.md +39 -0
- package/README.md.meta +7 -0
- package/Reinterop.deps.json +172 -0
- package/Reinterop.deps.json.meta +7 -0
- package/Reinterop.dll +0 -0
- package/Reinterop.dll.meta +79 -0
- package/Runtime/Cesium3DTile.cs +37 -0
- package/Runtime/Cesium3DTile.cs.meta +11 -0
- package/Runtime/Cesium3DTileset.cs +788 -0
- package/Runtime/Cesium3DTileset.cs.meta +11 -0
- package/Runtime/Cesium3DTilesetLoadFailureDetails.cs +65 -0
- package/Runtime/Cesium3DTilesetLoadFailureDetails.cs.meta +11 -0
- package/Runtime/CesiumBackwardCompatibility.cs +163 -0
- package/Runtime/CesiumBackwardCompatibility.cs.meta +11 -0
- package/Runtime/CesiumBingMapsRasterOverlay.cs +72 -0
- package/Runtime/CesiumBingMapsRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumCameraController.cs +827 -0
- package/Runtime/CesiumCameraController.cs.meta +11 -0
- package/Runtime/CesiumCameraManager.cs +105 -0
- package/Runtime/CesiumCameraManager.cs.meta +11 -0
- package/Runtime/CesiumCartographicPolygon.cs +152 -0
- package/Runtime/CesiumCartographicPolygon.cs.meta +11 -0
- package/Runtime/CesiumCreditSystem.cs +343 -0
- package/Runtime/CesiumCreditSystem.cs.meta +11 -0
- package/Runtime/CesiumCreditSystemUI.cs +402 -0
- package/Runtime/CesiumCreditSystemUI.cs.meta +11 -0
- package/Runtime/CesiumDebugColorizeTilesRasterOverlay.cs +21 -0
- package/Runtime/CesiumDebugColorizeTilesRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumEllipsoid.cs +107 -0
- package/Runtime/CesiumEllipsoid.cs.meta +11 -0
- package/Runtime/CesiumFeature.cs +279 -0
- package/Runtime/CesiumFeature.cs.meta +11 -0
- package/Runtime/CesiumFeatureIdAttribute.cs +61 -0
- package/Runtime/CesiumFeatureIdAttribute.cs.meta +11 -0
- package/Runtime/CesiumFeatureIdSet.cs +165 -0
- package/Runtime/CesiumFeatureIdSet.cs.meta +11 -0
- package/Runtime/CesiumFeatureIdTexture.cs +68 -0
- package/Runtime/CesiumFeatureIdTexture.cs.meta +11 -0
- package/Runtime/CesiumFlyToController.cs +539 -0
- package/Runtime/CesiumFlyToController.cs.meta +11 -0
- package/Runtime/CesiumGeoreference.cs +628 -0
- package/Runtime/CesiumGeoreference.cs.meta +11 -0
- package/Runtime/CesiumGlobeAnchor.cs +664 -0
- package/Runtime/CesiumGlobeAnchor.cs.meta +11 -0
- package/Runtime/CesiumGlobeAnchorBackwardCompatibility0dot2dot0.cs +105 -0
- package/Runtime/CesiumGlobeAnchorBackwardCompatibility0dot2dot0.cs.meta +11 -0
- package/Runtime/CesiumIntMatN.cs +398 -0
- package/Runtime/CesiumIntMatN.cs.meta +11 -0
- package/Runtime/CesiumIntVecN.cs +525 -0
- package/Runtime/CesiumIntVecN.cs.meta +11 -0
- package/Runtime/CesiumIonRasterOverlay.cs +110 -0
- package/Runtime/CesiumIonRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumIonServer.cs +137 -0
- package/Runtime/CesiumIonServer.cs.meta +11 -0
- package/Runtime/CesiumMetadata.cs +33 -0
- package/Runtime/CesiumMetadata.cs.meta +11 -0
- package/Runtime/CesiumMetadataValue.cs +1764 -0
- package/Runtime/CesiumMetadataValue.cs.meta +11 -0
- package/Runtime/CesiumMetadataValueType.cs +203 -0
- package/Runtime/CesiumMetadataValueType.cs.meta +11 -0
- package/Runtime/CesiumModelMetadata.cs +26 -0
- package/Runtime/CesiumModelMetadata.cs.meta +11 -0
- package/Runtime/CesiumObjectPool.cs +74 -0
- package/Runtime/CesiumObjectPool.cs.meta +11 -0
- package/Runtime/CesiumObjectPools.cs +39 -0
- package/Runtime/CesiumObjectPools.cs.meta +11 -0
- package/Runtime/CesiumOriginShift.cs +146 -0
- package/Runtime/CesiumOriginShift.cs.meta +11 -0
- package/Runtime/CesiumPointCloudRenderer.cs +246 -0
- package/Runtime/CesiumPointCloudRenderer.cs.meta +11 -0
- package/Runtime/CesiumPointCloudShading.cs +76 -0
- package/Runtime/CesiumPointCloudShading.cs.meta +11 -0
- package/Runtime/CesiumPolygonRasterOverlay.cs +109 -0
- package/Runtime/CesiumPolygonRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumPrimitiveFeatures.cs +130 -0
- package/Runtime/CesiumPrimitiveFeatures.cs.meta +11 -0
- package/Runtime/CesiumPropertyArray.cs +64 -0
- package/Runtime/CesiumPropertyArray.cs.meta +11 -0
- package/Runtime/CesiumPropertyTable.cs +126 -0
- package/Runtime/CesiumPropertyTable.cs.meta +11 -0
- package/Runtime/CesiumPropertyTableProperty.cs +1734 -0
- package/Runtime/CesiumPropertyTableProperty.cs.meta +11 -0
- package/Runtime/CesiumRasterOverlay.cs +239 -0
- package/Runtime/CesiumRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumRasterOverlayLoadFailureDetails.cs +65 -0
- package/Runtime/CesiumRasterOverlayLoadFailureDetails.cs.meta +11 -0
- package/Runtime/CesiumRuntime.asmdef +32 -0
- package/Runtime/CesiumRuntime.asmdef.meta +7 -0
- package/Runtime/CesiumRuntime.cs +3 -0
- package/Runtime/CesiumRuntime.cs.meta +11 -0
- package/Runtime/CesiumRuntimeSettings.cs +188 -0
- package/Runtime/CesiumRuntimeSettings.cs.meta +11 -0
- package/Runtime/CesiumSampleHeightResult.cs +47 -0
- package/Runtime/CesiumSampleHeightResult.cs.meta +11 -0
- package/Runtime/CesiumSimplePlanarEllipsoidCurve.cs +93 -0
- package/Runtime/CesiumSimplePlanarEllipsoidCurve.cs.meta +11 -0
- package/Runtime/CesiumSubScene.cs +473 -0
- package/Runtime/CesiumSubScene.cs.meta +11 -0
- package/Runtime/CesiumTileExcluder.cs +47 -0
- package/Runtime/CesiumTileExcluder.cs.meta +11 -0
- package/Runtime/CesiumTileMapServiceRasterOverlay.cs +93 -0
- package/Runtime/CesiumTileMapServiceRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumWebMapServiceRasterOverlay.cs +129 -0
- package/Runtime/CesiumWebMapServiceRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumWebMapTileServiceRasterOverlay.cs +414 -0
- package/Runtime/CesiumWebMapTileServiceRasterOverlay.cs.meta +3 -0
- package/Runtime/CesiumWgs84Ellipsoid.cs +75 -0
- package/Runtime/CesiumWgs84Ellipsoid.cs.meta +11 -0
- package/Runtime/ConfigureReinterop.cs +926 -0
- package/Runtime/ConfigureReinterop.cs.meta +11 -0
- package/Runtime/Helpers.cs +122 -0
- package/Runtime/Helpers.cs.meta +11 -0
- package/Runtime/ICesiumRestartable.cs +17 -0
- package/Runtime/ICesiumRestartable.cs.meta +11 -0
- package/Runtime/NativeCoroutine.cs +28 -0
- package/Runtime/NativeCoroutine.cs.meta +11 -0
- package/Runtime/NativeDownloadHandler.cs +29 -0
- package/Runtime/NativeDownloadHandler.cs.meta +11 -0
- package/Runtime/Resources/CesiumCreditSystem.prefab +78 -0
- package/Runtime/Resources/CesiumCreditSystem.prefab.meta +7 -0
- package/Runtime/Resources/CesiumCreditSystemRuntimeTheme.tss +2 -0
- package/Runtime/Resources/CesiumCreditSystemRuntimeTheme.tss.meta +11 -0
- package/Runtime/Resources/CesiumCreditSystemUI.uxml +4 -0
- package/Runtime/Resources/CesiumCreditSystemUI.uxml.meta +10 -0
- package/Runtime/Resources/CesiumCreditSystemUIPanelSettings.asset +38 -0
- package/Runtime/Resources/CesiumCreditSystemUIPanelSettings.asset.meta +8 -0
- package/Runtime/Resources/CesiumDefaultTilesetMaterial.mat +232 -0
- package/Runtime/Resources/CesiumDefaultTilesetMaterial.mat.meta +8 -0
- package/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph +14271 -0
- package/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph.meta +10 -0
- package/Runtime/Resources/CesiumPointCloudShading.hlsl +156 -0
- package/Runtime/Resources/CesiumPointCloudShading.hlsl.meta +7 -0
- package/Runtime/Resources/CesiumPointCloudShadingMaterial.mat +125 -0
- package/Runtime/Resources/CesiumPointCloudShadingMaterial.mat.meta +8 -0
- package/Runtime/Resources/CesiumPointCloudShadingShader.shader +73 -0
- package/Runtime/Resources/CesiumPointCloudShadingShader.shader.meta +10 -0
- package/Runtime/Resources/CesiumRasterOverlay.shadersubgraph +2207 -0
- package/Runtime/Resources/CesiumRasterOverlay.shadersubgraph.meta +10 -0
- package/Runtime/Resources/CesiumSelectTexCoords.shadersubgraph +722 -0
- package/Runtime/Resources/CesiumSelectTexCoords.shadersubgraph.meta +10 -0
- package/Runtime/Resources/CesiumUnlitTilesetMaterial.mat +261 -0
- package/Runtime/Resources/CesiumUnlitTilesetMaterial.mat.meta +8 -0
- package/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph +5873 -0
- package/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph.meta +10 -0
- package/Runtime/Resources/DynamicCamera.prefab +253 -0
- package/Runtime/Resources/DynamicCamera.prefab.meta +7 -0
- package/Runtime/Resources/TransformTextureCoordinates.shadersubgraph +2171 -0
- package/Runtime/Resources/TransformTextureCoordinates.shadersubgraph.meta +10 -0
- package/Runtime/Resources/green1x1.png +0 -0
- package/Runtime/Resources/green1x1.png.meta +123 -0
- package/Runtime/Resources.meta +8 -0
- package/Runtime/TestGltfModel.cs +56 -0
- package/Runtime/TestGltfModel.cs.meta +11 -0
- package/Runtime/TestReinterop.cs +21 -0
- package/Runtime/TestReinterop.cs.meta +11 -0
- package/Runtime/UnityLifetime.cs +27 -0
- package/Runtime/UnityLifetime.cs.meta +11 -0
- package/Runtime/WaitForTask.cs +25 -0
- package/Runtime/WaitForTask.cs.meta +11 -0
- package/Runtime/csc.rsp +1 -0
- package/Runtime/csc.rsp.meta +7 -0
- package/Runtime.meta +8 -0
- package/ThirdParty.json +27 -0
- package/ThirdParty.json.meta +7 -0
- package/WGS84.asset +18 -0
- package/WGS84.asset.meta +8 -0
- package/package.json +29 -0
- package/package.json.meta +7 -0
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
using System;
|
|
2
|
+
using System.Collections;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
using UnityEngine.EventSystems;
|
|
6
|
+
using UnityEngine.UIElements;
|
|
7
|
+
|
|
8
|
+
#if ENABLE_INPUT_SYSTEM
|
|
9
|
+
using UnityEngine.InputSystem.UI;
|
|
10
|
+
#endif
|
|
11
|
+
|
|
12
|
+
#if UNITY_EDITOR
|
|
13
|
+
using UnityEditor;
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
namespace CesiumForUnity
|
|
17
|
+
{
|
|
18
|
+
/// <summary>
|
|
19
|
+
/// Displays the credits / attributions managed by a <see cref="CesiumCreditSystem"/>.
|
|
20
|
+
/// </summary>
|
|
21
|
+
[ExecuteInEditMode]
|
|
22
|
+
[RequireComponent(typeof(UIDocument))]
|
|
23
|
+
[AddComponentMenu("Cesium/Cesium Credit System UI")]
|
|
24
|
+
[IconAttribute("Packages/com.cesium.unity/Editor/Resources/Cesium-24x24.png")]
|
|
25
|
+
internal class CesiumCreditSystemUI : MonoBehaviour
|
|
26
|
+
{
|
|
27
|
+
private CesiumCreditSystem _creditSystem;
|
|
28
|
+
|
|
29
|
+
private UIDocument _uiDocument;
|
|
30
|
+
|
|
31
|
+
private VisualElement _onScreenCredits;
|
|
32
|
+
private VisualElement _popupCredits;
|
|
33
|
+
|
|
34
|
+
// The delimiter refers to the string used to separate credit entries
|
|
35
|
+
// when they are presented on-screen.
|
|
36
|
+
private string _delimiter = "\u2022";
|
|
37
|
+
|
|
38
|
+
private void OnEnable()
|
|
39
|
+
{
|
|
40
|
+
this._creditSystem = this.GetComponent<CesiumCreditSystem>();
|
|
41
|
+
|
|
42
|
+
if (this._creditSystem == null)
|
|
43
|
+
{
|
|
44
|
+
this._creditSystem = CesiumCreditSystem.GetDefaultCreditSystem();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
this._creditSystem.OnCreditsUpdate += this.SetCredits;
|
|
48
|
+
|
|
49
|
+
this._uiDocument = this.GetComponent<UIDocument>();
|
|
50
|
+
|
|
51
|
+
if (this._uiDocument.rootVisualElement != null)
|
|
52
|
+
{
|
|
53
|
+
this._onScreenCredits = this._uiDocument.rootVisualElement.Q("OnScreenCredits");
|
|
54
|
+
this._popupCredits = this._uiDocument.rootVisualElement.Q("PopupCredits");
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
#if UNITY_EDITOR
|
|
58
|
+
if (!EditorApplication.isPlaying)
|
|
59
|
+
{
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
#endif
|
|
63
|
+
|
|
64
|
+
// If no EventSystem exists, create one to handle clicking on credit links.
|
|
65
|
+
if (EventSystem.current == null)
|
|
66
|
+
{
|
|
67
|
+
GameObject eventSystemGameObject = new GameObject("EventSystem");
|
|
68
|
+
eventSystemGameObject.AddComponent<EventSystem>();
|
|
69
|
+
|
|
70
|
+
#if ENABLE_INPUT_SYSTEM
|
|
71
|
+
eventSystemGameObject.AddComponent<InputSystemUIInputModule>();
|
|
72
|
+
#elif ENABLE_LEGACY_INPUT_MANAGER
|
|
73
|
+
eventSystemGameObject.AddComponent<StandaloneInputModule>();
|
|
74
|
+
#endif
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
#if UNITY_EDITOR
|
|
79
|
+
private void AddCreditsToSceneView(SceneView sceneView)
|
|
80
|
+
{
|
|
81
|
+
if (sceneView.rootVisualElement == null)
|
|
82
|
+
{
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (sceneView.rootVisualElement.Q("OnScreenCredits") == null)
|
|
87
|
+
{
|
|
88
|
+
VisualTreeAsset visualTreeAsset = this._uiDocument.visualTreeAsset;
|
|
89
|
+
TemplateContainer tree = visualTreeAsset.Instantiate();
|
|
90
|
+
|
|
91
|
+
// If we add the tree directly and scale the height to fit the whole screen,
|
|
92
|
+
// it will block any non-UI mouse inputs, preventing the user from looking
|
|
93
|
+
// around the scene or selecting objects. Add the individual elements instead.
|
|
94
|
+
VisualElement onScreenCredits = tree.Q("OnScreenCredits");
|
|
95
|
+
VisualElement popupCredits = tree.Q("PopupCredits");
|
|
96
|
+
sceneView.rootVisualElement.Add(onScreenCredits);
|
|
97
|
+
sceneView.rootVisualElement.Add(popupCredits);
|
|
98
|
+
|
|
99
|
+
this.UpdateCreditsInSceneView(
|
|
100
|
+
sceneView,
|
|
101
|
+
this._creditSystem.onScreenCredits,
|
|
102
|
+
this._creditSystem.popupCredits);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
private void UpdateCreditsInSceneView(
|
|
107
|
+
SceneView sceneView,
|
|
108
|
+
List<CesiumCredit> onScreenCredits,
|
|
109
|
+
List<CesiumCredit> popupCredits)
|
|
110
|
+
{
|
|
111
|
+
if (sceneView.rootVisualElement == null)
|
|
112
|
+
{
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
VisualElement onScreenElement = sceneView.rootVisualElement.Q("OnScreenCredits");
|
|
117
|
+
VisualElement popupElement = sceneView.rootVisualElement.Q("PopupCredits");
|
|
118
|
+
|
|
119
|
+
if (onScreenElement != null && popupElement != null)
|
|
120
|
+
{
|
|
121
|
+
this.SetCreditsOnVisualElements(
|
|
122
|
+
onScreenElement,
|
|
123
|
+
onScreenCredits,
|
|
124
|
+
popupElement,
|
|
125
|
+
popupCredits,
|
|
126
|
+
false);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
private void RemoveCreditsFromSceneView(SceneView sceneView)
|
|
131
|
+
{
|
|
132
|
+
if (sceneView.rootVisualElement != null)
|
|
133
|
+
{
|
|
134
|
+
VisualElement onScreenElement = sceneView.rootVisualElement.Q("OnScreenCredits");
|
|
135
|
+
if (onScreenElement != null)
|
|
136
|
+
{
|
|
137
|
+
VisualElement parent = onScreenElement.parent;
|
|
138
|
+
parent.Remove(onScreenElement);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
VisualElement popupElement = sceneView.rootVisualElement.Q("PopupCredits");
|
|
142
|
+
if (popupElement != null)
|
|
143
|
+
{
|
|
144
|
+
VisualElement parent = popupElement.parent;
|
|
145
|
+
parent.Remove(popupElement);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
#endif
|
|
151
|
+
|
|
152
|
+
private void Update()
|
|
153
|
+
{
|
|
154
|
+
if (this._creditSystem == null)
|
|
155
|
+
{
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
#if UNITY_EDITOR
|
|
160
|
+
ArrayList sceneViews = SceneView.sceneViews;
|
|
161
|
+
for (int i = 0; i < sceneViews.Count; i++)
|
|
162
|
+
{
|
|
163
|
+
this.AddCreditsToSceneView((SceneView)sceneViews[i]);
|
|
164
|
+
}
|
|
165
|
+
#endif
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/// <summary>
|
|
169
|
+
/// Creates a UIElements Label with the given text.
|
|
170
|
+
/// </summary>
|
|
171
|
+
/// <param name="text">The desired text.</param>
|
|
172
|
+
/// <param name="removeExtraSpace">Whether to strip the label of extra space. This is used to
|
|
173
|
+
/// reduce space between inline labels, so that they appear as normally spaced text.</param>
|
|
174
|
+
/// <returns></returns>
|
|
175
|
+
private Label CreateLabelFromText(string text, bool removeExtraSpace)
|
|
176
|
+
{
|
|
177
|
+
Label label = new Label();
|
|
178
|
+
label.text = text;
|
|
179
|
+
label.style.whiteSpace = WhiteSpace.Normal;
|
|
180
|
+
|
|
181
|
+
if (removeExtraSpace)
|
|
182
|
+
{
|
|
183
|
+
label.style.marginLeft = new StyleLength(0.0f);
|
|
184
|
+
label.style.paddingLeft = new StyleLength(0.0f);
|
|
185
|
+
label.style.paddingRight = new StyleLength(0.0f);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return label;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/// <summary>
|
|
192
|
+
/// Converts a Cesium credit representation into VisualElements for rendering with UI Toolkit.
|
|
193
|
+
/// </summary>
|
|
194
|
+
/// <param name="credit">The credit to convert to VisualElements.</param>
|
|
195
|
+
/// <param name="removeExtraSpace">Whether to strip the credit's label elements of extra space.
|
|
196
|
+
/// This is used to reduce space between inline labels, so that they appear as normally spaced text.</param>
|
|
197
|
+
/// <returns></returns>
|
|
198
|
+
private List<VisualElement> ConvertCreditToVisualElements(CesiumCredit credit, bool removeExtraSpace)
|
|
199
|
+
{
|
|
200
|
+
List<VisualElement> visualElements = new List<VisualElement>();
|
|
201
|
+
|
|
202
|
+
for (int i = 0, componentCount = credit.components.Count; i < componentCount; i++)
|
|
203
|
+
{
|
|
204
|
+
CesiumCreditComponent creditComponent = credit.components[i];
|
|
205
|
+
VisualElement element;
|
|
206
|
+
|
|
207
|
+
bool hasLink = !string.IsNullOrEmpty(creditComponent.link);
|
|
208
|
+
|
|
209
|
+
if (creditComponent.imageId >= 0)
|
|
210
|
+
{
|
|
211
|
+
Texture2D image = null;
|
|
212
|
+
if (creditComponent.imageId < this._creditSystem.images.Count)
|
|
213
|
+
{
|
|
214
|
+
image = this._creditSystem.images[creditComponent.imageId];
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (image == null)
|
|
218
|
+
{
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
element = new VisualElement();
|
|
223
|
+
element.style.backgroundImage = new StyleBackground(image);
|
|
224
|
+
element.style.width = new StyleLength(image.width);
|
|
225
|
+
element.style.height = new StyleLength(image.height);
|
|
226
|
+
}
|
|
227
|
+
else
|
|
228
|
+
{
|
|
229
|
+
string text = creditComponent.text;
|
|
230
|
+
|
|
231
|
+
if (hasLink)
|
|
232
|
+
{
|
|
233
|
+
text = string.Format("<u>{0}</u>", text);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
element = this.CreateLabelFromText(text, removeExtraSpace);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (hasLink)
|
|
240
|
+
{
|
|
241
|
+
element.AddManipulator(new Clickable(evt => Application.OpenURL(creditComponent.link)));
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
visualElements.Add(element);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
return visualElements;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/// <summary>
|
|
251
|
+
/// Creates a "Data Attribution" VisualElement that, when clicked, toggles the visibility
|
|
252
|
+
/// of the given attribution panel.
|
|
253
|
+
/// </summary>
|
|
254
|
+
/// <param name="popupElement">The VisualElement that represents the "Data Attribution" panel.</param>
|
|
255
|
+
/// <returns>The clickable "Data Attribution" VisualElement.</returns>
|
|
256
|
+
private VisualElement CreateDataAttributionElement(VisualElement popupElement)
|
|
257
|
+
{
|
|
258
|
+
Label label = new Label();
|
|
259
|
+
label.text = "<u>Data Attribution</u>";
|
|
260
|
+
label.AddManipulator(new Clickable(evt =>
|
|
261
|
+
{
|
|
262
|
+
if (popupElement.style.display == DisplayStyle.Flex)
|
|
263
|
+
{
|
|
264
|
+
popupElement.style.display = DisplayStyle.None;
|
|
265
|
+
}
|
|
266
|
+
else
|
|
267
|
+
{
|
|
268
|
+
popupElement.style.display = DisplayStyle.Flex;
|
|
269
|
+
}
|
|
270
|
+
}));
|
|
271
|
+
|
|
272
|
+
return label;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/// <summary>
|
|
276
|
+
/// Creates a wrapper for a credit to be displayed in the "Data Attribution" panel.
|
|
277
|
+
/// This encapsulates the VisualElements of a credit so that it can be vertically
|
|
278
|
+
/// stacked with other credits in the panel, while keeping its components inline.
|
|
279
|
+
/// </summary>
|
|
280
|
+
/// <param name="removeExtraSpace">Whether or not to remove extra space between
|
|
281
|
+
/// entries in the popup panel. This is mainly used to account for visual discrepancies
|
|
282
|
+
/// between the SceneView and GameView windows.</param>
|
|
283
|
+
/// <returns>The wrapper VisualElement.</returns>
|
|
284
|
+
private VisualElement CreatePopupCreditElement(bool removeExtraSpace)
|
|
285
|
+
{
|
|
286
|
+
VisualElement popupCreditElement = new VisualElement();
|
|
287
|
+
popupCreditElement.style.flexDirection = FlexDirection.Row;
|
|
288
|
+
popupCreditElement.style.flexWrap = Wrap.Wrap;
|
|
289
|
+
popupCreditElement.style.alignItems = Align.Center;
|
|
290
|
+
|
|
291
|
+
if (!removeExtraSpace)
|
|
292
|
+
{
|
|
293
|
+
popupCreditElement.style.marginTop = new StyleLength(2.5f);
|
|
294
|
+
}
|
|
295
|
+
else
|
|
296
|
+
{
|
|
297
|
+
popupCreditElement.style.marginTop = new StyleLength(0.0f);
|
|
298
|
+
popupCreditElement.style.marginBottom = new StyleLength(0.0f);
|
|
299
|
+
popupCreditElement.style.paddingTop = new StyleLength(0.0f);
|
|
300
|
+
popupCreditElement.style.paddingBottom = new StyleLength(0.0f);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
return popupCreditElement;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
private void SetCredits(List<CesiumCredit> onScreenCredits, List<CesiumCredit> popupCredits)
|
|
307
|
+
{
|
|
308
|
+
if (this._onScreenCredits != null && this._popupCredits != null)
|
|
309
|
+
{
|
|
310
|
+
this.SetCreditsOnVisualElements(
|
|
311
|
+
this._onScreenCredits,
|
|
312
|
+
onScreenCredits,
|
|
313
|
+
this._popupCredits,
|
|
314
|
+
popupCredits,
|
|
315
|
+
true);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
#if UNITY_EDITOR
|
|
319
|
+
ArrayList sceneViews = SceneView.sceneViews;
|
|
320
|
+
for (int i = 0; i < sceneViews.Count; i++)
|
|
321
|
+
{
|
|
322
|
+
this.UpdateCreditsInSceneView((SceneView)sceneViews[i], onScreenCredits, popupCredits);
|
|
323
|
+
}
|
|
324
|
+
#endif
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/// <summary>
|
|
328
|
+
/// Takes the given <see cref="CesiumCredit"/> lists and converts them to UI components. These
|
|
329
|
+
/// elements are then added to the given VisualElements, which each represent the on-screen and popup
|
|
330
|
+
/// portions of the credit display.
|
|
331
|
+
/// </summary>
|
|
332
|
+
/// <param name="onScreenElement">The VisualElement used to display on-screen credits.</param>
|
|
333
|
+
/// <param name="onScreenCredits">The list of CesiumCredits to be shown on-screen.</param>
|
|
334
|
+
/// <param name="popupElement">The VisualElement used to display credits in the attribution panel.</param>
|
|
335
|
+
/// <param name="popupCredits">The list of CesiumCredits to be shown in the data attribution panel.</param>
|
|
336
|
+
/// <param name="removeExtraSpace">Whether or not to remove extra space between entries.
|
|
337
|
+
/// This is mainly used to account for visual discrepancies between the SceneView and GameView windows.</param>
|
|
338
|
+
private void SetCreditsOnVisualElements(
|
|
339
|
+
VisualElement onScreenElement,
|
|
340
|
+
List<CesiumCredit> onScreenCredits,
|
|
341
|
+
VisualElement popupElement,
|
|
342
|
+
List<CesiumCredit> popupCredits,
|
|
343
|
+
bool removeExtraSpace)
|
|
344
|
+
{
|
|
345
|
+
onScreenElement.Clear();
|
|
346
|
+
popupElement.Clear();
|
|
347
|
+
|
|
348
|
+
for (int i = 0, creditCount = onScreenCredits.Count; i < creditCount; i++)
|
|
349
|
+
{
|
|
350
|
+
CesiumCredit credit = onScreenCredits[i];
|
|
351
|
+
List<VisualElement> visualElements = this.ConvertCreditToVisualElements(credit, removeExtraSpace);
|
|
352
|
+
|
|
353
|
+
if (i > 0)
|
|
354
|
+
{
|
|
355
|
+
onScreenElement.Add(this.CreateLabelFromText(this._delimiter, false));
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
for (int j = 0, elementCount = visualElements.Count; j < elementCount; j++)
|
|
359
|
+
{
|
|
360
|
+
onScreenElement.Add(visualElements[j]);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
for (int i = 0, creditCount = popupCredits.Count; i < creditCount; i++)
|
|
365
|
+
{
|
|
366
|
+
CesiumCredit credit = popupCredits[i];
|
|
367
|
+
List<VisualElement> visualElements = this.ConvertCreditToVisualElements(credit, removeExtraSpace);
|
|
368
|
+
|
|
369
|
+
// Put the inline credit components in one container so they can be vertically stacked by the popup.
|
|
370
|
+
VisualElement popupCreditElement = CreatePopupCreditElement(removeExtraSpace);
|
|
371
|
+
|
|
372
|
+
for (int j = 0, elementCount = visualElements.Count; j < elementCount; j++)
|
|
373
|
+
{
|
|
374
|
+
popupCreditElement.Add(visualElements[j]);
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
popupElement.Add(popupCreditElement);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
if (popupCredits.Count > 0)
|
|
381
|
+
{
|
|
382
|
+
if (onScreenCredits.Count > 0)
|
|
383
|
+
{
|
|
384
|
+
onScreenElement.Add(this.CreateLabelFromText(this._delimiter, false));
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
onScreenElement.Add(this.CreateDataAttributionElement(popupElement));
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
private void OnDisable()
|
|
392
|
+
{
|
|
393
|
+
#if UNITY_EDITOR
|
|
394
|
+
ArrayList sceneViews = SceneView.sceneViews;
|
|
395
|
+
for (int i = 0; i < sceneViews.Count; i++)
|
|
396
|
+
{
|
|
397
|
+
this.RemoveCreditsFromSceneView((SceneView)sceneViews[i]);
|
|
398
|
+
}
|
|
399
|
+
#endif
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
using Reinterop;
|
|
2
|
+
using UnityEngine;
|
|
3
|
+
|
|
4
|
+
namespace CesiumForUnity
|
|
5
|
+
{
|
|
6
|
+
/// <summary>
|
|
7
|
+
/// A raster overlay that can be used to debug tilesets by shading each tile with a random color.
|
|
8
|
+
/// </summary>
|
|
9
|
+
[ReinteropNativeImplementation(
|
|
10
|
+
"CesiumForUnityNative::CesiumDebugColorizeTilesRasterOverlayImpl",
|
|
11
|
+
"CesiumDebugColorizeTilesRasterOverlayImpl.h")]
|
|
12
|
+
[AddComponentMenu("Cesium/Cesium Debug Colorize Tiles Raster Overlay")]
|
|
13
|
+
[IconAttribute("Packages/com.cesium.unity/Editor/Resources/Cesium-24x24.png")]
|
|
14
|
+
public partial class CesiumDebugColorizeTilesRasterOverlay : CesiumRasterOverlay
|
|
15
|
+
{
|
|
16
|
+
/// <inheritdoc/>
|
|
17
|
+
protected override partial void AddToTileset(Cesium3DTileset tileset);
|
|
18
|
+
/// <inheritdoc/>
|
|
19
|
+
protected override partial void RemoveFromTileset(Cesium3DTileset tileset);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
using Reinterop;
|
|
2
|
+
using Unity.Mathematics;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
namespace CesiumForUnity
|
|
7
|
+
{
|
|
8
|
+
[ReinteropNativeImplementation("CesiumForUnityNative::CesiumEllipsoidImpl", "CesiumEllipsoidImpl.h")]
|
|
9
|
+
[IconAttribute("Packages/com.cesium.unity/Editor/Resources/Cesium-24x24.png")]
|
|
10
|
+
[CreateAssetMenu(menuName = "Cesium/Ellipsoid")]
|
|
11
|
+
public partial class CesiumEllipsoid : ScriptableObject
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
/// Obtain a WGS84 ellipsoid.
|
|
15
|
+
/// </summary>
|
|
16
|
+
public static CesiumEllipsoid WGS84
|
|
17
|
+
{
|
|
18
|
+
get
|
|
19
|
+
{
|
|
20
|
+
if (_cachedWgs84 == null)
|
|
21
|
+
{
|
|
22
|
+
_cachedWgs84 = CreateInstance<CesiumEllipsoid>();
|
|
23
|
+
_cachedWgs84.name = "WGS84";
|
|
24
|
+
_cachedWgs84.SetRadii(CesiumWgs84Ellipsoid.GetRadii());
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return _cachedWgs84;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
private static CesiumEllipsoid _cachedWgs84;
|
|
32
|
+
|
|
33
|
+
[SerializeField]
|
|
34
|
+
private double3 _radii = new double3(1.0, 1.0, 1.0);
|
|
35
|
+
|
|
36
|
+
internal double3 radii
|
|
37
|
+
{
|
|
38
|
+
get => _radii;
|
|
39
|
+
set => _radii = value;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/// <summary>
|
|
43
|
+
/// Gets the maximum radius of the ellipsoid in any dimension.
|
|
44
|
+
/// </summary>
|
|
45
|
+
/// <returns>The maximum radius of the ellipsoid.</returns>
|
|
46
|
+
public double GetMaximumRadius()
|
|
47
|
+
{
|
|
48
|
+
return math.cmax(this.GetRadii());
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/// <summary>
|
|
52
|
+
/// Gets the minimum radius of the ellipsoid in any dimension.
|
|
53
|
+
/// </summary>
|
|
54
|
+
/// <returns>The minimum radius of the ellipsoid.</returns>
|
|
55
|
+
public double GetMinimumRadius()
|
|
56
|
+
{
|
|
57
|
+
return math.cmin(this.GetRadii());
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/// <summary>
|
|
61
|
+
/// Returns the radii of this ellipsoid.
|
|
62
|
+
/// </summary>
|
|
63
|
+
public partial double3 GetRadii();
|
|
64
|
+
|
|
65
|
+
/// <summary>
|
|
66
|
+
/// Sets the radii of this ellipsoid to the given values.
|
|
67
|
+
/// </summary>
|
|
68
|
+
/// <param name="newRadii">The new (x, y, z) radii of the ellipsoid.</param>
|
|
69
|
+
public partial void SetRadii(double3 newRadii);
|
|
70
|
+
|
|
71
|
+
/// <summary>
|
|
72
|
+
/// Scale the given Ellipsoid-Centered, Ellipsoid-Fixed (ECEF) position along the geodetic surface normal
|
|
73
|
+
/// so that it is on the surface of the ellipsoid. If the position is at the center of the
|
|
74
|
+
/// ellipsoid, the result will be null.
|
|
75
|
+
/// </summary>
|
|
76
|
+
/// <param name="ellipsoidCenteredEllipsoidFixed">The ECEF position in meters.</param>
|
|
77
|
+
/// <returns>The scaled position, or null if the position is at the center of the ellipsoid.</returns>
|
|
78
|
+
public partial double3? ScaleToGeodeticSurface(double3 ellipsoidCenteredEllipsoidFixed);
|
|
79
|
+
|
|
80
|
+
/// <summary>
|
|
81
|
+
/// Computes the normal of the plane tangent to the surface of the ellipsoid at the provided
|
|
82
|
+
/// Ellipsoid-Centered, Ellipsoid-Fixed position.
|
|
83
|
+
/// </summary>
|
|
84
|
+
/// <param name="ellipsoidCenteredEllipsoidFixed">The ECEF position in meters.</param>
|
|
85
|
+
/// <returns>The normal at the ECEF position</returns>
|
|
86
|
+
public partial double3 GeodeticSurfaceNormal(double3 ellipsoidCenteredEllipsoidFixed);
|
|
87
|
+
|
|
88
|
+
/// <summary>
|
|
89
|
+
/// Convert longitude, latitude, and height to Ellipsoid-Centered, Ellipsoid-Fixed (ECEF) coordinates.
|
|
90
|
+
/// </summary>
|
|
91
|
+
/// <param name="longitudeLatitudeHeight">
|
|
92
|
+
/// The longitude (X) and latitude (Y) are in degrees. The height (Z) is in meters above the ellipsoid,
|
|
93
|
+
/// and should not be confused with a geoid, orthometric, or mean sea level height.</param>
|
|
94
|
+
/// <returns>The ECEF coordinates in meters.</returns>
|
|
95
|
+
public partial double3 LongitudeLatitudeHeightToCenteredFixed(double3 longitudeLatitudeHeight);
|
|
96
|
+
|
|
97
|
+
/// <summary>
|
|
98
|
+
/// Convert Ellipsoid-Centered, Ellipsoid-Fixed (ECEF) coordinates to longitude, latitude, and height.
|
|
99
|
+
/// </summary>
|
|
100
|
+
/// <param name="ellipsoidCenteredEllipsoidFixed">The ECEF coordinates in meters.</param>
|
|
101
|
+
/// <returns>
|
|
102
|
+
/// The longitude (X) and latitude (Y) are in degrees. The height (Z) is in meters above the ellipsoid,
|
|
103
|
+
/// and should not be confused with a geoid, orthometric, or mean sea level height.
|
|
104
|
+
/// </returns>
|
|
105
|
+
public partial double3 CenteredFixedToLongitudeLatitudeHeight(double3 ellipsoidCenteredEllipsoidFixed);
|
|
106
|
+
}
|
|
107
|
+
}
|