3using System.Collections.Generic;
4using System.Runtime.InteropServices;
6using System.Threading.Tasks;
7using Unity.Collections;
8using Unity.Collections.LowLevel.Unsafe;
10using UnityEngine.Networking;
11using UnityEngine.Rendering;
12using UnityEngine.Experimental.Rendering;
13using Unity.Mathematics;
14using UnityEngine.Pool;
15using UnityEngine.UIElements;
16using UnityEngine.SceneManagement;
25 internal partial class ConfigureReinterop
30 public const string CppOutputPath =
"../native~/Runtime/generated-Editor";
32 public const string CppOutputPath =
"../native~/Runtime/generated-Android";
34 public const string CppOutputPath =
"../native~/Runtime/generated-iOS";
36 public const string CppOutputPath =
"../native~/Runtime/generated-WSA";
38 public const string CppOutputPath =
"../native~/Runtime/generated-Standalone";
40 public const string CppOutputPath =
"../native~/Runtime/generated-WebGL";
42 public const string CppOutputPath =
"../native~/Runtime/generated-Unknown";
48 public const string BaseNamespace =
"DotNet";
51#if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
52 public const string NativeLibraryName =
"__Internal";
54 public const string NativeLibraryName =
"CesiumForUnityNative-Runtime";
58 public const string NonBlittableTypes =
"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle,Unity.Collections.NativeArray,UnityEngine.MeshData,UnityEngine.MeshDataArray";
60 public void ExposeToCPP()
62 Camera c = Camera.main;
64 Transform t = c.transform;
66 Vector3 f = t.forward;
68 Vector4 v =
new Vector4(1.0f, 0.0f, 1.0f, 0.0f);
70 t.position =
new Vector3();
71 Vector3 p = t.position;
75 Quaternion q =
new Quaternion();
76 q = Quaternion.LookRotation(Vector3.forward, Vector3.up);
77 c.GetStereoViewMatrix(Camera.StereoscopicEye.Right);
78 float fov = c.fieldOfView;
79 int pixelHeight = c.pixelHeight;
80 int pixelWidth = c.pixelWidth;
81 float aspect = c.aspect;
82 bool isOrtho = c.orthographic;
83 float orthoSize = c.orthographicSize;
87 GameObject go =
new GameObject();
89 go =
new GameObject(
"name");
90 go.SetActive(go.activeInHierarchy);
93 Transform transform = go.transform;
94 transform.parent = transform.parent;
95 transform.SetParent(transform.parent,
false);
96 transform.position = transform.position;
97 transform.rotation = transform.rotation;
98 transform.localPosition = transform.localPosition;
99 transform.localRotation = transform.localRotation;
100 transform.localScale = transform.localScale;
101 transform.SetPositionAndRotation(transform.position, transform.rotation);
102 Transform root = transform.root;
103 int siblingIndex = transform.GetSiblingIndex();
104 Matrix4x4 m = transform.localToWorldMatrix;
105 Matrix4x4 m2 = transform.worldToLocalMatrix;
107 go.AddComponent<MeshFilter>();
108 go.AddComponent<MeshRenderer>();
110 go.transform.Find(
"Child Name");
111 go.transform.GetChild(go.transform.childCount - 1);
112 go.transform.DetachChildren();
113 go.hideFlags = HideFlags.DontSave;
115 Texture2D texture2D =
new Texture2D(256, 256, TextureFormat.RGBA32,
false,
false);
116 texture2D =
new Texture2D(256, 256, TextureFormat.RGBA32, 1,
false);
117 texture2D.LoadRawTextureData(IntPtr.Zero, 0);
118 NativeArray<byte> textureBytes = texture2D.GetRawTextureData<
byte>();
122 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(textureBytes);
125 int textureBytesLength = textureBytes.Length;
126 texture2D.Apply(
true,
true);
127 texture2D.wrapMode = TextureWrapMode.Clamp;
128 texture2D.anisoLevel = 16;
129 texture2D.filterMode = FilterMode.Trilinear;
131 texture.wrapModeU = texture.wrapModeU;
132 texture.wrapModeV = texture.wrapModeV;
133 texture.wrapModeW = texture.wrapModeW;
135 Mesh mesh =
new Mesh();
136 Mesh[] meshes =
new[] { mesh };
138 int meshesLength = meshes.Length;
139 mesh.SetVertices(
new NativeArray<Vector3>());
140 mesh.SetNormals(
new NativeArray<Vector3>());
141 mesh.SetUVs(0,
new NativeArray<Vector2>());
142 mesh.SetIndices(
new NativeArray<int>(), MeshTopology.Triangles, 0,
true, 0);
143 mesh.RecalculateBounds();
144 int vertexCount = mesh.vertexCount;
145 int instanceID = mesh.GetInstanceID();
147 Vector3[] vertices = mesh.vertices;
148 Vector3 vertex = vertices[0];
150 Bounds bounds =
new Bounds(
new Vector3(0, 0, 0),
new Vector3(1, 2, 1));
152 MeshCollider meshCollider = go.AddComponent<MeshCollider>();
153 meshCollider.sharedMesh = mesh;
155 Debug.Log(
"Logging");
156 Debug.LogWarning(
"Warning");
157 Debug.LogError(
"Error");
159 MeshRenderer meshRenderer =
new MeshRenderer();
160 GameObject meshGameObject = meshRenderer.gameObject;
161 meshRenderer.material = UnityEngine.Object.Instantiate(meshRenderer.material);
163 int id = Shader.PropertyToID(
"name");
164 int crc = meshRenderer.material.ComputeCRC();
165 meshRenderer.material.SetTexture(
id, texture2D);
166 meshRenderer.material.SetFloat(
id, 1.0f);
167 meshRenderer.material.SetFloat(
id, (
float)CullMode.Off);
168 meshRenderer.material.SetVector(
id,
new Vector4());
169 meshRenderer.material.DisableKeyword(
"keywordName");
170 meshRenderer.material.EnableKeyword(
"keywordName");
171 meshRenderer.material.GetTexture(
id);
172 meshRenderer.material.SetTextureOffset(
id,
new Vector2());
173 meshRenderer.material.SetTextureScale(
id,
new Vector2());
174 var ids =
new List<int>();
175 meshRenderer.material.GetTexturePropertyNameIDs(ids);
176 for (
int i = 0; i < ids.Count; ++i)
178 meshRenderer.material.GetTexture(ids[i]);
181 meshRenderer.material.shaderKeywords = meshRenderer.material.shaderKeywords;
182 meshRenderer.sharedMaterial = meshRenderer.sharedMaterial;
183 meshRenderer.material.shader = meshRenderer.material.shader;
184 UnityEngine.Object.Destroy(meshGameObject);
185 UnityEngine.Object.DestroyImmediate(meshGameObject,
true);
186 UnityEngine.Object.DestroyImmediate(meshGameObject);
188 MeshFilter meshFilter =
new MeshFilter();
189 meshFilter.mesh = mesh;
190 meshFilter.sharedMesh = mesh;
192 Resources.Load<Material>(
"name");
197 string s = Encoding.UTF8.GetString(&b, 0);
200 NativeArray<Vector3> nav =
201 new NativeArray<Vector3>(1, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
202 NativeArray<Vector2> nav2 =
203 new NativeArray<Vector2>(1, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
204 NativeArray<int> nai =
new NativeArray<int>(1, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
208 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nav);
209 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nav2);
210 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nai);
217 string temporaryCachePath = Application.temporaryCachePath;
218 bool isEditor = Application.isEditor;
219 string applicationVersion = Application.version;
220 string unityVersion = Application.unityVersion;
221 string applicationPlatform = Helpers.ToString(Application.platform);
222 string productName = Application.productName;
223 string osVersion = System.Environment.OSVersion.VersionString;
225 int frames = Time.frameCount;
227 Marshal.FreeCoTaskMem(Marshal.StringToCoTaskMemUTF8(
"hi"));
229 UnityWebRequest request = UnityWebRequest.Get(
"url");
233 var uploadHandler =
new UploadHandlerRaw(
new byte[0]);
235 var rawBytes =
new NativeArray<byte>(1, Allocator.Persistent, NativeArrayOptions.UninitializedMemory);
238 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(rawBytes);
241 uploadHandler =
new UploadHandlerRaw(rawBytes,
true);
242 request =
new UnityWebRequest(
"url",
"method",
new NativeDownloadHandler(), uploadHandler);
244 bool isDone = request.isDone;
245 string e = request.error;
246 string method = request.method;
247 string url = request.url;
248 if (request.result == UnityWebRequest.Result.Success)
252 request.downloadHandler =
new NativeDownloadHandler();
253 request.SetRequestHeader(
"name",
"value");
254 request.GetResponseHeader(
"name");
255 Dictionary<string, string>.Enumerator enumerator = request.GetResponseHeaders().GetEnumerator();
256 while (enumerator.MoveNext())
258 string key = enumerator.Current.Key;
259 string value = enumerator.Current.Value;
262 request.downloadHandler.Dispose();
266 long responseCode = request.responseCode;
267 UnityWebRequestAsyncOperation op = request.SendWebRequest();
270 op.completed += o => { };
272 UnityWebRequest imageRequest = UnityWebRequestTexture.GetTexture(
"url");
276 Cesium3DTileset tileset =
new Cesium3DTileset();
277 tileset.tilesetSource = tileset.tilesetSource;
278 tileset.url = tileset.url;
279 tileset.ionAssetID = tileset.ionAssetID;
280 tileset.ionAccessToken = tileset.ionAccessToken;
281 tileset.logSelectionStats = tileset.logSelectionStats;
282 tileset.opaqueMaterial = tileset.opaqueMaterial;
283 tileset.enabled = tileset.enabled;
284 tileset.maximumScreenSpaceError = tileset.maximumScreenSpaceError;
285 tileset.preloadAncestors = tileset.preloadAncestors;
286 tileset.preloadSiblings = tileset.preloadSiblings;
287 tileset.forbidHoles = tileset.forbidHoles;
288 tileset.maximumSimultaneousTileLoads = tileset.maximumSimultaneousTileLoads;
289 tileset.maximumCachedBytes = tileset.maximumCachedBytes;
290 tileset.loadingDescendantLimit = tileset.loadingDescendantLimit;
291 tileset.enableFrustumCulling = tileset.enableFrustumCulling;
292 tileset.enableFogCulling = tileset.enableFogCulling;
293 tileset.enforceCulledScreenSpaceError = tileset.enforceCulledScreenSpaceError;
294 tileset.culledScreenSpaceError = tileset.culledScreenSpaceError;
297 tileset.generateSmoothNormals = tileset.generateSmoothNormals;
298 tileset.ignoreKhrMaterialsUnlit = tileset.ignoreKhrMaterialsUnlit;
299 tileset.createPhysicsMeshes = tileset.createPhysicsMeshes;
300 tileset.suspendUpdate = tileset.suspendUpdate;
301 tileset.previousSuspendUpdate = tileset.previousSuspendUpdate;
302 tileset.showTilesInHierarchy = tileset.showTilesInHierarchy;
303 tileset.updateInEditor = tileset.updateInEditor;
304 tileset.showCreditsOnScreen = tileset.showCreditsOnScreen;
305 tileset.ionServer = tileset.ionServer;
306 tileset.RecreateTileset();
308 GraphicsFormat gfxFmt = GraphicsFormat.RGB_ETC_UNorm;
309 FormatUsage fmtUsage = FormatUsage.Sample;
310 SystemInfo.IsFormatSupported(gfxFmt, fmtUsage);
312 Cesium3DTileset tilesetFromGameObject = go.GetComponent<Cesium3DTileset>();
313 MeshRenderer meshRendererFromGameObject = go.GetComponent<MeshRenderer>();
314 MeshFilter meshFilterFromGameObject = go.GetComponent<MeshFilter>();
315 CesiumIonRasterOverlay ionOverlay = go.GetComponent<CesiumIonRasterOverlay>();
316 ionOverlay.ionAssetID = ionOverlay.ionAssetID;
317 ionOverlay.ionAccessToken = ionOverlay.ionAccessToken;
318 ionOverlay.ionServer = ionOverlay.ionServer;
319 ionOverlay.assetOptions = ionOverlay.assetOptions;
320 ionOverlay.AddToTilesetLater(
null);
322 CesiumRasterOverlay overlay = go.GetComponent<CesiumRasterOverlay>();
323 overlay.materialKey = overlay.materialKey;
324 overlay.showCreditsOnScreen = overlay.showCreditsOnScreen;
325 overlay.maximumScreenSpaceError = overlay.maximumScreenSpaceError;
326 overlay.maximumTextureSize = overlay.maximumTextureSize;
327 overlay.maximumSimultaneousTileLoads = overlay.maximumSimultaneousTileLoads;
328 overlay.subTileCacheBytes = overlay.subTileCacheBytes;
330 CesiumRasterOverlay baseOverlay = ionOverlay;
331 baseOverlay.AddToTileset();
332 baseOverlay.RemoveFromTileset();
334 CesiumBingMapsRasterOverlay bingMapsRasterOverlay =
335 go.GetComponent<CesiumBingMapsRasterOverlay>();
336 bingMapsRasterOverlay.bingMapsKey = bingMapsRasterOverlay.bingMapsKey;
337 bingMapsRasterOverlay.mapStyle = bingMapsRasterOverlay.mapStyle;
338 baseOverlay = bingMapsRasterOverlay;
340 var azureMapsOverlay = go.GetComponent<CesiumAzureMapsRasterOverlay>();
341 azureMapsOverlay.key = azureMapsOverlay.key;
342 azureMapsOverlay.apiVersion = azureMapsOverlay.apiVersion;
343 azureMapsOverlay.tilesetId = azureMapsOverlay.tilesetId;
344 azureMapsOverlay.language = azureMapsOverlay.language;
345 azureMapsOverlay.view = azureMapsOverlay.view;
346 baseOverlay = azureMapsOverlay;
348 CesiumGoogleMapTilesRasterOverlay googleMapTilesRasterOverlay =
349 go.GetComponent<CesiumGoogleMapTilesRasterOverlay>();
350 googleMapTilesRasterOverlay.apiKey = googleMapTilesRasterOverlay.apiKey;
351 googleMapTilesRasterOverlay.mapType = googleMapTilesRasterOverlay.mapType;
352 googleMapTilesRasterOverlay.language = googleMapTilesRasterOverlay.language;
353 googleMapTilesRasterOverlay.region = googleMapTilesRasterOverlay.region;
354 googleMapTilesRasterOverlay.scale = googleMapTilesRasterOverlay.scale;
355 googleMapTilesRasterOverlay.highDpi = googleMapTilesRasterOverlay.highDpi;
356 googleMapTilesRasterOverlay.layerTypes = googleMapTilesRasterOverlay.layerTypes;
357 googleMapTilesRasterOverlay.styles = googleMapTilesRasterOverlay.styles;
358 googleMapTilesRasterOverlay.overlay = googleMapTilesRasterOverlay.overlay;
359 baseOverlay = googleMapTilesRasterOverlay;
361 List<GoogleMapTilesLayerType> layers =
new List<GoogleMapTilesLayerType>();
362 if (layers.Count > 0)
363 layers[0] = layers[0];
366 CesiumTileMapServiceRasterOverlay tileMapServiceRasterOverlay =
367 go.GetComponent<CesiumTileMapServiceRasterOverlay>();
368 tileMapServiceRasterOverlay.url = tileMapServiceRasterOverlay.url;
369 tileMapServiceRasterOverlay.specifyZoomLevels =
370 tileMapServiceRasterOverlay.specifyZoomLevels;
371 tileMapServiceRasterOverlay.minimumLevel = tileMapServiceRasterOverlay.minimumLevel;
372 tileMapServiceRasterOverlay.maximumLevel = tileMapServiceRasterOverlay.maximumLevel;
373 baseOverlay = tileMapServiceRasterOverlay;
375 CesiumWebMapServiceRasterOverlay webMapServiceRasterOverlay =
376 go.GetComponent<CesiumWebMapServiceRasterOverlay>();
377 webMapServiceRasterOverlay.baseUrl = webMapServiceRasterOverlay.baseUrl;
378 webMapServiceRasterOverlay.layers = webMapServiceRasterOverlay.layers;
379 webMapServiceRasterOverlay.tileWidth = webMapServiceRasterOverlay.tileWidth;
380 webMapServiceRasterOverlay.tileHeight = webMapServiceRasterOverlay.tileHeight;
381 webMapServiceRasterOverlay.minimumLevel = webMapServiceRasterOverlay.minimumLevel;
382 webMapServiceRasterOverlay.maximumLevel = webMapServiceRasterOverlay.maximumLevel;
383 baseOverlay = webMapServiceRasterOverlay;
385 CesiumWebMapTileServiceRasterOverlay webMapTileServiceRasterOverlay =
386 go.GetComponent<CesiumWebMapTileServiceRasterOverlay>();
387 webMapTileServiceRasterOverlay.baseUrl = webMapTileServiceRasterOverlay.baseUrl;
388 webMapTileServiceRasterOverlay.layer = webMapTileServiceRasterOverlay.layer;
389 webMapTileServiceRasterOverlay.style = webMapTileServiceRasterOverlay.style;
390 webMapTileServiceRasterOverlay.format = webMapTileServiceRasterOverlay.format;
391 webMapTileServiceRasterOverlay.tileMatrixSetID = webMapTileServiceRasterOverlay.tileMatrixSetID;
392 webMapTileServiceRasterOverlay.tileMatrixSetLabelPrefix =
393 webMapTileServiceRasterOverlay.tileMatrixSetLabelPrefix;
394 webMapTileServiceRasterOverlay.specifyTileMatrixSetLabels =
395 webMapTileServiceRasterOverlay.specifyTileMatrixSetLabels;
396 webMapTileServiceRasterOverlay.tileMatrixSetLabels = webMapTileServiceRasterOverlay.tileMatrixSetLabels;
397 webMapTileServiceRasterOverlay.projection = webMapTileServiceRasterOverlay.projection;
398 webMapTileServiceRasterOverlay.specifyTilingScheme = webMapTileServiceRasterOverlay.specifyTilingScheme;
399 webMapTileServiceRasterOverlay.rootTilesX = webMapTileServiceRasterOverlay.rootTilesX;
400 webMapTileServiceRasterOverlay.rootTilesY = webMapTileServiceRasterOverlay.rootTilesY;
401 webMapTileServiceRasterOverlay.rectangleEast = webMapTileServiceRasterOverlay.rectangleEast;
402 webMapTileServiceRasterOverlay.rectangleSouth = webMapTileServiceRasterOverlay.rectangleSouth;
403 webMapTileServiceRasterOverlay.rectangleWest = webMapTileServiceRasterOverlay.rectangleWest;
404 webMapTileServiceRasterOverlay.rectangleNorth = webMapTileServiceRasterOverlay.rectangleNorth;
405 webMapTileServiceRasterOverlay.specifyZoomLevels = webMapTileServiceRasterOverlay.specifyZoomLevels;
406 webMapTileServiceRasterOverlay.minimumLevel = webMapTileServiceRasterOverlay.minimumLevel;
407 webMapTileServiceRasterOverlay.maximumLevel = webMapTileServiceRasterOverlay.maximumLevel;
408 webMapTileServiceRasterOverlay.tileWidth = webMapTileServiceRasterOverlay.tileWidth;
409 webMapTileServiceRasterOverlay.tileHeight = webMapTileServiceRasterOverlay.tileHeight;
410 baseOverlay = webMapTileServiceRasterOverlay;
412 CesiumUrlTemplateRasterOverlay urlTemplateRasterOverlay = go.GetComponent<CesiumUrlTemplateRasterOverlay>();
413 urlTemplateRasterOverlay.templateUrl = urlTemplateRasterOverlay.templateUrl;
414 urlTemplateRasterOverlay.projection = urlTemplateRasterOverlay.projection;
415 urlTemplateRasterOverlay.specifyTilingScheme = urlTemplateRasterOverlay.specifyTilingScheme;
416 urlTemplateRasterOverlay.rootTilesX = urlTemplateRasterOverlay.rootTilesX;
417 urlTemplateRasterOverlay.rootTilesY = urlTemplateRasterOverlay.rootTilesY;
418 urlTemplateRasterOverlay.rectangleWest = urlTemplateRasterOverlay.rectangleWest;
419 urlTemplateRasterOverlay.rectangleSouth = urlTemplateRasterOverlay.rectangleSouth;
420 urlTemplateRasterOverlay.rectangleEast = urlTemplateRasterOverlay.rectangleEast;
421 urlTemplateRasterOverlay.rectangleNorth = urlTemplateRasterOverlay.rectangleNorth;
422 urlTemplateRasterOverlay.minimumLevel = urlTemplateRasterOverlay.minimumLevel;
423 urlTemplateRasterOverlay.maximumLevel = urlTemplateRasterOverlay.maximumLevel;
424 urlTemplateRasterOverlay.tileWidth = urlTemplateRasterOverlay.tileWidth;
425 urlTemplateRasterOverlay.tileHeight = urlTemplateRasterOverlay.tileHeight;
426 urlTemplateRasterOverlay.requestHeaders = urlTemplateRasterOverlay.requestHeaders;
427 baseOverlay = urlTemplateRasterOverlay;
429 int headerLen = urlTemplateRasterOverlay.requestHeaders.Count;
430 CesiumUrlTemplateRasterOverlay.HeaderEntry headerEntry = urlTemplateRasterOverlay.requestHeaders[0];
431 string headerName = headerEntry.Name;
432 string headerValue = headerEntry.Value;
434 CesiumRasterOverlay[] overlaysArray = go.GetComponents<CesiumRasterOverlay>();
435 int len = overlaysArray.Length;
436 overlay = overlaysArray[0];
438 MonoBehaviour mb = tileset;
439 mb.StartCoroutine(
new NativeCoroutine(endIteration => endIteration).GetEnumerator());
442#pragma warning disable 0618
443 CesiumMetadata metadata = go.AddComponent<CesiumMetadata>();
444 metadata = go.GetComponent<CesiumMetadata>();
445 CesiumMetadata metadataParent = go.GetComponentInParent<CesiumMetadata>();
452 metadata.GetFeatures(transform, 3);
453 CesiumFeature[] features =
new CesiumFeature[2];
454 var feature = features[0] =
new CesiumFeature();
455 feature.className =
"";
456 feature.featureTableName =
"";
457 feature.properties =
new string[4];
458 feature.properties[2] =
"";
459#pragma warning restore 0618
461 CesiumGeoreference georeference = go.AddComponent<CesiumGeoreference>();
462 georeference = go.GetComponent<CesiumGeoreference>();
463 georeference.longitude = georeference.longitude;
464 georeference.latitude = georeference.latitude;
465 georeference.height = georeference.height;
466 georeference.ecefX = georeference.ecefX;
467 georeference.ecefY = georeference.ecefY;
468 georeference.ecefZ = georeference.ecefZ;
469 georeference.originPlacement = georeference.originPlacement;
470 georeference.originAuthority = georeference.originAuthority;
471 georeference.scale = georeference.scale;
472 double4x4 ecefToLocal = georeference.ecefToLocalMatrix;
474 CesiumGeoreference inParent = go.GetComponentInParent<CesiumGeoreference>();
475 inParent.MoveOrigin();
476 inParent.changed += () => { };
478 float time = Time.deltaTime;
480 GameObject[] gos = GameObject.FindGameObjectsWithTag(
"test");
481 for (
int i = 0; i < gos.Length; ++i)
483 GameObject goFromArray = gos[i];
484 gos[i] = goFromArray;
487 go = Resources.Load<GameObject>(
"name");
488 go = UnityEngine.Object.Instantiate(go);
490 Mesh.MeshDataArray meshDataArray = Mesh.AllocateWritableMeshData(1);
491 Mesh.MeshData meshData = meshDataArray[meshDataArray.Length - 1];
493 VertexAttributeDescriptor[] descriptorsArray =
new VertexAttributeDescriptor[1];
494 VertexAttributeDescriptor descriptor0 = descriptorsArray[0];
496 meshData.SetVertexBufferParams(1, descriptorsArray);
497 meshData.SetIndexBufferParams(1, IndexFormat.UInt16);
498 meshData.subMeshCount = 1;
499 meshData.SetSubMesh(0,
new SubMeshDescriptor(0, 1, MeshTopology.Triangles));
501 NativeArray<Vector3> positionNormal = meshData.GetVertexData<Vector3>(0);
502 NativeArray<Vector2> texCoord = meshData.GetVertexData<Vector2>(0);
503 NativeArray<byte> vertexData = meshData.GetVertexData<
byte>(0);
504 NativeArray<ushort> indices = meshData.GetIndexData<ushort>();
505 NativeArray<uint> indices32 = meshData.GetIndexData<uint>();
507 int positionNormalLength = positionNormal.Length;
508 int texCoordLength = texCoord.Length;
509 int indicesLength = indices.Length;
510 int indices32Length = indices32.Length;
514 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(positionNormal);
515 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(texCoord);
516 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(indices);
517 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(indices32);
520 meshDataArray.Dispose();
522 Mesh.ApplyAndDisposeWritableMeshData(meshDataArray, meshes, MeshUpdateFlags.Default);
524 Physics.BakeMesh(mesh.GetInstanceID(),
false);
526 CesiumCreditComponent creditComponent =
new CesiumCreditComponent(
"text",
"link", -1);
527 List<CesiumCreditComponent> creditComponents =
new List<CesiumCreditComponent>();
528 creditComponents.Add(creditComponent);
529 int creditCount = creditComponents.Count;
531 CesiumCredit credit =
new CesiumCredit();
532 credit =
new CesiumCredit(creditComponents);
533 creditComponents = credit.components;
535 CesiumCreditSystem creditSystem = go.AddComponent<CesiumCreditSystem>();
536 creditSystem = CesiumCreditSystem.GetDefaultCreditSystem();
537 creditSystem.StartCoroutine(creditSystem.LoadImage(
"string"));
539 List<CesiumCredit> credits = creditSystem.onScreenCredits;
540 credits = creditSystem.popupCredits;
544 if (creditSystem.GetNumberOfLoadingImages() == 0)
546 creditSystem.BroadcastCreditsUpdate();
549 List<Texture2D> images = creditSystem.images;
550 int count = images.Count;
552 List<string> stringList =
new List<string>();
553 stringList.Add(
"item");
555 count = stringList.Count;
557 string test =
string.Concat(
"string",
"string2");
558 string[] stringArray = stringList.ToArray();
559 test = stringArray[0];
560 test = stringList[0];
561 test =
string.Join(
" ", stringArray);
562 string.IsNullOrEmpty(
"value");
563 string.IsNullOrWhiteSpace(
"value");
565 int length = test.Length;
567 int requestsPerCachePrune = CesiumRuntimeSettings.requestsPerCachePrune;
568 ulong maxItems = CesiumRuntimeSettings.maxItems;
570 Cesium3DTilesetLoadFailureDetails tilesetDetails
572 Cesium3DTileset.BroadcastCesium3DTilesetLoadFailure(tilesetDetails);
574 CesiumRasterOverlayLoadFailureDetails
575 overlayDetails =
new CesiumRasterOverlayLoadFailureDetails(
580 CesiumRasterOverlay.BroadcastCesiumRasterOverlayLoadFailure(overlayDetails);
582 tileset.BroadcastNewGameObjectCreated(
new GameObject());
584 double3 cv3 =
new double3();
585 cv3.x = cv3.y = cv3.z;
586 double3 cv4 =
new double3(1.0, 2.0, 3.0);
587 double3x3 matrix3x3 = double3x3.identity;
589 go.GetComponent<CesiumGlobeAnchor>();
590 CesiumGlobeAnchor[] globeAnchors = go.GetComponentsInChildren<CesiumGlobeAnchor>();
591 globeAnchors = go.GetComponentsInChildren<CesiumGlobeAnchor>(
true);
592 CesiumGlobeAnchor globeAnchor = globeAnchors[globeAnchors.Length - 1];
593 globeAnchor.positionGlobeFixed = globeAnchor.positionGlobeFixed;
595 Cesium3DTileset[] tilesets = go.GetComponentsInChildren<Cesium3DTileset>();
596 tileset = tilesets[tilesets.Length - 1];
598 CesiumSimplePlanarEllipsoidCurve planarEllipsoidCurve =
599 CesiumSimplePlanarEllipsoidCurve.FromCenteredFixedCoordinates(
600 CesiumEllipsoid.WGS84,
601 new double3(0, 0, 0),
602 new double3(0, 0, 0));
603 CesiumEllipsoid ellipsoid = CesiumEllipsoid.WGS84;
604 ellipsoid.radii =
new double3(0.0, 0.0, 0.0);
605 georeference.ellipsoid = ellipsoid;
607 globeAnchor = go.AddComponent<CesiumGlobeAnchor>();
608 globeAnchor.detectTransformChanges = globeAnchor.detectTransformChanges;
609 globeAnchor.adjustOrientationForGlobeWhenMoving = globeAnchor.adjustOrientationForGlobeWhenMoving;
610 globeAnchor.longitudeLatitudeHeight = globeAnchor.longitudeLatitudeHeight;
611 globeAnchor.localToGlobeFixedMatrix = globeAnchor.localToGlobeFixedMatrix;
614 globeAnchor._georeference =
null;
615 globeAnchor._localToGlobeFixedMatrix =
new double4x4();
616 globeAnchor._localToGlobeFixedMatrixIsValid =
true;
617 globeAnchor._lastLocalsAreValid =
true;
618 globeAnchor._lastLocalPosition =
new Vector3();
619 globeAnchor._lastLocalRotation =
new Quaternion();
620 globeAnchor._lastLocalScale =
new Vector3();
621 globeAnchor._lastEllipsoidRadii =
new double3();
622 globeAnchor.UpdateGeoreferenceIfNecessary();
624 CesiumTileExcluder[] excluders = go.GetComponentsInParent<CesiumTileExcluder>();
625 CesiumTileExcluder excluder = excluders[0];
626 excluder.AddToTileset(
null);
627 excluder.RemoveFromTileset(
null);
628 excluder.ShouldExclude(
new Cesium3DTile());
629 Cesium3DTile tile =
new Cesium3DTile();
630 tile._transform =
new double4x4();
631 tile._pTile = IntPtr.Zero;
632 tile._pTileEllipsoid = IntPtr.Zero;
634 Cesium3DTileInfo info;
635 info.usesAdditiveRefinement =
true;
636 info.geometricError = 1.0f;
637 info.dimensions = Vector3.zero;
638 info.isTranslucent =
true;
640 CesiumPointCloudRenderer renderer = go.AddComponent<CesiumPointCloudRenderer>();
641 renderer.tileInfo = info;
643 CesiumObjectPool<Mesh> meshPool = CesiumObjectPools.MeshPool;
644 Mesh pooledMesh = meshPool.Get();
645 meshPool.Release(pooledMesh);
647 System.Object myObject =
null;
649 CesiumIntVec2 myIntVec2 =
new CesiumIntVec2((SByte)1, (SByte)2);
650 myIntVec2 =
new CesiumIntVec2((
Int16)1, (
Int16)2);
651 myIntVec2 =
new CesiumIntVec2((
Int32)1, (
Int32)2);
652 myIntVec2 =
new CesiumIntVec2((
Int64)1, (
Int64)2);
653 CesiumIntVec3 myIntVec3 =
new CesiumIntVec3((SByte)1, (SByte)2, (SByte)3);
657 CesiumIntVec4 myIntVec4 =
new CesiumIntVec4((SByte)1, (SByte)2, (SByte)3, (SByte)4);
661 myObject = myIntVec2[0];
662 myObject = myIntVec3[0];
663 myObject = myIntVec4[0];
664 CesiumUintVec2 myUintVec2 =
new CesiumUintVec2((Byte)1, (Byte)2);
668 CesiumUintVec3 myUintVec3 =
new CesiumUintVec3((Byte)1, (Byte)2, (Byte)3);
672 CesiumUintVec4 myUintVec4 =
new CesiumUintVec4((Byte)1, (Byte)2, (Byte)3, (Byte)4);
676 myObject = myUintVec2[0];
677 myObject = myUintVec3[0];
678 myObject = myUintVec4[0];
679 CesiumIntMat2x2 myIntMat2 =
new CesiumIntMat2x2(myIntVec2, myIntVec2);
680 CesiumIntMat3x3 myIntMat3 =
new CesiumIntMat3x3(myIntVec3, myIntVec3, myIntVec3);
681 CesiumIntMat4x4 myIntMat4 =
new CesiumIntMat4x4(myIntVec4, myIntVec4, myIntVec4, myIntVec4);
682 myObject = myIntMat2[0];
683 myObject = myIntMat3[0];
684 myObject = myIntMat4[0];
685 CesiumUintMat2x2 myUintMat2 =
new CesiumUintMat2x2(myUintVec2, myUintVec2);
686 CesiumUintMat3x3 myUintMat3 =
new CesiumUintMat3x3(myUintVec3, myUintVec3, myUintVec3);
687 CesiumUintMat4x4 myUintMat4 =
new CesiumUintMat4x4(myUintVec4, myUintVec4, myUintVec4, myUintVec4);
688 myObject = myUintMat2[0];
689 myObject = myUintMat3[0];
690 myObject = myUintMat4[0];
692 int2 myInt2 =
new int2(1, 2);
693 int3 myInt3 =
new int3(1, 2, 3);
694 int4 myInt4 =
new int4(1, 2, 3, 4);
695 uint2 myUint2 =
new uint2(1, 2);
696 uint3 myUint3 =
new uint3(1, 2, 3);
697 uint4 myUint4 =
new uint4(1, 2, 3, 4);
698 float2 myFloat2 =
new float2(1, 2);
699 float3 myFloat3 =
new float3(1, 2, 3);
700 float4 myFloat4 =
new float4(1, 2, 3, 4);
701 myObject = myFloat2[0];
702 myObject = myFloat3[0];
703 myObject = myFloat4[0];
704 double2 myDouble2 =
new double2(1, 2);
705 double3 myDouble3 =
new double3(1, 2, 3);
706 double4 myDouble4 =
new double4(1, 2, 3, 4);
707 myObject = myDouble2[0];
708 myObject = myDouble3[0];
709 myObject = myDouble4[0];
710 int2x2 myInt2x2 =
new int2x2(myInt2, myInt2);
711 int3x3 myInt3x3 =
new int3x3(myInt3, myInt3, myInt3);
712 int4x4 myInt4x4 =
new int4x4(myInt4, myInt4, myInt4, myInt4);
713 uint2x2 myUint2x2 =
new uint2x2(myUint2, myUint2);
714 uint3x3 myUint3x3 =
new uint3x3(myUint3, myUint3, myUint3);
715 uint4x4 myUint4x4 =
new uint4x4(myUint4, myUint4, myUint4, myUint4);
716 float2x2 myFloat2x2 =
new float2x2(myFloat2, myFloat2);
717 float3x3 myFloat3x3 =
new float3x3(myFloat3, myFloat3, myFloat3);
718 float4x4 myFloat4x4 =
new float4x4(myFloat4, myFloat4, myFloat4, myFloat4);
719 myObject = myFloat2x2[0];
720 myObject = myFloat3x3[0];
721 myObject = myFloat4x4[0];
722 double2x2 myDouble2x2 =
new double2x2(myDouble2, myDouble2);
723 double3x3 myDouble3x3 =
new double3x3(myDouble3, myDouble3, myDouble3);
724 double4x4 myDouble4x4 =
new double4x4(myDouble4, myDouble4, myDouble4, myDouble4);
725 myObject = myDouble2x2[0];
726 myObject = myDouble3x3[0];
727 myObject = myDouble4x4[0];
729 CesiumMetadataValueType valueType =
new CesiumMetadataValueType(
735 valueType.isArray =
false;
737 CesiumPropertyArray array =
new CesiumPropertyArray();
738 array.elementValueType =
new CesiumMetadataValueType();
739 array.values =
new CesiumMetadataValue[10];
740 array.values[0] =
new CesiumMetadataValue();
741 length = array.values.Length;
743 CesiumMetadataValue myValue =
new CesiumMetadataValue();
744 myValue.SetObjectValue(
false);
745 myValue.SetObjectValue((SByte)0);
746 myValue.SetObjectValue((Byte)0);
747 myValue.SetObjectValue((
Int16)0);
748 myValue.SetObjectValue((
UInt16)0);
749 myValue.SetObjectValue((
Int32)0);
750 myValue.SetObjectValue((
UInt32)0);
751 myValue.SetObjectValue((
Int64)0);
752 myValue.SetObjectValue((
UInt64)0);
753 myValue.SetObjectValue(0.0f);
754 myValue.SetObjectValue(0.0);
755 myValue.SetObjectValue(myIntVec2);
756 myValue.SetObjectValue(myIntVec3);
757 myValue.SetObjectValue(myIntVec4);
758 myValue.SetObjectValue(myUintVec2);
759 myValue.SetObjectValue(myUintVec3);
760 myValue.SetObjectValue(myUintVec4);
761 myValue.SetObjectValue(myFloat2);
762 myValue.SetObjectValue(myFloat3);
763 myValue.SetObjectValue(myFloat4);
764 myValue.SetObjectValue(myDouble2);
765 myValue.SetObjectValue(myDouble3);
766 myValue.SetObjectValue(myDouble4);
767 myValue.SetObjectValue(myIntMat2);
768 myValue.SetObjectValue(myIntMat3);
769 myValue.SetObjectValue(myIntMat4);
770 myValue.SetObjectValue(myUintMat2);
771 myValue.SetObjectValue(myUintMat3);
772 myValue.SetObjectValue(myUintMat4);
773 myValue.SetObjectValue(myFloat2x2);
774 myValue.SetObjectValue(myFloat3x3);
775 myValue.SetObjectValue(myFloat4x4);
776 myValue.SetObjectValue(myDouble2x2);
777 myValue.SetObjectValue(myDouble3x3);
778 myValue.SetObjectValue(myDouble4x4);
779 myValue.SetObjectValue(
"test");
780 myValue.SetObjectValue(array);
781 valueType = myValue.valueType;
783 myObject = myValue.objectValue;
784 CesiumMetadataValue.GetObjectAsBoolean(myObject);
785 CesiumMetadataValue.GetObjectAsSByte(myObject);
786 CesiumMetadataValue.GetObjectAsByte(myObject);
787 CesiumMetadataValue.GetObjectAsInt16(myObject);
788 CesiumMetadataValue.GetObjectAsUInt16(myObject);
789 CesiumMetadataValue.GetObjectAsInt32(myObject);
790 CesiumMetadataValue.GetObjectAsUInt32(myObject);
791 CesiumMetadataValue.GetObjectAsInt64(myObject);
792 CesiumMetadataValue.GetObjectAsUInt64(myObject);
793 CesiumMetadataValue.GetObjectAsFloat(myObject);
794 CesiumMetadataValue.GetObjectAsDouble(myObject);
795 CesiumMetadataValue.GetObjectAsCesiumIntVec2(myObject);
796 CesiumMetadataValue.GetObjectAsCesiumIntVec3(myObject);
797 CesiumMetadataValue.GetObjectAsCesiumIntVec4(myObject);
798 CesiumMetadataValue.GetObjectAsCesiumUintVec2(myObject);
799 CesiumMetadataValue.GetObjectAsCesiumUintVec3(myObject);
800 CesiumMetadataValue.GetObjectAsCesiumUintVec4(myObject);
801 CesiumMetadataValue.GetObjectAsFloat2(myObject);
802 CesiumMetadataValue.GetObjectAsFloat3(myObject);
803 CesiumMetadataValue.GetObjectAsFloat4(myObject);
804 CesiumMetadataValue.GetObjectAsDouble2(myObject);
805 CesiumMetadataValue.GetObjectAsDouble3(myObject);
806 CesiumMetadataValue.GetObjectAsDouble4(myObject);
807 CesiumMetadataValue.GetObjectAsCesiumIntMat2x2(myObject);
808 CesiumMetadataValue.GetObjectAsCesiumIntMat3x3(myObject);
809 CesiumMetadataValue.GetObjectAsCesiumIntMat4x4(myObject);
810 CesiumMetadataValue.GetObjectAsCesiumUintMat2x2(myObject);
811 CesiumMetadataValue.GetObjectAsCesiumUintMat3x3(myObject);
812 CesiumMetadataValue.GetObjectAsCesiumUintMat4x4(myObject);
813 CesiumMetadataValue.GetObjectAsFloat2x2(myObject);
814 CesiumMetadataValue.GetObjectAsFloat3x3(myObject);
815 CesiumMetadataValue.GetObjectAsFloat4x4(myObject);
816 CesiumMetadataValue.GetObjectAsDouble2x2(myObject);
817 CesiumMetadataValue.GetObjectAsDouble3x3(myObject);
818 CesiumMetadataValue.GetObjectAsDouble4x4(myObject);
819 CesiumMetadataValue.GetObjectAsString(myObject);
821 myValue.GetBoolean();
835 CesiumPrimitiveFeatures primitiveFeatures = go.AddComponent<CesiumPrimitiveFeatures>();
836 primitiveFeatures = go.GetComponent<CesiumPrimitiveFeatures>();
837 CesiumFeatureIdSet[] sets = primitiveFeatures.featureIdSets;
838 sets =
new CesiumFeatureIdSet[10];
839 sets[0] =
new CesiumFeatureIdSet();
840 sets[0] =
new CesiumFeatureIdSet(1);
841 sets[0].featureCount = 1;
842 sets[0].label =
"label";
843 sets[0].nullFeatureId = 0;
844 sets[0].propertyTableIndex = 0;
847 CesiumFeatureIdAttribute featureIdAttribute =
new CesiumFeatureIdAttribute();
848 featureIdAttribute.status = featureIdAttribute.status;
849 featureIdAttribute.featureCount = 1;
850 featureIdAttribute.label =
"label";
851 featureIdAttribute.nullFeatureId = 0;
852 featureIdAttribute.propertyTableIndex = 0;
854 CesiumFeatureIdTexture featureIdTexture =
new CesiumFeatureIdTexture();
855 featureIdTexture.status = featureIdTexture.status;
856 featureIdTexture.featureCount = 1;
857 featureIdTexture.label =
"label";
858 featureIdTexture.nullFeatureId = 0;
859 featureIdTexture.propertyTableIndex = 0;
861 primitiveFeatures.featureIdSets[0] = featureIdAttribute;
862 primitiveFeatures.featureIdSets[1] = featureIdTexture;
864 CesiumModelMetadata modelMetadata = go.AddComponent<CesiumModelMetadata>();
865 modelMetadata = go.GetComponent<CesiumModelMetadata>();
866 modelMetadata.propertyTables = modelMetadata.propertyTables;
867 modelMetadata.propertyTables[0] = modelMetadata.propertyTables[0];
868 length = modelMetadata.propertyTables.Length;
870 CesiumPropertyTable propertyTable =
new CesiumPropertyTable();
872 propertyTable.name =
"";
873 propertyTable.count = 0;
874 propertyTable.properties = propertyTable.properties;
875 propertyTable.properties =
new Dictionary<String, CesiumPropertyTableProperty>(10);
876 propertyTable.properties.Add(
"Test",
new CesiumPropertyTableProperty());
877 propertyTable.DisposeProperties();
879 CesiumPropertyTableProperty
property =
new CesiumPropertyTableProperty();
880 property.status =
property.status;
881 property.size =
property.size;
882 property.arraySize =
property.arraySize;
883 property.isNormalized =
property.isNormalized;
884 property.offset = myValue;
885 property.scale = myValue;
886 property.min = myValue;
887 property.max = myValue;
888 property.noData = myValue;
889 property.defaultValue = myValue;
890 property.valueType =
property.valueType;
892 RaycastHit hitInfo =
new RaycastHit();
893 primitiveFeatures = hitInfo.transform.GetComponent<CesiumPrimitiveFeatures>();
894 int triangleIndex = hitInfo.triangleIndex;
895 Vector3 hitPoint = hitInfo.point;
897 Vector2 textureCoordinate =
new Vector2();
898 textureCoordinate.x = textureCoordinate.y;
899 hitPoint = m2.MultiplyPoint3x4(hitPoint);
901 CesiumIonServer server = CesiumIonServer.defaultServer;
902 server.serverUrl =
"";
904 server.oauth2ApplicationID = 1;
905 server.defaultIonAccessToken =
"";
906 server.defaultIonAccessTokenId =
"";
907 server.serverUrlThatIsLoadingApiUrl =
"";
909 CesiumCartographicPolygon polygon = go.GetComponent<CesiumCartographicPolygon>();
910 polygon.enabled = polygon.enabled;
912 List<double2> points = polygon.GetCartographicPoints(m);
914 myDouble2 = points[0];
916 CesiumPolygonRasterOverlay polygonRasterOverlay = go.GetComponent<CesiumPolygonRasterOverlay>();
917 List<CesiumCartographicPolygon> polygons = polygonRasterOverlay.polygons;
918 polygonRasterOverlay.excludeSelectedTiles = polygonRasterOverlay.excludeSelectedTiles;
919 polygonRasterOverlay.invertSelection = polygonRasterOverlay.invertSelection;
920 polygon = polygons[0];
921 len = polygons.Count;
923 TestGltfModel testModel =
new TestGltfModel();
925 bool[] boolArray = { };
926 UInt16[] uint16Array = { };
927 int[] intArray = { };
928 double[] doubleArray = { };
929 float2[] float2Array = { };
930 float3[] float3Array = { };
931 float4[] float4Array = { };
932 float2x2[] float2x2Array = { };
933 float3x3[] float3x3Array = { };
934 float4x4[] float4x4Array = { };
936 bool boolValue = boolArray[0];
937 UInt16 uint16Value = uint16Array[0];
938 int intValue = intArray[0];
939 double doubleValue = doubleArray[0];
940 myFloat2 = float2Array[0];
941 myFloat3 = float3Array[0];
942 myFloat4 = float4Array[0];
943 myFloat2x2 = float2x2Array[0];
944 myFloat3x3 = float3x3Array[0];
945 myFloat4x4 = float4x4Array[0];
947 length = boolArray.Length;
948 length = uint16Array.Length;
949 length = intArray.Length;
950 length = doubleArray.Length;
951 length = stringArray.Length;
952 length = float2Array.Length;
953 length = float3Array.Length;
954 length = float4Array.Length;
955 length = float2x2Array.Length;
956 length = float3x3Array.Length;
957 length = float4x4Array.Length;
959 CesiumCameraManager manager = CesiumCameraManager.GetOrCreate(go);
960 manager.useSceneViewCameraInEditor =
false;
961 manager.useMainCamera =
false;
962 Camera camera =
null;
963 for (
int i = 0; i < manager.additionalCameras.Count; ++i)
965 camera = manager.additionalCameras[i];
968 TaskCompletionSource<CesiumSampleHeightResult> promise =
969 new TaskCompletionSource<CesiumSampleHeightResult>();
970 promise.SetException(
new Exception(
"message"));
971 CesiumSampleHeightResult result =
new CesiumSampleHeightResult();
972 result.longitudeLatitudeHeightPositions =
null;
973 result.sampleSuccess =
null;
974 result.warnings =
null;
975 promise.SetResult(result);
976 Task<CesiumSampleHeightResult> task = promise.Task;
978 double3[] positions =
null;
979 for (
int i = 0; i < positions.Length; ++i)
981 positions[i] = positions[i];
985 SceneView sv = SceneView.lastActiveSceneView;
987 sv.rotation = sv.rotation;
988 Camera svc = sv.camera;
989 svc.transform.SetPositionAndRotation(p, q);
991 bool isPlaying = EditorApplication.isPlaying;
992 EditorApplication.update += () => { };
994 EditorUtility.SetDirty(
null);
997 TestReinterop.ThrowAnException();
998 System.Exception exception =
null;
999 var message = exception.Message;
1002 AssemblyReloadEvents.afterAssemblyReload += () => { };
1003 AssemblyReloadEvents.beforeAssemblyReload += () => { };
1006 Scene scene = SceneManager.GetSceneAt(SceneManager.sceneCount - 1);
1007 scene.GetRootGameObjects();
MetadataType
Identifies the type of a property.
CesiumMetadataType
Identifies the type of a property in EXT_structural_metadata.
CesiumPropertyTableStatus
Reports the status of a CesiumPropertyTable.
Cesium3DTilesetLoadType
The type of Cesium3DTileset load that encountered an error.
CesiumRasterOverlayLoadType
The type of CesiumRasterOverlay load that encountered an error.
CesiumMetadataComponentType
Identifies the component type of a property in EXT_structural_metadata.