Cesium for Unity 1.25.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,UnityEngine.SceneManagement.Scene,UnityEngine.RaycastHit";
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
146 Vector3[] vertices = mesh.vertices;
147 Vector3 vertex = vertices[0];
148
149 Bounds bounds = new Bounds(new Vector3(0, 0, 0), new Vector3(1, 2, 1));
150
151 MeshCollider meshCollider = go.AddComponent<MeshCollider>();
152 meshCollider.sharedMesh = mesh;
153
154 Debug.Log("Logging");
155 Debug.LogWarning("Warning");
156 Debug.LogError("Error");
157
158 MeshRenderer meshRenderer = new MeshRenderer();
159 GameObject meshGameObject = meshRenderer.gameObject;
160 meshRenderer.material = UnityEngine.Object.Instantiate(meshRenderer.material);
161
162 int id = Shader.PropertyToID("name");
163 int crc = meshRenderer.material.ComputeCRC();
164 meshRenderer.material.SetTexture(id, texture2D);
165 meshRenderer.material.SetFloat(id, 1.0f);
166 meshRenderer.material.SetFloat(id, (float)CullMode.Off);
167 meshRenderer.material.SetVector(id, new Vector4());
168 meshRenderer.material.DisableKeyword("keywordName");
169 meshRenderer.material.EnableKeyword("keywordName");
170 meshRenderer.material.GetTexture(id);
171 meshRenderer.material.SetTextureOffset(id, new Vector2());
172 meshRenderer.material.SetTextureScale(id, new Vector2());
173 var ids = new List<int>();
174 meshRenderer.material.GetTexturePropertyNameIDs(ids);
175 for (int i = 0; i < ids.Count; ++i)
176 {
177 meshRenderer.material.GetTexture(ids[i]);
178 }
179
180 meshRenderer.material.shaderKeywords = meshRenderer.material.shaderKeywords;
181 meshRenderer.sharedMaterial = meshRenderer.sharedMaterial;
182 meshRenderer.material.shader = meshRenderer.material.shader;
183 UnityEngine.Object.Destroy(meshGameObject);
184 UnityEngine.Object.DestroyImmediate(meshGameObject, true);
185 UnityEngine.Object.DestroyImmediate(meshGameObject);
186
187 MeshFilter meshFilter = new MeshFilter();
188 meshFilter.mesh = mesh;
189 meshFilter.sharedMesh = mesh;
190
191 Resources.Load<Material>("name");
192
193 byte b;
194 unsafe
195 {
196 string s = Encoding.UTF8.GetString(&b, 0);
197 }
198
199 NativeArray<Vector3> nav =
200 new NativeArray<Vector3>(1, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
201 NativeArray<Vector2> nav2 =
202 new NativeArray<Vector2>(1, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
203 NativeArray<int> nai = new NativeArray<int>(1, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
204
205 unsafe
206 {
207 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nav);
208 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nav2);
209 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(nai);
210 }
211
212 nav.Dispose();
213 nav2.Dispose();
214 nai.Dispose();
215
216 string temporaryCachePath = Application.temporaryCachePath;
217 bool isEditor = Application.isEditor;
218 string applicationVersion = Application.version;
219 string unityVersion = Application.unityVersion;
220 string applicationPlatform = Helpers.ToString(Application.platform);
221 string productName = Application.productName;
222 string osVersion = System.Environment.OSVersion.VersionString;
223
224 int frames = Time.frameCount;
225
226 Marshal.FreeCoTaskMem(Marshal.StringToCoTaskMemUTF8("hi"));
227
228 UnityWebRequest request = UnityWebRequest.Get("url");
229 request.Dispose();
230
231
232 var uploadHandler = new UploadHandlerRaw(new byte[0]);
233
234 var rawBytes = new NativeArray<byte>(1, Allocator.Persistent, NativeArrayOptions.UninitializedMemory);
235 unsafe
236 {
237 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(rawBytes);
238 }
239
240 uploadHandler = new UploadHandlerRaw(rawBytes, true);
241 request = new UnityWebRequest("url", "method", new NativeDownloadHandler(), uploadHandler);
242
243 bool isDone = request.isDone;
244 string e = request.error;
245 string method = request.method;
246 string url = request.url;
247 if (request.result == UnityWebRequest.Result.Success)
248 {
249 }
250
251 request.downloadHandler = new NativeDownloadHandler();
252 request.SetRequestHeader("name", "value");
253 request.GetResponseHeader("name");
254 Dictionary<string, string>.Enumerator enumerator = request.GetResponseHeaders().GetEnumerator();
255 while (enumerator.MoveNext())
256 {
257 string key = enumerator.Current.Key;
258 string value = enumerator.Current.Value;
259 }
260
261 request.downloadHandler.Dispose();
262 request.Abort();
263
264
265 long responseCode = request.responseCode;
266 UnityWebRequestAsyncOperation op = request.SendWebRequest();
267 //Action<AsyncOperation> foo = (ao) => { };
268 //var asdfx = foo + foo;
269 op.completed += o => { };
270
271 UnityWebRequest imageRequest = UnityWebRequestTexture.GetTexture("url");
272
273 Task.Run(() => { });
274
275 Cesium3DTileset tileset = new Cesium3DTileset();
276 tileset.tilesetSource = tileset.tilesetSource;
277 tileset.url = tileset.url;
278 tileset.ionAssetID = tileset.ionAssetID;
279 tileset.ionAccessToken = tileset.ionAccessToken;
280 tileset.logSelectionStats = tileset.logSelectionStats;
281 tileset.opaqueMaterial = tileset.opaqueMaterial;
282 tileset.enabled = tileset.enabled;
283 tileset.maximumScreenSpaceError = tileset.maximumScreenSpaceError;
284 tileset.preloadAncestors = tileset.preloadAncestors;
285 tileset.preloadSiblings = tileset.preloadSiblings;
286 tileset.forbidHoles = tileset.forbidHoles;
287 tileset.maximumSimultaneousTileLoads = tileset.maximumSimultaneousTileLoads;
288 tileset.maximumCachedBytes = tileset.maximumCachedBytes;
289 tileset.loadingDescendantLimit = tileset.loadingDescendantLimit;
290 tileset.enableFrustumCulling = tileset.enableFrustumCulling;
291 tileset.enableFogCulling = tileset.enableFogCulling;
292 tileset.enforceCulledScreenSpaceError = tileset.enforceCulledScreenSpaceError;
293 tileset.culledScreenSpaceError = tileset.culledScreenSpaceError;
294 //tileset.useLodTransitions = tileset.useLodTransitions;
295 //tileset.lodTransitionLength = tileset.lodTransitionLength;
296 tileset.generateSmoothNormals = tileset.generateSmoothNormals;
297 tileset.ignoreKhrMaterialsUnlit = tileset.ignoreKhrMaterialsUnlit;
298 tileset.createPhysicsMeshes = tileset.createPhysicsMeshes;
299 tileset.suspendUpdate = tileset.suspendUpdate;
300 tileset.previousSuspendUpdate = tileset.previousSuspendUpdate;
301 tileset.showTilesInHierarchy = tileset.showTilesInHierarchy;
302 tileset.updateInEditor = tileset.updateInEditor;
303 tileset.showCreditsOnScreen = tileset.showCreditsOnScreen;
304 tileset.ionServer = tileset.ionServer;
305 tileset.RecreateTileset();
306
307 GraphicsFormat gfxFmt = GraphicsFormat.RGB_ETC_UNorm;
308 FormatUsage fmtUsage = FormatUsage.Sample;
309 SystemInfo.IsFormatSupported(gfxFmt, fmtUsage);
310
311 Cesium3DTileset tilesetFromGameObject = go.GetComponent<Cesium3DTileset>();
312 MeshRenderer meshRendererFromGameObject = go.GetComponent<MeshRenderer>();
313 MeshFilter meshFilterFromGameObject = go.GetComponent<MeshFilter>();
314 CesiumIonRasterOverlay ionOverlay = go.GetComponent<CesiumIonRasterOverlay>();
315 ionOverlay.ionAssetID = ionOverlay.ionAssetID;
316 ionOverlay.ionAccessToken = ionOverlay.ionAccessToken;
317 ionOverlay.ionServer = ionOverlay.ionServer;
318 ionOverlay.assetOptions = ionOverlay.assetOptions;
319 ionOverlay.AddToTilesetLater(null);
320
321 CesiumRasterOverlay overlay = go.GetComponent<CesiumRasterOverlay>();
322 overlay.materialKey = overlay.materialKey;
323 overlay.showCreditsOnScreen = overlay.showCreditsOnScreen;
324 overlay.maximumScreenSpaceError = overlay.maximumScreenSpaceError;
325 overlay.maximumTextureSize = overlay.maximumTextureSize;
326 overlay.maximumSimultaneousTileLoads = overlay.maximumSimultaneousTileLoads;
327 overlay.subTileCacheBytes = overlay.subTileCacheBytes;
328
329 CesiumRasterOverlay baseOverlay = ionOverlay;
330 baseOverlay.AddToTileset();
331 baseOverlay.RemoveFromTileset();
332
333 CesiumBingMapsRasterOverlay bingMapsRasterOverlay =
334 go.GetComponent<CesiumBingMapsRasterOverlay>();
335 bingMapsRasterOverlay.bingMapsKey = bingMapsRasterOverlay.bingMapsKey;
336 bingMapsRasterOverlay.mapStyle = bingMapsRasterOverlay.mapStyle;
337 baseOverlay = bingMapsRasterOverlay;
338
339 var azureMapsOverlay = go.GetComponent<CesiumAzureMapsRasterOverlay>();
340 azureMapsOverlay.key = azureMapsOverlay.key;
341 azureMapsOverlay.apiVersion = azureMapsOverlay.apiVersion;
342 azureMapsOverlay.tilesetId = azureMapsOverlay.tilesetId;
343 azureMapsOverlay.language = azureMapsOverlay.language;
344 azureMapsOverlay.view = azureMapsOverlay.view;
345 baseOverlay = azureMapsOverlay;
346
347 CesiumGoogleMapTilesRasterOverlay googleMapTilesRasterOverlay =
348 go.GetComponent<CesiumGoogleMapTilesRasterOverlay>();
349 googleMapTilesRasterOverlay.apiKey = googleMapTilesRasterOverlay.apiKey;
350 googleMapTilesRasterOverlay.mapType = googleMapTilesRasterOverlay.mapType;
351 googleMapTilesRasterOverlay.language = googleMapTilesRasterOverlay.language;
352 googleMapTilesRasterOverlay.region = googleMapTilesRasterOverlay.region;
353 googleMapTilesRasterOverlay.scale = googleMapTilesRasterOverlay.scale;
354 googleMapTilesRasterOverlay.highDpi = googleMapTilesRasterOverlay.highDpi;
355 googleMapTilesRasterOverlay.layerTypes = googleMapTilesRasterOverlay.layerTypes;
356 googleMapTilesRasterOverlay.styles = googleMapTilesRasterOverlay.styles;
357 googleMapTilesRasterOverlay.overlay = googleMapTilesRasterOverlay.overlay;
358 baseOverlay = googleMapTilesRasterOverlay;
359
360 List<GoogleMapTilesLayerType> layers = new List<GoogleMapTilesLayerType>();
361 if (layers.Count > 0)
362 layers[0] = layers[0];
363
364
365 CesiumTileMapServiceRasterOverlay tileMapServiceRasterOverlay =
366 go.GetComponent<CesiumTileMapServiceRasterOverlay>();
367 tileMapServiceRasterOverlay.url = tileMapServiceRasterOverlay.url;
368 tileMapServiceRasterOverlay.specifyZoomLevels =
369 tileMapServiceRasterOverlay.specifyZoomLevels;
370 tileMapServiceRasterOverlay.minimumLevel = tileMapServiceRasterOverlay.minimumLevel;
371 tileMapServiceRasterOverlay.maximumLevel = tileMapServiceRasterOverlay.maximumLevel;
372 baseOverlay = tileMapServiceRasterOverlay;
373
374 CesiumWebMapServiceRasterOverlay webMapServiceRasterOverlay =
375 go.GetComponent<CesiumWebMapServiceRasterOverlay>();
376 webMapServiceRasterOverlay.baseUrl = webMapServiceRasterOverlay.baseUrl;
377 webMapServiceRasterOverlay.layers = webMapServiceRasterOverlay.layers;
378 webMapServiceRasterOverlay.tileWidth = webMapServiceRasterOverlay.tileWidth;
379 webMapServiceRasterOverlay.tileHeight = webMapServiceRasterOverlay.tileHeight;
380 webMapServiceRasterOverlay.minimumLevel = webMapServiceRasterOverlay.minimumLevel;
381 webMapServiceRasterOverlay.maximumLevel = webMapServiceRasterOverlay.maximumLevel;
382 baseOverlay = webMapServiceRasterOverlay;
383
384 CesiumWebMapTileServiceRasterOverlay webMapTileServiceRasterOverlay =
385 go.GetComponent<CesiumWebMapTileServiceRasterOverlay>();
386 webMapTileServiceRasterOverlay.baseUrl = webMapTileServiceRasterOverlay.baseUrl;
387 webMapTileServiceRasterOverlay.layer = webMapTileServiceRasterOverlay.layer;
388 webMapTileServiceRasterOverlay.style = webMapTileServiceRasterOverlay.style;
389 webMapTileServiceRasterOverlay.format = webMapTileServiceRasterOverlay.format;
390 webMapTileServiceRasterOverlay.tileMatrixSetID = webMapTileServiceRasterOverlay.tileMatrixSetID;
391 webMapTileServiceRasterOverlay.tileMatrixSetLabelPrefix =
392 webMapTileServiceRasterOverlay.tileMatrixSetLabelPrefix;
393 webMapTileServiceRasterOverlay.specifyTileMatrixSetLabels =
394 webMapTileServiceRasterOverlay.specifyTileMatrixSetLabels;
395 webMapTileServiceRasterOverlay.tileMatrixSetLabels = webMapTileServiceRasterOverlay.tileMatrixSetLabels;
396 webMapTileServiceRasterOverlay.projection = webMapTileServiceRasterOverlay.projection;
397 webMapTileServiceRasterOverlay.specifyTilingScheme = webMapTileServiceRasterOverlay.specifyTilingScheme;
398 webMapTileServiceRasterOverlay.rootTilesX = webMapTileServiceRasterOverlay.rootTilesX;
399 webMapTileServiceRasterOverlay.rootTilesY = webMapTileServiceRasterOverlay.rootTilesY;
400 webMapTileServiceRasterOverlay.rectangleEast = webMapTileServiceRasterOverlay.rectangleEast;
401 webMapTileServiceRasterOverlay.rectangleSouth = webMapTileServiceRasterOverlay.rectangleSouth;
402 webMapTileServiceRasterOverlay.rectangleWest = webMapTileServiceRasterOverlay.rectangleWest;
403 webMapTileServiceRasterOverlay.rectangleNorth = webMapTileServiceRasterOverlay.rectangleNorth;
404 webMapTileServiceRasterOverlay.specifyZoomLevels = webMapTileServiceRasterOverlay.specifyZoomLevels;
405 webMapTileServiceRasterOverlay.minimumLevel = webMapTileServiceRasterOverlay.minimumLevel;
406 webMapTileServiceRasterOverlay.maximumLevel = webMapTileServiceRasterOverlay.maximumLevel;
407 webMapTileServiceRasterOverlay.tileWidth = webMapTileServiceRasterOverlay.tileWidth;
408 webMapTileServiceRasterOverlay.tileHeight = webMapTileServiceRasterOverlay.tileHeight;
409 baseOverlay = webMapTileServiceRasterOverlay;
410
411 CesiumUrlTemplateRasterOverlay urlTemplateRasterOverlay = go.GetComponent<CesiumUrlTemplateRasterOverlay>();
412 urlTemplateRasterOverlay.templateUrl = urlTemplateRasterOverlay.templateUrl;
413 urlTemplateRasterOverlay.projection = urlTemplateRasterOverlay.projection;
414 urlTemplateRasterOverlay.specifyTilingScheme = urlTemplateRasterOverlay.specifyTilingScheme;
415 urlTemplateRasterOverlay.rootTilesX = urlTemplateRasterOverlay.rootTilesX;
416 urlTemplateRasterOverlay.rootTilesY = urlTemplateRasterOverlay.rootTilesY;
417 urlTemplateRasterOverlay.rectangleWest = urlTemplateRasterOverlay.rectangleWest;
418 urlTemplateRasterOverlay.rectangleSouth = urlTemplateRasterOverlay.rectangleSouth;
419 urlTemplateRasterOverlay.rectangleEast = urlTemplateRasterOverlay.rectangleEast;
420 urlTemplateRasterOverlay.rectangleNorth = urlTemplateRasterOverlay.rectangleNorth;
421 urlTemplateRasterOverlay.minimumLevel = urlTemplateRasterOverlay.minimumLevel;
422 urlTemplateRasterOverlay.maximumLevel = urlTemplateRasterOverlay.maximumLevel;
423 urlTemplateRasterOverlay.tileWidth = urlTemplateRasterOverlay.tileWidth;
424 urlTemplateRasterOverlay.tileHeight = urlTemplateRasterOverlay.tileHeight;
425 urlTemplateRasterOverlay.requestHeaders = urlTemplateRasterOverlay.requestHeaders;
426 baseOverlay = urlTemplateRasterOverlay;
427
428 int headerLen = urlTemplateRasterOverlay.requestHeaders.Count;
429 CesiumUrlTemplateRasterOverlay.HeaderEntry headerEntry = urlTemplateRasterOverlay.requestHeaders[0];
430 string headerName = headerEntry.Name;
431 string headerValue = headerEntry.Value;
432
433 CesiumRasterOverlay[] overlaysArray = go.GetComponents<CesiumRasterOverlay>();
434 int len = overlaysArray.Length;
435 overlay = overlaysArray[0];
436
437 MonoBehaviour mb = tileset;
438 mb.StartCoroutine(new NativeCoroutine(endIteration => endIteration).GetEnumerator());
439
440
441#pragma warning disable 0618
442 CesiumMetadata metadata = go.AddComponent<CesiumMetadata>();
443 metadata = go.GetComponent<CesiumMetadata>();
444 CesiumMetadata metadataParent = go.GetComponentInParent<CesiumMetadata>();
445 MetadataType type = MetadataType.String;
446 if (type == MetadataType.None)
447 {
448 type = MetadataType.Int16;
449 }
450
451 metadata.GetFeatures(transform, 3);
452 CesiumFeature[] features = new CesiumFeature[2];
453 var feature = features[0] = new CesiumFeature();
454 feature.className = "";
455 feature.featureTableName = "";
456 feature.properties = new string[4];
457 feature.properties[2] = "";
458#pragma warning restore 0618
459
460 CesiumGeoreference georeference = go.AddComponent<CesiumGeoreference>();
461 georeference = go.GetComponent<CesiumGeoreference>();
462 georeference.longitude = georeference.longitude;
463 georeference.latitude = georeference.latitude;
464 georeference.height = georeference.height;
465 georeference.ecefX = georeference.ecefX;
466 georeference.ecefY = georeference.ecefY;
467 georeference.ecefZ = georeference.ecefZ;
468 georeference.originPlacement = georeference.originPlacement;
469 georeference.originAuthority = georeference.originAuthority;
470 georeference.scale = georeference.scale;
471 double4x4 ecefToLocal = georeference.ecefToLocalMatrix;
472
473 CesiumGeoreference inParent = go.GetComponentInParent<CesiumGeoreference>();
474 inParent.MoveOrigin();
475 inParent.changed += () => { };
476
477 float time = Time.deltaTime;
478
479 GameObject[] gos = GameObject.FindGameObjectsWithTag("test");
480 for (int i = 0; i < gos.Length; ++i)
481 {
482 GameObject goFromArray = gos[i];
483 gos[i] = goFromArray;
484 }
485
486 go = Resources.Load<GameObject>("name");
487 go = UnityEngine.Object.Instantiate(go);
488
489 Mesh.MeshDataArray meshDataArray = Mesh.AllocateWritableMeshData(1);
490 Mesh.MeshData meshData = meshDataArray[meshDataArray.Length - 1];
491
492 VertexAttributeDescriptor[] descriptorsArray = new VertexAttributeDescriptor[1];
493 VertexAttributeDescriptor descriptor0 = descriptorsArray[0];
494
495 meshData.SetVertexBufferParams(1, descriptorsArray);
496 meshData.SetIndexBufferParams(1, IndexFormat.UInt16);
497 meshData.subMeshCount = 1;
498 meshData.SetSubMesh(0, new SubMeshDescriptor(0, 1, MeshTopology.Triangles));
499
500 NativeArray<Vector3> positionNormal = meshData.GetVertexData<Vector3>(0);
501 NativeArray<Vector2> texCoord = meshData.GetVertexData<Vector2>(0);
502 NativeArray<byte> vertexData = meshData.GetVertexData<byte>(0);
503 NativeArray<ushort> indices = meshData.GetIndexData<ushort>();
504 NativeArray<uint> indices32 = meshData.GetIndexData<uint>();
505
506 int positionNormalLength = positionNormal.Length;
507 int texCoordLength = texCoord.Length;
508 int indicesLength = indices.Length;
509 int indices32Length = indices32.Length;
510
511 unsafe
512 {
513 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(positionNormal);
514 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(texCoord);
515 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(indices);
516 NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(indices32);
517 }
518
519 meshDataArray.Dispose();
520
521 Mesh.ApplyAndDisposeWritableMeshData(meshDataArray, meshes, MeshUpdateFlags.Default);
522
523 Helpers.BakeMeshFromId(Helpers.GetObjectId(mesh));
524
525 CesiumCreditComponent creditComponent = new CesiumCreditComponent("text", "link", -1);
526 List<CesiumCreditComponent> creditComponents = new List<CesiumCreditComponent>();
527 creditComponents.Add(creditComponent);
528 int creditCount = creditComponents.Count;
529
530 CesiumCredit credit = new CesiumCredit();
531 credit = new CesiumCredit(creditComponents);
532 creditComponents = credit.components;
533
534 CesiumCreditSystem creditSystem = go.AddComponent<CesiumCreditSystem>();
535 creditSystem = CesiumCreditSystem.GetDefaultCreditSystem();
536 creditSystem.StartCoroutine(creditSystem.LoadImage("string"));
537
538 List<CesiumCredit> credits = creditSystem.onScreenCredits;
539 credits = creditSystem.popupCredits;
540 credits.Add(credit);
541 credits.Clear();
542
543 if (creditSystem.GetNumberOfLoadingImages() == 0)
544 {
545 creditSystem.BroadcastCreditsUpdate();
546 }
547
548 List<Texture2D> images = creditSystem.images;
549 int count = images.Count;
550
551 List<string> stringList = new List<string>();
552 stringList.Add("item");
553 stringList.Clear();
554 count = stringList.Count;
555
556 string test = string.Concat("string", "string2");
557 string[] stringArray = stringList.ToArray();
558 test = stringArray[0];
559 test = stringList[0];
560 test = string.Join(" ", stringArray);
561 string.IsNullOrEmpty("value");
562 string.IsNullOrWhiteSpace("value");
563
564 int length = test.Length;
565
566 int requestsPerCachePrune = CesiumRuntimeSettings.requestsPerCachePrune;
567 ulong maxItems = CesiumRuntimeSettings.maxItems;
568
569 Cesium3DTilesetLoadFailureDetails tilesetDetails
570 = new Cesium3DTilesetLoadFailureDetails(tileset, Cesium3DTilesetLoadType.Unknown, 0, "");
571 Cesium3DTileset.BroadcastCesium3DTilesetLoadFailure(tilesetDetails);
572
573 CesiumRasterOverlayLoadFailureDetails
574 overlayDetails = new CesiumRasterOverlayLoadFailureDetails(
575 overlay,
577 0,
578 "");
579 CesiumRasterOverlay.BroadcastCesiumRasterOverlayLoadFailure(overlayDetails);
580
581 tileset.BroadcastNewGameObjectCreated(new GameObject());
582
583 double3 cv3 = new double3();
584 cv3.x = cv3.y = cv3.z;
585 double3 cv4 = new double3(1.0, 2.0, 3.0);
586 double3x3 matrix3x3 = double3x3.identity;
587
588 go.GetComponent<CesiumGlobeAnchor>();
589 CesiumGlobeAnchor[] globeAnchors = go.GetComponentsInChildren<CesiumGlobeAnchor>();
590 globeAnchors = go.GetComponentsInChildren<CesiumGlobeAnchor>(true);
591 CesiumGlobeAnchor globeAnchor = globeAnchors[globeAnchors.Length - 1];
592 globeAnchor.positionGlobeFixed = globeAnchor.positionGlobeFixed;
593
594 Cesium3DTileset[] tilesets = go.GetComponentsInChildren<Cesium3DTileset>();
595 tileset = tilesets[tilesets.Length - 1];
596
597 CesiumSimplePlanarEllipsoidCurve planarEllipsoidCurve =
598 CesiumSimplePlanarEllipsoidCurve.FromCenteredFixedCoordinates(
599 CesiumEllipsoid.WGS84,
600 new double3(0, 0, 0),
601 new double3(0, 0, 0));
602 CesiumEllipsoid ellipsoid = CesiumEllipsoid.WGS84;
603 ellipsoid.radii = new double3(0.0, 0.0, 0.0);
604 georeference.ellipsoid = ellipsoid;
605
606 globeAnchor = go.AddComponent<CesiumGlobeAnchor>();
607 globeAnchor.detectTransformChanges = globeAnchor.detectTransformChanges;
608 globeAnchor.adjustOrientationForGlobeWhenMoving = globeAnchor.adjustOrientationForGlobeWhenMoving;
609 globeAnchor.longitudeLatitudeHeight = globeAnchor.longitudeLatitudeHeight;
610 globeAnchor.localToGlobeFixedMatrix = globeAnchor.localToGlobeFixedMatrix;
611
612 // Private properties for use by the C++ class.
613 globeAnchor._georeference = null;
614 globeAnchor._localToGlobeFixedMatrix = new double4x4();
615 globeAnchor._localToGlobeFixedMatrixIsValid = true;
616 globeAnchor._lastLocalsAreValid = true;
617 globeAnchor._lastLocalPosition = new Vector3();
618 globeAnchor._lastLocalRotation = new Quaternion();
619 globeAnchor._lastLocalScale = new Vector3();
620 globeAnchor._lastEllipsoidRadii = new double3();
621 globeAnchor.UpdateGeoreferenceIfNecessary();
622
623 CesiumTileExcluder[] excluders = go.GetComponentsInParent<CesiumTileExcluder>();
624 CesiumTileExcluder excluder = excluders[0];
625 excluder.AddToTileset(null);
626 excluder.RemoveFromTileset(null);
627 excluder.ShouldExclude(new Cesium3DTile());
628 Cesium3DTile tile = new Cesium3DTile();
629 tile._transform = new double4x4();
630 tile._pTile = IntPtr.Zero;
631 tile._pTileEllipsoid = IntPtr.Zero;
632
633 Cesium3DTileInfo info;
634 info.usesAdditiveRefinement = true;
635 info.geometricError = 1.0f;
636 info.dimensions = Vector3.zero;
637 info.isTranslucent = true;
638
639 CesiumPointCloudRenderer renderer = go.AddComponent<CesiumPointCloudRenderer>();
640 renderer.tileInfo = info;
641
642 CesiumObjectPool<Mesh> meshPool = CesiumObjectPools.MeshPool;
643 Mesh pooledMesh = meshPool.Get();
644 meshPool.Release(pooledMesh);
645
646 System.Object myObject = null;
647
648 CesiumIntVec2 myIntVec2 = new CesiumIntVec2((SByte)1, (SByte)2);
649 myIntVec2 = new CesiumIntVec2((Int16)1, (Int16)2);
650 myIntVec2 = new CesiumIntVec2((Int32)1, (Int32)2);
651 myIntVec2 = new CesiumIntVec2((Int64)1, (Int64)2);
652 CesiumIntVec3 myIntVec3 = new CesiumIntVec3((SByte)1, (SByte)2, (SByte)3);
653 myIntVec3 = new CesiumIntVec3((Int16)1, (Int16)2, (Int16)3);
654 myIntVec3 = new CesiumIntVec3((Int32)1, (Int32)2, (Int32)3);
655 myIntVec3 = new CesiumIntVec3((Int64)1, (Int64)2, (Int64)3);
656 CesiumIntVec4 myIntVec4 = new CesiumIntVec4((SByte)1, (SByte)2, (SByte)3, (SByte)4);
657 myIntVec4 = new CesiumIntVec4((Int16)1, (Int16)2, (Int16)3, (Int16)4);
658 myIntVec4 = new CesiumIntVec4((Int32)1, (Int32)2, (Int32)3, (Int32)4);
659 myIntVec4 = new CesiumIntVec4((Int64)1, (Int64)2, (Int64)3, (Int64)4);
660 myObject = myIntVec2[0];
661 myObject = myIntVec3[0];
662 myObject = myIntVec4[0];
663 CesiumUintVec2 myUintVec2 = new CesiumUintVec2((Byte)1, (Byte)2);
664 myUintVec2 = new CesiumUintVec2((UInt16)1, (UInt16)2);
665 myUintVec2 = new CesiumUintVec2((UInt32)1, (UInt32)2);
666 myUintVec2 = new CesiumUintVec2((UInt64)1, (UInt64)2);
667 CesiumUintVec3 myUintVec3 = new CesiumUintVec3((Byte)1, (Byte)2, (Byte)3);
668 myUintVec3 = new CesiumUintVec3((UInt16)1, (UInt16)2, (UInt16)3);
669 myUintVec3 = new CesiumUintVec3((UInt32)1, (UInt32)2, (UInt32)3);
670 myUintVec3 = new CesiumUintVec3((UInt64)1, (UInt64)2, (UInt64)3);
671 CesiumUintVec4 myUintVec4 = new CesiumUintVec4((Byte)1, (Byte)2, (Byte)3, (Byte)4);
672 myUintVec4 = new CesiumUintVec4((UInt16)1, (UInt16)2, (UInt16)3, (UInt16)4);
673 myUintVec4 = new CesiumUintVec4((UInt32)1, (UInt32)2, (UInt32)3, (UInt32)4);
674 myUintVec4 = new CesiumUintVec4((UInt64)1, (UInt64)2, (UInt64)3, (UInt64)4);
675 myObject = myUintVec2[0];
676 myObject = myUintVec3[0];
677 myObject = myUintVec4[0];
678 CesiumIntMat2x2 myIntMat2 = new CesiumIntMat2x2(myIntVec2, myIntVec2);
679 CesiumIntMat3x3 myIntMat3 = new CesiumIntMat3x3(myIntVec3, myIntVec3, myIntVec3);
680 CesiumIntMat4x4 myIntMat4 = new CesiumIntMat4x4(myIntVec4, myIntVec4, myIntVec4, myIntVec4);
681 myObject = myIntMat2[0];
682 myObject = myIntMat3[0];
683 myObject = myIntMat4[0];
684 CesiumUintMat2x2 myUintMat2 = new CesiumUintMat2x2(myUintVec2, myUintVec2);
685 CesiumUintMat3x3 myUintMat3 = new CesiumUintMat3x3(myUintVec3, myUintVec3, myUintVec3);
686 CesiumUintMat4x4 myUintMat4 = new CesiumUintMat4x4(myUintVec4, myUintVec4, myUintVec4, myUintVec4);
687 myObject = myUintMat2[0];
688 myObject = myUintMat3[0];
689 myObject = myUintMat4[0];
690
691 int2 myInt2 = new int2(1, 2);
692 int3 myInt3 = new int3(1, 2, 3);
693 int4 myInt4 = new int4(1, 2, 3, 4);
694 uint2 myUint2 = new uint2(1, 2);
695 uint3 myUint3 = new uint3(1, 2, 3);
696 uint4 myUint4 = new uint4(1, 2, 3, 4);
697 float2 myFloat2 = new float2(1, 2);
698 float3 myFloat3 = new float3(1, 2, 3);
699 float4 myFloat4 = new float4(1, 2, 3, 4);
700 myObject = myFloat2[0];
701 myObject = myFloat3[0];
702 myObject = myFloat4[0];
703 double2 myDouble2 = new double2(1, 2);
704 double3 myDouble3 = new double3(1, 2, 3);
705 double4 myDouble4 = new double4(1, 2, 3, 4);
706 myObject = myDouble2[0];
707 myObject = myDouble3[0];
708 myObject = myDouble4[0];
709 int2x2 myInt2x2 = new int2x2(myInt2, myInt2);
710 int3x3 myInt3x3 = new int3x3(myInt3, myInt3, myInt3);
711 int4x4 myInt4x4 = new int4x4(myInt4, myInt4, myInt4, myInt4);
712 uint2x2 myUint2x2 = new uint2x2(myUint2, myUint2);
713 uint3x3 myUint3x3 = new uint3x3(myUint3, myUint3, myUint3);
714 uint4x4 myUint4x4 = new uint4x4(myUint4, myUint4, myUint4, myUint4);
715 float2x2 myFloat2x2 = new float2x2(myFloat2, myFloat2);
716 float3x3 myFloat3x3 = new float3x3(myFloat3, myFloat3, myFloat3);
717 float4x4 myFloat4x4 = new float4x4(myFloat4, myFloat4, myFloat4, myFloat4);
718 myObject = myFloat2x2[0];
719 myObject = myFloat3x3[0];
720 myObject = myFloat4x4[0];
721 double2x2 myDouble2x2 = new double2x2(myDouble2, myDouble2);
722 double3x3 myDouble3x3 = new double3x3(myDouble3, myDouble3, myDouble3);
723 double4x4 myDouble4x4 = new double4x4(myDouble4, myDouble4, myDouble4, myDouble4);
724 myObject = myDouble2x2[0];
725 myObject = myDouble3x3[0];
726 myObject = myDouble4x4[0];
727
728 CesiumMetadataValueType valueType = new CesiumMetadataValueType(
729 CesiumMetadataType.Invalid,
731 false);
732 valueType.type = CesiumMetadataType.Invalid;
733 valueType.componentType = CesiumMetadataComponentType.None;
734 valueType.isArray = false;
735
736 CesiumPropertyArray array = new CesiumPropertyArray();
737 array.elementValueType = new CesiumMetadataValueType();
738 array.values = new CesiumMetadataValue[10];
739 array.values[0] = new CesiumMetadataValue();
740 length = array.values.Length;
741
742 CesiumMetadataValue myValue = new CesiumMetadataValue();
743 myValue.SetObjectValue(false);
744 myValue.SetObjectValue((SByte)0);
745 myValue.SetObjectValue((Byte)0);
746 myValue.SetObjectValue((Int16)0);
747 myValue.SetObjectValue((UInt16)0);
748 myValue.SetObjectValue((Int32)0);
749 myValue.SetObjectValue((UInt32)0);
750 myValue.SetObjectValue((Int64)0);
751 myValue.SetObjectValue((UInt64)0);
752 myValue.SetObjectValue(0.0f);
753 myValue.SetObjectValue(0.0);
754 myValue.SetObjectValue(myIntVec2);
755 myValue.SetObjectValue(myIntVec3);
756 myValue.SetObjectValue(myIntVec4);
757 myValue.SetObjectValue(myUintVec2);
758 myValue.SetObjectValue(myUintVec3);
759 myValue.SetObjectValue(myUintVec4);
760 myValue.SetObjectValue(myFloat2);
761 myValue.SetObjectValue(myFloat3);
762 myValue.SetObjectValue(myFloat4);
763 myValue.SetObjectValue(myDouble2);
764 myValue.SetObjectValue(myDouble3);
765 myValue.SetObjectValue(myDouble4);
766 myValue.SetObjectValue(myIntMat2);
767 myValue.SetObjectValue(myIntMat3);
768 myValue.SetObjectValue(myIntMat4);
769 myValue.SetObjectValue(myUintMat2);
770 myValue.SetObjectValue(myUintMat3);
771 myValue.SetObjectValue(myUintMat4);
772 myValue.SetObjectValue(myFloat2x2);
773 myValue.SetObjectValue(myFloat3x3);
774 myValue.SetObjectValue(myFloat4x4);
775 myValue.SetObjectValue(myDouble2x2);
776 myValue.SetObjectValue(myDouble3x3);
777 myValue.SetObjectValue(myDouble4x4);
778 myValue.SetObjectValue("test");
779 myValue.SetObjectValue(array);
780 valueType = myValue.valueType;
781
782 myObject = myValue.objectValue;
783 CesiumMetadataValue.GetObjectAsBoolean(myObject);
784 CesiumMetadataValue.GetObjectAsSByte(myObject);
785 CesiumMetadataValue.GetObjectAsByte(myObject);
786 CesiumMetadataValue.GetObjectAsInt16(myObject);
787 CesiumMetadataValue.GetObjectAsUInt16(myObject);
788 CesiumMetadataValue.GetObjectAsInt32(myObject);
789 CesiumMetadataValue.GetObjectAsUInt32(myObject);
790 CesiumMetadataValue.GetObjectAsInt64(myObject);
791 CesiumMetadataValue.GetObjectAsUInt64(myObject);
792 CesiumMetadataValue.GetObjectAsFloat(myObject);
793 CesiumMetadataValue.GetObjectAsDouble(myObject);
794 CesiumMetadataValue.GetObjectAsCesiumIntVec2(myObject);
795 CesiumMetadataValue.GetObjectAsCesiumIntVec3(myObject);
796 CesiumMetadataValue.GetObjectAsCesiumIntVec4(myObject);
797 CesiumMetadataValue.GetObjectAsCesiumUintVec2(myObject);
798 CesiumMetadataValue.GetObjectAsCesiumUintVec3(myObject);
799 CesiumMetadataValue.GetObjectAsCesiumUintVec4(myObject);
800 CesiumMetadataValue.GetObjectAsFloat2(myObject);
801 CesiumMetadataValue.GetObjectAsFloat3(myObject);
802 CesiumMetadataValue.GetObjectAsFloat4(myObject);
803 CesiumMetadataValue.GetObjectAsDouble2(myObject);
804 CesiumMetadataValue.GetObjectAsDouble3(myObject);
805 CesiumMetadataValue.GetObjectAsDouble4(myObject);
806 CesiumMetadataValue.GetObjectAsCesiumIntMat2x2(myObject);
807 CesiumMetadataValue.GetObjectAsCesiumIntMat3x3(myObject);
808 CesiumMetadataValue.GetObjectAsCesiumIntMat4x4(myObject);
809 CesiumMetadataValue.GetObjectAsCesiumUintMat2x2(myObject);
810 CesiumMetadataValue.GetObjectAsCesiumUintMat3x3(myObject);
811 CesiumMetadataValue.GetObjectAsCesiumUintMat4x4(myObject);
812 CesiumMetadataValue.GetObjectAsFloat2x2(myObject);
813 CesiumMetadataValue.GetObjectAsFloat3x3(myObject);
814 CesiumMetadataValue.GetObjectAsFloat4x4(myObject);
815 CesiumMetadataValue.GetObjectAsDouble2x2(myObject);
816 CesiumMetadataValue.GetObjectAsDouble3x3(myObject);
817 CesiumMetadataValue.GetObjectAsDouble4x4(myObject);
818 CesiumMetadataValue.GetObjectAsString(myObject);
819
820 myValue.GetBoolean();
821 myValue.GetSByte();
822 myValue.GetByte();
823 myValue.GetInt16();
824 myValue.GetUInt16();
825 myValue.GetInt32();
826 myValue.GetUInt32();
827 myValue.GetInt64();
828 myValue.GetUInt64();
829 myValue.GetFloat();
830 myValue.GetDouble();
831 myValue.GetString();
832 myValue.GetArray();
833
834 CesiumPrimitiveFeatures primitiveFeatures = go.AddComponent<CesiumPrimitiveFeatures>();
835 primitiveFeatures = go.GetComponent<CesiumPrimitiveFeatures>();
836 CesiumFeatureIdSet[] sets = primitiveFeatures.featureIdSets;
837 sets = new CesiumFeatureIdSet[10];
838 sets[0] = new CesiumFeatureIdSet();
839 sets[0] = new CesiumFeatureIdSet(1);
840 sets[0].featureCount = 1;
841 sets[0].label = "label";
842 sets[0].nullFeatureId = 0;
843 sets[0].propertyTableIndex = 0;
844 sets[0].Dispose();
845
846 CesiumFeatureIdAttribute featureIdAttribute = new CesiumFeatureIdAttribute();
847 featureIdAttribute.status = featureIdAttribute.status;
848 featureIdAttribute.featureCount = 1;
849 featureIdAttribute.label = "label";
850 featureIdAttribute.nullFeatureId = 0;
851 featureIdAttribute.propertyTableIndex = 0;
852
853 CesiumFeatureIdTexture featureIdTexture = new CesiumFeatureIdTexture();
854 featureIdTexture.status = featureIdTexture.status;
855 featureIdTexture.featureCount = 1;
856 featureIdTexture.label = "label";
857 featureIdTexture.nullFeatureId = 0;
858 featureIdTexture.propertyTableIndex = 0;
859
860 primitiveFeatures.featureIdSets[0] = featureIdAttribute;
861 primitiveFeatures.featureIdSets[1] = featureIdTexture;
862
863 CesiumModelMetadata modelMetadata = go.AddComponent<CesiumModelMetadata>();
864 modelMetadata = go.GetComponent<CesiumModelMetadata>();
865 modelMetadata.propertyTables = modelMetadata.propertyTables;
866 modelMetadata.propertyTables[0] = modelMetadata.propertyTables[0];
867 length = modelMetadata.propertyTables.Length;
868
869 CesiumPropertyTable propertyTable = new CesiumPropertyTable();
870 propertyTable.status = CesiumPropertyTableStatus.Valid;
871 propertyTable.name = "";
872 propertyTable.count = 0;
873 propertyTable.properties = propertyTable.properties;
874 propertyTable.properties = new Dictionary<String, CesiumPropertyTableProperty>(10);
875 propertyTable.properties.Add("Test", new CesiumPropertyTableProperty());
876 propertyTable.DisposeProperties();
877
878 CesiumPropertyTableProperty property = new CesiumPropertyTableProperty();
879 property.status = property.status;
880 property.size = property.size;
881 property.arraySize = property.arraySize;
882 property.isNormalized = property.isNormalized;
883 property.offset = myValue;
884 property.scale = myValue;
885 property.min = myValue;
886 property.max = myValue;
887 property.noData = myValue;
888 property.defaultValue = myValue;
889 property.valueType = property.valueType;
890
891 RaycastHit hitInfo = new RaycastHit();
892 primitiveFeatures = hitInfo.transform.GetComponent<CesiumPrimitiveFeatures>();
893 int triangleIndex = hitInfo.triangleIndex;
894 Vector3 hitPoint = hitInfo.point;
895
896 Vector2 textureCoordinate = new Vector2();
897 textureCoordinate.x = textureCoordinate.y;
898 hitPoint = m2.MultiplyPoint3x4(hitPoint);
899
900 CesiumIonServer server = CesiumIonServer.defaultServer;
901 server.serverUrl = "";
902 server.apiUrl = "";
903 server.oauth2ApplicationID = 1;
904 server.defaultIonAccessToken = "";
905 server.defaultIonAccessTokenId = "";
906 server.serverUrlThatIsLoadingApiUrl = "";
907
908 CesiumCartographicPolygon polygon = go.GetComponent<CesiumCartographicPolygon>();
909 polygon.enabled = polygon.enabled;
910
911 List<double2> points = polygon.GetCartographicPoints(m);
912 len = points.Count;
913 myDouble2 = points[0];
914
915 CesiumPolygonRasterOverlay polygonRasterOverlay = go.GetComponent<CesiumPolygonRasterOverlay>();
916 List<CesiumCartographicPolygon> polygons = polygonRasterOverlay.polygons;
917 polygonRasterOverlay.excludeSelectedTiles = polygonRasterOverlay.excludeSelectedTiles;
918 polygonRasterOverlay.invertSelection = polygonRasterOverlay.invertSelection;
919 polygon = polygons[0];
920 len = polygons.Count;
921
922 CesiumGeoJsonDocumentRasterOverlay geoJsonOverlay =
923 go.GetComponent<CesiumGeoJsonDocumentRasterOverlay>();
924 geoJsonOverlay.source = geoJsonOverlay.source;
925 geoJsonOverlay.url = geoJsonOverlay.url;
926 geoJsonOverlay.ionAssetID = geoJsonOverlay.ionAssetID;
927 geoJsonOverlay.ionAccessToken = geoJsonOverlay.ionAccessToken;
928 geoJsonOverlay.ionServer = geoJsonOverlay.ionServer;
929 geoJsonOverlay.mipLevels = geoJsonOverlay.mipLevels;
930 CesiumVectorStyle vectorStyle = geoJsonOverlay.defaultStyle;
931 geoJsonOverlay.defaultStyle = vectorStyle;
932 CesiumGeoJsonDocument overlayDoc = geoJsonOverlay.document;
933
934 // CesiumGeoJsonDocument and CesiumGeoJsonObject
935 CesiumGeoJsonDocument geoJsonDoc = new CesiumGeoJsonDocument();
936 geoJsonDoc.ParseInternal("");
937 bool isDocValid = geoJsonDoc.IsValid();
938 CesiumGeoJsonObject geoJsonObj = new CesiumGeoJsonObject();
939 geoJsonObj = geoJsonDoc.GetRootObject();
940 CesiumGeoJsonObjectType objType = geoJsonObj.GetObjectType();
941 bool isObjValid = geoJsonObj.IsValid();
942 bool hasGeoJsonStyle = geoJsonObj.HasStyle();
943 vectorStyle = geoJsonObj.GetStyle();
944 geoJsonObj.SetStyle(vectorStyle);
945 geoJsonObj.ClearStyle();
946
947 // CesiumGeoJsonFeature
948 CesiumGeoJsonFeature geoJsonFeature = new CesiumGeoJsonFeature();
949 geoJsonFeature = geoJsonObj.GetObjectAsFeature();
950 CesiumGeoJsonFeature[] geoJsonFeatures = geoJsonObj.GetObjectAsFeatureCollection();
951 geoJsonFeature = geoJsonFeatures[0];
952 int featureCount = geoJsonFeatures.Length;
953 CesiumGeoJsonFeatureIdType idType = geoJsonFeature.GetIdType();
954 string featureIdStr = geoJsonFeature.GetIdAsString();
955 long featureIdInt = geoJsonFeature.GetIdAsInteger();
956 string propsJson = geoJsonFeature.GetPropertiesAsJson();
957 string strProp = geoJsonFeature.GetStringProperty("");
958 double numProp = geoJsonFeature.GetNumericProperty("");
959 bool hasProp = geoJsonFeature.HasProperty("");
960 CesiumGeoJsonObject featureGeom = geoJsonFeature.GetGeometry();
961 // CesiumGeoJsonLineString
962 CesiumGeoJsonLineString geoJsonLineString = new CesiumGeoJsonLineString();
963 double3[] lineStringPoints = geoJsonLineString.points;
964 geoJsonLineString.points = lineStringPoints;
965
966 // CesiumGeoJsonPolygon
967 CesiumGeoJsonPolygon geoJsonPolygon = new CesiumGeoJsonPolygon();
968 CesiumGeoJsonLineString[] polygonRings = geoJsonPolygon.rings;
969 geoJsonPolygon.rings = polygonRings;
970 CesiumGeoJsonLineString polygonRing = polygonRings[0];
971 int polygonRingCount = polygonRings.Length;
972
973 // Geometry subtypes on CesiumGeoJsonObject
974 double3 pointCoord = geoJsonObj.GetObjectAsPoint();
975 double3[] multiPointCoords = geoJsonObj.GetObjectAsMultiPoint();
976 double3 multiPointCoord = multiPointCoords[0];
977 int multiPointCount = multiPointCoords.Length;
978 CesiumGeoJsonLineString lineStringGeom = geoJsonObj.GetObjectAsLineString();
979 CesiumGeoJsonLineString[] multiLineStringGeom = geoJsonObj.GetObjectAsMultiLineString();
980 CesiumGeoJsonLineString multiLineStringItem = multiLineStringGeom[0];
981 int multiLineStringCount = multiLineStringGeom.Length;
982 CesiumGeoJsonPolygon polygonGeom = geoJsonObj.GetObjectAsPolygon();
983 CesiumGeoJsonPolygon[] multiPolygonGeom = geoJsonObj.GetObjectAsMultiPolygon();
984 CesiumGeoJsonPolygon multiPolygonItem = multiPolygonGeom[0];
985 int multiPolygonCount = multiPolygonGeom.Length;
986 CesiumGeoJsonObject[] geometryCollection = geoJsonObj.GetObjectAsGeometryCollection();
987 CesiumGeoJsonObject geometryCollectionItem = geometryCollection[0];
988 int geometryCollectionCount = geometryCollection.Length;
989
990 Action<CesiumGeoJsonDocument> docCallback = (doc) => { };
991 CesiumVectorLineStyle lineStyle = vectorStyle.lineStyle;
992 vectorStyle.lineStyle = lineStyle;
993 Color32 lineColor = lineStyle.color;
994 lineStyle.color = lineColor;
995 CesiumVectorColorMode colorMode = lineStyle.colorMode;
996 lineStyle.colorMode = colorMode;
997 double lineWidth = lineStyle.width;
998 lineStyle.width = lineWidth;
999 CesiumVectorLineWidthMode widthMode = lineStyle.widthMode;
1000 lineStyle.widthMode = widthMode;
1001 CesiumVectorPolygonStyle polygonStyleV = vectorStyle.polygonStyle;
1002 vectorStyle.polygonStyle = polygonStyleV;
1003 bool fillEnabled = polygonStyleV.fill;
1004 polygonStyleV.fill = fillEnabled;
1005 CesiumVectorPolygonFillStyle fillStyle = polygonStyleV.fillStyle;
1006 polygonStyleV.fillStyle = fillStyle;
1007 Color32 fillColor = fillStyle.color;
1008 fillStyle.color = fillColor;
1009 CesiumVectorColorMode fillColorMode = fillStyle.colorMode;
1010 fillStyle.colorMode = fillColorMode;
1011 bool outlineEnabled = polygonStyleV.outline;
1012 polygonStyleV.outline = outlineEnabled;
1013 CesiumVectorLineStyle outlineStyle = polygonStyleV.outlineStyle;
1014 polygonStyleV.outlineStyle = outlineStyle;
1015 baseOverlay = geoJsonOverlay;
1016
1017 TestGltfModel testModel = new TestGltfModel();
1018
1019 bool[] boolArray = { };
1020 UInt16[] uint16Array = { };
1021 int[] intArray = { };
1022 double[] doubleArray = { };
1023 float2[] float2Array = { };
1024 float3[] float3Array = { };
1025 float4[] float4Array = { };
1026 float2x2[] float2x2Array = { };
1027 float3x3[] float3x3Array = { };
1028 float4x4[] float4x4Array = { };
1029
1030 bool boolValue = boolArray[0];
1031 UInt16 uint16Value = uint16Array[0];
1032 int intValue = intArray[0];
1033 double doubleValue = doubleArray[0];
1034 myFloat2 = float2Array[0];
1035 myFloat3 = float3Array[0];
1036 myFloat4 = float4Array[0];
1037 myFloat2x2 = float2x2Array[0];
1038 myFloat3x3 = float3x3Array[0];
1039 myFloat4x4 = float4x4Array[0];
1040
1041 length = boolArray.Length;
1042 length = uint16Array.Length;
1043 length = intArray.Length;
1044 length = doubleArray.Length;
1045 length = stringArray.Length;
1046 length = float2Array.Length;
1047 length = float3Array.Length;
1048 length = float4Array.Length;
1049 length = float2x2Array.Length;
1050 length = float3x3Array.Length;
1051 length = float4x4Array.Length;
1052
1053 CesiumCameraManager manager = CesiumCameraManager.GetOrCreate(go);
1054 manager.useSceneViewCameraInEditor = false;
1055 manager.useMainCamera = false;
1056 Camera camera = null;
1057 for (int i = 0; i < manager.additionalCameras.Count; ++i)
1058 {
1059 camera = manager.additionalCameras[i];
1060 }
1061
1062 TaskCompletionSource<CesiumSampleHeightResult> promise =
1063 new TaskCompletionSource<CesiumSampleHeightResult>();
1064 promise.SetException(new Exception("message"));
1065 CesiumSampleHeightResult result = new CesiumSampleHeightResult();
1066 result.longitudeLatitudeHeightPositions = null;
1067 result.sampleSuccess = null;
1068 result.warnings = null;
1069 promise.SetResult(result);
1070 Task<CesiumSampleHeightResult> task = promise.Task;
1071
1072 double3[] positions = null;
1073 for (int i = 0; i < positions.Length; ++i)
1074 {
1075 positions[i] = positions[i];
1076 }
1077
1078#if UNITY_EDITOR
1079 SceneView sv = SceneView.lastActiveSceneView;
1080 sv.pivot = sv.pivot;
1081 sv.rotation = sv.rotation;
1082 Camera svc = sv.camera;
1083 svc.transform.SetPositionAndRotation(p, q);
1084
1085 bool isPlaying = EditorApplication.isPlaying;
1086 EditorApplication.update += () => { };
1087
1088 EditorUtility.SetDirty(null);
1089#endif
1090
1091 TestReinterop.ThrowAnException();
1092 System.Exception exception = null;
1093 var message = exception.Message;
1094
1095#if UNITY_EDITOR
1096 AssemblyReloadEvents.afterAssemblyReload += () => { };
1097 AssemblyReloadEvents.beforeAssemblyReload += () => { };
1098 AppDomain.CurrentDomain.DomainUnload += (sender, e) => { };
1099#endif
1100
1101 Scene scene = SceneManager.GetSceneAt(SceneManager.sceneCount - 1);
1102 scene.GetRootGameObjects();
1103 }
1104 }
1105}
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.