Cesium for Unity 1.23.0
Loading...
Searching...
No Matches
ConfigureReinterop.cs
Go to the documentation of this file.
1using Reinterop;
2using System;
3using System.Collections.Generic;
4using System.Runtime.InteropServices;
5using System.Text;
6using System.Threading.Tasks;
7using Unity.Collections;
8using Unity.Collections.LowLevel.Unsafe;
9using UnityEngine;
10using UnityEngine.Networking;
11using UnityEngine.Rendering;
12using UnityEngine.Experimental.Rendering;
13using Unity.Mathematics;
14using UnityEngine.Pool;
15using UnityEngine.UIElements;
16using UnityEngine.SceneManagement;
17
18#if UNITY_EDITOR
19using UnityEditor;
20#endif
21
22namespace CesiumForUnity
23{
24 [Reinterop]
25 internal partial class ConfigureReinterop
26 {
27 // The output path for generated C++ files.
28 // If this is relative, it is relative to the this file.
29#if UNITY_EDITOR
30 public const string CppOutputPath = "../../native~/generated-Editor";
31#elif UNITY_ANDROID
32 public const string CppOutputPath = "../../native~/generated-Android";
33#elif UNITY_IOS
34 public const string CppOutputPath = "../../native~/generated-iOS";
35#elif UNITY_WSA
36 public const string CppOutputPath = "../../native~/generated-WSA";
37#elif UNITY_64
38 public const string CppOutputPath = "../../native~/generated-Standalone";
39#elif UNITY_WEBGL
40 public const string CppOutputPath = "../../native~/generated-WebGL";
41#else
42 public const string CppOutputPath = "../../native~/generated-Unknown";
43#endif
44
45 // The namespace with which to prefix all C# namespaces. For example, if this
46 // property is set to "DotNet", then anything in the "System" namespace in C#
47 // will be found in the "DotNet::System" namespace in C++.
48 public const string BaseNamespace = "DotNet";
49
50 // The name of the DLL or SO containing the C++ code.
51#if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
52 public const string NativeLibraryName = "__Internal";
53#else
54 public const string NativeLibraryName = "CesiumForUnityNative";
55#endif
56 // Comma-separated types to treat as non-blittable, even if their fields would
57 // otherwise cause Reinterop to treat them as blittable.
58 public const string NonBlittableTypes = "Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle,Unity.Collections.NativeArray,UnityEngine.MeshData,UnityEngine.MeshDataArray";
59
60 public void ExposeToCPP()
61 {
62 Camera c = Camera.main;
63
64 Transform t = c.transform;
65 Vector3 u = t.up;
66 Vector3 f = t.forward;
67
68 Vector4 v = new Vector4(1.0f, 0.0f, 1.0f, 0.0f);
69
70 t.position = new Vector3();
71 Vector3 p = t.position;
72 float x = p.x;
73 float y = p.y;
74 float z = p.z;
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;
84 //IFormattable f = new Vector3();
85 //IEquatable<Vector3> f2 = new Vector3();
86
87 GameObject go = new GameObject();
88 go.name = go.name;
89 go = new GameObject("name");
90 go.SetActive(go.activeInHierarchy);
91 int layer = go.layer;
92 go.layer = layer;
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;
106
107 go.AddComponent<MeshFilter>();
108 go.AddComponent<MeshRenderer>();
109
110 go.transform.Find("Child Name");
111 go.transform.GetChild(go.transform.childCount - 1);
112 go.transform.DetachChildren();
113 go.hideFlags = HideFlags.DontSave;
114
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>();
119
120 unsafe
121 {
122 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(textureBytes);
123 }
124
125 int textureBytesLength = textureBytes.Length;
126 texture2D.Apply(true, true);
127 texture2D.wrapMode = TextureWrapMode.Clamp;
128 texture2D.anisoLevel = 16;
129 texture2D.filterMode = FilterMode.Trilinear;
130 Texture texture = texture2D;
131 texture.wrapModeU = texture.wrapModeU;
132 texture.wrapModeV = texture.wrapModeV;
133 texture.wrapModeW = texture.wrapModeW;
134
135 Mesh mesh = new Mesh();
136 Mesh[] meshes = new[] { mesh };
137 mesh = meshes[0];
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();
146
147 Vector3[] vertices = mesh.vertices;
148 Vector3 vertex = vertices[0];
149
150 Bounds bounds = new Bounds(new Vector3(0, 0, 0), new Vector3(1, 2, 1));
151
152 MeshCollider meshCollider = go.AddComponent<MeshCollider>();
153 meshCollider.sharedMesh = mesh;
154
155 Debug.Log("Logging");
156 Debug.LogWarning("Warning");
157 Debug.LogError("Error");
158
159 MeshRenderer meshRenderer = new MeshRenderer();
160 GameObject meshGameObject = meshRenderer.gameObject;
161 meshRenderer.material = UnityEngine.Object.Instantiate(meshRenderer.material);
162
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)
177 {
178 meshRenderer.material.GetTexture(ids[i]);
179 }
180
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);
187
188 MeshFilter meshFilter = new MeshFilter();
189 meshFilter.mesh = mesh;
190 meshFilter.sharedMesh = mesh;
191
192 Resources.Load<Material>("name");
193
194 byte b;
195 unsafe
196 {
197 string s = Encoding.UTF8.GetString(&b, 0);
198 }
199
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);
205
206 unsafe
207 {
208 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nav);
209 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nav2);
210 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nai);
211 }
212
213 nav.Dispose();
214 nav2.Dispose();
215 nai.Dispose();
216
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;
224
225 int frames = Time.frameCount;
226
227 Marshal.FreeCoTaskMem(Marshal.StringToCoTaskMemUTF8("hi"));
228
229 UnityWebRequest request = UnityWebRequest.Get("url");
230 request.Dispose();
231
232
233 var uploadHandler = new UploadHandlerRaw(new byte[0]);
234
235 var rawBytes = new NativeArray<byte>(1, Allocator.Persistent, NativeArrayOptions.UninitializedMemory);
236 unsafe
237 {
238 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(rawBytes);
239 }
240
241 uploadHandler = new UploadHandlerRaw(rawBytes, true);
242 request = new UnityWebRequest("url", "method", new NativeDownloadHandler(), uploadHandler);
243
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)
249 {
250 }
251
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())
257 {
258 string key = enumerator.Current.Key;
259 string value = enumerator.Current.Value;
260 }
261
262 request.downloadHandler.Dispose();
263 request.Abort();
264
265
266 long responseCode = request.responseCode;
267 UnityWebRequestAsyncOperation op = request.SendWebRequest();
268 //Action<AsyncOperation> foo = (ao) => { };
269 //var asdfx = foo + foo;
270 op.completed += o => { };
271
272 UnityWebRequest imageRequest = UnityWebRequestTexture.GetTexture("url");
273
274 Task.Run(() => { });
275
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;
295 //tileset.useLodTransitions = tileset.useLodTransitions;
296 //tileset.lodTransitionLength = tileset.lodTransitionLength;
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();
307
308 GraphicsFormat gfxFmt = GraphicsFormat.RGB_ETC_UNorm;
309 FormatUsage fmtUsage = FormatUsage.Sample;
310 SystemInfo.IsFormatSupported(gfxFmt, fmtUsage);
311
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);
321
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;
329
330 CesiumRasterOverlay baseOverlay = ionOverlay;
331 baseOverlay.AddToTileset();
332 baseOverlay.RemoveFromTileset();
333
334 CesiumBingMapsRasterOverlay bingMapsRasterOverlay =
335 go.GetComponent<CesiumBingMapsRasterOverlay>();
336 bingMapsRasterOverlay.bingMapsKey = bingMapsRasterOverlay.bingMapsKey;
337 bingMapsRasterOverlay.mapStyle = bingMapsRasterOverlay.mapStyle;
338 baseOverlay = bingMapsRasterOverlay;
339
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;
347
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;
360
361 List<GoogleMapTilesLayerType> layers = new List<GoogleMapTilesLayerType>();
362 if (layers.Count > 0)
363 layers[0] = layers[0];
364
365
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;
374
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;
384
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;
411
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;
428
429 int headerLen = urlTemplateRasterOverlay.requestHeaders.Count;
430 CesiumUrlTemplateRasterOverlay.HeaderEntry headerEntry = urlTemplateRasterOverlay.requestHeaders[0];
431 string headerName = headerEntry.Name;
432 string headerValue = headerEntry.Value;
433
434 CesiumRasterOverlay[] overlaysArray = go.GetComponents<CesiumRasterOverlay>();
435 int len = overlaysArray.Length;
436 overlay = overlaysArray[0];
437
438 MonoBehaviour mb = tileset;
439 mb.StartCoroutine(new NativeCoroutine(endIteration => endIteration).GetEnumerator());
440
441
442#pragma warning disable 0618
443 CesiumMetadata metadata = go.AddComponent<CesiumMetadata>();
444 metadata = go.GetComponent<CesiumMetadata>();
445 CesiumMetadata metadataParent = go.GetComponentInParent<CesiumMetadata>();
446 MetadataType type = MetadataType.String;
447 if (type == MetadataType.None)
448 {
449 type = MetadataType.Int16;
450 }
451
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
460
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;
473
474 CesiumGeoreference inParent = go.GetComponentInParent<CesiumGeoreference>();
475 inParent.MoveOrigin();
476 inParent.changed += () => { };
477
478 float time = Time.deltaTime;
479
480 GameObject[] gos = GameObject.FindGameObjectsWithTag("test");
481 for (int i = 0; i < gos.Length; ++i)
482 {
483 GameObject goFromArray = gos[i];
484 gos[i] = goFromArray;
485 }
486
487 go = Resources.Load<GameObject>("name");
488 go = UnityEngine.Object.Instantiate(go);
489
490 Mesh.MeshDataArray meshDataArray = Mesh.AllocateWritableMeshData(1);
491 Mesh.MeshData meshData = meshDataArray[meshDataArray.Length - 1];
492
493 VertexAttributeDescriptor[] descriptorsArray = new VertexAttributeDescriptor[1];
494 VertexAttributeDescriptor descriptor0 = descriptorsArray[0];
495
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));
500
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>();
506
507 int positionNormalLength = positionNormal.Length;
508 int texCoordLength = texCoord.Length;
509 int indicesLength = indices.Length;
510 int indices32Length = indices32.Length;
511
512 unsafe
513 {
514 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(positionNormal);
515 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(texCoord);
516 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(indices);
517 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(indices32);
518 }
519
520 meshDataArray.Dispose();
521
522 Mesh.ApplyAndDisposeWritableMeshData(meshDataArray, meshes, MeshUpdateFlags.Default);
523
524 Physics.BakeMesh(mesh.GetInstanceID(), false);
525
526 CesiumCreditComponent creditComponent = new CesiumCreditComponent("text", "link", -1);
527 List<CesiumCreditComponent> creditComponents = new List<CesiumCreditComponent>();
528 creditComponents.Add(creditComponent);
529 int creditCount = creditComponents.Count;
530
531 CesiumCredit credit = new CesiumCredit();
532 credit = new CesiumCredit(creditComponents);
533 creditComponents = credit.components;
534
535 CesiumCreditSystem creditSystem = go.AddComponent<CesiumCreditSystem>();
536 creditSystem = CesiumCreditSystem.GetDefaultCreditSystem();
537 creditSystem.StartCoroutine(creditSystem.LoadImage("string"));
538
539 List<CesiumCredit> credits = creditSystem.onScreenCredits;
540 credits = creditSystem.popupCredits;
541 credits.Add(credit);
542 credits.Clear();
543
544 if (creditSystem.GetNumberOfLoadingImages() == 0)
545 {
546 creditSystem.BroadcastCreditsUpdate();
547 }
548
549 List<Texture2D> images = creditSystem.images;
550 int count = images.Count;
551
552 List<string> stringList = new List<string>();
553 stringList.Add("item");
554 stringList.Clear();
555 count = stringList.Count;
556
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");
564
565 int length = test.Length;
566
567 int requestsPerCachePrune = CesiumRuntimeSettings.requestsPerCachePrune;
568 ulong maxItems = CesiumRuntimeSettings.maxItems;
569
570 Cesium3DTilesetLoadFailureDetails tilesetDetails
571 = new Cesium3DTilesetLoadFailureDetails(tileset, Cesium3DTilesetLoadType.Unknown, 0, "");
572 Cesium3DTileset.BroadcastCesium3DTilesetLoadFailure(tilesetDetails);
573
574 CesiumRasterOverlayLoadFailureDetails
575 overlayDetails = new CesiumRasterOverlayLoadFailureDetails(
576 overlay,
578 0,
579 "");
580 CesiumRasterOverlay.BroadcastCesiumRasterOverlayLoadFailure(overlayDetails);
581
582 tileset.BroadcastNewGameObjectCreated(new GameObject());
583
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;
588
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;
594
595 Cesium3DTileset[] tilesets = go.GetComponentsInChildren<Cesium3DTileset>();
596 tileset = tilesets[tilesets.Length - 1];
597
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;
606
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;
612
613 // Private properties for use by the C++ class.
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();
623
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;
633
634 Cesium3DTileInfo info;
635 info.usesAdditiveRefinement = true;
636 info.geometricError = 1.0f;
637 info.dimensions = Vector3.zero;
638 info.isTranslucent = true;
639
640 CesiumPointCloudRenderer renderer = go.AddComponent<CesiumPointCloudRenderer>();
641 renderer.tileInfo = info;
642
643 CesiumObjectPool<Mesh> meshPool = CesiumObjectPools.MeshPool;
644 Mesh pooledMesh = meshPool.Get();
645 meshPool.Release(pooledMesh);
646
647 System.Object myObject = null;
648
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);
654 myIntVec3 = new CesiumIntVec3((Int16)1, (Int16)2, (Int16)3);
655 myIntVec3 = new CesiumIntVec3((Int32)1, (Int32)2, (Int32)3);
656 myIntVec3 = new CesiumIntVec3((Int64)1, (Int64)2, (Int64)3);
657 CesiumIntVec4 myIntVec4 = new CesiumIntVec4((SByte)1, (SByte)2, (SByte)3, (SByte)4);
658 myIntVec4 = new CesiumIntVec4((Int16)1, (Int16)2, (Int16)3, (Int16)4);
659 myIntVec4 = new CesiumIntVec4((Int32)1, (Int32)2, (Int32)3, (Int32)4);
660 myIntVec4 = new CesiumIntVec4((Int64)1, (Int64)2, (Int64)3, (Int64)4);
661 myObject = myIntVec2[0];
662 myObject = myIntVec3[0];
663 myObject = myIntVec4[0];
664 CesiumUintVec2 myUintVec2 = new CesiumUintVec2((Byte)1, (Byte)2);
665 myUintVec2 = new CesiumUintVec2((UInt16)1, (UInt16)2);
666 myUintVec2 = new CesiumUintVec2((UInt32)1, (UInt32)2);
667 myUintVec2 = new CesiumUintVec2((UInt64)1, (UInt64)2);
668 CesiumUintVec3 myUintVec3 = new CesiumUintVec3((Byte)1, (Byte)2, (Byte)3);
669 myUintVec3 = new CesiumUintVec3((UInt16)1, (UInt16)2, (UInt16)3);
670 myUintVec3 = new CesiumUintVec3((UInt32)1, (UInt32)2, (UInt32)3);
671 myUintVec3 = new CesiumUintVec3((UInt64)1, (UInt64)2, (UInt64)3);
672 CesiumUintVec4 myUintVec4 = new CesiumUintVec4((Byte)1, (Byte)2, (Byte)3, (Byte)4);
673 myUintVec4 = new CesiumUintVec4((UInt16)1, (UInt16)2, (UInt16)3, (UInt16)4);
674 myUintVec4 = new CesiumUintVec4((UInt32)1, (UInt32)2, (UInt32)3, (UInt32)4);
675 myUintVec4 = new CesiumUintVec4((UInt64)1, (UInt64)2, (UInt64)3, (UInt64)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];
691
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];
728
729 CesiumMetadataValueType valueType = new CesiumMetadataValueType(
730 CesiumMetadataType.Invalid,
732 false);
733 valueType.type = CesiumMetadataType.Invalid;
734 valueType.componentType = CesiumMetadataComponentType.None;
735 valueType.isArray = false;
736
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;
742
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;
782
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);
820
821 myValue.GetBoolean();
822 myValue.GetSByte();
823 myValue.GetByte();
824 myValue.GetInt16();
825 myValue.GetUInt16();
826 myValue.GetInt32();
827 myValue.GetUInt32();
828 myValue.GetInt64();
829 myValue.GetUInt64();
830 myValue.GetFloat();
831 myValue.GetDouble();
832 myValue.GetString();
833 myValue.GetArray();
834
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;
845 sets[0].Dispose();
846
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;
853
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;
860
861 primitiveFeatures.featureIdSets[0] = featureIdAttribute;
862 primitiveFeatures.featureIdSets[1] = featureIdTexture;
863
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;
869
870 CesiumPropertyTable propertyTable = new CesiumPropertyTable();
871 propertyTable.status = CesiumPropertyTableStatus.Valid;
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();
878
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;
891
892 RaycastHit hitInfo = new RaycastHit();
893 primitiveFeatures = hitInfo.transform.GetComponent<CesiumPrimitiveFeatures>();
894 int triangleIndex = hitInfo.triangleIndex;
895 Vector3 hitPoint = hitInfo.point;
896
897 Vector2 textureCoordinate = new Vector2();
898 textureCoordinate.x = textureCoordinate.y;
899 hitPoint = m2.MultiplyPoint3x4(hitPoint);
900
901 CesiumIonServer server = CesiumIonServer.defaultServer;
902 server.serverUrl = "";
903 server.apiUrl = "";
904 server.oauth2ApplicationID = 1;
905 server.defaultIonAccessToken = "";
906 server.defaultIonAccessTokenId = "";
907 server.serverUrlThatIsLoadingApiUrl = "";
908
909 CesiumCartographicPolygon polygon = go.GetComponent<CesiumCartographicPolygon>();
910 polygon.enabled = polygon.enabled;
911
912 List<double2> points = polygon.GetCartographicPoints(m);
913 len = points.Count;
914 myDouble2 = points[0];
915
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;
922
923 CesiumGeoJsonDocumentRasterOverlay geoJsonOverlay =
924 go.GetComponent<CesiumGeoJsonDocumentRasterOverlay>();
925 geoJsonOverlay.source = geoJsonOverlay.source;
926 geoJsonOverlay.url = geoJsonOverlay.url;
927 geoJsonOverlay.ionAssetID = geoJsonOverlay.ionAssetID;
928 geoJsonOverlay.ionAccessToken = geoJsonOverlay.ionAccessToken;
929 geoJsonOverlay.ionServer = geoJsonOverlay.ionServer;
930 geoJsonOverlay.mipLevels = geoJsonOverlay.mipLevels;
931 CesiumVectorStyle vectorStyle = geoJsonOverlay.defaultStyle;
932 geoJsonOverlay.defaultStyle = vectorStyle;
933 CesiumGeoJsonDocument overlayDoc = geoJsonOverlay.document;
934
935 // CesiumGeoJsonDocument and CesiumGeoJsonObject
936 CesiumGeoJsonDocument geoJsonDoc = new CesiumGeoJsonDocument();
937 geoJsonDoc.ParseInternal("");
938 bool isDocValid = geoJsonDoc.IsValid();
939 CesiumGeoJsonObject geoJsonObj = new CesiumGeoJsonObject();
940 geoJsonObj = geoJsonDoc.GetRootObject();
941 CesiumGeoJsonObjectType objType = geoJsonObj.GetObjectType();
942 bool isObjValid = geoJsonObj.IsValid();
943 bool hasGeoJsonStyle = geoJsonObj.HasStyle();
944 vectorStyle = geoJsonObj.GetStyle();
945 geoJsonObj.SetStyle(vectorStyle);
946 geoJsonObj.ClearStyle();
947
948 // CesiumGeoJsonFeature
949 CesiumGeoJsonFeature geoJsonFeature = new CesiumGeoJsonFeature();
950 geoJsonFeature = geoJsonObj.GetObjectAsFeature();
951 CesiumGeoJsonFeature[] geoJsonFeatures = geoJsonObj.GetObjectAsFeatureCollection();
952 geoJsonFeature = geoJsonFeatures[0];
953 int featureCount = geoJsonFeatures.Length;
954 CesiumGeoJsonFeatureIdType idType = geoJsonFeature.GetIdType();
955 string featureIdStr = geoJsonFeature.GetIdAsString();
956 long featureIdInt = geoJsonFeature.GetIdAsInteger();
957 string propsJson = geoJsonFeature.GetPropertiesAsJson();
958 string strProp = geoJsonFeature.GetStringProperty("");
959 double numProp = geoJsonFeature.GetNumericProperty("");
960 bool hasProp = geoJsonFeature.HasProperty("");
961 CesiumGeoJsonObject featureGeom = geoJsonFeature.GetGeometry();
962 // CesiumGeoJsonLineString
963 CesiumGeoJsonLineString geoJsonLineString = new CesiumGeoJsonLineString();
964 double3[] lineStringPoints = geoJsonLineString.points;
965 geoJsonLineString.points = lineStringPoints;
966
967 // CesiumGeoJsonPolygon
968 CesiumGeoJsonPolygon geoJsonPolygon = new CesiumGeoJsonPolygon();
969 CesiumGeoJsonLineString[] polygonRings = geoJsonPolygon.rings;
970 geoJsonPolygon.rings = polygonRings;
971 CesiumGeoJsonLineString polygonRing = polygonRings[0];
972 int polygonRingCount = polygonRings.Length;
973
974 // Geometry subtypes on CesiumGeoJsonObject
975 double3 pointCoord = geoJsonObj.GetObjectAsPoint();
976 double3[] multiPointCoords = geoJsonObj.GetObjectAsMultiPoint();
977 double3 multiPointCoord = multiPointCoords[0];
978 int multiPointCount = multiPointCoords.Length;
979 CesiumGeoJsonLineString lineStringGeom = geoJsonObj.GetObjectAsLineString();
980 CesiumGeoJsonLineString[] multiLineStringGeom = geoJsonObj.GetObjectAsMultiLineString();
981 CesiumGeoJsonLineString multiLineStringItem = multiLineStringGeom[0];
982 int multiLineStringCount = multiLineStringGeom.Length;
983 CesiumGeoJsonPolygon polygonGeom = geoJsonObj.GetObjectAsPolygon();
984 CesiumGeoJsonPolygon[] multiPolygonGeom = geoJsonObj.GetObjectAsMultiPolygon();
985 CesiumGeoJsonPolygon multiPolygonItem = multiPolygonGeom[0];
986 int multiPolygonCount = multiPolygonGeom.Length;
987 CesiumGeoJsonObject[] geometryCollection = geoJsonObj.GetObjectAsGeometryCollection();
988 CesiumGeoJsonObject geometryCollectionItem = geometryCollection[0];
989 int geometryCollectionCount = geometryCollection.Length;
990
991 Action<CesiumGeoJsonDocument> docCallback = (doc) => { };
992 CesiumVectorLineStyle lineStyle = vectorStyle.lineStyle;
993 vectorStyle.lineStyle = lineStyle;
994 Color32 lineColor = lineStyle.color;
995 lineStyle.color = lineColor;
996 CesiumVectorColorMode colorMode = lineStyle.colorMode;
997 lineStyle.colorMode = colorMode;
998 double lineWidth = lineStyle.width;
999 lineStyle.width = lineWidth;
1000 CesiumVectorLineWidthMode widthMode = lineStyle.widthMode;
1001 lineStyle.widthMode = widthMode;
1002 CesiumVectorPolygonStyle polygonStyleV = vectorStyle.polygonStyle;
1003 vectorStyle.polygonStyle = polygonStyleV;
1004 bool fillEnabled = polygonStyleV.fill;
1005 polygonStyleV.fill = fillEnabled;
1006 CesiumVectorPolygonFillStyle fillStyle = polygonStyleV.fillStyle;
1007 polygonStyleV.fillStyle = fillStyle;
1008 Color32 fillColor = fillStyle.color;
1009 fillStyle.color = fillColor;
1010 CesiumVectorColorMode fillColorMode = fillStyle.colorMode;
1011 fillStyle.colorMode = fillColorMode;
1012 bool outlineEnabled = polygonStyleV.outline;
1013 polygonStyleV.outline = outlineEnabled;
1014 CesiumVectorLineStyle outlineStyle = polygonStyleV.outlineStyle;
1015 polygonStyleV.outlineStyle = outlineStyle;
1016 baseOverlay = geoJsonOverlay;
1017
1018 TestGltfModel testModel = new TestGltfModel();
1019
1020 bool[] boolArray = { };
1021 UInt16[] uint16Array = { };
1022 int[] intArray = { };
1023 double[] doubleArray = { };
1024 float2[] float2Array = { };
1025 float3[] float3Array = { };
1026 float4[] float4Array = { };
1027 float2x2[] float2x2Array = { };
1028 float3x3[] float3x3Array = { };
1029 float4x4[] float4x4Array = { };
1030
1031 bool boolValue = boolArray[0];
1032 UInt16 uint16Value = uint16Array[0];
1033 int intValue = intArray[0];
1034 double doubleValue = doubleArray[0];
1035 myFloat2 = float2Array[0];
1036 myFloat3 = float3Array[0];
1037 myFloat4 = float4Array[0];
1038 myFloat2x2 = float2x2Array[0];
1039 myFloat3x3 = float3x3Array[0];
1040 myFloat4x4 = float4x4Array[0];
1041
1042 length = boolArray.Length;
1043 length = uint16Array.Length;
1044 length = intArray.Length;
1045 length = doubleArray.Length;
1046 length = stringArray.Length;
1047 length = float2Array.Length;
1048 length = float3Array.Length;
1049 length = float4Array.Length;
1050 length = float2x2Array.Length;
1051 length = float3x3Array.Length;
1052 length = float4x4Array.Length;
1053
1054 CesiumCameraManager manager = CesiumCameraManager.GetOrCreate(go);
1055 manager.useSceneViewCameraInEditor = false;
1056 manager.useMainCamera = false;
1057 Camera camera = null;
1058 for (int i = 0; i < manager.additionalCameras.Count; ++i)
1059 {
1060 camera = manager.additionalCameras[i];
1061 }
1062
1063 TaskCompletionSource<CesiumSampleHeightResult> promise =
1064 new TaskCompletionSource<CesiumSampleHeightResult>();
1065 promise.SetException(new Exception("message"));
1066 CesiumSampleHeightResult result = new CesiumSampleHeightResult();
1067 result.longitudeLatitudeHeightPositions = null;
1068 result.sampleSuccess = null;
1069 result.warnings = null;
1070 promise.SetResult(result);
1071 Task<CesiumSampleHeightResult> task = promise.Task;
1072
1073 double3[] positions = null;
1074 for (int i = 0; i < positions.Length; ++i)
1075 {
1076 positions[i] = positions[i];
1077 }
1078
1079#if UNITY_EDITOR
1080 SceneView sv = SceneView.lastActiveSceneView;
1081 sv.pivot = sv.pivot;
1082 sv.rotation = sv.rotation;
1083 Camera svc = sv.camera;
1084 svc.transform.SetPositionAndRotation(p, q);
1085
1086 bool isPlaying = EditorApplication.isPlaying;
1087 EditorApplication.update += () => { };
1088
1089 EditorUtility.SetDirty(null);
1090#endif
1091
1092 TestReinterop.ThrowAnException();
1093 System.Exception exception = null;
1094 var message = exception.Message;
1095
1096#if UNITY_EDITOR
1097 AssemblyReloadEvents.afterAssemblyReload += () => { };
1098 AssemblyReloadEvents.beforeAssemblyReload += () => { };
1099 AppDomain.CurrentDomain.DomainUnload += (sender, e) => { };
1100#endif
1101
1102 Scene scene = SceneManager.GetSceneAt(SceneManager.sceneCount - 1);
1103 scene.GetRootGameObjects();
1104 }
1105 }
1106}
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.
CesiumGeoJsonObjectType
The type of a GeoJSON object.
Cesium3DTilesetLoadType
The type of Cesium3DTileset load that encountered an error.
CesiumRasterOverlayLoadType
The type of CesiumRasterOverlay load that encountered an error.
CesiumVectorLineWidthMode
The mode used to render polylines and strokes.
CesiumMetadataComponentType
Identifies the component type of a property in EXT_structural_metadata.
CesiumVectorColorMode
The mode used to interpret the color value provided in a style.
CesiumGeoJsonFeatureIdType
The type of ID on a GeoJSON feature.