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;
24 internal partial class ConfigureReinterop
29 public const string CppOutputPath =
"../native~/Runtime/generated-Editor";
31 public const string CppOutputPath =
"../native~/Runtime/generated-Android";
33 public const string CppOutputPath =
"../native~/Runtime/generated-iOS";
35 public const string CppOutputPath =
"../native~/Runtime/generated-WSA";
37 public const string CppOutputPath =
"../native~/Runtime/generated-Standalone";
39 public const string CppOutputPath =
"../native~/Runtime/generated-Unknown";
45 public const string BaseNamespace =
"DotNet";
48#if UNITY_IOS && !UNITY_EDITOR
49 public const string NativeLibraryName =
"__Internal";
51 public const string NativeLibraryName =
"CesiumForUnityNative-Runtime";
55 public const string NonBlittableTypes =
"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle,Unity.Collections.NativeArray,UnityEngine.MeshData,UnityEngine.MeshDataArray";
57 public void ExposeToCPP()
59 Camera c = Camera.main;
61 Transform t = c.transform;
63 Vector3 f = t.forward;
65 Vector4 v =
new Vector4(1.0f, 0.0f, 1.0f, 0.0f);
67 t.position =
new Vector3();
68 Vector3 p = t.position;
72 Quaternion q =
new Quaternion();
73 q = Quaternion.LookRotation(Vector3.forward, Vector3.up);
74 c.GetStereoViewMatrix(Camera.StereoscopicEye.Right);
75 float fov = c.fieldOfView;
76 int pixelHeight = c.pixelHeight;
77 int pixelWidth = c.pixelWidth;
78 float aspect = c.aspect;
79 bool isOrtho = c.orthographic;
80 float orthoSize = c.orthographicSize;
84 GameObject go =
new GameObject();
86 go =
new GameObject(
"name");
87 go.SetActive(go.activeInHierarchy);
90 Transform transform = go.transform;
91 transform.parent = transform.parent;
92 transform.SetParent(transform.parent,
false);
93 transform.position = transform.position;
94 transform.rotation = transform.rotation;
95 transform.localPosition = transform.localPosition;
96 transform.localRotation = transform.localRotation;
97 transform.localScale = transform.localScale;
98 transform.SetPositionAndRotation(transform.position, transform.rotation);
99 Transform root = transform.root;
100 int siblingIndex = transform.GetSiblingIndex();
101 Matrix4x4 m = transform.localToWorldMatrix;
102 Matrix4x4 m2 = transform.worldToLocalMatrix;
104 go.AddComponent<MeshFilter>();
105 go.AddComponent<MeshRenderer>();
107 go.transform.Find(
"Child Name");
108 go.transform.GetChild(go.transform.childCount - 1);
109 go.transform.DetachChildren();
110 go.hideFlags = HideFlags.DontSave;
112 Texture2D texture2D =
new Texture2D(256, 256, TextureFormat.RGBA32,
false,
false);
113 texture2D =
new Texture2D(256, 256, TextureFormat.RGBA32, 1,
false);
114 texture2D.LoadRawTextureData(IntPtr.Zero, 0);
115 NativeArray<byte> textureBytes = texture2D.GetRawTextureData<
byte>();
119 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(textureBytes);
122 int textureBytesLength = textureBytes.Length;
123 texture2D.Apply(
true,
true);
124 texture2D.wrapMode = TextureWrapMode.Clamp;
125 texture2D.anisoLevel = 16;
126 texture2D.filterMode = FilterMode.Trilinear;
128 texture.wrapModeU = texture.wrapModeU;
129 texture.wrapModeV = texture.wrapModeV;
130 texture.wrapModeW = texture.wrapModeW;
132 Mesh mesh =
new Mesh();
133 Mesh[] meshes =
new[] { mesh };
135 int meshesLength = meshes.Length;
136 mesh.SetVertices(
new NativeArray<Vector3>());
137 mesh.SetNormals(
new NativeArray<Vector3>());
138 mesh.SetUVs(0,
new NativeArray<Vector2>());
139 mesh.SetIndices(
new NativeArray<int>(), MeshTopology.Triangles, 0,
true, 0);
140 mesh.RecalculateBounds();
141 int vertexCount = mesh.vertexCount;
142 int instanceID = mesh.GetInstanceID();
144 Vector3[] vertices = mesh.vertices;
145 Vector3 vertex = vertices[0];
147 Bounds bounds =
new Bounds(
new Vector3(0, 0, 0),
new Vector3(1, 2, 1));
149 MeshCollider meshCollider = go.AddComponent<MeshCollider>();
150 meshCollider.sharedMesh = mesh;
152 Debug.Log(
"Logging");
153 Debug.LogWarning(
"Warning");
154 Debug.LogError(
"Error");
156 MeshRenderer meshRenderer =
new MeshRenderer();
157 GameObject meshGameObject = meshRenderer.gameObject;
158 meshRenderer.material = UnityEngine.Object.Instantiate(meshRenderer.material);
160 int id = Shader.PropertyToID(
"name");
161 int crc = meshRenderer.material.ComputeCRC();
162 meshRenderer.material.SetTexture(
id, texture2D);
163 meshRenderer.material.SetFloat(
id, 1.0f);
164 meshRenderer.material.SetFloat(
id, (
float)CullMode.Off);
165 meshRenderer.material.SetVector(
id,
new Vector4());
166 meshRenderer.material.DisableKeyword(
"keywordName");
167 meshRenderer.material.EnableKeyword(
"keywordName");
168 meshRenderer.material.GetTexture(
id);
169 meshRenderer.material.SetTextureOffset(
id,
new Vector2());
170 meshRenderer.material.SetTextureScale(
id,
new Vector2());
171 var ids =
new List<int>();
172 meshRenderer.material.GetTexturePropertyNameIDs(ids);
173 for (
int i = 0; i < ids.Count; ++i)
175 meshRenderer.material.GetTexture(ids[i]);
177 meshRenderer.material.shaderKeywords = meshRenderer.material.shaderKeywords;
178 meshRenderer.sharedMaterial = meshRenderer.sharedMaterial;
179 meshRenderer.material.shader = meshRenderer.material.shader;
180 UnityEngine.Object.Destroy(meshGameObject);
181 UnityEngine.Object.DestroyImmediate(meshGameObject,
true);
182 UnityEngine.Object.DestroyImmediate(meshGameObject);
184 MeshFilter meshFilter =
new MeshFilter();
185 meshFilter.mesh = mesh;
186 meshFilter.sharedMesh = mesh;
188 Resources.Load<Material>(
"name");
193 string s = Encoding.UTF8.GetString(&b, 0);
196 NativeArray<Vector3> nav =
new NativeArray<Vector3>(1, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
197 NativeArray<Vector2> nav2 =
new NativeArray<Vector2>(1, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
198 NativeArray<int> nai =
new NativeArray<int>(1, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
202 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nav);
203 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nav2);
204 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nai);
211 string temporaryCachePath = Application.temporaryCachePath;
212 bool isEditor = Application.isEditor;
213 string applicationVersion = Application.version;
214 string unityVersion = Application.unityVersion;
215 string applicationPlatform = Helpers.ToString(Application.platform);
216 string productName = Application.productName;
217 string osVersion = System.Environment.OSVersion.VersionString;
219 int frames = Time.frameCount;
221 Marshal.FreeCoTaskMem(Marshal.StringToCoTaskMemUTF8(
"hi"));
223 UnityWebRequest request = UnityWebRequest.Get(
"url");
225 var uploadHandler =
new UploadHandlerRaw(
new byte[0]);
227 var rawBytes =
new NativeArray<byte>(1, Allocator.Persistent, NativeArrayOptions.UninitializedMemory);
230 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(rawBytes);
232 uploadHandler =
new UploadHandlerRaw(rawBytes,
true);
233 request =
new UnityWebRequest(
"url",
"method",
new NativeDownloadHandler(), uploadHandler);
235 bool isDone = request.isDone;
236 string e = request.error;
237 string method = request.method;
238 string url = request.url;
239 if (request.result == UnityWebRequest.Result.Success) { };
240 request.downloadHandler =
new NativeDownloadHandler();
241 request.SetRequestHeader(
"name",
"value");
242 request.GetResponseHeader(
"name");
243 Dictionary<string, string>.Enumerator enumerator = request.GetResponseHeaders().GetEnumerator();
244 while (enumerator.MoveNext())
246 string key = enumerator.Current.Key;
247 string value = enumerator.Current.Value;
249 request.downloadHandler.Dispose();
250 long responseCode = request.responseCode;
251 UnityWebRequestAsyncOperation op = request.SendWebRequest();
254 op.completed += o => { };
256 UnityWebRequest imageRequest = UnityWebRequestTexture.GetTexture(
"url");
260 Cesium3DTileset tileset =
new Cesium3DTileset();
261 tileset.tilesetSource = tileset.tilesetSource;
262 tileset.url = tileset.url;
263 tileset.ionAssetID = tileset.ionAssetID;
264 tileset.ionAccessToken = tileset.ionAccessToken;
265 tileset.logSelectionStats = tileset.logSelectionStats;
266 tileset.opaqueMaterial = tileset.opaqueMaterial;
267 tileset.enabled = tileset.enabled;
268 tileset.maximumScreenSpaceError = tileset.maximumScreenSpaceError;
269 tileset.preloadAncestors = tileset.preloadAncestors;
270 tileset.preloadSiblings = tileset.preloadSiblings;
271 tileset.forbidHoles = tileset.forbidHoles;
272 tileset.maximumSimultaneousTileLoads = tileset.maximumSimultaneousTileLoads;
273 tileset.maximumCachedBytes = tileset.maximumCachedBytes;
274 tileset.loadingDescendantLimit = tileset.loadingDescendantLimit;
275 tileset.enableFrustumCulling = tileset.enableFrustumCulling;
276 tileset.enableFogCulling = tileset.enableFogCulling;
277 tileset.enforceCulledScreenSpaceError = tileset.enforceCulledScreenSpaceError;
278 tileset.culledScreenSpaceError = tileset.culledScreenSpaceError;
281 tileset.generateSmoothNormals = tileset.generateSmoothNormals;
282 tileset.ignoreKhrMaterialsUnlit = tileset.ignoreKhrMaterialsUnlit;
283 tileset.createPhysicsMeshes = tileset.createPhysicsMeshes;
284 tileset.suspendUpdate = tileset.suspendUpdate;
285 tileset.previousSuspendUpdate = tileset.previousSuspendUpdate;
286 tileset.showTilesInHierarchy = tileset.showTilesInHierarchy;
287 tileset.updateInEditor = tileset.updateInEditor;
288 tileset.showCreditsOnScreen = tileset.showCreditsOnScreen;
289 tileset.ionServer = tileset.ionServer;
290 tileset.RecreateTileset();
292 GraphicsFormat gfxFmt = GraphicsFormat.RGB_ETC_UNorm;
293 FormatUsage fmtUsage = FormatUsage.Sample;
294 SystemInfo.IsFormatSupported(gfxFmt, fmtUsage);
296 Cesium3DTileset tilesetFromGameObject = go.GetComponent<Cesium3DTileset>();
297 MeshRenderer meshRendererFromGameObject = go.GetComponent<MeshRenderer>();
298 MeshFilter meshFilterFromGameObject = go.GetComponent<MeshFilter>();
299 CesiumIonRasterOverlay ionOverlay = go.GetComponent<CesiumIonRasterOverlay>();
300 ionOverlay.ionAssetID = ionOverlay.ionAssetID;
301 ionOverlay.ionAccessToken = ionOverlay.ionAccessToken;
302 ionOverlay.ionServer = ionOverlay.ionServer;
303 ionOverlay.AddToTilesetLater(
null);
305 CesiumRasterOverlay overlay = go.GetComponent<CesiumRasterOverlay>();
306 overlay.materialKey = overlay.materialKey;
307 overlay.showCreditsOnScreen = overlay.showCreditsOnScreen;
308 overlay.maximumScreenSpaceError = overlay.maximumScreenSpaceError;
309 overlay.maximumTextureSize = overlay.maximumTextureSize;
310 overlay.maximumSimultaneousTileLoads = overlay.maximumSimultaneousTileLoads;
311 overlay.subTileCacheBytes = overlay.subTileCacheBytes;
313 CesiumRasterOverlay baseOverlay = ionOverlay;
314 baseOverlay.AddToTileset();
315 baseOverlay.RemoveFromTileset();
317 CesiumBingMapsRasterOverlay bingMapsRasterOverlay =
318 go.GetComponent<CesiumBingMapsRasterOverlay>();
319 bingMapsRasterOverlay.bingMapsKey = bingMapsRasterOverlay.bingMapsKey;
320 bingMapsRasterOverlay.mapStyle = bingMapsRasterOverlay.mapStyle;
321 baseOverlay = bingMapsRasterOverlay;
323 CesiumTileMapServiceRasterOverlay tileMapServiceRasterOverlay =
324 go.GetComponent<CesiumTileMapServiceRasterOverlay>();
325 tileMapServiceRasterOverlay.url = tileMapServiceRasterOverlay.url;
326 tileMapServiceRasterOverlay.specifyZoomLevels =
327 tileMapServiceRasterOverlay.specifyZoomLevels;
328 tileMapServiceRasterOverlay.minimumLevel = tileMapServiceRasterOverlay.minimumLevel;
329 tileMapServiceRasterOverlay.maximumLevel = tileMapServiceRasterOverlay.maximumLevel;
330 baseOverlay = tileMapServiceRasterOverlay;
332 CesiumWebMapServiceRasterOverlay webMapServiceRasterOverlay =
333 go.GetComponent<CesiumWebMapServiceRasterOverlay>();
334 webMapServiceRasterOverlay.baseUrl = webMapServiceRasterOverlay.baseUrl;
335 webMapServiceRasterOverlay.layers = webMapServiceRasterOverlay.layers;
336 webMapServiceRasterOverlay.tileWidth = webMapServiceRasterOverlay.tileWidth;
337 webMapServiceRasterOverlay.tileHeight = webMapServiceRasterOverlay.tileHeight;
338 webMapServiceRasterOverlay.minimumLevel = webMapServiceRasterOverlay.minimumLevel;
339 webMapServiceRasterOverlay.maximumLevel = webMapServiceRasterOverlay.maximumLevel;
340 baseOverlay = webMapServiceRasterOverlay;
342 CesiumWebMapTileServiceRasterOverlay webMapTileServiceRasterOverlay =
343 go.GetComponent<CesiumWebMapTileServiceRasterOverlay>();
344 webMapTileServiceRasterOverlay.baseUrl = webMapTileServiceRasterOverlay.baseUrl;
345 webMapTileServiceRasterOverlay.layer = webMapTileServiceRasterOverlay.layer;
346 webMapTileServiceRasterOverlay.style = webMapTileServiceRasterOverlay.style;
347 webMapTileServiceRasterOverlay.format = webMapTileServiceRasterOverlay.format;
348 webMapTileServiceRasterOverlay.tileMatrixSetID = webMapTileServiceRasterOverlay.tileMatrixSetID;
349 webMapTileServiceRasterOverlay.tileMatrixSetLabelPrefix = webMapTileServiceRasterOverlay.tileMatrixSetLabelPrefix;
350 webMapTileServiceRasterOverlay.specifyTileMatrixSetLabels = webMapTileServiceRasterOverlay.specifyTileMatrixSetLabels;
351 webMapTileServiceRasterOverlay.tileMatrixSetLabels = webMapTileServiceRasterOverlay.tileMatrixSetLabels;
352 webMapTileServiceRasterOverlay.projection = webMapTileServiceRasterOverlay.projection;
353 webMapTileServiceRasterOverlay.specifyTilingScheme = webMapTileServiceRasterOverlay.specifyTilingScheme;
354 webMapTileServiceRasterOverlay.rootTilesX = webMapTileServiceRasterOverlay.rootTilesX;
355 webMapTileServiceRasterOverlay.rootTilesY = webMapTileServiceRasterOverlay.rootTilesY;
356 webMapTileServiceRasterOverlay.rectangleEast = webMapTileServiceRasterOverlay.rectangleEast;
357 webMapTileServiceRasterOverlay.rectangleSouth = webMapTileServiceRasterOverlay.rectangleSouth;
358 webMapTileServiceRasterOverlay.rectangleWest = webMapTileServiceRasterOverlay.rectangleWest;
359 webMapTileServiceRasterOverlay.rectangleNorth = webMapTileServiceRasterOverlay.rectangleNorth;
360 webMapTileServiceRasterOverlay.specifyZoomLevels = webMapTileServiceRasterOverlay.specifyZoomLevels;
361 webMapTileServiceRasterOverlay.minimumLevel = webMapTileServiceRasterOverlay.minimumLevel;
362 webMapTileServiceRasterOverlay.maximumLevel = webMapTileServiceRasterOverlay.maximumLevel;
363 webMapTileServiceRasterOverlay.tileWidth = webMapTileServiceRasterOverlay.tileWidth;
364 webMapTileServiceRasterOverlay.tileHeight = webMapTileServiceRasterOverlay.tileHeight;
365 baseOverlay = webMapTileServiceRasterOverlay;
367 CesiumUrlTemplateRasterOverlay urlTemplateRasterOverlay = go.GetComponent<CesiumUrlTemplateRasterOverlay>();
368 urlTemplateRasterOverlay.templateUrl = urlTemplateRasterOverlay.templateUrl;
369 urlTemplateRasterOverlay.projection = urlTemplateRasterOverlay.projection;
370 urlTemplateRasterOverlay.specifyTilingScheme = urlTemplateRasterOverlay.specifyTilingScheme;
371 urlTemplateRasterOverlay.rootTilesX = urlTemplateRasterOverlay.rootTilesX;
372 urlTemplateRasterOverlay.rootTilesY = urlTemplateRasterOverlay.rootTilesY;
373 urlTemplateRasterOverlay.rectangleWest = urlTemplateRasterOverlay.rectangleWest;
374 urlTemplateRasterOverlay.rectangleSouth = urlTemplateRasterOverlay.rectangleSouth;
375 urlTemplateRasterOverlay.rectangleEast = urlTemplateRasterOverlay.rectangleEast;
376 urlTemplateRasterOverlay.rectangleNorth = urlTemplateRasterOverlay.rectangleNorth;
377 urlTemplateRasterOverlay.minimumLevel = urlTemplateRasterOverlay.minimumLevel;
378 urlTemplateRasterOverlay.maximumLevel = urlTemplateRasterOverlay.maximumLevel;
379 urlTemplateRasterOverlay.tileWidth = urlTemplateRasterOverlay.tileWidth;
380 urlTemplateRasterOverlay.tileHeight = urlTemplateRasterOverlay.tileHeight;
381 urlTemplateRasterOverlay.requestHeaders = urlTemplateRasterOverlay.requestHeaders;
382 baseOverlay = urlTemplateRasterOverlay;
384 int headerLen = urlTemplateRasterOverlay.requestHeaders.Count;
385 CesiumUrlTemplateRasterOverlay.HeaderEntry headerEntry = urlTemplateRasterOverlay.requestHeaders[0];
386 string headerName = headerEntry.Name;
387 string headerValue = headerEntry.Value;
389 CesiumRasterOverlay[] overlaysArray = go.GetComponents<CesiumRasterOverlay>();
390 int len = overlaysArray.Length;
391 overlay = overlaysArray[0];
393 MonoBehaviour mb = tileset;
394 mb.StartCoroutine(
new NativeCoroutine(endIteration => endIteration).GetEnumerator());
397#pragma warning disable 0618
398 CesiumMetadata metadata = go.AddComponent<CesiumMetadata>();
399 metadata = go.GetComponent<CesiumMetadata>();
400 CesiumMetadata metadataParent = go.GetComponentInParent<CesiumMetadata>();
406 metadata.GetFeatures(transform, 3);
407 CesiumFeature[] features =
new CesiumFeature[2];
408 var feature = features[0] =
new CesiumFeature();
409 feature.className =
"";
410 feature.featureTableName =
"";
411 feature.properties =
new string[4];
412 feature.properties[2] =
"";
413#pragma warning restore 0618
415 CesiumGeoreference georeference = go.AddComponent<CesiumGeoreference>();
416 georeference = go.GetComponent<CesiumGeoreference>();
417 georeference.longitude = georeference.longitude;
418 georeference.latitude = georeference.latitude;
419 georeference.height = georeference.height;
420 georeference.ecefX = georeference.ecefX;
421 georeference.ecefY = georeference.ecefY;
422 georeference.ecefZ = georeference.ecefZ;
423 georeference.originPlacement = georeference.originPlacement;
424 georeference.originAuthority = georeference.originAuthority;
425 georeference.scale = georeference.scale;
426 double4x4 ecefToLocal = georeference.ecefToLocalMatrix;
428 CesiumGeoreference inParent = go.GetComponentInParent<CesiumGeoreference>();
429 inParent.MoveOrigin();
430 inParent.changed += () => { };
432 float time = Time.deltaTime;
434 GameObject[] gos = GameObject.FindGameObjectsWithTag(
"test");
435 for (
int i = 0; i < gos.Length; ++i)
437 GameObject goFromArray = gos[i];
438 gos[i] = goFromArray;
441 go = Resources.Load<GameObject>(
"name");
442 go = UnityEngine.Object.Instantiate(go);
444 Mesh.MeshDataArray meshDataArray = Mesh.AllocateWritableMeshData(1);
445 Mesh.MeshData meshData = meshDataArray[meshDataArray.Length - 1];
447 VertexAttributeDescriptor[] descriptorsArray =
new VertexAttributeDescriptor[1];
448 VertexAttributeDescriptor descriptor0 = descriptorsArray[0];
450 meshData.SetVertexBufferParams(1, descriptorsArray);
451 meshData.SetIndexBufferParams(1, IndexFormat.UInt16);
452 meshData.subMeshCount = 1;
453 meshData.SetSubMesh(0,
new SubMeshDescriptor(0, 1, MeshTopology.Triangles));
455 NativeArray<Vector3> positionNormal = meshData.GetVertexData<Vector3>(0);
456 NativeArray<Vector2> texCoord = meshData.GetVertexData<Vector2>(0);
457 NativeArray<byte> vertexData = meshData.GetVertexData<
byte>(0);
458 NativeArray<ushort> indices = meshData.GetIndexData<ushort>();
459 NativeArray<uint> indices32 = meshData.GetIndexData<uint>();
461 int positionNormalLength = positionNormal.Length;
462 int texCoordLength = texCoord.Length;
463 int indicesLength = indices.Length;
464 int indices32Length = indices32.Length;
468 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(positionNormal);
469 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(texCoord);
470 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(indices);
471 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(indices32);
474 meshDataArray.Dispose();
476 Mesh.ApplyAndDisposeWritableMeshData(meshDataArray, meshes, MeshUpdateFlags.Default);
478 Physics.BakeMesh(mesh.GetInstanceID(),
false);
480 CesiumCreditComponent creditComponent =
new CesiumCreditComponent(
"text",
"link", -1);
481 List<CesiumCreditComponent> creditComponents =
new List<CesiumCreditComponent>();
482 creditComponents.Add(creditComponent);
483 int creditCount = creditComponents.Count;
485 CesiumCredit credit =
new CesiumCredit();
486 credit =
new CesiumCredit(creditComponents);
487 creditComponents = credit.components;
489 CesiumCreditSystem creditSystem = go.AddComponent<CesiumCreditSystem>();
490 creditSystem = CesiumCreditSystem.GetDefaultCreditSystem();
491 creditSystem.StartCoroutine(creditSystem.LoadImage(
"string"));
493 List<CesiumCredit> credits = creditSystem.onScreenCredits;
494 credits = creditSystem.popupCredits;
498 if (creditSystem.GetNumberOfLoadingImages() == 0)
500 creditSystem.BroadcastCreditsUpdate();
503 List<Texture2D> images = creditSystem.images;
504 int count = images.Count;
506 List<string> stringList =
new List<string>();
507 stringList.Add(
"item");
509 count = stringList.Count;
511 string test =
string.Concat(
"string",
"string2");
512 string[] stringArray = stringList.ToArray();
513 test = stringArray[0];
514 test = stringList[0];
515 test =
string.Join(
" ", stringArray);
516 string.IsNullOrEmpty(
"value");
517 string.IsNullOrWhiteSpace(
"value");
519 int length = test.Length;
521 int requestsPerCachePrune = CesiumRuntimeSettings.requestsPerCachePrune;
522 ulong maxItems = CesiumRuntimeSettings.maxItems;
524 Cesium3DTilesetLoadFailureDetails tilesetDetails
526 Cesium3DTileset.BroadcastCesium3DTilesetLoadFailure(tilesetDetails);
528 CesiumRasterOverlayLoadFailureDetails
529 overlayDetails =
new CesiumRasterOverlayLoadFailureDetails(
534 CesiumRasterOverlay.BroadcastCesiumRasterOverlayLoadFailure(overlayDetails);
536 tileset.BroadcastNewGameObjectCreated(
new GameObject());
538 double3 cv3 =
new double3();
539 cv3.x = cv3.y = cv3.z;
540 double3 cv4 =
new double3(1.0, 2.0, 3.0);
541 double3x3 matrix3x3 = double3x3.identity;
543 go.GetComponent<CesiumGlobeAnchor>();
544 CesiumGlobeAnchor[] globeAnchors = go.GetComponentsInChildren<CesiumGlobeAnchor>();
545 globeAnchors = go.GetComponentsInChildren<CesiumGlobeAnchor>(
true);
546 CesiumGlobeAnchor globeAnchor = globeAnchors[globeAnchors.Length - 1];
547 globeAnchor.positionGlobeFixed = globeAnchor.positionGlobeFixed;
549 CesiumSimplePlanarEllipsoidCurve planarEllipsoidCurve = CesiumSimplePlanarEllipsoidCurve.FromCenteredFixedCoordinates(
550 CesiumEllipsoid.WGS84,
551 new double3(0, 0, 0),
552 new double3(0, 0, 0));
553 CesiumEllipsoid ellipsoid = CesiumEllipsoid.WGS84;
554 ellipsoid.radii =
new double3(0.0, 0.0, 0.0);
555 georeference.ellipsoid = ellipsoid;
557 globeAnchor = go.AddComponent<CesiumGlobeAnchor>();
558 globeAnchor.detectTransformChanges = globeAnchor.detectTransformChanges;
559 globeAnchor.adjustOrientationForGlobeWhenMoving = globeAnchor.adjustOrientationForGlobeWhenMoving;
560 globeAnchor.longitudeLatitudeHeight = globeAnchor.longitudeLatitudeHeight;
561 globeAnchor.localToGlobeFixedMatrix = globeAnchor.localToGlobeFixedMatrix;
564 globeAnchor._georeference =
null;
565 globeAnchor._localToGlobeFixedMatrix =
new double4x4();
566 globeAnchor._localToGlobeFixedMatrixIsValid =
true;
567 globeAnchor._lastLocalsAreValid =
true;
568 globeAnchor._lastLocalPosition =
new Vector3();
569 globeAnchor._lastLocalRotation =
new Quaternion();
570 globeAnchor._lastLocalScale =
new Vector3();
571 globeAnchor._lastEllipsoidRadii =
new double3();
572 globeAnchor.UpdateGeoreferenceIfNecessary();
574 CesiumTileExcluder[] excluders = go.GetComponentsInParent<CesiumTileExcluder>();
575 CesiumTileExcluder excluder = excluders[0];
576 excluder.AddToTileset(
null);
577 excluder.RemoveFromTileset(
null);
578 excluder.ShouldExclude(
new Cesium3DTile());
579 Cesium3DTile tile =
new Cesium3DTile();
580 tile._transform =
new double4x4();
581 tile._pTile = IntPtr.Zero;
582 tile._pTileEllipsoid = IntPtr.Zero;
584 Cesium3DTileInfo info;
585 info.usesAdditiveRefinement =
true;
586 info.geometricError = 1.0f;
587 info.dimensions = Vector3.zero;
588 info.isTranslucent =
true;
590 CesiumPointCloudRenderer renderer = go.AddComponent<CesiumPointCloudRenderer>();
591 renderer.tileInfo = info;
593 CesiumObjectPool<Mesh> meshPool = CesiumObjectPools.MeshPool;
594 Mesh pooledMesh = meshPool.Get();
595 meshPool.Release(pooledMesh);
597 System.Object myObject =
null;
599 CesiumIntVec2 myIntVec2 =
new CesiumIntVec2((SByte)1, (SByte)2);
600 myIntVec2 =
new CesiumIntVec2((
Int16)1, (
Int16)2);
601 myIntVec2 =
new CesiumIntVec2((
Int32)1, (
Int32)2);
602 myIntVec2 =
new CesiumIntVec2((
Int64)1, (
Int64)2);
603 CesiumIntVec3 myIntVec3 =
new CesiumIntVec3((SByte)1, (SByte)2, (SByte)3);
607 CesiumIntVec4 myIntVec4 =
new CesiumIntVec4((SByte)1, (SByte)2, (SByte)3, (SByte)4);
611 myObject = myIntVec2[0];
612 myObject = myIntVec3[0];
613 myObject = myIntVec4[0];
614 CesiumUintVec2 myUintVec2 =
new CesiumUintVec2((Byte)1, (Byte)2);
618 CesiumUintVec3 myUintVec3 =
new CesiumUintVec3((Byte)1, (Byte)2, (Byte)3);
622 CesiumUintVec4 myUintVec4 =
new CesiumUintVec4((Byte)1, (Byte)2, (Byte)3, (Byte)4);
626 myObject = myUintVec2[0];
627 myObject = myUintVec3[0];
628 myObject = myUintVec4[0];
629 CesiumIntMat2x2 myIntMat2 =
new CesiumIntMat2x2(myIntVec2, myIntVec2);
630 CesiumIntMat3x3 myIntMat3 =
new CesiumIntMat3x3(myIntVec3, myIntVec3, myIntVec3);
631 CesiumIntMat4x4 myIntMat4 =
new CesiumIntMat4x4(myIntVec4, myIntVec4, myIntVec4, myIntVec4);
632 myObject = myIntMat2[0];
633 myObject = myIntMat3[0];
634 myObject = myIntMat4[0];
635 CesiumUintMat2x2 myUintMat2 =
new CesiumUintMat2x2(myUintVec2, myUintVec2);
636 CesiumUintMat3x3 myUintMat3 =
new CesiumUintMat3x3(myUintVec3, myUintVec3, myUintVec3);
637 CesiumUintMat4x4 myUintMat4 =
new CesiumUintMat4x4(myUintVec4, myUintVec4, myUintVec4, myUintVec4);
638 myObject = myUintMat2[0];
639 myObject = myUintMat3[0];
640 myObject = myUintMat4[0];
642 int2 myInt2 =
new int2(1, 2);
643 int3 myInt3 =
new int3(1, 2, 3);
644 int4 myInt4 =
new int4(1, 2, 3, 4);
645 uint2 myUint2 =
new uint2(1, 2);
646 uint3 myUint3 =
new uint3(1, 2, 3);
647 uint4 myUint4 =
new uint4(1, 2, 3, 4);
648 float2 myFloat2 =
new float2(1, 2);
649 float3 myFloat3 =
new float3(1, 2, 3);
650 float4 myFloat4 =
new float4(1, 2, 3, 4);
651 myObject = myFloat2[0];
652 myObject = myFloat3[0];
653 myObject = myFloat4[0];
654 double2 myDouble2 =
new double2(1, 2);
655 double3 myDouble3 =
new double3(1, 2, 3);
656 double4 myDouble4 =
new double4(1, 2, 3, 4);
657 myObject = myDouble2[0];
658 myObject = myDouble3[0];
659 myObject = myDouble4[0];
660 int2x2 myInt2x2 =
new int2x2(myInt2, myInt2);
661 int3x3 myInt3x3 =
new int3x3(myInt3, myInt3, myInt3);
662 int4x4 myInt4x4 =
new int4x4(myInt4, myInt4, myInt4, myInt4);
663 uint2x2 myUint2x2 =
new uint2x2(myUint2, myUint2);
664 uint3x3 myUint3x3 =
new uint3x3(myUint3, myUint3, myUint3);
665 uint4x4 myUint4x4 =
new uint4x4(myUint4, myUint4, myUint4, myUint4);
666 float2x2 myFloat2x2 =
new float2x2(myFloat2, myFloat2);
667 float3x3 myFloat3x3 =
new float3x3(myFloat3, myFloat3, myFloat3);
668 float4x4 myFloat4x4 =
new float4x4(myFloat4, myFloat4, myFloat4, myFloat4);
669 myObject = myFloat2x2[0];
670 myObject = myFloat3x3[0];
671 myObject = myFloat4x4[0];
672 double2x2 myDouble2x2 =
new double2x2(myDouble2, myDouble2);
673 double3x3 myDouble3x3 =
new double3x3(myDouble3, myDouble3, myDouble3);
674 double4x4 myDouble4x4 =
new double4x4(myDouble4, myDouble4, myDouble4, myDouble4);
675 myObject = myDouble2x2[0];
676 myObject = myDouble3x3[0];
677 myObject = myDouble4x4[0];
679 CesiumMetadataValueType valueType =
new CesiumMetadataValueType(
685 valueType.isArray =
false;
687 CesiumPropertyArray array =
new CesiumPropertyArray();
688 array.elementValueType =
new CesiumMetadataValueType();
689 array.values =
new CesiumMetadataValue[10];
690 array.values[0] =
new CesiumMetadataValue();
691 length = array.values.Length;
693 CesiumMetadataValue myValue =
new CesiumMetadataValue();
694 myValue.SetObjectValue(
false);
695 myValue.SetObjectValue((SByte)0);
696 myValue.SetObjectValue((Byte)0);
697 myValue.SetObjectValue((
Int16)0);
698 myValue.SetObjectValue((
UInt16)0);
699 myValue.SetObjectValue((
Int32)0);
700 myValue.SetObjectValue((
UInt32)0);
701 myValue.SetObjectValue((
Int64)0);
702 myValue.SetObjectValue((
UInt64)0);
703 myValue.SetObjectValue(0.0f);
704 myValue.SetObjectValue(0.0);
705 myValue.SetObjectValue(myIntVec2);
706 myValue.SetObjectValue(myIntVec3);
707 myValue.SetObjectValue(myIntVec4);
708 myValue.SetObjectValue(myUintVec2);
709 myValue.SetObjectValue(myUintVec3);
710 myValue.SetObjectValue(myUintVec4);
711 myValue.SetObjectValue(myFloat2);
712 myValue.SetObjectValue(myFloat3);
713 myValue.SetObjectValue(myFloat4);
714 myValue.SetObjectValue(myDouble2);
715 myValue.SetObjectValue(myDouble3);
716 myValue.SetObjectValue(myDouble4);
717 myValue.SetObjectValue(myIntMat2);
718 myValue.SetObjectValue(myIntMat3);
719 myValue.SetObjectValue(myIntMat4);
720 myValue.SetObjectValue(myUintMat2);
721 myValue.SetObjectValue(myUintMat3);
722 myValue.SetObjectValue(myUintMat4);
723 myValue.SetObjectValue(myFloat2x2);
724 myValue.SetObjectValue(myFloat3x3);
725 myValue.SetObjectValue(myFloat4x4);
726 myValue.SetObjectValue(myDouble2x2);
727 myValue.SetObjectValue(myDouble3x3);
728 myValue.SetObjectValue(myDouble4x4);
729 myValue.SetObjectValue(
"test");
730 myValue.SetObjectValue(array);
731 valueType = myValue.valueType;
733 myObject = myValue.objectValue;
734 CesiumMetadataValue.GetObjectAsBoolean(myObject);
735 CesiumMetadataValue.GetObjectAsSByte(myObject);
736 CesiumMetadataValue.GetObjectAsByte(myObject);
737 CesiumMetadataValue.GetObjectAsInt16(myObject);
738 CesiumMetadataValue.GetObjectAsUInt16(myObject);
739 CesiumMetadataValue.GetObjectAsInt32(myObject);
740 CesiumMetadataValue.GetObjectAsUInt32(myObject);
741 CesiumMetadataValue.GetObjectAsInt64(myObject);
742 CesiumMetadataValue.GetObjectAsUInt64(myObject);
743 CesiumMetadataValue.GetObjectAsFloat(myObject);
744 CesiumMetadataValue.GetObjectAsDouble(myObject);
745 CesiumMetadataValue.GetObjectAsCesiumIntVec2(myObject);
746 CesiumMetadataValue.GetObjectAsCesiumIntVec3(myObject);
747 CesiumMetadataValue.GetObjectAsCesiumIntVec4(myObject);
748 CesiumMetadataValue.GetObjectAsCesiumUintVec2(myObject);
749 CesiumMetadataValue.GetObjectAsCesiumUintVec3(myObject);
750 CesiumMetadataValue.GetObjectAsCesiumUintVec4(myObject);
751 CesiumMetadataValue.GetObjectAsFloat2(myObject);
752 CesiumMetadataValue.GetObjectAsFloat3(myObject);
753 CesiumMetadataValue.GetObjectAsFloat4(myObject);
754 CesiumMetadataValue.GetObjectAsDouble2(myObject);
755 CesiumMetadataValue.GetObjectAsDouble3(myObject);
756 CesiumMetadataValue.GetObjectAsDouble4(myObject);
757 CesiumMetadataValue.GetObjectAsCesiumIntMat2x2(myObject);
758 CesiumMetadataValue.GetObjectAsCesiumIntMat3x3(myObject);
759 CesiumMetadataValue.GetObjectAsCesiumIntMat4x4(myObject);
760 CesiumMetadataValue.GetObjectAsCesiumUintMat2x2(myObject);
761 CesiumMetadataValue.GetObjectAsCesiumUintMat3x3(myObject);
762 CesiumMetadataValue.GetObjectAsCesiumUintMat4x4(myObject);
763 CesiumMetadataValue.GetObjectAsFloat2x2(myObject);
764 CesiumMetadataValue.GetObjectAsFloat3x3(myObject);
765 CesiumMetadataValue.GetObjectAsFloat4x4(myObject);
766 CesiumMetadataValue.GetObjectAsDouble2x2(myObject);
767 CesiumMetadataValue.GetObjectAsDouble3x3(myObject);
768 CesiumMetadataValue.GetObjectAsDouble4x4(myObject);
769 CesiumMetadataValue.GetObjectAsString(myObject);
771 myValue.GetBoolean();
785 CesiumPrimitiveFeatures primitiveFeatures = go.AddComponent<CesiumPrimitiveFeatures>();
786 primitiveFeatures = go.GetComponent<CesiumPrimitiveFeatures>();
787 CesiumFeatureIdSet[] sets = primitiveFeatures.featureIdSets;
788 sets =
new CesiumFeatureIdSet[10];
789 sets[0] =
new CesiumFeatureIdSet();
790 sets[0] =
new CesiumFeatureIdSet(1);
791 sets[0].featureCount = 1;
792 sets[0].label =
"label";
793 sets[0].nullFeatureId = 0;
794 sets[0].propertyTableIndex = 0;
797 CesiumFeatureIdAttribute featureIdAttribute =
new CesiumFeatureIdAttribute();
798 featureIdAttribute.status = featureIdAttribute.status;
799 featureIdAttribute.featureCount = 1;
800 featureIdAttribute.label =
"label";
801 featureIdAttribute.nullFeatureId = 0;
802 featureIdAttribute.propertyTableIndex = 0;
804 CesiumFeatureIdTexture featureIdTexture =
new CesiumFeatureIdTexture();
805 featureIdTexture.status = featureIdTexture.status;
806 featureIdTexture.featureCount = 1;
807 featureIdTexture.label =
"label";
808 featureIdTexture.nullFeatureId = 0;
809 featureIdTexture.propertyTableIndex = 0;
811 primitiveFeatures.featureIdSets[0] = featureIdAttribute;
812 primitiveFeatures.featureIdSets[1] = featureIdTexture;
814 CesiumModelMetadata modelMetadata = go.AddComponent<CesiumModelMetadata>();
815 modelMetadata = go.GetComponent<CesiumModelMetadata>();
816 modelMetadata.propertyTables = modelMetadata.propertyTables;
817 modelMetadata.propertyTables[0] = modelMetadata.propertyTables[0];
818 length = modelMetadata.propertyTables.Length;
820 CesiumPropertyTable propertyTable =
new CesiumPropertyTable();
822 propertyTable.name =
"";
823 propertyTable.count = 0;
824 propertyTable.properties = propertyTable.properties;
825 propertyTable.properties =
new Dictionary<String, CesiumPropertyTableProperty>(10);
826 propertyTable.properties.Add(
"Test",
new CesiumPropertyTableProperty());
827 propertyTable.DisposeProperties();
829 CesiumPropertyTableProperty
property =
new CesiumPropertyTableProperty();
830 property.status =
property.status;
831 property.size =
property.size;
832 property.arraySize =
property.arraySize;
833 property.isNormalized =
property.isNormalized;
834 property.offset = myValue;
835 property.scale = myValue;
836 property.min = myValue;
837 property.max = myValue;
838 property.noData = myValue;
839 property.defaultValue = myValue;
840 property.valueType =
property.valueType;
842 RaycastHit hitInfo =
new RaycastHit();
843 primitiveFeatures = hitInfo.transform.GetComponent<CesiumPrimitiveFeatures>();
844 int triangleIndex = hitInfo.triangleIndex;
845 Vector3 hitPoint = hitInfo.point;
847 Vector2 textureCoordinate =
new Vector2();
848 textureCoordinate.x = textureCoordinate.y;
849 hitPoint = m2.MultiplyPoint3x4(hitPoint);
851 CesiumIonServer server = CesiumIonServer.defaultServer;
852 server.serverUrl =
"";
854 server.oauth2ApplicationID = 1;
855 server.defaultIonAccessToken =
"";
856 server.defaultIonAccessTokenId =
"";
857 server.serverUrlThatIsLoadingApiUrl =
"";
859 CesiumCartographicPolygon polygon = go.GetComponent<CesiumCartographicPolygon>();
860 polygon.enabled = polygon.enabled;
862 List<double2> points = polygon.GetCartographicPoints(m);
864 myDouble2 = points[0];
866 CesiumPolygonRasterOverlay polygonRasterOverlay = go.GetComponent<CesiumPolygonRasterOverlay>();
867 List<CesiumCartographicPolygon> polygons = polygonRasterOverlay.polygons;
868 polygonRasterOverlay.excludeSelectedTiles = polygonRasterOverlay.excludeSelectedTiles;
869 polygonRasterOverlay.invertSelection = polygonRasterOverlay.invertSelection;
870 polygon = polygons[0];
871 len = polygons.Count;
873 TestGltfModel testModel =
new TestGltfModel();
875 bool[] boolArray = { };
876 UInt16[] uint16Array = { };
877 int[] intArray = { };
878 double[] doubleArray = { };
879 float2[] float2Array = { };
880 float3[] float3Array = { };
881 float4[] float4Array = { };
882 float2x2[] float2x2Array = { };
883 float3x3[] float3x3Array = { };
884 float4x4[] float4x4Array = { };
886 bool boolValue = boolArray[0];
887 UInt16 uint16Value = uint16Array[0];
888 int intValue = intArray[0];
889 double doubleValue = doubleArray[0];
890 myFloat2 = float2Array[0];
891 myFloat3 = float3Array[0];
892 myFloat4 = float4Array[0];
893 myFloat2x2 = float2x2Array[0];
894 myFloat3x3 = float3x3Array[0];
895 myFloat4x4 = float4x4Array[0];
897 length = boolArray.Length;
898 length = uint16Array.Length;
899 length = intArray.Length;
900 length = doubleArray.Length;
901 length = stringArray.Length;
902 length = float2Array.Length;
903 length = float3Array.Length;
904 length = float4Array.Length;
905 length = float2x2Array.Length;
906 length = float3x3Array.Length;
907 length = float4x4Array.Length;
909 CesiumCameraManager manager = CesiumCameraManager.GetOrCreate(go);
910 manager.useSceneViewCameraInEditor =
false;
911 manager.useMainCamera =
false;
912 Camera camera =
null;
913 for (
int i = 0; i < manager.additionalCameras.Count; ++i)
915 camera = manager.additionalCameras[i];
918 TaskCompletionSource<CesiumSampleHeightResult> promise =
new TaskCompletionSource<CesiumSampleHeightResult>();
919 promise.SetException(
new Exception(
"message"));
920 CesiumSampleHeightResult result =
new CesiumSampleHeightResult();
921 result.longitudeLatitudeHeightPositions =
null;
922 result.sampleSuccess =
null;
923 result.warnings =
null;
924 promise.SetResult(result);
925 Task<CesiumSampleHeightResult> task = promise.Task;
927 double3[] positions =
null;
928 for (
int i = 0; i < positions.Length; ++i)
930 positions[i] = positions[i];
934 SceneView sv = SceneView.lastActiveSceneView;
936 sv.rotation = sv.rotation;
937 Camera svc = sv.camera;
938 svc.transform.SetPositionAndRotation(p, q);
940 bool isPlaying = EditorApplication.isPlaying;
941 EditorApplication.update += () => { };
943 EditorUtility.SetDirty(
null);
946 TestReinterop.ThrowAnException();
947 System.Exception exception =
null;
948 var message = exception.Message;
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.