├── Editor ├── csc.rsp ├── Resources │ ├── Cesium-24x24.png │ ├── Cesium-64x64.png │ ├── Cesium-128x128.png │ ├── Cesium-icon-16x16.png │ ├── FontAwesome │ │ ├── folder.png │ │ ├── key-solid.png │ │ ├── plus-solid.png │ │ ├── check-solid.png │ │ ├── times-solid.png │ │ ├── sync-alt-solid.png │ │ ├── book-reader-solid.png │ │ ├── hands-helping-solid.png │ │ ├── sign-out-alt-solid.png │ │ ├── cloud-upload-alt-solid.png │ │ ├── folder.svg.meta │ │ ├── check-solid.svg.meta │ │ ├── key-solid.svg.meta │ │ ├── plus-solid.svg.meta │ │ ├── times-solid.svg.meta │ │ ├── attribution.txt.meta │ │ ├── book-reader-solid.svg.meta │ │ ├── sync-alt-solid.svg.meta │ │ ├── cloud-upload-alt-solid.svg.meta │ │ ├── hands-helping-solid.svg.meta │ │ ├── sign-out-alt-solid.svg.meta │ │ ├── folder.svg │ │ ├── plus-solid.svg │ │ ├── check-solid.svg │ │ ├── attribution.txt │ │ ├── sign-out-alt-solid.svg │ │ ├── times-solid.svg │ │ ├── key-solid.svg │ │ ├── cloud-upload-alt-solid.svg │ │ ├── hands-helping-solid.svg │ │ ├── book-reader-solid.svg │ │ └── sync-alt-solid.svg │ ├── Cesium-for-Unity-dark.png │ ├── Cesium-for-Unity-light.png │ └── FontAwesome.meta ├── CesiumWebMapTileServiceRasterOverlayEditor.cs.meta ├── csc.rsp.meta ├── arm64.meta ├── x86_64.meta ├── CesiumEditor.asmdef.meta ├── Resources.meta ├── Helpers.cs.meta ├── CesiumIonAsset.cs.meta ├── QuickAddItem.cs.meta ├── BuildCesiumForUnity.cs.meta ├── CesiumEditorStyle.cs.meta ├── CesiumEditorUtility.cs.meta ├── CesiumEditorWindow.cs.meta ├── CesiumInspectorGUI.cs.meta ├── CesiumIonSession.cs.meta ├── ConfigureReinterop.cs.meta ├── IonAssetsTreeView.cs.meta ├── Cesium3DTilesetEditor.cs.meta ├── CesiumGeoreferenceEditor.cs.meta ├── CesiumGlobeAnchorEditor.cs.meta ├── CesiumIonAssetsWindow.cs.meta ├── CesiumIonServerManager.cs.meta ├── CesiumIonServerSelector.cs.meta ├── CesiumSubSceneEditor.cs.meta ├── IonMissingAssetWindow.cs.meta ├── NativeDownloadHandler.cs.meta ├── SelectIonTokenWindow.cs.meta ├── CesiumCameraControllerEditor.cs.meta ├── CesiumCameraManagerEditor.cs.meta ├── CesiumCreditSystemManager.cs.meta ├── CesiumFlyToControllerEditor.cs.meta ├── CesiumIonRasterOverlayEditor.cs.meta ├── CesiumRasterOverlayEditor.cs.meta ├── CompileCesiumForUnityNative.cs.meta ├── IonAssetsMultiColumnHeader.cs.meta ├── IonTokenTroubleshootingWindow.cs.meta ├── CesiumAzureMapsRasterOverlayEditor.cs.meta ├── CesiumBingMapsRasterOverlayEditor.cs.meta ├── CesiumCartographicPolygonEditor.cs.meta ├── CesiumPolygonRasterOverlayEditor.cs.meta ├── CesiumGoogleMapTilesRasterOverlayEditor.cs.meta ├── CesiumTileMapServiceRasterOverlayEditor.cs.meta ├── CesiumUrlTemplateRasterOverlayEditor.cs.meta ├── CesiumWebMapServiceRasterOverlayEditor.cs.meta ├── CesiumDebugColorizeTilesRasterOverlayEditor.cs.meta ├── CesiumEditor.asmdef ├── CesiumCartographicPolygonEditor.cs ├── NativeDownloadHandler.cs ├── QuickAddItem.cs ├── IonAssetsMultiColumnHeader.cs └── CesiumDebugColorizeTilesRasterOverlayEditor.cs ├── Runtime ├── csc.rsp ├── Resources │ ├── CesiumCreditSystemRuntimeTheme.tss │ ├── green1x1.png │ ├── DynamicCamera.prefab.meta │ ├── CesiumCreditSystem.prefab.meta │ ├── CesiumPointCloudShading.hlsl.meta │ ├── CesiumUnlitTilesetMaterial.mat.meta │ ├── CesiumDefaultTilesetMaterial.mat.meta │ ├── CesiumPointCloudShadingMaterial.mat.meta │ ├── CesiumCreditSystemUIPanelSettings.asset.meta │ ├── CesiumPointCloudShadingShader.shader.meta │ ├── CesiumCreditSystemUI.uxml.meta │ ├── CesiumRasterOverlay.shadersubgraph.meta │ ├── CesiumDefaultTilesetShader.shadergraph.meta │ ├── CesiumSelectTexCoords.shadersubgraph.meta │ ├── CesiumUnlitTilesetShader.shadergraph.meta │ ├── TransformTextureCoordinates.shadersubgraph.meta │ ├── CesiumCreditSystemRuntimeTheme.tss.meta │ ├── CesiumCreditSystemUI.uxml │ ├── CesiumCreditSystemUIPanelSettings.asset │ └── CesiumPointCloudShadingShader.shader ├── CesiumRuntime.cs ├── CesiumWebMapTileServiceRasterOverlay.cs.meta ├── csc.rsp.meta ├── CesiumRuntime.asmdef.meta ├── Resources.meta ├── Helpers.cs.meta ├── Cesium3DTile.cs.meta ├── CesiumFeature.cs.meta ├── CesiumIntMatN.cs.meta ├── CesiumIntVecN.cs.meta ├── CesiumRuntime.cs.meta ├── TestGltfModel.cs.meta ├── TestReinterop.cs.meta ├── UnityLifetime.cs.meta ├── WaitForTask.cs.meta ├── Cesium3DTileset.cs.meta ├── CesiumCreditSystem.cs.meta ├── CesiumEllipsoid.cs.meta ├── CesiumFeatureIdSet.cs.meta ├── CesiumGeoreference.cs.meta ├── CesiumGlobeAnchor.cs.meta ├── CesiumIonServer.cs.meta ├── CesiumMetadata.cs.meta ├── CesiumObjectPool.cs.meta ├── CesiumObjectPools.cs.meta ├── CesiumOriginShift.cs.meta ├── CesiumSubScene.cs.meta ├── CesiumTileExcluder.cs.meta ├── ConfigureReinterop.cs.meta ├── ICesiumRestartable.cs.meta ├── NativeCoroutine.cs.meta ├── CesiumCameraController.cs.meta ├── CesiumCameraManager.cs.meta ├── CesiumCreditSystemUI.cs.meta ├── CesiumFeatureIdTexture.cs.meta ├── CesiumFlyToController.cs.meta ├── CesiumIonRasterOverlay.cs.meta ├── CesiumMetadataValue.cs.meta ├── CesiumMetadataValueType.cs.meta ├── CesiumModelMetadata.cs.meta ├── CesiumPointCloudShading.cs.meta ├── CesiumPrimitiveFeatures.cs.meta ├── CesiumPropertyArray.cs.meta ├── CesiumPropertyTable.cs.meta ├── CesiumRasterOverlay.cs.meta ├── CesiumRuntimeSettings.cs.meta ├── CesiumWgs84Ellipsoid.cs.meta ├── NativeDownloadHandler.cs.meta ├── CesiumAzureMapsRasterOverlay.cs.meta ├── CesiumBackwardCompatibility.cs.meta ├── CesiumBingMapsRasterOverlay.cs.meta ├── CesiumCartographicPolygon.cs.meta ├── CesiumFeatureIdAttribute.cs.meta ├── CesiumPointCloudRenderer.cs.meta ├── CesiumPolygonRasterOverlay.cs.meta ├── CesiumPropertyTableProperty.cs.meta ├── CesiumSampleHeightResult.cs.meta ├── Cesium3DTilesetLoadFailureDetails.cs.meta ├── CesiumSimplePlanarEllipsoidCurve.cs.meta ├── CesiumTileMapServiceRasterOverlay.cs.meta ├── CesiumUrlTemplateRasterOverlay.cs.meta ├── CesiumWebMapServiceRasterOverlay.cs.meta ├── CesiumDebugColorizeTilesRasterOverlay.cs.meta ├── CesiumGoogleMapsTilesRasterOverlay.cs.meta ├── CesiumRasterOverlayLoadFailureDetails.cs.meta ├── CesiumGlobeAnchorBackwardCompatibility0dot2dot0.cs.meta ├── UnityLifetime.cs ├── WaitForTask.cs ├── ICesiumRestartable.cs ├── TestReinterop.cs ├── CesiumRuntime.asmdef ├── NativeCoroutine.cs ├── CesiumDebugColorizeTilesRasterOverlay.cs ├── CesiumModelMetadata.cs ├── NativeDownloadHandler.cs ├── CesiumObjectPools.cs ├── Cesium3DTile.cs └── CesiumMetadata.cs ├── native~ ├── Editor │ ├── .gitignore │ └── src │ │ ├── PluginMain.cpp │ │ ├── UnityExternals.h │ │ ├── IonTokenTroubleshootingWindowImpl.h │ │ └── CesiumEditorWindowImpl.h ├── Runtime │ ├── .gitignore │ ├── .editorconfig │ ├── src │ │ ├── CesiumIonServerHelper.h │ │ ├── Cesium3DTileImpl.h │ │ ├── CesiumRasterOverlayUtility.h │ │ ├── CameraManager.h │ │ ├── CesiumTileExcluderImpl.h │ │ ├── TestReinteropImpl.h │ │ ├── UnityLifetime.h │ │ ├── PluginMain.cpp │ │ ├── TextureLoader.h │ │ ├── TestReinteropImpl.cpp │ │ ├── CesiumWgs84EllipsoidImpl.h │ │ ├── CesiumGlobeAnchorImpl.h │ │ ├── CesiumIonRasterOverlayImpl.h │ │ ├── CesiumEllipsoidFunctions.h │ │ ├── CesiumGeoreferenceImpl.h │ │ ├── CesiumBingMapsRasterOverlayImpl.h │ │ ├── CesiumAzureMapsRasterOverlayImpl.h │ │ ├── CesiumFeatureIdAttributeImpl.h │ │ ├── CesiumUrlTemplateRasterOverlayImpl.h │ │ ├── CesiumWebMapServiceRasterOverlayImpl.h │ │ ├── CesiumGoogleMapTilesRasterOverlayImpl.h │ │ ├── CesiumTileMapServiceRasterOverlayImpl.h │ │ ├── CesiumWebMapTileServiceRasterOverlayImpl.h │ │ ├── CesiumDebugColorizeTilesRasterOverlayImpl.h │ │ ├── Cesium3DTileImpl.cpp │ │ ├── UnityTilesetExternals.h │ │ ├── CesiumMetadataImpl.h │ │ ├── UnityTileExcluderAdaptor.h │ │ ├── CesiumIonServerHelper.cpp │ │ ├── CesiumWgs84EllipsoidImpl.cpp │ │ ├── CesiumCreditSystemImpl.h │ │ ├── CesiumFeatureIdAttributeImpl.cpp │ │ ├── CesiumPolygonRasterOverlayImpl.h │ │ └── CesiumRasterOverlayUtility.cpp │ └── package.json ├── vcpkg │ ├── ports │ │ ├── blend2d │ │ │ ├── usage │ │ │ ├── vcpkg.json │ │ │ └── portfile.cmake │ │ ├── asyncplusplus │ │ │ ├── vcpkg.json │ │ │ └── portfile.cmake │ │ ├── ada-url │ │ │ ├── vcpkg.json │ │ │ ├── portfile.cmake │ │ │ └── no-cpm.patch │ │ └── abseil │ │ │ └── vcpkg.json │ └── triplets │ │ ├── wasm32-emscripten-unity.cmake │ │ ├── wasm64-emscripten-unity.cmake │ │ ├── shared │ │ ├── common.cmake │ │ └── emscripten.cmake │ │ ├── arm64-ios-unity.cmake │ │ ├── x64-uwp-unity.cmake │ │ ├── arm64-uwp-unity.cmake │ │ ├── arm64-osx-unity.cmake │ │ ├── x64-osx-unity.cmake │ │ ├── x64-windows-unity.cmake │ │ ├── x64-android-unity.cmake │ │ └── arm64-android-unity.cmake ├── .editorconfig ├── Shared │ └── src │ │ ├── Cesium.cpp │ │ ├── Cesium.h │ │ ├── UnityLoggerSink.h │ │ ├── UnityLoggerSink.cpp │ │ ├── UnityTaskProcessor.h │ │ ├── NativeDownloadHandlerImpl.cpp │ │ ├── NativeDownloadHandlerImpl.h │ │ ├── UnityEmscriptenAssetAccessor.h │ │ └── CesiumImpl.h ├── extern │ ├── ios-toolchain.cmake │ └── android-toolchain.cmake └── .vscode │ ├── tasks.json │ └── launch.json ├── Documentation~ ├── images │ ├── CameraSettings.png │ ├── Cesium-128x128.png │ ├── cesium-for-unity-screenshot.jpg │ ├── integration-workflow_Unity.png │ └── Cesium_for_Unity-Logo-WhiteBGH.jpg ├── contributor-guide.md ├── user-guide.md └── copy-images.js ├── LICENSE.meta ├── CHANGES.md.meta ├── README.md.meta ├── CONTRIBUTING.md.meta ├── ThirdParty.json.meta ├── package.json.meta ├── Editor.meta ├── Runtime.meta ├── Tests.meta ├── EditorTests.meta ├── Tests ├── CesiumTests.asmdef.meta ├── Comparers.cs.meta ├── TestReinterop.cs.meta ├── TestCesium3DTileset.cs.meta ├── TestCesiumObjectPool.cs.meta ├── TestCesiumFlyToController.cs.meta ├── TestCesiumGeoreference.cs.meta ├── TestCesiumGlobeAnchor.cs.meta ├── TestCesiumMetadataValue.cs.meta ├── TestCesiumOriginShift.cs.meta ├── TestCesiumCartographicPolygon.cs.meta ├── TestCesiumFeatureIdAttribute.cs.meta ├── TestCesiumFeatureIdTexture.cs.meta ├── TestCesiumPropertyTableProperty.cs.meta ├── TestCesiumSimplePlanarEllipsoidCurve.cs.meta ├── CesiumTests.asmdef └── TestReinterop.cs ├── Reinterop~ ├── Properties │ └── launchSettings.json ├── InteropTypeKind.cs ├── IsExternalInit.cs ├── GeneratedCppImplementationInvokerFunction.cs ├── GeneratedCppDefinitionElement.cs ├── GeneratedCppDeclarationElement.cs ├── ICustomGenerator.cs ├── GenerationUtility.cs ├── Events.cs ├── CSharpReinteropAttribute.cs ├── Reinterop.csproj ├── GeneratedCppDefinition.cs ├── CSharpReinteropNativeImplementationAttribute.cs ├── InheritanceChainer.cs ├── CppGenerationContext.cs ├── GeneratedCppImplementationInvoker.cs └── GeneratedResult.cs ├── EditorTests ├── CesiumEditorTests.asmdef.meta ├── TestCesiumSubScene.cs.meta └── CesiumEditorTests.asmdef ├── WGS84.asset.meta ├── .github ├── ISSUE_TEMPLATE │ ├── config.yml │ └── feature_request.yaml └── workflows │ └── prod.yml ├── Build~ ├── Build~.csproj └── Cmake.cs ├── WGS84.asset ├── .gitignore ├── .gitmodules ├── ThirdParty.json ├── package.json └── Reinterop.dll.meta /Editor/csc.rsp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Runtime/csc.rsp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /native~/Editor/.gitignore: -------------------------------------------------------------------------------- 1 | generated/ 2 | generated-*/ 3 | node_modules/ 4 | build-*/ 5 | -------------------------------------------------------------------------------- /native~/Runtime/.gitignore: -------------------------------------------------------------------------------- 1 | generated/ 2 | generated-*/ 3 | node_modules/ 4 | build-*/ 5 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumCreditSystemRuntimeTheme.tss: -------------------------------------------------------------------------------- 1 | @import url("unity-theme://default"); 2 | VisualElement {} -------------------------------------------------------------------------------- /Runtime/Resources/green1x1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Runtime/Resources/green1x1.png -------------------------------------------------------------------------------- /Editor/Resources/Cesium-24x24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/Cesium-24x24.png -------------------------------------------------------------------------------- /Editor/Resources/Cesium-64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/Cesium-64x64.png -------------------------------------------------------------------------------- /Runtime/CesiumRuntime.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.CompilerServices; 2 | 3 | [assembly: InternalsVisibleTo("CesiumTests")] 4 | -------------------------------------------------------------------------------- /Editor/Resources/Cesium-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/Cesium-128x128.png -------------------------------------------------------------------------------- /Editor/Resources/Cesium-icon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/Cesium-icon-16x16.png -------------------------------------------------------------------------------- /Documentation~/images/CameraSettings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Documentation~/images/CameraSettings.png -------------------------------------------------------------------------------- /Documentation~/images/Cesium-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Documentation~/images/Cesium-128x128.png -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/folder.png -------------------------------------------------------------------------------- /Editor/Resources/Cesium-for-Unity-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/Cesium-for-Unity-dark.png -------------------------------------------------------------------------------- /Editor/Resources/Cesium-for-Unity-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/Cesium-for-Unity-light.png -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/key-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/key-solid.png -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/plus-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/plus-solid.png -------------------------------------------------------------------------------- /Runtime/CesiumWebMapTileServiceRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 20b7975e02fd4253b02a6775037bf6a9 3 | timeCreated: 1709720306 -------------------------------------------------------------------------------- /Editor/CesiumWebMapTileServiceRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6232793981a34deeaee7c5a7f583cd2e 3 | timeCreated: 1709732992 -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/check-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/check-solid.png -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/times-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/times-solid.png -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/sync-alt-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/sync-alt-solid.png -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/book-reader-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/book-reader-solid.png -------------------------------------------------------------------------------- /Documentation~/images/cesium-for-unity-screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Documentation~/images/cesium-for-unity-screenshot.jpg -------------------------------------------------------------------------------- /Documentation~/images/integration-workflow_Unity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Documentation~/images/integration-workflow_Unity.png -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/hands-helping-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/hands-helping-solid.png -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/sign-out-alt-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/sign-out-alt-solid.png -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/cloud-upload-alt-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Editor/Resources/FontAwesome/cloud-upload-alt-solid.png -------------------------------------------------------------------------------- /Documentation~/images/Cesium_for_Unity-Logo-WhiteBGH.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CesiumGS/cesium-unity/HEAD/Documentation~/images/Cesium_for_Unity-Logo-WhiteBGH.jpg -------------------------------------------------------------------------------- /native~/vcpkg/ports/blend2d/usage: -------------------------------------------------------------------------------- 1 | blend2d provides CMake targets: 2 | 3 | find_package(blend2d CONFIG REQUIRED) 4 | target_link_libraries(main PRIVATE blend2d::blend2d) 5 | -------------------------------------------------------------------------------- /LICENSE.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 85a3025110ea32546958c06d15697a2a 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /CHANGES.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 24b32c70f3a9dbd44b536f0bb7ed7cbe 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/csc.rsp.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7e5e380537eaf1041b535e59a8ad8309 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /README.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 687d148112c9fba49bcede1f0dd447cc 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/csc.rsp.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 623eb9aa819e74d4082e1b4c8df9d76f 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /CONTRIBUTING.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3fd6df72dd74e4b4a9a1096d82b3e1b5 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /ThirdParty.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b828616ff112bb439e546b68a7c22e3 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /native~/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | ident_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /package.json.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc99b226a84821a45a32bf30352df3ae 3 | PackageManifestImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2118b0686278483408ca76e6624fcd04 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b3a1901a747e4548bd18a3cb182a403 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Tests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0dae8d24a914cc4f86e47cbd8a1b60c 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /native~/Runtime/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | ident_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /Editor/arm64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: dfc0db265e9b74f6c9f55f1d15869029 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/x86_64.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4b27dfb731d374fdfabd9b9cbb107161 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /EditorTests.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ee37edb25779c4544b705b2954c45f15 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Tests/CesiumTests.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d7fbc2dfe4aa49b479807139be55f86c 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/CesiumEditor.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d8e0c8e48fa6efc46b2c9709d0296ae1 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fdad6e291bccb3a4e854d979fa2dad68 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/folder.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: af710f7d25f4d594fb671e1f853761b8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Reinterop~/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Roslyn": { 4 | "commandName": "DebugRoslynComponent", 5 | "targetProject": "..\\CesiumForUnity\\CesiumForUnity.csproj" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /Runtime/CesiumRuntime.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 63cab5ddbd23cf34ca160a9b3d74438d 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Resources.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31e89ade4e9734b4fbc24b47c534955d 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Resources/DynamicCamera.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d252df2283bf993469606d2e6f206f94 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/check-solid.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95b989193bebcf24a8fcc8c5ef6f52e0 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/key-solid.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 26160f0ea0d65734494072f9e71b19b8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/plus-solid.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3fb9f1ba34cc77489e1408f32088930 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/times-solid.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3cf25fc990fc580488d26ab034565496 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumCreditSystem.prefab.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 06810f89bf31657478c3c2c3443be94f 3 | PrefabImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5983c3f449f93b94ab92c2e7c96584e6 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/attribution.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fc1c4925142c5c04081dc5b9790b988f 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/book-reader-solid.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4e10e0695ab75964a8d4bb2554f4d241 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/sync-alt-solid.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e93b79fb331f297459f6e0b388be0cc8 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /EditorTests/CesiumEditorTests.asmdef.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 8065b9c90ecacd44ca0906e38b93ca37 3 | AssemblyDefinitionImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /WGS84.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5db7b2e3ffd57a049aba6b75aa797982 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/wasm32-emscripten-unity.cmake: -------------------------------------------------------------------------------- 1 | include(${CMAKE_CURRENT_LIST_DIR}/shared/emscripten.cmake) 2 | include(${CMAKE_CURRENT_LIST_DIR}/../../extern/cesium-native/extern/vcpkg/triplets/wasm32-emscripten-cesium.cmake) 3 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/wasm64-emscripten-unity.cmake: -------------------------------------------------------------------------------- 1 | include(${CMAKE_CURRENT_LIST_DIR}/shared/emscripten.cmake) 2 | include(${CMAKE_CURRENT_LIST_DIR}../../extern/cesium-native/extern/vcpkg/triplets/wasm64-emscripten-cesium.cmake) 3 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/cloud-upload-alt-solid.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f22038a98b0e59a4c89eb3f785054c5f 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/hands-helping-solid.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 34e01ca3cfa04fd4a925646d63a4d222 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/sign-out-alt-solid.svg.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ded2fdf517565894198e1b4ba4250498 3 | DefaultImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumPointCloudShading.hlsl.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2c388534a2d2de74da9f43b834d68897 3 | ShaderIncludeImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/shared/common.cmake: -------------------------------------------------------------------------------- 1 | list(APPEND VCPKG_ENV_PASSTHROUGH "CESIUM_VCPKG_RELEASE_ONLY") 2 | 3 | if(DEFINED ENV{CESIUM_VCPKG_RELEASE_ONLY} AND "$ENV{CESIUM_VCPKG_RELEASE_ONLY}") 4 | set(VCPKG_BUILD_TYPE "release") 5 | endif() 6 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumUnlitTilesetMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d2032d88bf6556a459f397ec48ec5573 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumDefaultTilesetMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b5a097fa462ce9749a494ca920bdbde0 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumPointCloudShadingMaterial.mat.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3b7ad16b93a21b24989688278d90e52d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 2100000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /native~/Shared/src/Cesium.cpp: -------------------------------------------------------------------------------- 1 | #include "Cesium.h" 2 | 3 | namespace CesiumForUnityNative { 4 | 5 | /*static*/ const std::string Cesium::version = "Development Build"; 6 | /*static*/ const std::string Cesium::commit = "Unknown"; 7 | 8 | } // namespace CesiumForUnityNative 9 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumCreditSystemUIPanelSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ac26ca9c9186f374a8e440a67391435c 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 11400000 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /native~/Editor/src/PluginMain.cpp: -------------------------------------------------------------------------------- 1 | #include "UnityLoggerSink.h" 2 | 3 | #include 4 | 5 | using namespace CesiumForUnity; 6 | 7 | void start() { 8 | spdlog::default_logger()->sinks() = {std::make_shared()}; 9 | } 10 | 11 | void stop() {} 12 | -------------------------------------------------------------------------------- /native~/Shared/src/Cesium.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace CesiumForUnityNative { 6 | 7 | class Cesium { 8 | public: 9 | static const std::string version; 10 | static const std::string commit; 11 | }; 12 | 13 | } // namespace CesiumForUnityNative 14 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/arm64-ios-unity.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/shared/common.cmake") 2 | 3 | set(VCPKG_TARGET_ARCHITECTURE arm64) 4 | set(VCPKG_CRT_LINKAGE dynamic) 5 | set(VCPKG_LIBRARY_LINKAGE static) 6 | set(VCPKG_CMAKE_SYSTEM_NAME iOS) 7 | set(VCPKG_OSX_DEPLOYMENT_TARGET 12) 8 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumIonServerHelper.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DotNet::CesiumForUnity { 4 | class CesiumIonServer; 5 | } 6 | 7 | namespace CesiumForUnityNative { 8 | 9 | void resolveCesiumIonApiUrl( 10 | const DotNet::CesiumForUnity::CesiumIonServer& server); 11 | 12 | } 13 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/x64-uwp-unity.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/shared/common.cmake") 2 | 3 | set(VCPKG_TARGET_ARCHITECTURE x64) 4 | set(VCPKG_CRT_LINKAGE dynamic) 5 | set(VCPKG_LIBRARY_LINKAGE static) 6 | 7 | set(VCPKG_CMAKE_SYSTEM_NAME WindowsStore) 8 | set(VCPKG_CMAKE_SYSTEM_VERSION 10.0) 9 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/arm64-uwp-unity.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/shared/common.cmake") 2 | 3 | set(VCPKG_TARGET_ARCHITECTURE arm64) 4 | set(VCPKG_CRT_LINKAGE dynamic) 5 | set(VCPKG_LIBRARY_LINKAGE static) 6 | 7 | set(VCPKG_CMAKE_SYSTEM_NAME WindowsStore) 8 | set(VCPKG_CMAKE_SYSTEM_VERSION 10.0) 9 | -------------------------------------------------------------------------------- /Editor/Helpers.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f98c4f46f0126a746b5b0ec05bbca414 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Helpers.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: faada31cd268b9745a9f9ae849f120f4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/Comparers.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c67f469b551567a42bc9e929317d3bb9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumIonAsset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ca042ed5a804694c936b52f49e92a86 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/QuickAddItem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c9efbb74a05d5fb43aa121b623608f2e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Cesium3DTile.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5908fec2a372f849b8673b15de1b95d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumFeature.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7819f1c56f6c4284295780d3157719cb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumIntMatN.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 10d3fc342a6ad9d4e9028d2c976238ab 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumIntVecN.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: aaaf0340bcec5a14eb02ae1f599fef12 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumRuntime.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5279b58daee17ef45b524a3757461078 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/TestGltfModel.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 48f43b5c9d58f1d4db1ff353d6eee632 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/TestReinterop.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 509fd30f12aaa884e9833f83438e8844 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/UnityLifetime.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8adeae7ec277e24cb4717232dbde742 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/WaitForTask.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ca29eff4c876de44b957b0121d454856 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestReinterop.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 39cd553d59e36e64b9d8315831c7b2c5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/BuildCesiumForUnity.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2002424ec228ca44b8a94c5b90afa6b3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumEditorStyle.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8b0769db210ac94ebc4c591135eb1ee 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumEditorUtility.cs.meta: -------------------------------------------------------------------------------- 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: 12 | -------------------------------------------------------------------------------- /Editor/CesiumEditorWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 540d411cf78781146b48cb8d19615daf 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumInspectorGUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f6dc04352d0112499b4ec8d10016f3f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumIonSession.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 55c6cf017a813a74d970d25a3669a0df 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/ConfigureReinterop.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 09a0cfcc9717f684e928bb12d40b60c6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/IonAssetsTreeView.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 643e2fe49159dd64fa6cda0022f443f0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Cesium3DTileset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 844ac86b07dcfa3468f56da55d787510 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumCreditSystem.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6ad7d034075e67d4d8e4442eee83f1bd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumEllipsoid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b804adc3b6f529547be7580b9ddc8d86 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumFeatureIdSet.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9831e7ff1f043494aa682f8d2f20be98 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumGeoreference.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d1305e05d46db92498ce698a4c366a5a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumGlobeAnchor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 74f14e1eb550b9a4fb6c0a2f0456845b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumIonServer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d989861ef825b2e4fb3cbcd03f532909 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumMetadata.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7b1942b8938da484cab4fe52e17a3cc7 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumObjectPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 377239c81df171c4695d99031a54fd1f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumObjectPools.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79e50188ee452fb4b97d4fb2a5331e1f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumOriginShift.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3bef32f31a547984f88be1ab98b65f04 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumSubScene.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 02b70542355cdf840b919385d7c2c34a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumTileExcluder.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c2bf9828a0b1ac34aa1881467475a6e4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/ConfigureReinterop.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4d005aec84c55f54a9318fc5b23c8603 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/ICesiumRestartable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 84711b1469ba4ba4caab378ef6d9be22 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/NativeCoroutine.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 7abb7b833e3e8f846b43edc5354c6189 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesium3DTileset.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b05a8ea3c2209fe4d8ccecb0dd98ce71 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumObjectPool.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f8b414492d3e19041b186aed9f6182ed 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/Cesium3DTilesetEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2a0d1b40f4e2adb43b04c60265ae0451 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumGeoreferenceEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7f6aaa04377af04fbd9f48c911dcd0d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumGlobeAnchorEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fa3a982cb03789348ba74d4506bea45f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumIonAssetsWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 58cbec445c2b6b8409a379d9c631624b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumIonServerManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd1d4ad8db4f0fc4793f9e010e57f1d5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumIonServerSelector.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 672b8571f8377934e8e7ab8c480df701 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumSubSceneEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d55ddd31530c9544b2305e0a6cee97f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/IonMissingAssetWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 69f6adc8c40fbb64cbeabe81ddb24b0c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/NativeDownloadHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 132da74faa7aa6f4595f07ab4717746e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/SelectIonTokenWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3bfd6e6871accea40888c8bdcec324a4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /EditorTests/TestCesiumSubScene.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b77912debd15cc948b79e3db7086440a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumCameraController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b621ff6a9d4b8c4d85ac07de7f8b4b9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumCameraManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: be1fb41cdd01d7649a082f1a8f2bd114 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumCreditSystemUI.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e53599f84ab62d94092435eae4a9ec6c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumFeatureIdTexture.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b8d52d6db92283f45b49c6c030c8f31f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumFlyToController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 275ecd2d59d942d41bf31252981978e0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumIonRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 0bca0907bd759be4e8b4d7ca5f84131c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumMetadataValue.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: ba5cd61d23885da41ba682e27481f73c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumMetadataValueType.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c7e68a0b15383cc4a907a6812814e0e2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumModelMetadata.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: bb1383ae79c2acf488fe07883008ab31 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumPointCloudShading.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: df4ae261f7b1bfb4fb7238a385cf1cab 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumPrimitiveFeatures.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a9fbed4edb3d9764d954ff06b7a7422f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumPropertyArray.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 917a4ce9e9430854d96a03dbd7817e7e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumPropertyTable.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1ff257e1fa1b93742b3961116175ae97 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 87612a02b14dc3e4eb27a1dfcb125485 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumRuntimeSettings.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b0d32e60d18ac734197b079b61b10ce0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumWgs84Ellipsoid.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 196d91d801b00364eb93f73b3e70866c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/NativeDownloadHandler.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6fa3f677465a8f242bd47f8bfddd08b3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumFlyToController.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f3d1ac0e4d7e40c448b6ee1e84e01487 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumGeoreference.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f2f1a2d8a69fbae428a1d94f00f42c2e 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumGlobeAnchor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: befe4c3ea8bb30b4dbe72ed143117ade 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumMetadataValue.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5cd35d9ecbc7c754d99c600078ce72b2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumOriginShift.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 86b326bae9ae9764f9eada0d538214eb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumCameraControllerEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3e447b562eb44f4439e1e933e30ad8e1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumCameraManagerEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b9b6152cad9e34244ad2e77613b7f6ce 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumCreditSystemManager.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f57e8d7977e793f4ba758ceeb1bfd801 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumFlyToControllerEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f13820ee89292af4997b7bcd13efb1a5 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumIonRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 57e47867c5ec958499b856117cb51214 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 17f96841a800f474b8b091f3cf4a6ab9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CompileCesiumForUnityNative.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c5578cfffbc9be0489d3a8d3cb2dab57 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/IonAssetsMultiColumnHeader.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 3257e01093f845b4ba7cf16de254eea2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/IonTokenTroubleshootingWindow.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: a1222b8f196276c438a6a02b00c76bfa 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumAzureMapsRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5a7d7d39ebe6846fe87aef8691e8e179 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumBackwardCompatibility.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b369d615ac4c85c4c89a6578bb98373f 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumBingMapsRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 660e205cf298aa641a8b66e86f4b15da 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumCartographicPolygon.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 01cfd193d3e63e7458cad0835cc96e84 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumFeatureIdAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 00523d00828a17948815bd0e493bca45 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumPointCloudRenderer.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fbcb74359eeface49984351805b0c410 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumPolygonRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2ba7eaf887a2c04448fd0f2d6023f980 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumPropertyTableProperty.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 896ebf29ca529c24bbd642275d7bfd08 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumSampleHeightResult.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 153f2af389348c149a9695eeed7bb016 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumPointCloudShadingShader.shader.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d45df2810b1301947b13f832049434ee 3 | ShaderImporter: 4 | externalObjects: {} 5 | defaultTextures: [] 6 | nonModifiableTextures: [] 7 | preprocessorOverride: 0 8 | userData: 9 | assetBundleName: 10 | assetBundleVariant: 11 | -------------------------------------------------------------------------------- /Tests/TestCesiumCartographicPolygon.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e72a29cb07fcfcd4ab2f7891914a7626 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumFeatureIdAttribute.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 31e5b5f2f2751f1459b9c861b5344aa9 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumFeatureIdTexture.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6b737b34feb205c4bab6f85bffce05a3 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumAzureMapsRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 4531de308d4be474a809cf3c62fab783 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumBingMapsRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 89413df53b087c0459062ccc3e5b006b 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumCartographicPolygonEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1a156bdf5c713bc4abbf465ff7306a09 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumPolygonRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2f7f834bc593fa47b51546d181d26f4 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/Cesium3DTilesetLoadFailureDetails.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fe66eebe4332cb04c90a6c410a0bf3a1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumSimplePlanarEllipsoidCurve.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2d0225cf276a52940828b99caef1aebb 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumTileMapServiceRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: abef3aa088212664a8603e56a2fb617d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumUrlTemplateRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 19f3030f151b6184fb5d0e96c8c582dc 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumWebMapServiceRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6d7fd0be28f9ec24e8a773c68e5068c2 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumPropertyTableProperty.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d26a3635de56c624dac948b0dc3dea89 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumGoogleMapTilesRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 855b80a9fcf2d8b44a3845c463c5b8fd 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumTileMapServiceRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4a92258b26d46e4688767b72c94c36a 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumUrlTemplateRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c3b0d75a8bfd66c419b5a43b7b9e9bd0 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumWebMapServiceRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 93667a85e98617f4d97ef0f3a47804a6 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumDebugColorizeTilesRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2fdfde1230d7c3b49b13b76a10b1327d 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumGoogleMapsTilesRasterOverlay.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e7cae66d51653994b8eed3a36ff03914 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumRasterOverlayLoadFailureDetails.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 981583debd08eb640b028dfa78b2ce35 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Tests/TestCesiumSimplePlanarEllipsoidCurve.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b4e30755e6195c14c8d6b2c8080e9c62 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Editor/CesiumDebugColorizeTilesRasterOverlayEditor.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 051fad8bd27d3b343ac9fc2e5638b8b1 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /Runtime/CesiumGlobeAnchorBackwardCompatibility0dot2dot0.cs.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: f433d33c11d379a4a97ac9a1cdede88c 3 | MonoImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | defaultReferences: [] 7 | executionOrder: 0 8 | icon: {instanceID: 0} 9 | userData: 10 | assetBundleName: 11 | assetBundleVariant: 12 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/arm64-osx-unity.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/shared/common.cmake") 2 | 3 | set(VCPKG_TARGET_ARCHITECTURE arm64) 4 | set(VCPKG_CRT_LINKAGE dynamic) 5 | set(VCPKG_LIBRARY_LINKAGE static) 6 | 7 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 8 | set(VCPKG_OSX_ARCHITECTURES arm64) 9 | set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") 10 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/x64-osx-unity.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/shared/common.cmake") 2 | 3 | set(VCPKG_TARGET_ARCHITECTURE x64) 4 | set(VCPKG_CRT_LINKAGE dynamic) 5 | set(VCPKG_LIBRARY_LINKAGE static) 6 | 7 | set(VCPKG_CMAKE_SYSTEM_NAME Darwin) 8 | set(VCPKG_OSX_ARCHITECTURES x86_64) 9 | set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") 10 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumCreditSystemUI.uxml.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 79911d2c52f881c479aab0c40d810ca3 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 13804, guid: 0000000000000000e000000000000000, type: 0} 11 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/shared/emscripten.cmake: -------------------------------------------------------------------------------- 1 | include(${CMAKE_CURRENT_LIST_DIR}/common.cmake) 2 | 3 | if(NOT EMSCRIPTEN_ROOT AND DEFINED ENV{EMSDK}) 4 | set(EMSCRIPTEN_ROOT "$ENV{EMSDK}/upstream/emscripten") 5 | if(NOT EXISTS "${EMSCRIPTEN_ROOT}/cmake/Modules/Platform/Emscripten.cmake") 6 | set(EMSCRIPTEN_ROOT "$ENV{EMSDK}/emscripten") 7 | endif() 8 | endif() 9 | -------------------------------------------------------------------------------- /Reinterop~/InteropTypeKind.cs: -------------------------------------------------------------------------------- 1 | namespace Reinterop 2 | { 3 | internal enum InteropTypeKind 4 | { 5 | Unknown, 6 | Primitive, 7 | BlittableStruct, 8 | NonBlittableStructWrapper, 9 | ClassWrapper, 10 | Enum, 11 | EnumFlags, 12 | GenericParameter, 13 | Delegate, 14 | Nullable 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumRasterOverlay.shadersubgraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 32a57007547bea945b18e32888758b60 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} 11 | -------------------------------------------------------------------------------- /Documentation~/contributor-guide.md: -------------------------------------------------------------------------------- 1 | # Contributor Guide {#contributor-guide} 2 | 3 | This section contains topics useful to anyone building, modifying or contributing to Cesium for Unity. For information about using the plugin, see the [User Guide](#user-guide). 4 | 5 | - \subpage developer-setup 6 | - \subpage reinterop 7 | - \subpage creating-monobehaviours 8 | - \subpage release-guide 9 | -------------------------------------------------------------------------------- /Reinterop~/IsExternalInit.cs: -------------------------------------------------------------------------------- 1 | namespace System.Runtime.CompilerServices 2 | { 3 | /// 4 | /// This type must be defined in order to use C# 9's `init` properties 5 | /// in .NET versions prior to version 5. See 6 | /// https://github.com/dotnet/roslyn/issues/45510 7 | /// 8 | internal static class IsExternalInit 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumDefaultTilesetShader.shadergraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 407c0cff68611ac46a65eec87a5203f5 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} 11 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumSelectTexCoords.shadersubgraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 45c8c2a0ab2df934c8e0f63147f35d0e 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} 11 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumUnlitTilesetShader.shadergraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6902218a8ff66b74bb629eda5698e039 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: true 2 | contact_links: 3 | - name: Ask a question 4 | url: https://community.cesium.com/c/cesium-for-unity/13 5 | about: Please use the community forum for general questions. The Cesium team and community actively monitor it and love to see what people are working on! We reserve GitHub for confirmed bug reports and feature requests. 6 | -------------------------------------------------------------------------------- /Runtime/Resources/TransformTextureCoordinates.shadersubgraph.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: e2571e5c45e5e114394039d5a21142b4 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} 11 | -------------------------------------------------------------------------------- /native~/extern/ios-toolchain.cmake: -------------------------------------------------------------------------------- 1 | set(GENERATOR Xcode) 2 | set(CMAKE_SYSTEM_NAME iOS) 3 | set(CMAKE_OSX_ARCHITECTURES arm64) 4 | set(CMAKE_SYSTEM_PROCESSOR arm64) 5 | set(CMAKE_OSX_DEPLOYMENT_TARGET 12) 6 | set(CMAKE_POSITION_INDEPENDENT_CODE ON) 7 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) 8 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) 9 | SET(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH) 10 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumCreditSystemRuntimeTheme.tss.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 1c8cee1d39d4cb245ab32e13e5e38663 3 | ScriptedImporter: 4 | internalIDToNameTable: [] 5 | externalObjects: {} 6 | serializedVersion: 2 7 | userData: 8 | assetBundleName: 9 | assetBundleVariant: 10 | script: {fileID: 12388, guid: 0000000000000000e000000000000000, type: 0} 11 | disableValidation: 0 12 | -------------------------------------------------------------------------------- /native~/vcpkg/ports/asyncplusplus/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asyncplusplus", 3 | "version": "1.2", 4 | "description": "Async++ is a lightweight concurrency framework for C++11", 5 | "license": "MIT", 6 | "dependencies": [ 7 | { 8 | "name": "vcpkg-cmake", 9 | "host": true 10 | }, 11 | { 12 | "name": "vcpkg-cmake-config", 13 | "host": true 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /native~/Shared/src/UnityLoggerSink.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace CesiumForUnity { 8 | 9 | class UnityLoggerSink : public spdlog::sinks::base_sink { 10 | protected: 11 | virtual void sink_it_(const spdlog::details::log_msg& msg) override; 12 | virtual void flush_() override; 13 | }; 14 | 15 | } // namespace CesiumForUnity 16 | -------------------------------------------------------------------------------- /Build~/Build~.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net9.0 6 | Build 7 | enable 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Documentation~/user-guide.md: -------------------------------------------------------------------------------- 1 | # User Guide {#user-guide} 2 | 3 | This section contains topics that are useful to anyone using Cesium for Unity. See the [Contributor Guide](#contributor-guide) for information about building, modifying, and contributing to the plugin itself. 4 | 5 | > [!note] 6 | > In addition to the topics below, please see the [tutorials](https://cesium.com/learn/unity/) on the Cesium web site. 7 | 8 | - \subpage supported-platforms 9 | -------------------------------------------------------------------------------- /Reinterop~/GeneratedCppImplementationInvokerFunction.cs: -------------------------------------------------------------------------------- 1 | namespace Reinterop 2 | { 3 | internal record GeneratedCppImplementationInvokerFunction( 4 | string Content, 5 | IEnumerable? TypeDeclarationsReferenced = null, 6 | IEnumerable? TypeDefinitionsReferenced = null, 7 | IEnumerable? AdditionalIncludes = null) 8 | : GeneratedCppElement(TypeDeclarationsReferenced, TypeDefinitionsReferenced, AdditionalIncludes); 9 | } -------------------------------------------------------------------------------- /Reinterop~/GeneratedCppDefinitionElement.cs: -------------------------------------------------------------------------------- 1 | namespace Reinterop 2 | { 3 | internal record GeneratedCppDefinitionElement( 4 | string Content, 5 | IEnumerable? TypeDeclarationsReferenced = null, 6 | IEnumerable? TypeDefinitionsReferenced = null, 7 | IEnumerable? AdditionalIncludes = null) 8 | : GeneratedCppElement(TypeDeclarationsReferenced, TypeDefinitionsReferenced, AdditionalIncludes) 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/plus-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/x64-windows-unity.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/shared/common.cmake") 2 | 3 | set(VCPKG_TARGET_ARCHITECTURE x64) 4 | set(VCPKG_CRT_LINKAGE static) 5 | set(VCPKG_LIBRARY_LINKAGE static) 6 | 7 | # In Debug builds on Windows, the default _ITERATOR_DEBUG_LEVEL=2 makes things _really_ slow, 8 | # for little benefit. Use a more reasonable debug level. 9 | set(VCPKG_CXX_FLAGS_DEBUG "/D_ITERATOR_DEBUG_LEVEL=1") 10 | set(VCPKG_C_FLAGS_DEBUG "/D_ITERATOR_DEBUG_LEVEL=1") -------------------------------------------------------------------------------- /Reinterop~/GeneratedCppDeclarationElement.cs: -------------------------------------------------------------------------------- 1 | namespace Reinterop 2 | { 3 | internal record GeneratedCppDeclarationElement( 4 | string Content, 5 | bool IsPrivate = false, 6 | IEnumerable? TypeDeclarationsReferenced = null, 7 | IEnumerable? TypeDefinitionsReferenced = null, 8 | IEnumerable? AdditionalIncludes = null) 9 | : GeneratedCppElement(TypeDeclarationsReferenced, TypeDefinitionsReferenced, AdditionalIncludes); 10 | } 11 | -------------------------------------------------------------------------------- /native~/Editor/src/UnityExternals.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace CesiumAsync { 6 | class AsyncSystem; 7 | class IAssetAccessor; 8 | class ITaskProcessor; 9 | } // namespace CesiumAsync 10 | 11 | namespace CesiumForUnityNative { 12 | 13 | const std::shared_ptr& getAssetAccessor(); 14 | const std::shared_ptr& getTaskProcessor(); 15 | CesiumAsync::AsyncSystem getAsyncSystem(); 16 | 17 | } // namespace CesiumForUnityNative 18 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/check-solid.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Reinterop~/ICustomGenerator.cs: -------------------------------------------------------------------------------- 1 | namespace Reinterop 2 | { 3 | /// 4 | /// Allows for custom code generation for a particular type. Register 5 | /// with . 6 | /// 7 | internal interface ICustomGenerator 8 | { 9 | IEnumerable GetDependencies(CppGenerationContext context); 10 | 11 | GeneratedResult? Generate(CppGenerationContext context, TypeToGenerate type, GeneratedResult? generated); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/x64-android-unity.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/shared/common.cmake") 2 | 3 | set(VCPKG_TARGET_ARCHITECTURE x64) 4 | set(VCPKG_CRT_LINKAGE static) 5 | set(VCPKG_LIBRARY_LINKAGE static) 6 | set(VCPKG_CMAKE_SYSTEM_NAME Android) 7 | set(VCPKG_CMAKE_SYSTEM_VERSION 21) 8 | set(VCPKG_MAKE_BUILD_TRIPLET "--host=x86_64-linux-android") 9 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=x86_64) 10 | set(VCPKG_ENV_PASSTHROUGH "ANDROID_NDK_ROOT") 11 | set(ENV{ANDROID_NDK_HOME} "$ENV{ANDROID_NDK_ROOT}") 12 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/attribution.txt: -------------------------------------------------------------------------------- 1 | The SVG icons in this directory are from the "Font Awesome" project. 2 | They are published under the CC BY 4.0 License. See 3 | https://fontawesome.com/license/free for further information. 4 | 5 | The SVG files have been edited to change the fill color from 6 | the "currentColor" to "#cccccc". 7 | For "sync-alt-solid.svg", it was set to #ffffff, to be used 8 | on a Cesium-styled button. 9 | For "times-solid.svg" and "check-solid.svg" it was set to #ff0000 and #00ff00 respectively. 10 | -------------------------------------------------------------------------------- /native~/Runtime/src/Cesium3DTileImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DotNet::Unity::Mathematics { 4 | struct double4x4; 5 | } 6 | 7 | namespace DotNet::UnityEngine { 8 | struct Bounds; 9 | } 10 | 11 | namespace CesiumForUnityNative { 12 | 13 | class Cesium3DTileImpl { 14 | public: 15 | static DotNet::UnityEngine::Bounds getBounds( 16 | void* pTileVoid, 17 | void* pTileEllipsoidVoid, 18 | const DotNet::Unity::Mathematics::double4x4& ecefToLocalMatrix); 19 | }; 20 | 21 | } // namespace CesiumForUnityNative 22 | -------------------------------------------------------------------------------- /native~/vcpkg/triplets/arm64-android-unity.cmake: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/shared/common.cmake") 2 | 3 | set(VCPKG_TARGET_ARCHITECTURE arm64) 4 | set(VCPKG_CRT_LINKAGE static) 5 | set(VCPKG_LIBRARY_LINKAGE static) 6 | set(VCPKG_CMAKE_SYSTEM_NAME Android) 7 | set(VCPKG_CMAKE_SYSTEM_VERSION 21) 8 | set(VCPKG_MAKE_BUILD_TRIPLET "--host=aarch64-linux-android") 9 | set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=arm64-v8a) 10 | set(VCPKG_ENV_PASSTHROUGH "ANDROID_NDK_ROOT") 11 | set(ENV{ANDROID_NDK_HOME} "$ENV{ANDROID_NDK_ROOT}") 12 | -------------------------------------------------------------------------------- /WGS84.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 11500000, guid: b804adc3b6f529547be7580b9ddc8d86, type: 3} 13 | m_Name: WGS84 14 | m_EditorClassIdentifier: 15 | _radii: 16 | x: 6378137 17 | y: 6378137 18 | z: 6356752.314245 19 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumRasterOverlayUtility.h: -------------------------------------------------------------------------------- 1 | namespace CesiumRasterOverlays { 2 | class RasterOverlayOptions; 3 | } 4 | 5 | namespace DotNet::CesiumForUnity { 6 | class CesiumRasterOverlay; 7 | class CesiumRasterOverlayOptions; 8 | } // namespace DotNet::CesiumForUnity 9 | 10 | namespace CesiumForUnityNative { 11 | class CesiumRasterOverlayUtility { 12 | public: 13 | static CesiumRasterOverlays::RasterOverlayOptions 14 | GetOverlayOptions(const DotNet::CesiumForUnity::CesiumRasterOverlay& overlay); 15 | }; 16 | } // namespace CesiumForUnityNative 17 | -------------------------------------------------------------------------------- /native~/Shared/src/UnityLoggerSink.cpp: -------------------------------------------------------------------------------- 1 | #include "UnityLoggerSink.h" 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | using namespace CesiumForUnity; 9 | using namespace DotNet; 10 | 11 | void UnityLoggerSink::sink_it_(const spdlog::details::log_msg& msg) { 12 | spdlog::memory_buf_t formatted; 13 | this->formatter_->format(msg, formatted); 14 | UnityEngine::Debug::Log(System::String(fmt::to_string(formatted))); 15 | } 16 | 17 | void UnityLoggerSink::flush_() {} 18 | -------------------------------------------------------------------------------- /native~/extern/android-toolchain.cmake: -------------------------------------------------------------------------------- 1 | SET(CMAKE_SYSTEM_NAME Android) 2 | SET(CMAKE_SYSTEM_VERSION 21) 3 | 4 | SET(CMAKE_ANDROID_NDK "$ENV{ANDROID_NDK_ROOT}") 5 | SET(CMAKE_ANDROID_STL_TYPE c++_static) 6 | 7 | # search for programs in the build host directories 8 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 9 | # for libraries and headers in the target directories 10 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH) 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH) 13 | 14 | SET(HTTPLIB_USE_OPENSSL_IF_AVAILABLE OFF) 15 | 16 | add_definitions(-DANDROID) 17 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/sign-out-alt-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bin/ 2 | obj/ 3 | build/ 4 | build-*/ 5 | build.bat 6 | build.bat.meta 7 | publishReinterop.bat 8 | publishReinterop.bat.meta 9 | Plugins/ 10 | Plugins.meta 11 | CesiumForUnityNativeBindings/native/ 12 | .vs/ 13 | *.user 14 | .DS_STORE 15 | .idea 16 | Reinterop.dll 17 | Reinterop.deps.json 18 | Reinterop.deps.json.meta 19 | Reinterop.pdb 20 | Reinterop.pdb.meta 21 | CesiumForUnityNative-*.dll 22 | CesiumForUnityNative-*.dll.meta 23 | libCesiumForUnityNative-*.so 24 | libCesiumForUnityNative-*.so.meta 25 | libCesiumForUnityNative-*.dylib 26 | libCesiumForUnityNative-*.dylib.meta 27 | Documentation~/Reference/ 28 | -------------------------------------------------------------------------------- /Reinterop~/GenerationUtility.cs: -------------------------------------------------------------------------------- 1 | namespace Reinterop 2 | { 3 | public static class GenerationUtility 4 | { 5 | public static string JoinAndIndent(this IEnumerable lines, string indent, bool newlineBetweenEach = false) 6 | { 7 | var formattedLines = lines.Select(line => line.Replace(Environment.NewLine, Environment.NewLine + indent)); 8 | string separator = Environment.NewLine + indent; 9 | if (newlineBetweenEach) 10 | separator = Environment.NewLine + separator; 11 | return string.Join(separator, formattedLines); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Runtime/UnityLifetime.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | #if UNITY_EDITOR 4 | using UnityEditor; 5 | #endif 6 | 7 | namespace CesiumForUnity 8 | { 9 | internal static class UnityLifetime 10 | { 11 | public static void Destroy(Object o) 12 | { 13 | #if UNITY_EDITOR 14 | // In the Editor, we must use DestroyImmediate because Destroy won't 15 | // actually destroy the object. 16 | if (!EditorApplication.isPlaying) 17 | { 18 | Object.DestroyImmediate(o); 19 | return; 20 | } 21 | #endif 22 | 23 | Object.Destroy(o); 24 | } 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /native~/Runtime/src/CameraManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace DotNet::UnityEngine { 8 | class GameObject; 9 | } 10 | 11 | namespace DotNet::CesiumForUnity { 12 | class Cesium3DTileset; 13 | } 14 | 15 | namespace CesiumForUnityNative { 16 | 17 | class Cesium3DTilesetImpl; 18 | 19 | class CameraManager { 20 | public: 21 | static std::vector getAllCameras( 22 | const DotNet::CesiumForUnity::Cesium3DTileset& tileset, 23 | const CesiumForUnityNative::Cesium3DTilesetImpl& impl); 24 | }; 25 | 26 | } // namespace CesiumForUnityNative 27 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/times-solid.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /native~/vcpkg/ports/ada-url/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ada-url", 3 | "version": "2.9.2", 4 | "description": "WHATWG-compliant and fast URL parser written in modern C++", 5 | "homepage": "https://ada-url.com/", 6 | "license": "MIT", 7 | "dependencies": [ 8 | { 9 | "name": "vcpkg-cmake", 10 | "host": true 11 | }, 12 | { 13 | "name": "vcpkg-cmake-config", 14 | "host": true 15 | } 16 | ], 17 | "features": { 18 | "tools": { 19 | "description": "Build CLI tools (adaparse)", 20 | "supports": "!uwp", 21 | "dependencies": [ 22 | "cxxopts", 23 | "fmt" 24 | ] 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumTileExcluderImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DotNet::CesiumForUnity { 4 | class Cesium3DTileset; 5 | class CesiumTileExcluder; 6 | } // namespace DotNet::CesiumForUnity 7 | 8 | namespace CesiumForUnityNative { 9 | 10 | class CesiumTileExcluderImpl { 11 | public: 12 | static void AddToTileset( 13 | const DotNet::CesiumForUnity::CesiumTileExcluder& excluder, 14 | const DotNet::CesiumForUnity::Cesium3DTileset& tileset); 15 | static void RemoveFromTileset( 16 | const DotNet::CesiumForUnity::CesiumTileExcluder& excluder, 17 | const DotNet::CesiumForUnity::Cesium3DTileset& tileset); 18 | }; 19 | 20 | } // namespace CesiumForUnityNative 21 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/key-solid.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /EditorTests/CesiumEditorTests.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CesiumEditorTests", 3 | "rootNamespace": "", 4 | "references": [ 5 | "UnityEngine.TestRunner", 6 | "UnityEditor.TestRunner", 7 | "CesiumRuntime", 8 | "Unity.Mathematics" 9 | ], 10 | "includePlatforms": [ 11 | "Editor" 12 | ], 13 | "excludePlatforms": [], 14 | "allowUnsafeCode": false, 15 | "overrideReferences": true, 16 | "precompiledReferences": [ 17 | "nunit.framework.dll" 18 | ], 19 | "autoReferenced": false, 20 | "defineConstraints": [ 21 | "UNITY_INCLUDE_TESTS" 22 | ], 23 | "versionDefines": [], 24 | "noEngineReferences": false 25 | } -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/cloud-upload-alt-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "native~/extern/cesium-native"] 2 | path = native~/extern/cesium-native 3 | url = ../cesium-native.git 4 | [submodule "native~/extern/tidy-html5"] 5 | path = native~/extern/tidy-html5 6 | url = https://github.com/htacg/tidy-html5.git 7 | [submodule "native~/extern/enum-flags"] 8 | path = native~/extern/enum-flags 9 | url = https://github.com/kring/enum-flags.git 10 | [submodule "native~/extern/swl-variant"] 11 | path = native~/extern/swl-variant 12 | url = https://github.com/kring/swl-variant.git 13 | branch = exception-public-inheritance 14 | [submodule "Documentation~/doxygen-awesome-css"] 15 | path = Documentation~/doxygen-awesome-css 16 | url = https://github.com/jothepro/doxygen-awesome-css.git 17 | -------------------------------------------------------------------------------- /native~/Shared/src/UnityTaskProcessor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #ifdef __EMSCRIPTEN__ 6 | #include 7 | #endif 8 | 9 | namespace CesiumForUnityNative { 10 | 11 | class UnityThreadPool; 12 | 13 | class UnityTaskProcessor : public CesiumAsync::ITaskProcessor { 14 | public: 15 | UnityTaskProcessor(); 16 | 17 | virtual ~UnityTaskProcessor() override; 18 | 19 | virtual void startTask(std::function f) override; 20 | 21 | private: 22 | #ifdef __EMSCRIPTEN__ 23 | // Unity Wasm can't use C# System/Threads, so we need to implement our own 24 | // thread pool. 25 | std::unique_ptr _pThreadPool; 26 | #endif 27 | }; 28 | 29 | } // namespace CesiumForUnityNative 30 | -------------------------------------------------------------------------------- /Runtime/WaitForTask.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using UnityEngine; 3 | 4 | namespace CesiumForUnity 5 | { 6 | /// 7 | /// A YieldInstruction that can be yielded from a coroutine in order to wait 8 | /// until a given task completes. 9 | /// 10 | public class WaitForTask : CustomYieldInstruction 11 | { 12 | private IAsyncResult _task; 13 | 14 | /// 15 | /// Initializes a new instance. 16 | /// 17 | /// The task to wait for. 18 | public WaitForTask(IAsyncResult task) 19 | { 20 | this._task = task; 21 | } 22 | 23 | public override bool keepWaiting => !this._task.IsCompleted; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Runtime/ICesiumRestartable.cs: -------------------------------------------------------------------------------- 1 | namespace CesiumForUnity 2 | { 3 | /// 4 | /// An interface for an object with a method, allowing the state of the 5 | /// object to be reinitialized from its serialized properties. 6 | /// 7 | public interface ICesiumRestartable 8 | { 9 | /// 10 | /// Completely re-initializes the state of this object from its serialized properties. It 11 | /// is not usually necessary to call directly. It can sometimes be useful after Unity has 12 | /// modified the private, serializable fields of this instance. For example: after an 13 | /// undo or redo operation. 14 | /// 15 | void Restart(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /native~/Runtime/src/TestReinteropImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace DotNet::CesiumForUnity { 6 | class TestReinterop; 7 | } 8 | 9 | namespace CesiumForUnityNative { 10 | 11 | class TestReinteropImpl { 12 | public: 13 | static bool CallThrowAnExceptionFromCppAndCatchIt( 14 | const DotNet::CesiumForUnity::TestReinterop& instance); 15 | static bool CallThrowAnExceptionFromCppAndDontCatchIt( 16 | const DotNet::CesiumForUnity::TestReinterop& instance); 17 | static bool 18 | ThrowCppStdException(const DotNet::CesiumForUnity::TestReinterop& instance); 19 | static bool ThrowOtherCppExceptionType( 20 | const DotNet::CesiumForUnity::TestReinterop& instance); 21 | }; 22 | 23 | } // namespace CesiumForUnityNative 24 | -------------------------------------------------------------------------------- /Editor/CesiumEditor.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CesiumEditor", 3 | "rootNamespace": "", 4 | "references": [ 5 | "GUID:63cab5ddbd23cf34ca160a9b3d74438d", 6 | "GUID:d8b63aba1907145bea998dd612889d6b", 7 | "GUID:21d1eb854b91ade49bc69a263d12bee2" 8 | ], 9 | "includePlatforms": [ 10 | "Editor" 11 | ], 12 | "excludePlatforms": [], 13 | "allowUnsafeCode": true, 14 | "overrideReferences": false, 15 | "precompiledReferences": [], 16 | "autoReferenced": true, 17 | "defineConstraints": [], 18 | "versionDefines": [ 19 | { 20 | "name": "com.unity.splines", 21 | "expression": "1.0.0", 22 | "define": "SUPPORTS_SPLINES" 23 | } 24 | ], 25 | "noEngineReferences": false 26 | } -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/hands-helping-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /native~/vcpkg/ports/asyncplusplus/portfile.cmake: -------------------------------------------------------------------------------- 1 | vcpkg_check_linkage(ONLY_STATIC_LIBRARY) 2 | 3 | vcpkg_from_github( 4 | OUT_SOURCE_PATH SOURCE_PATH 5 | REPO Amanieu/asyncplusplus 6 | REF v1.2 7 | SHA512 4b59ef805d4683631ef2ba51039deb210d9ba28b35021489560b0f2da6f75a68da8cb676807f9831047c997673556f69fdca0ae2081996274015e708fd6ff55e 8 | HEAD_REF master 9 | ) 10 | 11 | vcpkg_cmake_configure( 12 | SOURCE_PATH "${SOURCE_PATH}" 13 | ) 14 | 15 | vcpkg_cmake_install() 16 | 17 | vcpkg_cmake_config_fixup(CONFIG_PATH cmake PACKAGE_NAME async++) 18 | 19 | file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") 20 | 21 | file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) 22 | -------------------------------------------------------------------------------- /Runtime/TestReinterop.cs: -------------------------------------------------------------------------------- 1 | using Reinterop; 2 | 3 | namespace CesiumForUnity 4 | { 5 | /// 6 | /// Internal helpers for testing Reinterop functionality. 7 | /// 8 | [ReinteropNativeImplementation("CesiumForUnityNative::TestReinteropImpl", "TestReinteropImpl.h", true)] 9 | internal partial class TestReinterop 10 | { 11 | public partial bool CallThrowAnExceptionFromCppAndCatchIt(); 12 | public partial bool CallThrowAnExceptionFromCppAndDontCatchIt(); 13 | public partial bool ThrowCppStdException(); 14 | public partial bool ThrowOtherCppExceptionType(); 15 | 16 | public static void ThrowAnException() 17 | { 18 | throw new System.Exception("Test Exception!"); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/book-reader-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ThirdParty.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "cesium-native", 4 | "url": "https://github.com/CesiumGS/cesium-native", 5 | "version": "Latest", 6 | "license": ["Apache 2.0"] 7 | }, 8 | { 9 | "name": "Font Awesome Icons", 10 | "url": "https://fontawesome.com/", 11 | "version": "N/A", 12 | "license": ["CC BY 4.0 License"], 13 | "notes": "See Editor/Resources/FontAwesome/attribution.txt" 14 | }, 15 | { 16 | "name": "enum-flags", 17 | "url": "https://github.com/grisumbras/enum-flags", 18 | "version": "48d25b470ee6971d0db15f020937abf6017ebf51", 19 | "license": ["MIT"] 20 | }, 21 | { 22 | "name": "HTML Tidy", 23 | "url": "https://github.com/htacg/tidy-html5", 24 | "version": "5.9.14-next", 25 | "license": ["HTML Tidy License"] 26 | } 27 | ] 28 | -------------------------------------------------------------------------------- /native~/Editor/src/IonTokenTroubleshootingWindowImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace DotNet::CesiumForUnity { 6 | class IonTokenTroubleshootingWindow; 7 | } 8 | 9 | namespace CesiumForUnityNative { 10 | 11 | class IonTokenTroubleshootingWindowImpl { 12 | 13 | public: 14 | static void GetTroubleshootingDetails( 15 | const DotNet::CesiumForUnity::IonTokenTroubleshootingWindow& window); 16 | 17 | static void AuthorizeToken( 18 | const DotNet::CesiumForUnity::IonTokenTroubleshootingWindow& window, 19 | DotNet::System::String token, 20 | bool isDefaultToken); 21 | 22 | static void SelectNewDefaultToken( 23 | const DotNet::CesiumForUnity::IonTokenTroubleshootingWindow& window); 24 | }; 25 | 26 | } // namespace CesiumForUnityNative 27 | -------------------------------------------------------------------------------- /native~/Runtime/src/UnityLifetime.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | #if UNITY_EDITOR 7 | #include 8 | #endif 9 | 10 | namespace CesiumForUnityNative { 11 | 12 | class UnityLifetime { 13 | public: 14 | template static void Destroy(const T& o) { 15 | #if UNITY_EDITOR 16 | // In the Editor, we must use DestroyImmediate because Destroy won't 17 | // actually destroy the object. 18 | if (!DotNet::UnityEditor::EditorApplication::isPlaying()) { 19 | DotNet::UnityEngine::Object::DestroyImmediate(o); 20 | return; 21 | } 22 | #endif 23 | 24 | DotNet::UnityEngine::Object::Destroy(o); 25 | } 26 | }; 27 | 28 | } // namespace CesiumForUnityNative 29 | -------------------------------------------------------------------------------- /Tests/CesiumTests.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CesiumTests", 3 | "rootNamespace": "", 4 | "references": [ 5 | "UnityEngine.TestRunner", 6 | "UnityEditor.TestRunner", 7 | "CesiumRuntime", 8 | "Unity.Mathematics", 9 | "Unity.Splines" 10 | ], 11 | "includePlatforms": [], 12 | "excludePlatforms": [], 13 | "allowUnsafeCode": false, 14 | "overrideReferences": true, 15 | "precompiledReferences": [ 16 | "nunit.framework.dll" 17 | ], 18 | "autoReferenced": false, 19 | "defineConstraints": [ 20 | "UNITY_INCLUDE_TESTS" 21 | ], 22 | "versionDefines": [ 23 | { 24 | "name": "com.unity.splines", 25 | "expression": "1.0.0", 26 | "define": "SUPPORTS_SPLINES" 27 | } 28 | ], 29 | "noEngineReferences": false 30 | } -------------------------------------------------------------------------------- /native~/Runtime/src/PluginMain.cpp: -------------------------------------------------------------------------------- 1 | #include "CesiumUtility/Tracing.h" 2 | #include "UnityLoggerSink.h" 3 | 4 | #include 5 | 6 | #include 7 | 8 | #if CESIUM_TRACING_ENABLED 9 | #include 10 | #endif 11 | 12 | using namespace Cesium3DTilesContent; 13 | using namespace CesiumForUnity; 14 | 15 | void start() { 16 | registerAllTileContentTypes(); 17 | spdlog::default_logger()->sinks() = {std::make_shared()}; 18 | 19 | CESIUM_TRACE_INIT( 20 | "cesium-trace-" + 21 | std::to_string(std::chrono::time_point_cast( 22 | std::chrono::steady_clock::now()) 23 | .time_since_epoch() 24 | .count()) + 25 | ".json"); 26 | } 27 | 28 | void stop() {} 29 | -------------------------------------------------------------------------------- /native~/Runtime/src/TextureLoader.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | namespace CesiumGltf { 6 | struct Model; 7 | struct Texture; 8 | struct ImageAsset; 9 | } // namespace CesiumGltf 10 | 11 | namespace DotNet::UnityEngine { 12 | class Texture; 13 | } 14 | 15 | namespace CesiumForUnityNative { 16 | 17 | class TextureLoader { 18 | public: 19 | static ::DotNet::UnityEngine::Texture 20 | loadTexture(const CesiumGltf::ImageAsset& image, bool sRGB); 21 | 22 | static ::DotNet::UnityEngine::Texture loadTexture( 23 | const CesiumGltf::Model& model, 24 | std::int32_t textureIndex, 25 | bool sRGB); 26 | 27 | static ::DotNet::UnityEngine::Texture loadTexture( 28 | const CesiumGltf::Model& model, 29 | const CesiumGltf::Texture& texture, 30 | bool sRGB); 31 | }; 32 | 33 | } // namespace CesiumForUnityNative 34 | -------------------------------------------------------------------------------- /Runtime/CesiumRuntime.asmdef: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CesiumRuntime", 3 | "rootNamespace": "", 4 | "references": [ 5 | "Unity.InputSystem", 6 | "Unity.Mathematics", 7 | "Unity.Splines" 8 | ], 9 | "includePlatforms": [ 10 | "Android", 11 | "Editor", 12 | "iOS", 13 | "macOSStandalone", 14 | "WSA", 15 | "WindowsStandalone64", 16 | "WebGL" 17 | ], 18 | "excludePlatforms": [], 19 | "allowUnsafeCode": true, 20 | "overrideReferences": false, 21 | "precompiledReferences": [], 22 | "autoReferenced": true, 23 | "defineConstraints": [], 24 | "versionDefines": [ 25 | { 26 | "name": "com.unity.splines", 27 | "expression": "1.0.0", 28 | "define": "SUPPORTS_SPLINES" 29 | } 30 | ], 31 | "noEngineReferences": false 32 | } -------------------------------------------------------------------------------- /native~/Runtime/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cesium-unity-native", 3 | "version": "0.0.1", 4 | "description": "Cesium for Native", 5 | "main": "index.js", 6 | "directories": { 7 | "doc": "doc" 8 | }, 9 | "scripts": { 10 | "format": "clang-format -i \"--glob=src/**/*.@(cpp|h|hpp)\"", 11 | "check-format": "check-clang-format" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/CesiumGS/cesium-native.git" 16 | }, 17 | "keywords": [ 18 | "3D", 19 | "geospatial", 20 | "C++" 21 | ], 22 | "author": "CesiumGS, Inc. and Contributors", 23 | "license": "Unlicensed", 24 | "bugs": { 25 | "url": "https://github.com/CesiumGS/cesium-unity/issues" 26 | }, 27 | "homepage": "https://github.com/CesiumGS/cesium-unity#readme", 28 | "devDependencies": { 29 | "clang-format": "^1.5.0" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Runtime/NativeCoroutine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | 4 | namespace CesiumForUnity 5 | { 6 | internal partial class NativeCoroutine : IEnumerable 7 | { 8 | private Func _callback; 9 | 10 | public NativeCoroutine(Func callback) 11 | { 12 | _callback = callback; 13 | } 14 | 15 | public IEnumerator GetEnumerator() 16 | { 17 | // We're using the callback instance itself as a 18 | // an opaque sentinel that indicates "end the coroutine". 19 | object sentinel = this._callback; 20 | object next = this._callback(sentinel); 21 | while (next != sentinel) 22 | { 23 | yield return next; 24 | next = this._callback(sentinel); 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /native~/Shared/src/NativeDownloadHandlerImpl.cpp: -------------------------------------------------------------------------------- 1 | #include "NativeDownloadHandlerImpl.h" 2 | 3 | using namespace DotNet::CesiumForUnity; 4 | 5 | namespace CesiumForUnityNative { 6 | 7 | NativeDownloadHandlerImpl::NativeDownloadHandlerImpl( 8 | const NativeDownloadHandler& handler) {} 9 | 10 | bool NativeDownloadHandlerImpl::ReceiveDataNative( 11 | const NativeDownloadHandler& handler, 12 | void* data, 13 | std::int32_t dataLength) { 14 | std::byte* p = static_cast(data); 15 | this->_data.insert(this->_data.end(), p, p + dataLength); 16 | return true; 17 | } 18 | 19 | const std::vector& 20 | NativeDownloadHandlerImpl::getData() const noexcept { 21 | return this->_data; 22 | } 23 | 24 | std::vector& NativeDownloadHandlerImpl::getData() noexcept { 25 | return this->_data; 26 | } 27 | 28 | } // namespace CesiumForUnityNative 29 | -------------------------------------------------------------------------------- /Build~/Cmake.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | 5 | namespace Build 6 | { 7 | public class Cmake 8 | { 9 | public readonly string ExecutablePath; 10 | 11 | public Cmake(string? executablePath = null) 12 | { 13 | if (executablePath != null) 14 | this.ExecutablePath = executablePath; 15 | else if (OperatingSystem.IsMacOS() && File.Exists("/Applications/CMake.app/Contents/bin/cmake")) 16 | this.ExecutablePath = "/Applications/CMake.app/Contents/bin/cmake"; 17 | else 18 | // Expect it to be in the path 19 | this.ExecutablePath = "cmake"; 20 | } 21 | 22 | public int Run(IEnumerable args) 23 | { 24 | return Utility.Run(this.ExecutablePath, args); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Editor/CesiumCartographicPolygonEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | 3 | namespace CesiumForUnity 4 | { 5 | [CustomEditor(typeof(CesiumCartographicPolygon))] 6 | public class CesiumCartographicPolygonEditor : Editor 7 | { 8 | public override void OnInspectorGUI() 9 | { 10 | #if !SUPPORTS_SPLINES 11 | #if UNITY_2022_2_OR_NEWER 12 | EditorGUILayout.HelpBox("CesiumCartographicPolygon requires the Splines package, which is currently " + 13 | "not installed in the project. Install the Splines package using the Package Manager.", MessageType.Error); 14 | #else 15 | EditorGUILayout.HelpBox("CesiumCartographicPolygon requires the Splines package, which is not available " + 16 | "in this version of Unity.", MessageType.Error); 17 | #endif 18 | #endif 19 | 20 | base.OnInspectorGUI(); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /native~/vcpkg/ports/blend2d/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "blend2d", 3 | "version-date": "2025-03-08", 4 | "description": "2D Vector Graphics Engine Powered by a JIT Compiler", 5 | "homepage": "https://github.com/blend2d/blend2d", 6 | "documentation": "https://blend2d.com/doc/index.html", 7 | "license": "Zlib", 8 | "supports": "!wasm32", 9 | "dependencies": [ 10 | { 11 | "name": "vcpkg-cmake", 12 | "host": true 13 | }, 14 | { 15 | "name": "vcpkg-cmake-config", 16 | "host": true 17 | } 18 | ], 19 | "default-features": [ 20 | { 21 | "name": "jit", 22 | "platform": "!arm32" 23 | } 24 | ], 25 | "features": { 26 | "jit": { 27 | "description": "Enables JIT compiler to generate optimized pipelines.", 28 | "supports": "!arm32", 29 | "dependencies": [ 30 | "asmjit" 31 | ] 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /native~/Shared/src/NativeDownloadHandlerImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | namespace DotNet::CesiumForUnity { 11 | class NativeDownloadHandler; 12 | } 13 | 14 | namespace CesiumForUnityNative { 15 | 16 | class NativeDownloadHandlerImpl : public CesiumImpl { 17 | public: 18 | NativeDownloadHandlerImpl( 19 | const ::DotNet::CesiumForUnity::NativeDownloadHandler& handler); 20 | bool ReceiveDataNative( 21 | const ::DotNet::CesiumForUnity::NativeDownloadHandler& handler, 22 | void* data, 23 | std::int32_t dataLength); 24 | 25 | const std::vector& getData() const noexcept; 26 | std::vector& getData() noexcept; 27 | 28 | private: 29 | std::vector _data; 30 | }; 31 | 32 | } // namespace CesiumForUnityNative 33 | -------------------------------------------------------------------------------- /Reinterop~/Events.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | 3 | namespace Reinterop 4 | { 5 | internal class Events 6 | { 7 | public static void Generate(CppGenerationContext context, TypeToGenerate mainItem, TypeToGenerate currentItem, GeneratedResult result) 8 | { 9 | foreach (IEventSymbol evt in currentItem.Events) 10 | { 11 | GenerateSingleEvent(context, mainItem, result, evt); 12 | } 13 | } 14 | 15 | private static void GenerateSingleEvent(CppGenerationContext context, TypeToGenerate mainItem, GeneratedResult result, IEventSymbol evt) 16 | { 17 | if (evt.AddMethod == null || evt.RemoveMethod == null) 18 | return; 19 | 20 | Methods.GenerateSingleMethod(context, mainItem, result, evt.AddMethod); 21 | Methods.GenerateSingleMethod(context, mainItem, result, evt.RemoveMethod); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yaml: -------------------------------------------------------------------------------- 1 | name: Request a feature 2 | description: New ideas & improvements to Cesium for Unity are always welcome. 3 | labels: ["needs triage", "enhancement"] 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Thanks for helping us improve Cesium for Unity! 9 | 10 | When suggesting an idea, give examples of the intended use case. Features that benefit the wider community are more likely to be prioritized. 11 | - type: textarea 12 | id: new-feature 13 | attributes: 14 | label: Feature 15 | validations: 16 | required: true 17 | - type: markdown 18 | attributes: 19 | value: | 20 | The best way to get your ideas into Cesium for Unity is to help us! We love contributions and are always happy to be provide feedback and advice. Check out the contributor guide to get started: [CONTRIBUTING.md](https://github.com/CesiumGS/cesium-unity/tree/main/CONTRIBUTING.md) -------------------------------------------------------------------------------- /Runtime/CesiumDebugColorizeTilesRasterOverlay.cs: -------------------------------------------------------------------------------- 1 | using Reinterop; 2 | using UnityEngine; 3 | 4 | namespace CesiumForUnity 5 | { 6 | /// 7 | /// A raster overlay that can be used to debug tilesets by shading each tile with a random color. 8 | /// 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 | /// 17 | protected override partial void AddToTileset(Cesium3DTileset tileset); 18 | /// 19 | protected override partial void RemoveFromTileset(Cesium3DTileset tileset); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Runtime/CesiumModelMetadata.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace CesiumForUnity 4 | { 5 | /// 6 | /// Represents the root `EXT_structural_metadata` extension of a glTF model in a 7 | /// . It holds views of property tables 8 | /// available on the glTF. 9 | /// 10 | /// 11 | /// This component is automatically added 12 | /// to tile game objects if their models contain the root extension. 13 | /// 14 | [IconAttribute("Packages/com.cesium.unity/Editor/Resources/Cesium-24x24.png")] 15 | [AddComponentMenu("")] 16 | public class CesiumModelMetadata : MonoBehaviour 17 | { 18 | /// 19 | /// The s available on this model metadata. 20 | /// 21 | public CesiumPropertyTable[] propertyTables 22 | { 23 | get; internal set; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Runtime/NativeDownloadHandler.cs: -------------------------------------------------------------------------------- 1 | using Reinterop; 2 | using System; 3 | using UnityEngine.Networking; 4 | 5 | namespace CesiumForUnity 6 | { 7 | [ReinteropNativeImplementation("CesiumForUnityNative::NativeDownloadHandlerImpl", "NativeDownloadHandlerImpl.h")] 8 | internal partial class NativeDownloadHandler : DownloadHandlerScript 9 | { 10 | public NativeDownloadHandler() 11 | : base(new byte[16384]) 12 | { 13 | CreateImplementation(); 14 | } 15 | 16 | protected override bool ReceiveData(byte[] data, int dataLength) { 17 | unsafe 18 | { 19 | fixed(byte* p = data) 20 | { 21 | bool result = this.ReceiveDataNative((IntPtr)p, dataLength); 22 | return result; 23 | } 24 | } 25 | } 26 | 27 | private partial bool ReceiveDataNative(IntPtr data, int dataLength); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /Reinterop~/CSharpReinteropAttribute.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | 3 | namespace Reinterop 4 | { 5 | /// 6 | /// Inserts the "ReinteropAttribute" class into an assembly as it is compiled. 7 | /// This is intended to be used from a RegisterPostInitializationOutput 8 | /// callback on an IIncrementalGenerator. 9 | /// 10 | internal class CSharpReinteropAttribute 11 | { 12 | public static void Generate(GeneratorExecutionContext context) 13 | { 14 | context.AddSource("ReinteropAttribute", source); 15 | } 16 | 17 | private const string source = 18 | """ 19 | using System; 20 | 21 | namespace Reinterop 22 | { 23 | [AttributeUsage(AttributeTargets.Class)] 24 | internal class ReinteropAttribute : Attribute 25 | { 26 | } 27 | } 28 | """; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Editor/Resources/FontAwesome/sync-alt-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Runtime/CesiumObjectPools.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | #if UNITY_EDITOR 4 | using UnityEditor; 5 | #endif 6 | 7 | namespace CesiumForUnity 8 | { 9 | internal class CesiumObjectPools 10 | { 11 | public static CesiumObjectPool MeshPool => _meshPool; 12 | 13 | private static CesiumObjectPool _meshPool; 14 | 15 | public static void Dispose() 16 | { 17 | _meshPool.Dispose(); 18 | } 19 | 20 | static CesiumObjectPools() 21 | { 22 | _meshPool = new CesiumObjectPool( 23 | () => new Mesh(), 24 | (mesh) => mesh.Clear(), 25 | (mesh) => UnityLifetime.Destroy(mesh)); 26 | 27 | #if UNITY_EDITOR 28 | EditorApplication.playModeStateChanged += OnPlayModeStateChanged; 29 | #endif 30 | } 31 | 32 | #if UNITY_EDITOR 33 | private static void OnPlayModeStateChanged(PlayModeStateChange obj) 34 | { 35 | Dispose(); 36 | } 37 | #endif 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Reinterop~/Reinterop.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | enable 6 | enable 7 | Preview 8 | true 9 | true 10 | Generated 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /native~/Editor/src/CesiumEditorWindowImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | #include 10 | #include 11 | 12 | namespace DotNet::CesiumForUnity { 13 | class CesiumEditorWindow; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumEditorWindowImpl : public CesiumImpl { 19 | 20 | public: 21 | CesiumEditorWindowImpl( 22 | const DotNet::CesiumForUnity::CesiumEditorWindow& window); 23 | ~CesiumEditorWindowImpl(); 24 | 25 | void AddAssetFromIon( 26 | const DotNet::CesiumForUnity::CesiumEditorWindow& window, 27 | DotNet::System::String name, 28 | DotNet::System::String tilesetName, 29 | int64_t tilesetID, 30 | DotNet::System::String overlayName, 31 | int64_t overlayID); 32 | 33 | private: 34 | std::unordered_set _itemsBeingAdded; 35 | }; 36 | } // namespace CesiumForUnityNative 37 | -------------------------------------------------------------------------------- /native~/Shared/src/UnityEmscriptenAssetAccessor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifdef __EMSCRIPTEN__ 4 | 5 | #include 6 | 7 | namespace CesiumForUnityNative { 8 | 9 | class UnityEmscriptenAssetAccessor : public CesiumAsync::IAssetAccessor { 10 | public: 11 | UnityEmscriptenAssetAccessor(); 12 | 13 | virtual CesiumAsync::Future> 14 | get(const CesiumAsync::AsyncSystem& asyncSystem, 15 | const std::string& url, 16 | const std::vector& headers = {}) override; 17 | 18 | virtual CesiumAsync::Future> 19 | request( 20 | const CesiumAsync::AsyncSystem& asyncSystem, 21 | const std::string& verb, 22 | const std::string& url, 23 | const std::vector& headers = std::vector(), 24 | const std::span& contentPayload = {}) override; 25 | 26 | virtual void tick() noexcept override; 27 | }; 28 | 29 | } // namespace CesiumForUnityNative 30 | 31 | #endif // __EMSCRIPTEN__ 32 | -------------------------------------------------------------------------------- /native~/Runtime/src/TestReinteropImpl.cpp: -------------------------------------------------------------------------------- 1 | #include "TestReinteropImpl.h" 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace CesiumForUnityNative { 8 | 9 | bool TestReinteropImpl::CallThrowAnExceptionFromCppAndCatchIt( 10 | const DotNet::CesiumForUnity::TestReinterop& instance) { 11 | try { 12 | instance.ThrowAnException(); 13 | } catch (...) { 14 | return true; 15 | } 16 | 17 | return false; 18 | } 19 | 20 | bool TestReinteropImpl::CallThrowAnExceptionFromCppAndDontCatchIt( 21 | const DotNet::CesiumForUnity::TestReinterop& instance) { 22 | instance.ThrowAnException(); 23 | return false; 24 | } 25 | 26 | bool TestReinteropImpl::ThrowCppStdException( 27 | const DotNet::CesiumForUnity::TestReinterop& instance) { 28 | throw std::runtime_error("An exceptional hello from C++!"); 29 | } 30 | 31 | bool TestReinteropImpl::ThrowOtherCppExceptionType( 32 | const DotNet::CesiumForUnity::TestReinterop& instance) { 33 | throw "This is a dodgy exception."; 34 | } 35 | 36 | } // namespace CesiumForUnityNative 37 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumWgs84EllipsoidImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class CesiumWgs84Ellipsoid; 9 | } 10 | 11 | namespace CesiumForUnityNative { 12 | 13 | class CesiumWgs84EllipsoidImpl { 14 | public: 15 | static DotNet::Unity::Mathematics::double3 GetRadii(); 16 | static std::optional 17 | ScaleToGeodeticSurface( 18 | DotNet::Unity::Mathematics::double3 earthCenteredEarthFixed); 19 | static DotNet::Unity::Mathematics::double3 GeodeticSurfaceNormal( 20 | DotNet::Unity::Mathematics::double3 earthCenteredEarthFixed); 21 | static DotNet::Unity::Mathematics::double3 22 | LongitudeLatitudeHeightToEarthCenteredEarthFixed( 23 | DotNet::Unity::Mathematics::double3 longitudeLatitudeHeight); 24 | static DotNet::Unity::Mathematics::double3 25 | EarthCenteredEarthFixedToLongitudeLatitudeHeight( 26 | DotNet::Unity::Mathematics::double3 earthCenteredEarthFixed); 27 | }; 28 | 29 | } // namespace CesiumForUnityNative 30 | -------------------------------------------------------------------------------- /Editor/NativeDownloadHandler.cs: -------------------------------------------------------------------------------- 1 | using Reinterop; 2 | using System; 3 | using UnityEngine.Networking; 4 | 5 | namespace CesiumForUnity 6 | { 7 | public struct RawDownloadedData 8 | { 9 | public IntPtr pointer; 10 | public int length; 11 | } 12 | 13 | [ReinteropNativeImplementation("CesiumForUnityNative::NativeDownloadHandlerImpl", "NativeDownloadHandlerImpl.h")] 14 | internal partial class NativeDownloadHandler : DownloadHandlerScript 15 | { 16 | public NativeDownloadHandler() 17 | : base(new byte[16384]) 18 | { 19 | CreateImplementation(); 20 | } 21 | 22 | protected override bool ReceiveData(byte[] data, int dataLength) { 23 | unsafe 24 | { 25 | fixed(byte* p = data) 26 | { 27 | bool result = this.ReceiveDataNative((IntPtr)p, dataLength); 28 | return result; 29 | } 30 | } 31 | } 32 | 33 | private partial bool ReceiveDataNative(IntPtr data, int dataLength); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Documentation~/copy-images.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Documentation for Cesium for Unity needs to exist under the Documentation~ folder, 3 | * as folders ending in ~ are ignored by Unity. However, this causes an issue with 4 | * Doxygen, as described here: https://github.com/doxygen/doxygen/issues/11273 5 | * 6 | * The solution to this is to avoid putting the images in Doxygen's `IMAGE_PATH`, 7 | * which triggers the issue, instead copying them to the same relative directory as 8 | * the original image path in the Markdown files. The problem is that doing this from 9 | * the package.json script will cause issues with the difference between `cp` on Linux 10 | * and `copy` on Windows. Instead, we use this script to perform the copy operation 11 | * in a cross-platform way. 12 | */ 13 | const fs = require("fs"); 14 | 15 | fs.mkdirSync("./Reference/html/Documentation~/images", { recursive: true }); 16 | const images = fs.readdirSync("./images"); 17 | images.forEach(img => fs.copyFileSync("./images/" + img, "./Reference/html/Documentation~/images/" + img)); 18 | console.log(`copied ${images.length} images to Documentation~/Reference/html`); -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumGlobeAnchorImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace DotNet::CesiumForUnity { 4 | class CesiumGlobeAnchor; 5 | } // namespace DotNet::CesiumForUnity 6 | 7 | namespace DotNet::Unity::Mathematics { 8 | struct double3; 9 | struct double4x4; 10 | struct quaternion; 11 | } // namespace DotNet::Unity::Mathematics 12 | 13 | namespace CesiumForUnityNative { 14 | 15 | class CesiumGlobeAnchorImpl { 16 | public: 17 | static void SetNewLocalToGlobeFixedMatrix( 18 | const ::DotNet::CesiumForUnity::CesiumGlobeAnchor& anchor, 19 | const ::DotNet::Unity::Mathematics::double4x4& 20 | newLocalToGlobeFixedMatrix); 21 | 22 | static void SetNewLocalToGlobeFixedMatrixFromTransform( 23 | const ::DotNet::CesiumForUnity::CesiumGlobeAnchor& anchor); 24 | 25 | static ::DotNet::Unity::Mathematics::quaternion GetLocalToEastUpNorthRotation( 26 | const ::DotNet::CesiumForUnity::CesiumGlobeAnchor& anchor); 27 | 28 | static void SetLocalToEastUpNorthRotation( 29 | const ::DotNet::CesiumForUnity::CesiumGlobeAnchor& anchor, 30 | const ::DotNet::Unity::Mathematics::quaternion& value); 31 | }; 32 | 33 | } // namespace CesiumForUnityNative 34 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumIonRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class Cesium3DTileset; 9 | class CesiumIonRasterOverlay; 10 | } // namespace DotNet::CesiumForUnity 11 | 12 | namespace CesiumRasterOverlays { 13 | class IonRasterOverlay; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumIonRasterOverlayImpl 19 | : public CesiumImpl { 20 | public: 21 | CesiumIonRasterOverlayImpl( 22 | const DotNet::CesiumForUnity::CesiumIonRasterOverlay& overlay); 23 | ~CesiumIonRasterOverlayImpl(); 24 | 25 | void AddToTileset( 26 | const ::DotNet::CesiumForUnity::CesiumIonRasterOverlay& overlay, 27 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 28 | void RemoveFromTileset( 29 | const ::DotNet::CesiumForUnity::CesiumIonRasterOverlay& overlay, 30 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 31 | 32 | private: 33 | CesiumUtility::IntrusivePointer 34 | _pOverlay; 35 | }; 36 | 37 | } // namespace CesiumForUnityNative 38 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumCreditSystemUI.uxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Editor/QuickAddItem.cs: -------------------------------------------------------------------------------- 1 | namespace CesiumForUnity 2 | { 3 | public enum QuickAddItemType 4 | { 5 | BlankTileset, 6 | DynamicCamera, 7 | CartographicPolygon, 8 | IonTileset 9 | } 10 | 11 | public class QuickAddItem 12 | { 13 | public QuickAddItemType type; 14 | public string name; 15 | public string tooltip; 16 | public string tilesetName; 17 | public long tilesetId; 18 | public string overlayName; 19 | public long overlayId; 20 | 21 | public QuickAddItem() 22 | { 23 | } 24 | 25 | public QuickAddItem( 26 | QuickAddItemType type, 27 | string name, 28 | string tooltip, 29 | string tilesetName, 30 | long tilesetId, 31 | string overlayName, 32 | long overlayId) 33 | { 34 | this.type = type; 35 | this.name = name; 36 | this.tooltip = tooltip; 37 | this.tilesetName = tilesetName; 38 | this.tilesetId = tilesetId; 39 | this.overlayName = overlayName; 40 | this.overlayId = overlayId; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumEllipsoidFunctions.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | #include 8 | 9 | class CesiumEllipsoidFunctions { 10 | public: 11 | static DotNet::Unity::Mathematics::double3 12 | GetRadii(const CesiumGeospatial::Ellipsoid& ellipsoid); 13 | static std::optional 14 | ScaleToGeodeticSurface( 15 | const CesiumGeospatial::Ellipsoid& ellipsoid, 16 | DotNet::Unity::Mathematics::double3 earthCenteredEarthFixed); 17 | static DotNet::Unity::Mathematics::double3 GeodeticSurfaceNormal( 18 | const CesiumGeospatial::Ellipsoid& ellipsoid, 19 | DotNet::Unity::Mathematics::double3 earthCenteredEarthFixed); 20 | static DotNet::Unity::Mathematics::double3 21 | LongitudeLatitudeHeightToCenteredFixed( 22 | const CesiumGeospatial::Ellipsoid& ellipsoid, 23 | DotNet::Unity::Mathematics::double3 longitudeLatitudeHeight); 24 | static DotNet::Unity::Mathematics::double3 25 | CenteredFixedToLongitudeLatitudeHeight( 26 | const CesiumGeospatial::Ellipsoid& ellipsoid, 27 | DotNet::Unity::Mathematics::double3 earthCenteredEarthFixed); 28 | }; 29 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumGeoreferenceImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | 10 | #include 11 | 12 | namespace DotNet::CesiumForUnity { 13 | class CesiumGeoreference; 14 | } 15 | 16 | namespace DotNet::UnityEngine { 17 | class Transform; 18 | } 19 | 20 | namespace CesiumForUnityNative { 21 | class CesiumGeoreferenceImpl : public CesiumImpl { 22 | public: 23 | CesiumGeoreferenceImpl( 24 | const DotNet::CesiumForUnity::CesiumGeoreference& georeference); 25 | ~CesiumGeoreferenceImpl(); 26 | 27 | ::DotNet::Unity::Mathematics::double4x4 28 | ComputeLocalToEarthCenteredEarthFixedTransformation( 29 | const DotNet::CesiumForUnity::CesiumGeoreference& georeference); 30 | 31 | const CesiumGeospatial::LocalHorizontalCoordinateSystem& getCoordinateSystem( 32 | const DotNet::CesiumForUnity::CesiumGeoreference& georeference); 33 | 34 | private: 35 | std::optional 36 | _coordinateSystem; 37 | }; 38 | } // namespace CesiumForUnityNative 39 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "com.cesium.unity", 3 | "version": "1.20.0", 4 | "displayName": "Cesium for Unity", 5 | "description": "Cesium for Unity brings the 3D geospatial ecosystem to Unity. By combining a high-accuracy full-scale WGS84 globe, open APIs and open standards for spatial indexing such as 3D Tiles, and cloud-based real-world content from [Cesium ion](https://cesium.com/cesium-ion) with Unity, this plugin enables 3D geospatial workflows and applications in Unity.", 6 | "license": "Apache-2.0", 7 | "unity": "2022.3", 8 | "author": { 9 | "name": "Cesium", 10 | "email": "hello@cesium.com", 11 | "url": "https://cesium.com" 12 | }, 13 | "scripts": { 14 | "doxygen": "doxygen ./Documentation~/Doxyfile && cd Documentation~ && node copy-images.js && cd .." 15 | }, 16 | "changelogUrl": "https://github.com/CesiumGS/cesium-unity/blob/main/CHANGES.md", 17 | "documentationUrl": "https://cesium.com/learn/unity/", 18 | "licensesUrl": "https://github.com/CesiumGS/cesium-unity/blob/main/LICENSE", 19 | "dependencies": { 20 | "com.unity.mathematics": "1.2.0", 21 | "com.unity.test-framework": "1.1.31", 22 | "com.unity.shadergraph": "12.1.6", 23 | "com.unity.inputsystem": "1.4.2" 24 | } 25 | } -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumBingMapsRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class Cesium3DTileset; 9 | class CesiumBingMapsRasterOverlay; 10 | } // namespace DotNet::CesiumForUnity 11 | 12 | namespace CesiumRasterOverlays { 13 | class BingMapsRasterOverlay; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumBingMapsRasterOverlayImpl 19 | : public CesiumImpl { 20 | public: 21 | CesiumBingMapsRasterOverlayImpl( 22 | const DotNet::CesiumForUnity::CesiumBingMapsRasterOverlay& overlay); 23 | ~CesiumBingMapsRasterOverlayImpl(); 24 | 25 | void AddToTileset( 26 | const ::DotNet::CesiumForUnity::CesiumBingMapsRasterOverlay& overlay, 27 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 28 | void RemoveFromTileset( 29 | const ::DotNet::CesiumForUnity::CesiumBingMapsRasterOverlay& overlay, 30 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 31 | 32 | private: 33 | CesiumUtility::IntrusivePointer 34 | _pOverlay; 35 | }; 36 | 37 | } // namespace CesiumForUnityNative 38 | -------------------------------------------------------------------------------- /native~/vcpkg/ports/ada-url/portfile.cmake: -------------------------------------------------------------------------------- 1 | vcpkg_from_github( 2 | OUT_SOURCE_PATH SOURCE_PATH 3 | REPO ada-url/ada 4 | REF "v${VERSION}" 5 | SHA512 bc876db537153d6b0599215ca8be8261bceca6d213fcc63af5fda13c1b32876496cb8d4e98c787f17317cf8ffd1940431551513807f1a18f9ce993fad35f5ec6 6 | HEAD_REF main 7 | PATCHES 8 | no-cpm.patch 9 | ) 10 | 11 | vcpkg_check_features( 12 | OUT_FEATURE_OPTIONS FEATURE_OPTIONS 13 | FEATURES 14 | tools ADA_TOOLS 15 | ) 16 | 17 | vcpkg_cmake_configure( 18 | SOURCE_PATH "${SOURCE_PATH}" 19 | OPTIONS 20 | -DADA_BENCHMARKS=OFF 21 | -DBUILD_TESTING=OFF 22 | -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON 23 | ${FEATURE_OPTIONS} 24 | OPTIONS_DEBUG 25 | -DADA_TOOLS=OFF 26 | ) 27 | 28 | vcpkg_cmake_install() 29 | 30 | vcpkg_copy_pdbs() 31 | 32 | vcpkg_cmake_config_fixup(PACKAGE_NAME ada CONFIG_PATH "lib/cmake/ada") 33 | 34 | if("tools" IN_LIST FEATURES) 35 | vcpkg_copy_tools(TOOL_NAMES adaparse AUTO_CLEAN) 36 | endif() 37 | 38 | file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") 39 | 40 | vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE-APACHE" "${SOURCE_PATH}/LICENSE-MIT") 41 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumAzureMapsRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class Cesium3DTileset; 9 | class CesiumAzureMapsRasterOverlay; 10 | } // namespace DotNet::CesiumForUnity 11 | 12 | namespace CesiumRasterOverlays { 13 | class AzureMapsRasterOverlay; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumAzureMapsRasterOverlayImpl 19 | : public CesiumImpl { 20 | public: 21 | CesiumAzureMapsRasterOverlayImpl( 22 | const DotNet::CesiumForUnity::CesiumAzureMapsRasterOverlay& overlay); 23 | ~CesiumAzureMapsRasterOverlayImpl(); 24 | 25 | void AddToTileset( 26 | const ::DotNet::CesiumForUnity::CesiumAzureMapsRasterOverlay& overlay, 27 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 28 | void RemoveFromTileset( 29 | const ::DotNet::CesiumForUnity::CesiumAzureMapsRasterOverlay& overlay, 30 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 31 | 32 | private: 33 | CesiumUtility::IntrusivePointer 34 | _pOverlay; 35 | }; 36 | 37 | } // namespace CesiumForUnityNative 38 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumFeatureIdAttributeImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class CesiumFeatureIdAttribute; 9 | } // namespace DotNet::CesiumForUnity 10 | 11 | namespace CesiumGltf { 12 | struct Model; 13 | struct MeshPrimitive; 14 | } // namespace CesiumGltf 15 | 16 | namespace CesiumForUnityNative { 17 | class CesiumFeatureIdAttributeImpl 18 | : public CesiumImpl { 19 | public: 20 | CesiumFeatureIdAttributeImpl( 21 | const DotNet::CesiumForUnity::CesiumFeatureIdAttribute& 22 | featureIdAttribute); 23 | ~CesiumFeatureIdAttributeImpl(); 24 | 25 | static DotNet::CesiumForUnity::CesiumFeatureIdAttribute CreateAttribute( 26 | const CesiumGltf::Model& model, 27 | const CesiumGltf::MeshPrimitive& primitive, 28 | const int64_t featureCount, 29 | const int32_t attributeSetIndex); 30 | 31 | std::int64_t GetFeatureIdForVertex( 32 | const DotNet::CesiumForUnity::CesiumFeatureIdAttribute& 33 | featureIdAttribute, 34 | const int64_t vertexIndex); 35 | 36 | private: 37 | CesiumGltf::FeatureIdAccessorType _accessor; 38 | }; 39 | } // namespace CesiumForUnityNative 40 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumUrlTemplateRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class Cesium3DTileset; 9 | class CesiumUrlTemplateRasterOverlay; 10 | } // namespace DotNet::CesiumForUnity 11 | 12 | namespace CesiumRasterOverlays { 13 | class UrlTemplateRasterOverlay; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumUrlTemplateRasterOverlayImpl 19 | : public CesiumImpl { 20 | public: 21 | CesiumUrlTemplateRasterOverlayImpl( 22 | const DotNet::CesiumForUnity::CesiumUrlTemplateRasterOverlay& overlay); 23 | ~CesiumUrlTemplateRasterOverlayImpl(); 24 | 25 | void AddToTileset( 26 | const ::DotNet::CesiumForUnity::CesiumUrlTemplateRasterOverlay& overlay, 27 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 28 | void RemoveFromTileset( 29 | const ::DotNet::CesiumForUnity::CesiumUrlTemplateRasterOverlay& overlay, 30 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 31 | 32 | private: 33 | CesiumUtility::IntrusivePointer< 34 | CesiumRasterOverlays::UrlTemplateRasterOverlay> 35 | _pOverlay; 36 | }; 37 | 38 | } // namespace CesiumForUnityNative 39 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumWebMapServiceRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class Cesium3DTileset; 9 | class CesiumWebMapServiceRasterOverlay; 10 | } // namespace DotNet::CesiumForUnity 11 | 12 | namespace CesiumRasterOverlays { 13 | class WebMapServiceRasterOverlay; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumWebMapServiceRasterOverlayImpl 19 | : public CesiumImpl { 20 | public: 21 | CesiumWebMapServiceRasterOverlayImpl( 22 | const DotNet::CesiumForUnity::CesiumWebMapServiceRasterOverlay& overlay); 23 | ~CesiumWebMapServiceRasterOverlayImpl(); 24 | 25 | void AddToTileset( 26 | const ::DotNet::CesiumForUnity::CesiumWebMapServiceRasterOverlay& overlay, 27 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 28 | void RemoveFromTileset( 29 | const ::DotNet::CesiumForUnity::CesiumWebMapServiceRasterOverlay& overlay, 30 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 31 | 32 | private: 33 | CesiumUtility::IntrusivePointer< 34 | CesiumRasterOverlays::WebMapServiceRasterOverlay> 35 | _pOverlay; 36 | }; 37 | 38 | } // namespace CesiumForUnityNative 39 | -------------------------------------------------------------------------------- /native~/.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "label": "build", 6 | "command": "dotnet", 7 | "type": "process", 8 | "args": [ 9 | "build", 10 | "${workspaceFolder}/cesium-unity.sln", 11 | "/property:GenerateFullPaths=true", 12 | "/consoleloggerparameters:NoSummary" 13 | ], 14 | "problemMatcher": "$msCompile" 15 | }, 16 | { 17 | "label": "publish", 18 | "command": "dotnet", 19 | "type": "process", 20 | "args": [ 21 | "publish", 22 | "${workspaceFolder}/cesium-unity.sln", 23 | "/property:GenerateFullPaths=true", 24 | "/consoleloggerparameters:NoSummary" 25 | ], 26 | "problemMatcher": "$msCompile" 27 | }, 28 | { 29 | "label": "watch", 30 | "command": "dotnet", 31 | "type": "process", 32 | "args": [ 33 | "watch", 34 | "run", 35 | "--project", 36 | "${workspaceFolder}/cesium-unity.sln" 37 | ], 38 | "problemMatcher": "$msCompile" 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /native~/vcpkg/ports/abseil/vcpkg.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "abseil", 3 | "version": "20240722.0-cesium-for-unreal", 4 | "description": [ 5 | "Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google's own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.", 6 | "In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we've found through usage in the Google code base. We denote those cases clearly within the library code we provide you.", 7 | "Abseil is not meant to be a competitor to the standard library; we've just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole." 8 | ], 9 | "homepage": "https://github.com/abseil/abseil-cpp", 10 | "license": "Apache-2.0", 11 | "dependencies": [ 12 | { 13 | "name": "vcpkg-cmake", 14 | "host": true 15 | }, 16 | { 17 | "name": "vcpkg-cmake-config", 18 | "host": true 19 | } 20 | ], 21 | "features": { 22 | "cxx17": { 23 | "description": "Enable compiler C++17." 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumGoogleMapTilesRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class Cesium3DTileset; 9 | class CesiumGoogleMapTilesRasterOverlay; 10 | } // namespace DotNet::CesiumForUnity 11 | 12 | namespace CesiumRasterOverlays { 13 | class GoogleMapTilesRasterOverlay; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumGoogleMapTilesRasterOverlayImpl 19 | : public CesiumImpl { 20 | public: 21 | CesiumGoogleMapTilesRasterOverlayImpl( 22 | const DotNet::CesiumForUnity::CesiumGoogleMapTilesRasterOverlay& overlay); 23 | ~CesiumGoogleMapTilesRasterOverlayImpl(); 24 | 25 | void AddToTileset( 26 | const ::DotNet::CesiumForUnity::CesiumGoogleMapTilesRasterOverlay& 27 | overlay, 28 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 29 | void RemoveFromTileset( 30 | const ::DotNet::CesiumForUnity::CesiumGoogleMapTilesRasterOverlay& 31 | overlay, 32 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 33 | 34 | private: 35 | CesiumUtility::IntrusivePointer< 36 | CesiumRasterOverlays::GoogleMapTilesRasterOverlay> 37 | _pOverlay; 38 | }; 39 | 40 | } // namespace CesiumForUnityNative 41 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumTileMapServiceRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class Cesium3DTileset; 9 | class CesiumTileMapServiceRasterOverlay; 10 | } // namespace DotNet::CesiumForUnity 11 | 12 | namespace CesiumRasterOverlays { 13 | class TileMapServiceRasterOverlay; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumTileMapServiceRasterOverlayImpl 19 | : public CesiumImpl { 20 | public: 21 | CesiumTileMapServiceRasterOverlayImpl( 22 | const DotNet::CesiumForUnity::CesiumTileMapServiceRasterOverlay& overlay); 23 | ~CesiumTileMapServiceRasterOverlayImpl(); 24 | 25 | void AddToTileset( 26 | const ::DotNet::CesiumForUnity::CesiumTileMapServiceRasterOverlay& 27 | overlay, 28 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 29 | void RemoveFromTileset( 30 | const ::DotNet::CesiumForUnity::CesiumTileMapServiceRasterOverlay& 31 | overlay, 32 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 33 | 34 | private: 35 | CesiumUtility::IntrusivePointer< 36 | CesiumRasterOverlays::TileMapServiceRasterOverlay> 37 | _pOverlay; 38 | }; 39 | 40 | } // namespace CesiumForUnityNative 41 | -------------------------------------------------------------------------------- /native~/.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | "version": "0.2.0", 6 | "configurations": [ 7 | { 8 | "name": "(Mac) Launch", 9 | "type": "lldb", 10 | "request": "launch", 11 | "program": "/Applications/Unity/Hub/Editor/2021.3.2f1/Unity.app", 12 | "args": ["-projectPath", "${workspaceFolder}/../cesium-unity-samples"] 13 | }, 14 | 15 | { 16 | "name": "(Mac) Attach", 17 | "type": "lldb", 18 | "request": "attach", 19 | "pid": "${command:pickMyProcess}" // use ${command:pickProcess} to pick other users' processes 20 | }, 21 | { 22 | "name": "(Windows) Launch", 23 | "type": "cppvsdbg", 24 | "request": "launch", 25 | "program": "C:\\Program Files\\Unity\\Hub\\Editor\\2021.3.2f1\\Editor\\Unity.exe", 26 | "args": [ 27 | "-projectPath", "C:\\Dev\\cesium-unity-samples" 28 | ], 29 | "stopAtEntry": false, 30 | "cwd": "${fileDirname}", 31 | "environment": [] 32 | }, 33 | { 34 | "name": "(Windows) Attach", 35 | "type": "cppvsdbg", 36 | "request": "attach", 37 | "processId": "${command:pickProcess}" 38 | } 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /Runtime/Cesium3DTile.cs: -------------------------------------------------------------------------------- 1 | 2 | using Reinterop; 3 | using System; 4 | using Unity.Mathematics; 5 | using UnityEngine; 6 | 7 | namespace CesiumForUnity 8 | { 9 | /// 10 | /// Represents a tile in a and allows information 11 | /// about the tile to be queried from the underlying C++ tile representation. 12 | /// 13 | [ReinteropNativeImplementation("CesiumForUnityNative::Cesium3DTileImpl", "Cesium3DTileImpl.h", staticOnly: true)] 14 | public partial class Cesium3DTile 15 | { 16 | internal double4x4 _transform; 17 | internal IntPtr _pTile; 18 | internal IntPtr _pTileEllipsoid; 19 | 20 | internal Cesium3DTile() 21 | {} 22 | 23 | /// 24 | /// Gets the axis-aligned bounding box of this tile. If this tile came from a , 25 | /// the bounding box is expressed in the local coordinates of the excluder's game object. 26 | /// 27 | public Bounds bounds 28 | { 29 | get 30 | { 31 | return Cesium3DTile.getBounds(this._pTile, this._pTileEllipsoid, this._transform); 32 | } 33 | } 34 | 35 | private static partial Bounds getBounds(IntPtr pTile, IntPtr pTileEllipsoid, double4x4 ecefToLocalMatrix); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Editor/IonAssetsMultiColumnHeader.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor.IMGUI.Controls; 2 | 3 | namespace CesiumForUnity 4 | { 5 | public class IonAssetsMultiColumnHeader : MultiColumnHeader 6 | { 7 | private IonAssetsTreeView _treeView; 8 | private int _lastSortedColumnIndex; 9 | 10 | public IonAssetsMultiColumnHeader( 11 | MultiColumnHeaderState state, 12 | IonAssetsTreeView treeView) : 13 | base(state) 14 | { 15 | this._treeView = treeView; 16 | ResizeToFit(); 17 | } 18 | 19 | protected override void ColumnHeaderClicked( 20 | MultiColumnHeaderState.Column column, 21 | int columnIndex) 22 | { 23 | if (this.sortedColumnIndex == columnIndex) 24 | { 25 | if (column.sortedAscending) 26 | { 27 | column.sortedAscending = false; 28 | } 29 | else 30 | { 31 | // Remove the sorting entirely. 32 | sortedColumnIndex = -1; 33 | } 34 | } 35 | else 36 | { 37 | sortedColumnIndex = columnIndex; 38 | column.sortedAscending = true; 39 | } 40 | 41 | this._treeView.Refresh(); 42 | } 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumWebMapTileServiceRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class Cesium3DTileset; 9 | class CesiumWebMapTileServiceRasterOverlay; 10 | } // namespace DotNet::CesiumForUnity 11 | 12 | namespace CesiumRasterOverlays { 13 | class WebMapTileServiceRasterOverlay; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumWebMapTileServiceRasterOverlayImpl 19 | : public CesiumImpl { 20 | public: 21 | CesiumWebMapTileServiceRasterOverlayImpl( 22 | const DotNet::CesiumForUnity::CesiumWebMapTileServiceRasterOverlay& 23 | overlay); 24 | ~CesiumWebMapTileServiceRasterOverlayImpl(); 25 | 26 | void AddToTileset( 27 | const ::DotNet::CesiumForUnity::CesiumWebMapTileServiceRasterOverlay& 28 | overlay, 29 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 30 | void RemoveFromTileset( 31 | const ::DotNet::CesiumForUnity::CesiumWebMapTileServiceRasterOverlay& 32 | overlay, 33 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 34 | 35 | private: 36 | CesiumUtility::IntrusivePointer< 37 | CesiumRasterOverlays::WebMapTileServiceRasterOverlay> 38 | _pOverlay; 39 | }; 40 | 41 | } // namespace CesiumForUnityNative 42 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumDebugColorizeTilesRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | namespace DotNet::CesiumForUnity { 8 | class Cesium3DTileset; 9 | class CesiumDebugColorizeTilesRasterOverlay; 10 | } // namespace DotNet::CesiumForUnity 11 | 12 | namespace CesiumRasterOverlays { 13 | class DebugColorizeTilesRasterOverlay; 14 | } 15 | 16 | namespace CesiumForUnityNative { 17 | 18 | class CesiumDebugColorizeTilesRasterOverlayImpl 19 | : public CesiumImpl { 20 | public: 21 | CesiumDebugColorizeTilesRasterOverlayImpl( 22 | const DotNet::CesiumForUnity::CesiumDebugColorizeTilesRasterOverlay& 23 | overlay); 24 | ~CesiumDebugColorizeTilesRasterOverlayImpl(); 25 | 26 | void AddToTileset( 27 | const ::DotNet::CesiumForUnity::CesiumDebugColorizeTilesRasterOverlay& 28 | overlay, 29 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 30 | void RemoveFromTileset( 31 | const ::DotNet::CesiumForUnity::CesiumDebugColorizeTilesRasterOverlay& 32 | overlay, 33 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 34 | 35 | private: 36 | CesiumUtility::IntrusivePointer< 37 | CesiumRasterOverlays::DebugColorizeTilesRasterOverlay> 38 | _pOverlay; 39 | }; 40 | 41 | } // namespace CesiumForUnityNative 42 | -------------------------------------------------------------------------------- /native~/Runtime/src/Cesium3DTileImpl.cpp: -------------------------------------------------------------------------------- 1 | #include "Cesium3DTileImpl.h" 2 | 3 | #include "UnityTransforms.h" 4 | 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | 11 | using namespace Cesium3DTilesSelection; 12 | using namespace CesiumGeometry; 13 | using namespace CesiumGeospatial; 14 | 15 | namespace CesiumForUnityNative { 16 | 17 | DotNet::UnityEngine::Bounds Cesium3DTileImpl::getBounds( 18 | void* pTileVoid, 19 | void* pTileEllipsoidVoid, 20 | const DotNet::Unity::Mathematics::double4x4& ecefToLocalMatrix) { 21 | const Tile* pTile = static_cast(pTileVoid); 22 | const Ellipsoid* pTileEllipsoid = 23 | static_cast(pTileEllipsoidVoid); 24 | const BoundingVolume& bv = pTile->getBoundingVolume(); 25 | OrientedBoundingBox obb = 26 | getOrientedBoundingBoxFromBoundingVolume(bv, *pTileEllipsoid); 27 | obb = obb.transform(UnityTransforms::fromUnity(ecefToLocalMatrix)); 28 | AxisAlignedBox aabb = obb.toAxisAligned(); 29 | return DotNet::UnityEngine::Bounds::Construct( 30 | UnityTransforms::toUnity(aabb.center), 31 | DotNet::UnityEngine::Vector3{ 32 | float(aabb.lengthX), 33 | float(aabb.lengthY), 34 | float(aabb.lengthZ)}); 35 | } 36 | 37 | } // namespace CesiumForUnityNative 38 | -------------------------------------------------------------------------------- /native~/Runtime/src/UnityTilesetExternals.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | #include 8 | 9 | namespace Cesium3DTilesSelection { 10 | class TilesetExternals; 11 | } // namespace Cesium3DTilesSelection 12 | 13 | namespace CesiumUtility { 14 | class CreditSystem; 15 | } // namespace CesiumUtility 16 | 17 | namespace CesiumAsync { 18 | class AsyncSystem; 19 | class IAssetAccessor; 20 | class ITaskProcessor; 21 | } // namespace CesiumAsync 22 | 23 | namespace DotNet::CesiumForUnity { 24 | class Cesium3DTileset; 25 | } 26 | 27 | namespace CesiumForUnityNative { 28 | 29 | void initializeExternals(); 30 | void shutdownExternals(); 31 | 32 | const std::shared_ptr& getAssetAccessor(); 33 | const std::shared_ptr& getTaskProcessor(); 34 | CesiumAsync::AsyncSystem& getAsyncSystem(); 35 | 36 | // Gets the credit system on the input Cesium3DTileset. If it does not exist, 37 | // this will create a new default credit system for the tileset. 38 | std::shared_ptr 39 | getOrCreateCreditSystem(const DotNet::CesiumForUnity::Cesium3DTileset& tileset); 40 | 41 | Cesium3DTilesSelection::TilesetExternals 42 | createTilesetExternals(const DotNet::CesiumForUnity::Cesium3DTileset& tileset); 43 | 44 | } // namespace CesiumForUnityNative 45 | -------------------------------------------------------------------------------- /native~/vcpkg/ports/ada-url/no-cpm.patch: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index b206edb6..1db4099d 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -30,7 +30,6 @@ option(ADA_TESTING "Build tests" ${BUILD_TESTING}) 6 | # errors due to CPM, so this is here to support disabling all the testing 7 | # and tooling for ada if one only wishes to use the ada library. 8 | if(ADA_TESTING OR ADA_BENCHMARKS OR ADA_TOOLS) 9 | - include(cmake/CPM.cmake) 10 | # CPM requires git as an implicit dependency 11 | find_package(Git QUIET) 12 | # We use googletest in the tests 13 | diff --git a/tools/cli/CMakeLists.txt b/tools/cli/CMakeLists.txt 14 | index ff57220b..a6d90f29 100644 15 | --- a/tools/cli/CMakeLists.txt 16 | +++ b/tools/cli/CMakeLists.txt 17 | @@ -8,12 +8,8 @@ if(MSVC AND BUILD_SHARED_LIBS) 18 | "$" # <--this is in-file 19 | "$") # <--this is out-file path 20 | endif() 21 | -CPMAddPackage("gh:fmtlib/fmt#10.2.1") 22 | -CPMAddPackage( 23 | - GITHUB_REPOSITORY jarro2783/cxxopts 24 | - VERSION 3.2.0 25 | - OPTIONS "CXXOPTS_BUILD_EXAMPLES NO" "CXXOPTS_BUILD_TESTS NO" "CXXOPTS_ENABLE_INSTALL YES" 26 | -) 27 | +find_package(fmt CONFIG REQUIRED) 28 | +find_package(cxxopts CONFIG REQUIRED) 29 | target_link_libraries(adaparse PRIVATE cxxopts::cxxopts fmt::fmt) 30 | 31 | if(MSVC OR MINGW) 32 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumCreditSystemUIPanelSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!114 &11400000 4 | MonoBehaviour: 5 | m_ObjectHideFlags: 0 6 | m_CorrespondingSourceObject: {fileID: 0} 7 | m_PrefabInstance: {fileID: 0} 8 | m_PrefabAsset: {fileID: 0} 9 | m_GameObject: {fileID: 0} 10 | m_Enabled: 1 11 | m_EditorHideFlags: 0 12 | m_Script: {fileID: 19101, guid: 0000000000000000e000000000000000, type: 0} 13 | m_Name: CesiumCreditSystemUIPanelSettings 14 | m_EditorClassIdentifier: 15 | themeUss: {fileID: -4733365628477956816, guid: 1c8cee1d39d4cb245ab32e13e5e38663, 16 | type: 3} 17 | m_TargetTexture: {fileID: 0} 18 | m_ScaleMode: 1 19 | m_Scale: 1 20 | m_ReferenceDpi: 96 21 | m_FallbackDpi: 96 22 | m_ReferenceResolution: {x: 1200, y: 800} 23 | m_ScreenMatchMode: 0 24 | m_Match: 0 25 | m_SortingOrder: 0 26 | m_TargetDisplay: 0 27 | m_ClearDepthStencil: 1 28 | m_ClearColor: 0 29 | m_ColorClearValue: {r: 0, g: 0, b: 0, a: 0} 30 | m_DynamicAtlasSettings: 31 | m_MinAtlasSize: 64 32 | m_MaxAtlasSize: 4096 33 | m_MaxSubTextureSize: 64 34 | m_ActiveFilters: 31 35 | m_AtlasBlitShader: {fileID: 9101, guid: 0000000000000000f000000000000000, type: 0} 36 | m_RuntimeShader: {fileID: 9100, guid: 0000000000000000f000000000000000, type: 0} 37 | m_RuntimeWorldShader: {fileID: 9102, guid: 0000000000000000f000000000000000, type: 0} 38 | textSettings: {fileID: 0} 39 | -------------------------------------------------------------------------------- /Editor/CesiumDebugColorizeTilesRasterOverlayEditor.cs: -------------------------------------------------------------------------------- 1 | using UnityEditor; 2 | using UnityEngine; 3 | 4 | namespace CesiumForUnity 5 | { 6 | [CustomEditor(typeof(CesiumDebugColorizeTilesRasterOverlay))] 7 | public class CesiumDebugColorizeTilesRasterOverlayEditor : Editor 8 | { 9 | private CesiumRasterOverlayEditor _rasterOverlayEditor; 10 | 11 | private void OnEnable() 12 | { 13 | this._rasterOverlayEditor = 14 | (CesiumRasterOverlayEditor)Editor.CreateEditor( 15 | this.target, 16 | typeof(CesiumRasterOverlayEditor)); 17 | 18 | // The other CesiumRasterOverlay options don't apply to 19 | // CesiumDebugColorizeTilesRasterOverlay, so don't show them here. 20 | 21 | this._rasterOverlayEditor.drawShowCreditsOnScreen = false; 22 | this._rasterOverlayEditor.drawOverlayProperties = false; 23 | } 24 | 25 | private void OnDisable() 26 | { 27 | if (this._rasterOverlayEditor != null) 28 | { 29 | DestroyImmediate(this._rasterOverlayEditor); 30 | } 31 | } 32 | 33 | public override void OnInspectorGUI() 34 | { 35 | if (this._rasterOverlayEditor != null) 36 | { 37 | this._rasterOverlayEditor.OnInspectorGUI(); 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumMetadataImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | #include 7 | 8 | #include 9 | #include 10 | #include 11 | 12 | #include 13 | 14 | namespace DotNet::CesiumForUnity { 15 | class CesiumMetadata; 16 | class CesiumFeature; 17 | } // namespace DotNet::CesiumForUnity 18 | 19 | namespace DotNet::UnityEngine { 20 | class GameObject; 21 | class Transform; 22 | } // namespace DotNet::UnityEngine 23 | 24 | namespace CesiumForUnityNative { 25 | 26 | class CesiumMetadataImpl : public CesiumImpl { 27 | public: 28 | CesiumMetadataImpl(const DotNet::CesiumForUnity::CesiumMetadata& metadata); 29 | ~CesiumMetadataImpl(); 30 | 31 | void addMetadata( 32 | int32_t instanceID, 33 | const CesiumGltf::Model* pModel, 34 | const CesiumGltf::MeshPrimitive* pPrimitive); 35 | 36 | void removeMetadata(int32_t instanceID); 37 | 38 | DotNet::System::Array1 GetFeatures( 39 | const DotNet::CesiumForUnity::CesiumMetadata& metadata, 40 | const DotNet::UnityEngine::Transform& transform, 41 | int triangleIndex); 42 | 43 | private: 44 | std::unordered_map< 45 | int32_t, 46 | std::pair> 47 | _pModels; 48 | }; 49 | } // namespace CesiumForUnityNative 50 | -------------------------------------------------------------------------------- /native~/Runtime/src/UnityTileExcluderAdaptor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | namespace DotNet::CesiumForUnity { 11 | class Cesium3DTileset; 12 | } // namespace DotNet::CesiumForUnity 13 | 14 | namespace CesiumForUnityNative { 15 | 16 | class UnityTileExcluderAdaptor : public Cesium3DTilesSelection::ITileExcluder { 17 | public: 18 | UnityTileExcluderAdaptor( 19 | const DotNet::CesiumForUnity::CesiumTileExcluder& excluder, 20 | const DotNet::CesiumForUnity::Cesium3DTileset& tileset, 21 | const DotNet::CesiumForUnity::CesiumGeoreference& georeference); 22 | 23 | virtual void startNewFrame() noexcept override; 24 | virtual bool shouldExclude( 25 | const Cesium3DTilesSelection::Tile& tile) const noexcept override; 26 | 27 | const DotNet::CesiumForUnity::CesiumTileExcluder& getExcluder() noexcept { 28 | return this->_excluder; 29 | } 30 | 31 | private: 32 | DotNet::CesiumForUnity::Cesium3DTile _tile; 33 | DotNet::CesiumForUnity::CesiumGeoreference _georeference; 34 | DotNet::CesiumForUnity::CesiumTileExcluder _excluder; 35 | DotNet::UnityEngine::Transform _excluderTransform; 36 | DotNet::UnityEngine::Transform _tilesetTransform; 37 | bool _isValid; 38 | }; 39 | 40 | } // namespace CesiumForUnityNative 41 | -------------------------------------------------------------------------------- /Tests/TestReinterop.cs: -------------------------------------------------------------------------------- 1 | using NUnit.Framework; 2 | 3 | public class TestReinterop 4 | { 5 | [Test] 6 | public void TestADotNetExceptionCanBeCaughtInCpp() 7 | { 8 | CesiumForUnity.TestReinterop o = new CesiumForUnity.TestReinterop(); 9 | Assert.IsTrue(o.CallThrowAnExceptionFromCppAndCatchIt()); 10 | } 11 | 12 | [Test] 13 | public void TestADotNetExceptionCanPropagateThroughCpp() 14 | { 15 | CesiumForUnity.TestReinterop o = new CesiumForUnity.TestReinterop(); 16 | try 17 | { 18 | o.CallThrowAnExceptionFromCppAndDontCatchIt(); 19 | } 20 | catch (System.Exception e) 21 | { 22 | Assert.AreEqual("Test Exception!", e.Message); 23 | } 24 | } 25 | 26 | [Test] 27 | public void TestACppStdExceptionCanBeCaughtInCSharp() 28 | { 29 | CesiumForUnity.TestReinterop o = new CesiumForUnity.TestReinterop(); 30 | try 31 | { 32 | o.ThrowCppStdException(); 33 | } 34 | catch (System.Exception e) 35 | { 36 | Assert.AreEqual("An exceptional hello from C++!", e.Message); 37 | } 38 | } 39 | 40 | [Test] 41 | public void TestAGeneralCppExceptionCanBeCaughtInCSharp() 42 | { 43 | CesiumForUnity.TestReinterop o = new CesiumForUnity.TestReinterop(); 44 | try 45 | { 46 | o.ThrowOtherCppExceptionType(); 47 | } 48 | catch (System.Exception e) 49 | { 50 | Assert.AreEqual("An unknown native exception occurred.", e.Message); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumIonServerHelper.cpp: -------------------------------------------------------------------------------- 1 | #include "CesiumIonServerHelper.h" 2 | 3 | #include "UnityTilesetExternals.h" 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | #include 10 | 11 | #if UNITY_EDITOR 12 | #include 13 | #endif 14 | 15 | using namespace DotNet; 16 | 17 | namespace CesiumForUnityNative { 18 | 19 | void resolveCesiumIonApiUrl( 20 | const DotNet::CesiumForUnity::CesiumIonServer& server) { 21 | #if UNITY_EDITOR 22 | getAsyncSystem().dispatchMainThreadTasks(); 23 | 24 | if (server.serverUrlThatIsLoadingApiUrl() != server.serverUrl()) { 25 | System::String serverUrl = server.serverUrl(); 26 | server.serverUrlThatIsLoadingApiUrl(serverUrl); 27 | CesiumIonClient::Connection::getApiUrl( 28 | getAsyncSystem(), 29 | getAssetAccessor(), 30 | server.serverUrl().ToStlString()) 31 | .thenInMainThread( 32 | [server, serverUrl](std::optional&& maybeApiUrl) { 33 | if (!maybeApiUrl) 34 | return; 35 | 36 | if (server != nullptr) { 37 | if (serverUrl == server.serverUrlThatIsLoadingApiUrl()) { 38 | server.serverUrlThatIsLoadingApiUrl(nullptr); 39 | server.apiUrl(System::String(*maybeApiUrl)); 40 | UnityEditor::EditorUtility::SetDirty(server); 41 | } 42 | } 43 | }); 44 | } 45 | #endif 46 | } 47 | 48 | } // namespace CesiumForUnityNative 49 | -------------------------------------------------------------------------------- /Runtime/CesiumMetadata.cs: -------------------------------------------------------------------------------- 1 | using Reinterop; 2 | using System; 3 | using UnityEngine; 4 | 5 | namespace CesiumForUnity 6 | { 7 | /// 8 | /// Provides access to the metadata attached to features in a . 9 | /// 10 | [ReinteropNativeImplementation("CesiumForUnityNative::CesiumMetadataImpl", "CesiumMetadataImpl.h")] 11 | [AddComponentMenu("")] 12 | [IconAttribute("Packages/com.cesium.unity/Editor/Resources/Cesium-24x24.png")] 13 | [Obsolete("Retrieve metadata using the CesiumModelMetadata component attached to a tile instead.")] 14 | public partial class CesiumMetadata : MonoBehaviour 15 | { 16 | private void OnEnable() 17 | { 18 | Debug.LogWarning("CesiumMetadata component is deprecated. Retrieve metadata using the CesiumModelMetadata component of a tile object."); 19 | } 20 | 21 | /// 22 | /// Gets the features corresponding to a particular triangle in a tile. 23 | /// 24 | /// The Transform of the tile from which to obtain properties. 25 | /// The index of the tile's triangle for which to obtain properties. 26 | /// An array of features associated with the triangle. 27 | /// 28 | /// The information to pass to this function can be obtained using the Physics.Raycast 29 | /// function. 30 | /// 31 | public partial CesiumFeature[] GetFeatures(Transform transform, int triangleIndex); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumWgs84EllipsoidImpl.cpp: -------------------------------------------------------------------------------- 1 | #include "CesiumWgs84EllipsoidImpl.h" 2 | 3 | #include "CesiumEllipsoidFunctions.h" 4 | 5 | #include 6 | #include 7 | 8 | using namespace CesiumGeospatial; 9 | using namespace CesiumUtility; 10 | 11 | using namespace DotNet::Unity::Mathematics; 12 | 13 | namespace CesiumForUnityNative { 14 | 15 | double3 CesiumWgs84EllipsoidImpl::GetRadii() { 16 | return CesiumEllipsoidFunctions::GetRadii(Ellipsoid::WGS84); 17 | } 18 | 19 | std::optional CesiumWgs84EllipsoidImpl::ScaleToGeodeticSurface( 20 | double3 earthCenteredEarthFixed) { 21 | return CesiumEllipsoidFunctions::ScaleToGeodeticSurface( 22 | Ellipsoid::WGS84, 23 | earthCenteredEarthFixed); 24 | } 25 | 26 | double3 CesiumWgs84EllipsoidImpl::GeodeticSurfaceNormal( 27 | double3 earthCenteredEarthFixed) { 28 | return CesiumEllipsoidFunctions::GeodeticSurfaceNormal( 29 | Ellipsoid::WGS84, 30 | earthCenteredEarthFixed); 31 | } 32 | 33 | double3 34 | CesiumWgs84EllipsoidImpl::LongitudeLatitudeHeightToEarthCenteredEarthFixed( 35 | double3 longitudeLatitudeHeight) { 36 | return CesiumEllipsoidFunctions::LongitudeLatitudeHeightToCenteredFixed( 37 | Ellipsoid::WGS84, 38 | longitudeLatitudeHeight); 39 | } 40 | 41 | double3 42 | CesiumWgs84EllipsoidImpl::EarthCenteredEarthFixedToLongitudeLatitudeHeight( 43 | double3 earthCenteredEarthFixed) { 44 | return CesiumEllipsoidFunctions::CenteredFixedToLongitudeLatitudeHeight( 45 | Ellipsoid::WGS84, 46 | earthCenteredEarthFixed); 47 | } 48 | 49 | } // namespace CesiumForUnityNative 50 | -------------------------------------------------------------------------------- /Reinterop~/GeneratedCppDefinition.cs: -------------------------------------------------------------------------------- 1 | namespace Reinterop 2 | { 3 | internal class GeneratedCppDefinition 4 | { 5 | public GeneratedCppDefinition(CppType type) 6 | { 7 | this.Type = type; 8 | } 9 | 10 | public CppType Type; 11 | public List Elements = new List(); 12 | 13 | public void AddToSourceFile(CppSourceFile sourceFile) 14 | { 15 | if (Type == null) 16 | return; 17 | 18 | AddIncludes(sourceFile.Includes); 19 | AddForwardDeclarations(sourceFile.ForwardDeclarations); 20 | CppSourceFileNamespace ns = sourceFile.GetNamespace(Type.GetFullyQualifiedNamespace(false)); 21 | ns.Members.AddRange(GetElements()); 22 | } 23 | 24 | private void AddIncludes(ISet includes) 25 | { 26 | this.Type.AddSourceIncludesToSet(includes); 27 | 28 | foreach (GeneratedCppDefinitionElement element in Elements) 29 | { 30 | element.AddIncludesToSet(includes); 31 | } 32 | } 33 | 34 | private void AddForwardDeclarations(ISet forwardDeclarations) 35 | { 36 | foreach (GeneratedCppDefinitionElement element in Elements) 37 | { 38 | element.AddForwardDeclarationsToSet(forwardDeclarations); 39 | } 40 | } 41 | 42 | private IEnumerable GetElements() 43 | { 44 | return Elements.Select(element => element.Content + Environment.NewLine); 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Reinterop~/CSharpReinteropNativeImplementationAttribute.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | 3 | namespace Reinterop 4 | { 5 | /// 6 | /// Inserts the "ReinteropNativeImplementationAttribute" class into an assembly as it is compiled. 7 | /// This is intended to be used from a RegisterPostInitializationOutput 8 | /// callback on an IIncrementalGenerator. 9 | /// 10 | internal class CSharpReinteropNativeImplementationAttribute 11 | { 12 | public static void Generate(GeneratorExecutionContext context) 13 | { 14 | context.AddSource("ReinteropNativeImplementationAttribute", source); 15 | } 16 | 17 | private const string source = 18 | """ 19 | using System; 20 | 21 | namespace Reinterop 22 | { 23 | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)] 24 | internal class ReinteropNativeImplementationAttribute : Attribute 25 | { 26 | public readonly string ImplementationClassName; 27 | 28 | public readonly string HeaderName; 29 | 30 | public readonly bool StaticOnly; 31 | 32 | public ReinteropNativeImplementationAttribute(string implementationClassName, string headerName, bool staticOnly = false) { 33 | this.ImplementationClassName = implementationClassName; 34 | this.HeaderName = headerName; 35 | this.StaticOnly = staticOnly; 36 | } 37 | } 38 | } 39 | """; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Reinterop~/InheritanceChainer.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | 3 | namespace Reinterop 4 | { 5 | internal class InheritanceChainer 6 | { 7 | /// 8 | /// Sets the baseClass and interfaces properties of a given GenerationItem from the appropriate 9 | /// items in the full list of GenerationItems. 10 | /// 11 | /// The item for which to set the baseClass and interfaces properties. 12 | /// The full list of generation items. 13 | public static void Chain(TypeToGenerate item, Dictionary items) 14 | { 15 | // This item's immediate base class might not be generated. So walk up the inheritance chain 16 | // until we find one that is. 17 | ITypeSymbol? current = item.Type.BaseType; 18 | while (current != null) 19 | { 20 | TypeToGenerate baseGenerationItem; 21 | if (items.TryGetValue(current, out baseGenerationItem)) 22 | { 23 | item.BaseClass = baseGenerationItem; 24 | break; 25 | } 26 | current = current.BaseType; 27 | } 28 | 29 | foreach (ITypeSymbol anInterface in item.Type.AllInterfaces) 30 | { 31 | TypeToGenerate interfaceGenerationItem; 32 | if (items.TryGetValue(anInterface, out interfaceGenerationItem)) 33 | { 34 | item.Interfaces.Add(interfaceGenerationItem); 35 | } 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /.github/workflows/prod.yml: -------------------------------------------------------------------------------- 1 | name: prod 2 | on: 3 | push: 4 | branches: 5 | - 'cesium.com' 6 | - 'cesium.com-staging' 7 | jobs: 8 | deploy-docs: 9 | runs-on: ubuntu-22.04 10 | env: 11 | AWS_ACCESS_KEY_ID: ${{ secrets.NATIVE_ACCESS_KEY }} 12 | AWS_SECRET_ACCESS_KEY: ${{ secrets.NATIVE_SECRET_KEY }} 13 | AWS_REGION: us-east-1 14 | steps: 15 | - name: Install Doxygen 16 | run: | 17 | cd ~ 18 | wget https://github.com/doxygen/doxygen/releases/download/Release_1_12_0/doxygen-1.12.0.linux.bin.tar.gz 19 | tar xzf doxygen-1.12.0.linux.bin.tar.gz 20 | export PATH=$PWD/doxygen-1.12.0/bin:$PATH 21 | echo "PATH=$PATH" >> "$GITHUB_ENV" 22 | doxygen --version 23 | - name: Check out repository code 24 | uses: actions/checkout@v4 25 | with: 26 | submodules: recursive 27 | - name: Mark documentation official 28 | if: ${{ github.ref_name == 'cesium.com' }} 29 | run: | 30 | sed -i 's/PRE-RELEASE/ /g' Documentation~/Doxyfile 31 | - name: Generate Documentation 32 | run: | 33 | npm run doxygen 34 | - name: Deploy to cesium.com 35 | if: ${{ github.ref_name == 'cesium.com' }} 36 | run: | 37 | aws s3 sync Documentation~/Reference/html/ s3://cesium-website/cesium-unity/ref-doc/ --cache-control "public, max-age=1800" --delete 38 | - name: Deploy to cesium.com staging 39 | if: ${{ github.ref_name == 'cesium.com-staging' }} 40 | run: | 41 | aws s3 sync Documentation~/Reference/html/ s3://cesium-website/cesium-unity/ref-doc-staging/ --cache-control "public, max-age=1800" --delete 42 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumCreditSystemImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | #include 8 | #include 9 | 10 | #include 11 | #include 12 | 13 | namespace DotNet::CesiumForUnity { 14 | class CesiumCreditComponent; 15 | class CesiumCreditSystem; 16 | class GameObject; 17 | } // namespace DotNet::CesiumForUnity 18 | 19 | namespace CesiumUtility { 20 | class CreditSystem; 21 | struct Credit; 22 | } // namespace CesiumUtility 23 | 24 | namespace CesiumForUnityNative { 25 | 26 | class CesiumCreditSystemImpl : public CesiumImpl { 27 | public: 28 | CesiumCreditSystemImpl( 29 | const DotNet::CesiumForUnity::CesiumCreditSystem& creditSystem); 30 | ~CesiumCreditSystemImpl(); 31 | 32 | void UpdateCredits( 33 | const DotNet::CesiumForUnity::CesiumCreditSystem& creditSystem, 34 | bool forceUpdate); 35 | 36 | const std::shared_ptr& 37 | getNativeCreditSystem() const; 38 | 39 | private: 40 | // The underlying cesium-native credit system. 41 | std::shared_ptr _pCreditSystem; 42 | 43 | const DotNet::CesiumForUnity::CesiumCredit convertHtmlToUnityCredit( 44 | const std::string& html, 45 | const DotNet::CesiumForUnity::CesiumCreditSystem& creditSystem); 46 | 47 | std::unordered_map 48 | _htmlToUnityCredit; 49 | 50 | size_t _lastCreditsCount; 51 | size_t _lastLoadingImagesCount; 52 | bool _shouldBroadcastUpdate; 53 | }; 54 | 55 | } // namespace CesiumForUnityNative 56 | -------------------------------------------------------------------------------- /native~/vcpkg/ports/blend2d/portfile.cmake: -------------------------------------------------------------------------------- 1 | vcpkg_from_github( 2 | OUT_SOURCE_PATH SOURCE_PATH 3 | REPO blend2d/blend2d 4 | REF d2027ebfd6aaf53b190b6b3b497425fc85f14251 # commited on 2025-03-08 5 | SHA512 f7ecda8280290a1692bbec618522eccf1d74f79c688affc687848459c06762e405ad2f319845a548d478723ed8bf8db609e4691bc335f364baceb20d9d3aa597 6 | HEAD_REF master 7 | ) 8 | 9 | string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BLEND2D_STATIC) 10 | 11 | vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS 12 | INVERTED_FEATURES 13 | jit BLEND2D_NO_JIT 14 | ) 15 | 16 | if(BLEND2D_NO_JIT) 17 | set(BLEND2D_EXTERNAL_ASMJIT_D "-DBLEND2D_EXTERNAL_ASMJIT=OFF") 18 | else() 19 | set(BLEND2D_EXTERNAL_ASMJIT_D "-DBLEND2D_EXTERNAL_ASMJIT=ON") 20 | endif() 21 | 22 | vcpkg_cmake_configure( 23 | SOURCE_PATH "${SOURCE_PATH}" 24 | OPTIONS 25 | "-DBLEND2D_STATIC=${BLEND2D_STATIC}" 26 | "-DBLEND2D_NO_FUTEX=OFF" 27 | ${BLEND2D_EXTERNAL_ASMJIT_D} 28 | ${FEATURE_OPTIONS} 29 | ) 30 | 31 | vcpkg_cmake_install() 32 | vcpkg_copy_pdbs() 33 | 34 | vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${PORT}") 35 | 36 | file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") 37 | 38 | if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") 39 | vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blend2d/api.h" 40 | "#if !defined(BL_STATIC)" 41 | "#if 0" 42 | ) 43 | vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/blend2d-debug.h" 44 | "#if defined(BL_STATIC)" 45 | "#if 1" 46 | ) 47 | endif() 48 | 49 | file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") 50 | vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.md") 51 | -------------------------------------------------------------------------------- /Reinterop~/CppGenerationContext.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.CodeAnalysis; 2 | 3 | namespace Reinterop 4 | { 5 | /// 6 | /// Options to the C++ code generation. 7 | /// 8 | internal class CppGenerationContext 9 | { 10 | public CppGenerationContext(Compilation compilation) 11 | { 12 | this.Compilation = compilation; 13 | } 14 | 15 | /// 16 | /// The base namespace in which to put all generated code. For example, 17 | /// if a C# class is in the `System.Threading` and the base namespace is 18 | /// `Foo`, then the namespace of the generated C++ wrapper will be 19 | /// `Foo::System::Threading`. If this property is empty, the C++ 20 | /// namespace will match the C# namespace. 21 | /// 22 | public string BaseNamespace = "DotNet"; 23 | 24 | /// 25 | /// The directory in which to generate output C++ files. 26 | /// 27 | public string OutputDirectory = "generated"; 28 | 29 | /// 30 | /// The compilation for which we're generating C++ code. 31 | /// 32 | public Compilation Compilation; 33 | 34 | /// 35 | /// The name of the DLL or SO containing the C++ code. 36 | /// 37 | public string NativeLibraryName = "ReinteropNative"; 38 | 39 | /// 40 | /// Types that should not be treated as blittable, even if they appear to be. 41 | /// 42 | public HashSet NonBlittableTypes = new HashSet(); 43 | 44 | public List CustomGenerators = new List(); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /native~/Shared/src/CesiumImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | namespace CesiumForUnityNative { 10 | 11 | template class CesiumImpl { 12 | public: 13 | /** 14 | * @brief Adds a counted reference to this object. Use 15 | * {@link CesiumUtility::IntrusivePointer} instead of calling this method 16 | * directly. 17 | */ 18 | void addReference() const /*noexcept*/ { ++this->_referenceCount; } 19 | 20 | /** 21 | * @brief Removes a counted reference from this object. When the last 22 | * reference is removed, this method will delete this instance. Use 23 | * {@link CesiumUtility::IntrusivePointer} instead of calling this method 24 | * directly. 25 | */ 26 | void releaseReference() const /*noexcept*/ { 27 | CESIUM_ASSERT(this->_referenceCount > 0); 28 | const int32_t references = --this->_referenceCount; 29 | if (references == 0) { 30 | delete static_cast(this); 31 | } 32 | } 33 | 34 | /** 35 | * @brief Returns the current reference count of this instance. 36 | */ 37 | std::int32_t getReferenceCount() const noexcept { 38 | return this->_referenceCount; 39 | } 40 | 41 | // Prevent copying of impl classes 42 | CesiumImpl(CesiumImpl&&) = delete; 43 | CesiumImpl(const CesiumImpl&) = delete; 44 | CesiumImpl& operator=(CesiumImpl&&) = delete; 45 | CesiumImpl& operator=(const CesiumImpl&) = delete; 46 | 47 | private: 48 | CesiumImpl() noexcept = default; 49 | ~CesiumImpl() noexcept { CESIUM_ASSERT(this->_referenceCount == 0); } 50 | 51 | friend TDerived; 52 | 53 | mutable std::atomic _referenceCount{0}; 54 | }; 55 | 56 | } // namespace CesiumForUnityNative 57 | -------------------------------------------------------------------------------- /Runtime/Resources/CesiumPointCloudShadingShader.shader: -------------------------------------------------------------------------------- 1 | Shader "Hidden/Cesium/CesiumPointCloudShading" 2 | { 3 | Properties 4 | { 5 | } 6 | 7 | SubShader 8 | { 9 | Tags { 10 | "Queue" = "Geometry" 11 | "RenderType" = "Opaque" 12 | "RenderPipeline" = "UniversalPipeline" 13 | } 14 | 15 | Blend [_SrcBlend] [_DstBlend] 16 | 17 | Pass 18 | { 19 | Name "Lighting Pass" 20 | Tags { "LightMode" = "UniversalForward"} 21 | 22 | HLSLPROGRAM 23 | 24 | #pragma target 4.5 25 | 26 | #pragma multi_compile __ HAS_POINT_COLORS 27 | #pragma multi_compile __ HAS_POINT_NORMALS 28 | 29 | #pragma multi_compile _ _MAIN_LIGHT_SHADOWS 30 | #pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE 31 | #pragma multi_compile _ _ADDITIONAL_LIGHTS 32 | #pragma multi_compile _ _ADDITIONAL_LIGHTS_SHADOWS 33 | #pragma multi_compile _ _SHADOWS_SOFT 34 | 35 | #pragma multi_compile_instancing // Needed for single-pass instanced VR. 36 | 37 | #pragma vertex Vertex 38 | #pragma fragment Fragment 39 | 40 | #include "CesiumPointCloudShading.hlsl" 41 | 42 | ENDHLSL 43 | } 44 | 45 | Pass 46 | { 47 | 48 | Name "Shadow Pass" 49 | Tags { "LightMode" = "ShadowCaster" } 50 | 51 | HLSLPROGRAM 52 | 53 | #pragma target 4.5 54 | 55 | #pragma multi_compile __ HAS_POINT_COLORS 56 | #pragma multi_compile __ HAS_POINT_NORMALS 57 | 58 | // This sets up various keywords for different light types and shadow settings. 59 | #pragma multi_compile_shadowcaster 60 | 61 | #pragma multi_compile_instancing // Needed for single-pass instanced VR. 62 | 63 | #pragma vertex Vertex 64 | #pragma fragment Fragment 65 | 66 | #define SHADOW_CASTER_PASS 67 | 68 | #include "CesiumPointCloudShading.hlsl" 69 | 70 | ENDHLSL 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumFeatureIdAttributeImpl.cpp: -------------------------------------------------------------------------------- 1 | #include "CesiumFeatureIdAttributeImpl.h" 2 | 3 | #include 4 | #include 5 | 6 | using namespace DotNet::CesiumForUnity; 7 | 8 | namespace CesiumForUnityNative { 9 | CesiumFeatureIdAttributeImpl::CesiumFeatureIdAttributeImpl( 10 | const DotNet::CesiumForUnity::CesiumFeatureIdAttribute& 11 | featureIdAttribute) {} 12 | 13 | CesiumFeatureIdAttributeImpl::~CesiumFeatureIdAttributeImpl() {} 14 | 15 | /*static*/ DotNet::CesiumForUnity::CesiumFeatureIdAttribute 16 | CesiumFeatureIdAttributeImpl::CreateAttribute( 17 | const CesiumGltf::Model& model, 18 | const CesiumGltf::MeshPrimitive& primitive, 19 | const int64_t featureCount, 20 | const int32_t attributeSetIndex) { 21 | CesiumFeatureIdAttribute attribute; 22 | auto& accessor = attribute.NativeImplementation()._accessor; 23 | accessor = 24 | CesiumGltf::getFeatureIdAccessorView(model, primitive, attributeSetIndex); 25 | 26 | auto accessorStatus = std::visit(CesiumGltf::StatusFromAccessor{}, accessor); 27 | if (accessorStatus == CesiumGltf::AccessorViewStatus::Valid) { 28 | attribute.status(CesiumFeatureIdAttributeStatus::Valid); 29 | attribute.featureCount(featureCount); 30 | } else { 31 | attribute.status(CesiumFeatureIdAttributeStatus::ErrorInvalidAccessor); 32 | attribute.featureCount(0); 33 | } 34 | 35 | return attribute; 36 | } 37 | 38 | std::int64_t CesiumFeatureIdAttributeImpl::GetFeatureIdForVertex( 39 | const CesiumFeatureIdAttribute& featureIdAttribute, 40 | const int64_t vertexIndex) { 41 | return std::visit(CesiumGltf::FeatureIdFromAccessor{vertexIndex}, _accessor); 42 | } 43 | } // namespace CesiumForUnityNative 44 | -------------------------------------------------------------------------------- /Reinterop.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: b659ef8ccee66ac42a5ca1aacb2694ca 3 | labels: 4 | - RoslynAnalyzer 5 | PluginImporter: 6 | externalObjects: {} 7 | serializedVersion: 2 8 | iconMap: {} 9 | executionOrder: {} 10 | defineConstraints: [] 11 | isPreloaded: 0 12 | isOverridable: 0 13 | isExplicitlyReferenced: 0 14 | validateReferences: 1 15 | platformData: 16 | - first: 17 | : Any 18 | second: 19 | enabled: 0 20 | settings: 21 | Exclude Android: 1 22 | Exclude Editor: 1 23 | Exclude Linux64: 1 24 | Exclude OSXUniversal: 1 25 | Exclude WebGL: 1 26 | Exclude Win: 1 27 | Exclude Win64: 1 28 | - first: 29 | Android: Android 30 | second: 31 | enabled: 0 32 | settings: 33 | CPU: ARMv7 34 | - first: 35 | Any: 36 | second: 37 | enabled: 0 38 | settings: {} 39 | - first: 40 | Editor: Editor 41 | second: 42 | enabled: 0 43 | settings: 44 | CPU: AnyCPU 45 | DefaultValueInitialized: true 46 | OS: AnyOS 47 | - first: 48 | Standalone: Linux64 49 | second: 50 | enabled: 0 51 | settings: 52 | CPU: None 53 | - first: 54 | Standalone: OSXUniversal 55 | second: 56 | enabled: 0 57 | settings: 58 | CPU: None 59 | - first: 60 | Standalone: Win 61 | second: 62 | enabled: 0 63 | settings: 64 | CPU: None 65 | - first: 66 | Standalone: Win64 67 | second: 68 | enabled: 0 69 | settings: 70 | CPU: None 71 | - first: 72 | Windows Store Apps: WindowsStoreApps 73 | second: 74 | enabled: 0 75 | settings: 76 | CPU: AnyCPU 77 | userData: 78 | assetBundleName: 79 | assetBundleVariant: 80 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumPolygonRasterOverlayImpl.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "CesiumImpl.h" 4 | 5 | #include 6 | 7 | #include 8 | 9 | #include 10 | 11 | namespace DotNet::CesiumForUnity { 12 | class Cesium3DTileset; 13 | class CesiumPolygonRasterOverlay; 14 | } // namespace DotNet::CesiumForUnity 15 | 16 | namespace Cesium3DTilesSelection { 17 | class RasterizedPolygonsTileExcluder; 18 | } 19 | 20 | namespace CesiumRasterOverlays { 21 | class RasterizedPolygonsOverlay; 22 | } 23 | 24 | namespace CesiumGeospatial { 25 | class CartographicPolygon; 26 | } 27 | 28 | namespace CesiumForUnityNative { 29 | 30 | class CesiumPolygonRasterOverlayImpl 31 | : public CesiumImpl { 32 | public: 33 | CesiumPolygonRasterOverlayImpl( 34 | const DotNet::CesiumForUnity::CesiumPolygonRasterOverlay& overlay); 35 | ~CesiumPolygonRasterOverlayImpl(); 36 | 37 | void AddToTileset( 38 | const ::DotNet::CesiumForUnity::CesiumPolygonRasterOverlay& overlay, 39 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 40 | void RemoveFromTileset( 41 | const ::DotNet::CesiumForUnity::CesiumPolygonRasterOverlay& overlay, 42 | const ::DotNet::CesiumForUnity::Cesium3DTileset& tileset); 43 | 44 | private: 45 | static CesiumGeospatial::CartographicPolygon CreateCartographicPolygon( 46 | DotNet::System::Collections::Generic::List1< 47 | DotNet::Unity::Mathematics::double2> cartographicPoints); 48 | 49 | CesiumUtility::IntrusivePointer< 50 | CesiumRasterOverlays::RasterizedPolygonsOverlay> 51 | _pOverlay; 52 | std::shared_ptr 53 | _pExcluder; 54 | }; 55 | 56 | } // namespace CesiumForUnityNative 57 | -------------------------------------------------------------------------------- /native~/Runtime/src/CesiumRasterOverlayUtility.cpp: -------------------------------------------------------------------------------- 1 | #include "CesiumRasterOverlayUtility.h" 2 | 3 | #include 4 | #include 5 | 6 | #include 7 | #include 8 | #include 9 | 10 | using namespace DotNet; 11 | using namespace CesiumRasterOverlays; 12 | 13 | namespace CesiumForUnityNative { 14 | /*static*/ RasterOverlayOptions CesiumRasterOverlayUtility::GetOverlayOptions( 15 | const DotNet::CesiumForUnity::CesiumRasterOverlay& overlay) { 16 | RasterOverlayOptions options{}; 17 | options.maximumScreenSpaceError = overlay.maximumScreenSpaceError(); 18 | options.maximumSimultaneousTileLoads = overlay.maximumSimultaneousTileLoads(); 19 | options.maximumTextureSize = overlay.maximumTextureSize(); 20 | options.subTileCacheBytes = overlay.subTileCacheBytes(); 21 | options.showCreditsOnScreen = overlay.showCreditsOnScreen(); 22 | options.loadErrorCallback = 23 | [overlay](const RasterOverlayLoadFailureDetails& details) { 24 | int typeValue = (int)details.type; 25 | long statusCode = details.pRequest && details.pRequest->response() 26 | ? details.pRequest->response()->statusCode() 27 | : 0; 28 | CesiumForUnity::CesiumRasterOverlayLoadFailureDetails unityDetails( 29 | overlay, 30 | CesiumForUnity::CesiumRasterOverlayLoadType(typeValue), 31 | statusCode, 32 | System::String(details.message)); 33 | 34 | CesiumForUnity::CesiumRasterOverlay:: 35 | BroadcastCesiumRasterOverlayLoadFailure(unityDetails); 36 | }; 37 | 38 | return options; 39 | } 40 | } // namespace CesiumForUnityNative 41 | -------------------------------------------------------------------------------- /Reinterop~/GeneratedCppImplementationInvoker.cs: -------------------------------------------------------------------------------- 1 | namespace Reinterop 2 | { 3 | internal class GeneratedCppImplementationInvoker 4 | { 5 | public GeneratedCppImplementationInvoker(CppType implementationType) 6 | { 7 | this.ImplementationType = implementationType; 8 | } 9 | 10 | public CppType ImplementationType; 11 | public List Functions = new List(); 12 | 13 | public void AddToSourceFile(CppSourceFile sourceFile) 14 | { 15 | if (ImplementationType == null) 16 | return; 17 | 18 | AddIncludes(sourceFile.Includes); 19 | AddForwardDeclarations(sourceFile.ForwardDeclarations); 20 | 21 | CppSourceFileNamespace ns = sourceFile.GetNamespace(""); 22 | ns.Members.Add( 23 | $$""" 24 | extern "C" { 25 | 26 | {{GetFunctions().JoinAndIndent("")}} 27 | 28 | } // extern "C" 29 | """); 30 | } 31 | 32 | private void AddIncludes(ISet includes) 33 | { 34 | foreach (GeneratedCppImplementationInvokerFunction function in Functions) 35 | { 36 | function.AddIncludesToSet(includes); 37 | } 38 | } 39 | 40 | private void AddForwardDeclarations(ISet forwardDeclarations) 41 | { 42 | foreach (GeneratedCppImplementationInvokerFunction function in Functions) 43 | { 44 | function.AddForwardDeclarationsToSet(forwardDeclarations); 45 | } 46 | } 47 | 48 | private IEnumerable GetFunctions() 49 | { 50 | return Functions.Select(f => f.Content); 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /Reinterop~/GeneratedResult.cs: -------------------------------------------------------------------------------- 1 | namespace Reinterop 2 | { 3 | internal class GeneratedResult 4 | { 5 | public GeneratedResult(CppType type) 6 | { 7 | this.Init = new GeneratedInit(); 8 | this.CppDeclaration = new GeneratedCppDeclaration(type); 9 | this.CppDefinition = new GeneratedCppDefinition(type); 10 | this.CppImplementationInvoker = null; 11 | this.CSharpPartialMethodDefinitions = null; 12 | } 13 | 14 | /// 15 | /// The functions created as delegates on the C# side and passed to the C++ 16 | /// side as function pointers during the init process. 17 | /// 18 | public GeneratedInit Init; 19 | 20 | /// 21 | /// The C++ type declaration, i.e. the contents of the .h file. 22 | /// 23 | public GeneratedCppDeclaration CppDeclaration; 24 | 25 | /// 26 | /// The C++ type definition, i.e. the contents of the .cpp file. 27 | /// 28 | public GeneratedCppDefinition CppDefinition; 29 | 30 | /// 31 | /// The generated extern "C" functions that are called by the C# side 32 | /// to invoke a partial method declared on a class with the `ReinteropNativeImplementation` 33 | /// attribute. These functions call corresponding methods on a user-specified implementation 34 | /// class. 35 | /// 36 | public GeneratedCppImplementationInvoker? CppImplementationInvoker; 37 | 38 | /// 39 | /// The C# implementations for any partial methods on this class that are intended to be 40 | /// implemented by the user in C++ code. 41 | /// 42 | public GeneratedCSharpPartialMethodDefinitions? CSharpPartialMethodDefinitions; 43 | } 44 | } 45 | --------------------------------------------------------------------------------