org.outernet.cesium-unity 1.15.3-linux.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +420 -0
- package/CHANGES.md.meta +7 -0
- package/Editor/BuildCesiumForUnity.cs +186 -0
- package/Editor/BuildCesiumForUnity.cs.meta +11 -0
- package/Editor/Cesium3DTilesetEditor.cs +542 -0
- package/Editor/Cesium3DTilesetEditor.cs.meta +11 -0
- package/Editor/CesiumBingMapsRasterOverlayEditor.cs +66 -0
- package/Editor/CesiumBingMapsRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumCameraControllerEditor.cs +174 -0
- package/Editor/CesiumCameraControllerEditor.cs.meta +11 -0
- package/Editor/CesiumCameraManagerEditor.cs +65 -0
- package/Editor/CesiumCameraManagerEditor.cs.meta +11 -0
- package/Editor/CesiumCartographicPolygonEditor.cs +23 -0
- package/Editor/CesiumCartographicPolygonEditor.cs.meta +11 -0
- package/Editor/CesiumDebugColorizeTilesRasterOverlayEditor.cs +41 -0
- package/Editor/CesiumDebugColorizeTilesRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumEditor.asmdef +26 -0
- package/Editor/CesiumEditor.asmdef.meta +7 -0
- package/Editor/CesiumEditorStyle.cs +188 -0
- package/Editor/CesiumEditorStyle.cs.meta +11 -0
- package/Editor/CesiumEditorUtility.cs +394 -0
- package/Editor/CesiumEditorUtility.cs.meta +11 -0
- package/Editor/CesiumEditorWindow.cs +447 -0
- package/Editor/CesiumEditorWindow.cs.meta +11 -0
- package/Editor/CesiumFlyToControllerEditor.cs +76 -0
- package/Editor/CesiumFlyToControllerEditor.cs.meta +11 -0
- package/Editor/CesiumGeoreferenceEditor.cs +277 -0
- package/Editor/CesiumGeoreferenceEditor.cs.meta +11 -0
- package/Editor/CesiumGlobeAnchorEditor.cs +202 -0
- package/Editor/CesiumGlobeAnchorEditor.cs.meta +11 -0
- package/Editor/CesiumInspectorGUI.cs +187 -0
- package/Editor/CesiumInspectorGUI.cs.meta +11 -0
- package/Editor/CesiumIonAsset.cs +192 -0
- package/Editor/CesiumIonAsset.cs.meta +11 -0
- package/Editor/CesiumIonAssetsWindow.cs +257 -0
- package/Editor/CesiumIonAssetsWindow.cs.meta +11 -0
- package/Editor/CesiumIonRasterOverlayEditor.cs +87 -0
- package/Editor/CesiumIonRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumIonServerManager.cs +153 -0
- package/Editor/CesiumIonServerManager.cs.meta +11 -0
- package/Editor/CesiumIonServerSelector.cs +127 -0
- package/Editor/CesiumIonServerSelector.cs.meta +11 -0
- package/Editor/CesiumIonSession.cs +102 -0
- package/Editor/CesiumIonSession.cs.meta +11 -0
- package/Editor/CesiumPolygonRasterOverlayEditor.cs +102 -0
- package/Editor/CesiumPolygonRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumRasterOverlayEditor.cs +230 -0
- package/Editor/CesiumRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumSubSceneEditor.cs +201 -0
- package/Editor/CesiumSubSceneEditor.cs.meta +11 -0
- package/Editor/CesiumTileMapServiceRasterOverlayEditor.cs +88 -0
- package/Editor/CesiumTileMapServiceRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumWebMapServiceRasterOverlayEditor.cs +111 -0
- package/Editor/CesiumWebMapServiceRasterOverlayEditor.cs.meta +11 -0
- package/Editor/CesiumWebMapTileServiceRasterOverlayEditor.cs +277 -0
- package/Editor/CesiumWebMapTileServiceRasterOverlayEditor.cs.meta +3 -0
- package/Editor/CompileCesiumForUnityNative.cs +581 -0
- package/Editor/CompileCesiumForUnityNative.cs.meta +11 -0
- package/Editor/ConfigureReinterop.cs +255 -0
- package/Editor/ConfigureReinterop.cs.meta +11 -0
- package/Editor/Helpers.cs +102 -0
- package/Editor/Helpers.cs.meta +11 -0
- package/Editor/IonAssetsMultiColumnHeader.cs +45 -0
- package/Editor/IonAssetsMultiColumnHeader.cs.meta +11 -0
- package/Editor/IonAssetsTreeView.cs +214 -0
- package/Editor/IonAssetsTreeView.cs.meta +11 -0
- package/Editor/IonMissingAssetWindow.cs +65 -0
- package/Editor/IonMissingAssetWindow.cs.meta +11 -0
- package/Editor/IonTokenTroubleshootingWindow.cs +615 -0
- package/Editor/IonTokenTroubleshootingWindow.cs.meta +11 -0
- package/Editor/NativeDownloadHandler.cs +35 -0
- package/Editor/NativeDownloadHandler.cs.meta +11 -0
- package/Editor/QuickAddItem.cs +43 -0
- package/Editor/QuickAddItem.cs.meta +11 -0
- package/Editor/Resources/Cesium-128x128.png +0 -0
- package/Editor/Resources/Cesium-128x128.png.meta +98 -0
- package/Editor/Resources/Cesium-24x24.png +0 -0
- package/Editor/Resources/Cesium-24x24.png.meta +123 -0
- package/Editor/Resources/Cesium-64x64.png +0 -0
- package/Editor/Resources/Cesium-64x64.png.meta +98 -0
- package/Editor/Resources/Cesium-for-Unity-dark.png +0 -0
- package/Editor/Resources/Cesium-for-Unity-dark.png.meta +123 -0
- package/Editor/Resources/Cesium-for-Unity-light.png +0 -0
- package/Editor/Resources/Cesium-for-Unity-light.png.meta +123 -0
- package/Editor/Resources/Cesium-icon-16x16.png +0 -0
- package/Editor/Resources/Cesium-icon-16x16.png.meta +98 -0
- package/Editor/Resources/FontAwesome/attribution.txt +9 -0
- package/Editor/Resources/FontAwesome/attribution.txt.meta +7 -0
- package/Editor/Resources/FontAwesome/book-reader-solid.png +0 -0
- package/Editor/Resources/FontAwesome/book-reader-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/book-reader-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/book-reader-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/check-solid.png +0 -0
- package/Editor/Resources/FontAwesome/check-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/check-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/check-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.png +0 -0
- package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/cloud-upload-alt-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/folder.png +0 -0
- package/Editor/Resources/FontAwesome/folder.png.meta +147 -0
- package/Editor/Resources/FontAwesome/folder.svg +5 -0
- package/Editor/Resources/FontAwesome/folder.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/hands-helping-solid.png +0 -0
- package/Editor/Resources/FontAwesome/hands-helping-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/hands-helping-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/hands-helping-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/key-solid.png +0 -0
- package/Editor/Resources/FontAwesome/key-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/key-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/key-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/plus-solid.png +0 -0
- package/Editor/Resources/FontAwesome/plus-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/plus-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/plus-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/sign-out-alt-solid.png +0 -0
- package/Editor/Resources/FontAwesome/sign-out-alt-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/sign-out-alt-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/sign-out-alt-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/sync-alt-solid.png +0 -0
- package/Editor/Resources/FontAwesome/sync-alt-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/sync-alt-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/sync-alt-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome/times-solid.png +0 -0
- package/Editor/Resources/FontAwesome/times-solid.png.meta +98 -0
- package/Editor/Resources/FontAwesome/times-solid.svg +1 -0
- package/Editor/Resources/FontAwesome/times-solid.svg.meta +7 -0
- package/Editor/Resources/FontAwesome.meta +8 -0
- package/Editor/Resources.meta +8 -0
- package/Editor/SelectIonTokenWindow.cs +249 -0
- package/Editor/SelectIonTokenWindow.cs.meta +11 -0
- package/Editor/arm64.meta +8 -0
- package/Editor/csc.rsp +1 -0
- package/Editor/csc.rsp.meta +7 -0
- package/Editor/libCesiumForUnityNative-Editor.so +0 -0
- package/Editor/libCesiumForUnityNative-Editor.so.meta +2 -0
- package/Editor/libCesiumForUnityNative-Runtime.so +0 -0
- package/Editor/libCesiumForUnityNative-Runtime.so.meta +2 -0
- package/Editor/x86_64.meta +8 -0
- package/Editor.meta +8 -0
- package/LICENSE +201 -0
- package/LICENSE.meta +7 -0
- package/Plugins/Standalone/libCesiumForUnityNative-Runtime.so +0 -0
- package/Plugins/Standalone/libCesiumForUnityNative-Runtime.so.meta +2 -0
- package/Plugins/Standalone.meta +8 -0
- package/Plugins.meta +8 -0
- package/README.md +39 -0
- package/README.md.meta +7 -0
- package/Reinterop.deps.json +172 -0
- package/Reinterop.deps.json.meta +7 -0
- package/Reinterop.dll +0 -0
- package/Reinterop.dll.meta +79 -0
- package/Runtime/Cesium3DTile.cs +37 -0
- package/Runtime/Cesium3DTile.cs.meta +11 -0
- package/Runtime/Cesium3DTileset.cs +788 -0
- package/Runtime/Cesium3DTileset.cs.meta +11 -0
- package/Runtime/Cesium3DTilesetLoadFailureDetails.cs +65 -0
- package/Runtime/Cesium3DTilesetLoadFailureDetails.cs.meta +11 -0
- package/Runtime/CesiumBackwardCompatibility.cs +163 -0
- package/Runtime/CesiumBackwardCompatibility.cs.meta +11 -0
- package/Runtime/CesiumBingMapsRasterOverlay.cs +72 -0
- package/Runtime/CesiumBingMapsRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumCameraController.cs +827 -0
- package/Runtime/CesiumCameraController.cs.meta +11 -0
- package/Runtime/CesiumCameraManager.cs +105 -0
- package/Runtime/CesiumCameraManager.cs.meta +11 -0
- package/Runtime/CesiumCartographicPolygon.cs +152 -0
- package/Runtime/CesiumCartographicPolygon.cs.meta +11 -0
- package/Runtime/CesiumCreditSystem.cs +343 -0
- package/Runtime/CesiumCreditSystem.cs.meta +11 -0
- package/Runtime/CesiumCreditSystemUI.cs +402 -0
- package/Runtime/CesiumCreditSystemUI.cs.meta +11 -0
- package/Runtime/CesiumDebugColorizeTilesRasterOverlay.cs +21 -0
- package/Runtime/CesiumDebugColorizeTilesRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumEllipsoid.cs +107 -0
- package/Runtime/CesiumEllipsoid.cs.meta +11 -0
- package/Runtime/CesiumFeature.cs +279 -0
- package/Runtime/CesiumFeature.cs.meta +11 -0
- package/Runtime/CesiumFeatureIdAttribute.cs +61 -0
- package/Runtime/CesiumFeatureIdAttribute.cs.meta +11 -0
- package/Runtime/CesiumFeatureIdSet.cs +165 -0
- package/Runtime/CesiumFeatureIdSet.cs.meta +11 -0
- package/Runtime/CesiumFeatureIdTexture.cs +68 -0
- package/Runtime/CesiumFeatureIdTexture.cs.meta +11 -0
- package/Runtime/CesiumFlyToController.cs +539 -0
- package/Runtime/CesiumFlyToController.cs.meta +11 -0
- package/Runtime/CesiumGeoreference.cs +628 -0
- package/Runtime/CesiumGeoreference.cs.meta +11 -0
- package/Runtime/CesiumGlobeAnchor.cs +664 -0
- package/Runtime/CesiumGlobeAnchor.cs.meta +11 -0
- package/Runtime/CesiumGlobeAnchorBackwardCompatibility0dot2dot0.cs +105 -0
- package/Runtime/CesiumGlobeAnchorBackwardCompatibility0dot2dot0.cs.meta +11 -0
- package/Runtime/CesiumIntMatN.cs +398 -0
- package/Runtime/CesiumIntMatN.cs.meta +11 -0
- package/Runtime/CesiumIntVecN.cs +525 -0
- package/Runtime/CesiumIntVecN.cs.meta +11 -0
- package/Runtime/CesiumIonRasterOverlay.cs +110 -0
- package/Runtime/CesiumIonRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumIonServer.cs +137 -0
- package/Runtime/CesiumIonServer.cs.meta +11 -0
- package/Runtime/CesiumMetadata.cs +33 -0
- package/Runtime/CesiumMetadata.cs.meta +11 -0
- package/Runtime/CesiumMetadataValue.cs +1764 -0
- package/Runtime/CesiumMetadataValue.cs.meta +11 -0
- package/Runtime/CesiumMetadataValueType.cs +203 -0
- package/Runtime/CesiumMetadataValueType.cs.meta +11 -0
- package/Runtime/CesiumModelMetadata.cs +26 -0
- package/Runtime/CesiumModelMetadata.cs.meta +11 -0
- package/Runtime/CesiumObjectPool.cs +74 -0
- package/Runtime/CesiumObjectPool.cs.meta +11 -0
- package/Runtime/CesiumObjectPools.cs +39 -0
- package/Runtime/CesiumObjectPools.cs.meta +11 -0
- package/Runtime/CesiumOriginShift.cs +146 -0
- package/Runtime/CesiumOriginShift.cs.meta +11 -0
- package/Runtime/CesiumPointCloudRenderer.cs +246 -0
- package/Runtime/CesiumPointCloudRenderer.cs.meta +11 -0
- package/Runtime/CesiumPointCloudShading.cs +76 -0
- package/Runtime/CesiumPointCloudShading.cs.meta +11 -0
- package/Runtime/CesiumPolygonRasterOverlay.cs +109 -0
- package/Runtime/CesiumPolygonRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumPrimitiveFeatures.cs +130 -0
- package/Runtime/CesiumPrimitiveFeatures.cs.meta +11 -0
- package/Runtime/CesiumPropertyArray.cs +64 -0
- package/Runtime/CesiumPropertyArray.cs.meta +11 -0
- package/Runtime/CesiumPropertyTable.cs +126 -0
- package/Runtime/CesiumPropertyTable.cs.meta +11 -0
- package/Runtime/CesiumPropertyTableProperty.cs +1734 -0
- package/Runtime/CesiumPropertyTableProperty.cs.meta +11 -0
- package/Runtime/CesiumRasterOverlay.cs +239 -0
- package/Runtime/CesiumRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumRasterOverlayLoadFailureDetails.cs +65 -0
- package/Runtime/CesiumRasterOverlayLoadFailureDetails.cs.meta +11 -0
- package/Runtime/CesiumRuntime.asmdef +32 -0
- package/Runtime/CesiumRuntime.asmdef.meta +7 -0
- package/Runtime/CesiumRuntime.cs +3 -0
- package/Runtime/CesiumRuntime.cs.meta +11 -0
- package/Runtime/CesiumRuntimeSettings.cs +188 -0
- package/Runtime/CesiumRuntimeSettings.cs.meta +11 -0
- package/Runtime/CesiumSampleHeightResult.cs +47 -0
- package/Runtime/CesiumSampleHeightResult.cs.meta +11 -0
- package/Runtime/CesiumSimplePlanarEllipsoidCurve.cs +93 -0
- package/Runtime/CesiumSimplePlanarEllipsoidCurve.cs.meta +11 -0
- package/Runtime/CesiumSubScene.cs +473 -0
- package/Runtime/CesiumSubScene.cs.meta +11 -0
- package/Runtime/CesiumTileExcluder.cs +47 -0
- package/Runtime/CesiumTileExcluder.cs.meta +11 -0
- package/Runtime/CesiumTileMapServiceRasterOverlay.cs +93 -0
- package/Runtime/CesiumTileMapServiceRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumWebMapServiceRasterOverlay.cs +129 -0
- package/Runtime/CesiumWebMapServiceRasterOverlay.cs.meta +11 -0
- package/Runtime/CesiumWebMapTileServiceRasterOverlay.cs +414 -0
- package/Runtime/CesiumWebMapTileServiceRasterOverlay.cs.meta +3 -0
- package/Runtime/CesiumWgs84Ellipsoid.cs +75 -0
- package/Runtime/CesiumWgs84Ellipsoid.cs.meta +11 -0
- package/Runtime/ConfigureReinterop.cs +926 -0
- package/Runtime/ConfigureReinterop.cs.meta +11 -0
- package/Runtime/Helpers.cs +122 -0
- package/Runtime/Helpers.cs.meta +11 -0
- package/Runtime/ICesiumRestartable.cs +17 -0
- package/Runtime/ICesiumRestartable.cs.meta +11 -0
- package/Runtime/NativeCoroutine.cs +28 -0
- package/Runtime/NativeCoroutine.cs.meta +11 -0
- package/Runtime/NativeDownloadHandler.cs +29 -0
- package/Runtime/NativeDownloadHandler.cs.meta +11 -0
- package/Runtime/Resources/CesiumCreditSystem.prefab +78 -0
- package/Runtime/Resources/CesiumCreditSystem.prefab.meta +7 -0
- package/Runtime/Resources/CesiumCreditSystemRuntimeTheme.tss +2 -0
- package/Runtime/Resources/CesiumCreditSystemRuntimeTheme.tss.meta +11 -0
- package/Runtime/Resources/CesiumCreditSystemUI.uxml +4 -0
- package/Runtime/Resources/CesiumCreditSystemUI.uxml.meta +10 -0
- package/Runtime/Resources/CesiumCreditSystemUIPanelSettings.asset +38 -0
- package/Runtime/Resources/CesiumCreditSystemUIPanelSettings.asset.meta +8 -0
- package/Runtime/Resources/CesiumDefaultTilesetMaterial.mat +232 -0
- package/Runtime/Resources/CesiumDefaultTilesetMaterial.mat.meta +8 -0
- package/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph +14271 -0
- package/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph.meta +10 -0
- package/Runtime/Resources/CesiumPointCloudShading.hlsl +156 -0
- package/Runtime/Resources/CesiumPointCloudShading.hlsl.meta +7 -0
- package/Runtime/Resources/CesiumPointCloudShadingMaterial.mat +125 -0
- package/Runtime/Resources/CesiumPointCloudShadingMaterial.mat.meta +8 -0
- package/Runtime/Resources/CesiumPointCloudShadingShader.shader +73 -0
- package/Runtime/Resources/CesiumPointCloudShadingShader.shader.meta +10 -0
- package/Runtime/Resources/CesiumRasterOverlay.shadersubgraph +2207 -0
- package/Runtime/Resources/CesiumRasterOverlay.shadersubgraph.meta +10 -0
- package/Runtime/Resources/CesiumSelectTexCoords.shadersubgraph +722 -0
- package/Runtime/Resources/CesiumSelectTexCoords.shadersubgraph.meta +10 -0
- package/Runtime/Resources/CesiumUnlitTilesetMaterial.mat +261 -0
- package/Runtime/Resources/CesiumUnlitTilesetMaterial.mat.meta +8 -0
- package/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph +5873 -0
- package/Runtime/Resources/CesiumUnlitTilesetShader.shadergraph.meta +10 -0
- package/Runtime/Resources/DynamicCamera.prefab +253 -0
- package/Runtime/Resources/DynamicCamera.prefab.meta +7 -0
- package/Runtime/Resources/TransformTextureCoordinates.shadersubgraph +2171 -0
- package/Runtime/Resources/TransformTextureCoordinates.shadersubgraph.meta +10 -0
- package/Runtime/Resources/green1x1.png +0 -0
- package/Runtime/Resources/green1x1.png.meta +123 -0
- package/Runtime/Resources.meta +8 -0
- package/Runtime/TestGltfModel.cs +56 -0
- package/Runtime/TestGltfModel.cs.meta +11 -0
- package/Runtime/TestReinterop.cs +21 -0
- package/Runtime/TestReinterop.cs.meta +11 -0
- package/Runtime/UnityLifetime.cs +27 -0
- package/Runtime/UnityLifetime.cs.meta +11 -0
- package/Runtime/WaitForTask.cs +25 -0
- package/Runtime/WaitForTask.cs.meta +11 -0
- package/Runtime/csc.rsp +1 -0
- package/Runtime/csc.rsp.meta +7 -0
- package/Runtime.meta +8 -0
- package/ThirdParty.json +27 -0
- package/ThirdParty.json.meta +7 -0
- package/WGS84.asset +18 -0
- package/WGS84.asset.meta +8 -0
- package/package.json +29 -0
- package/package.json.meta +7 -0
|
@@ -0,0 +1,1764 @@
|
|
|
1
|
+
using System;
|
|
2
|
+
using Unity.Mathematics;
|
|
3
|
+
using Reinterop;
|
|
4
|
+
using System.Collections.Generic;
|
|
5
|
+
namespace CesiumForUnity
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
/// Represents a value from a property in glTF metadata. The value belong to one of the
|
|
9
|
+
/// supported property types in EXT_structural_metadata.
|
|
10
|
+
/// </summary>
|
|
11
|
+
[ReinteropNativeImplementation("CesiumForUnityNative::CesiumMetadataValueImpl", "CesiumMetadataValueImpl.h", staticOnly: true)]
|
|
12
|
+
public partial class CesiumMetadataValue
|
|
13
|
+
{
|
|
14
|
+
/// <summary>
|
|
15
|
+
/// The value as an object. This functions similarly to a std::any in C++.
|
|
16
|
+
/// </summary>
|
|
17
|
+
/// <remarks>
|
|
18
|
+
/// If this is intended to hold an integer vecN or matN value, use the appropriate
|
|
19
|
+
/// CesiumIntN, CesiumUintN, CesiumIntMatN, or CesiumUintMatN structs. Only
|
|
20
|
+
/// use Unity.Mathematics for vecNs or matNs with floating point components.
|
|
21
|
+
/// </remarks>
|
|
22
|
+
internal System.Object objectValue { get; set; }
|
|
23
|
+
|
|
24
|
+
#region Getters
|
|
25
|
+
|
|
26
|
+
/// <summary>
|
|
27
|
+
/// The type of the metadata value as defined in the
|
|
28
|
+
/// EXT_structural_metadata extension. Some of these types are not
|
|
29
|
+
/// accessible from Unity, but can be converted to a close-fitting type.
|
|
30
|
+
/// </summary>
|
|
31
|
+
public CesiumMetadataValueType valueType
|
|
32
|
+
{
|
|
33
|
+
get
|
|
34
|
+
{
|
|
35
|
+
return CesiumMetadataValueType.GetValueType(this.objectValue);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/// <summary>
|
|
40
|
+
/// Whether the value is empty, i.e., whether it does not actually represent
|
|
41
|
+
/// any data.
|
|
42
|
+
/// </summary>
|
|
43
|
+
/// <remarks>
|
|
44
|
+
/// A CesiumMetadataValue can be empty, similar to how a C# nullable may be null.
|
|
45
|
+
/// For example, when the raw value of a property matches the property's specified
|
|
46
|
+
/// "no data" value, it will return an empty CesiumMetadataValue.
|
|
47
|
+
/// </remarks>
|
|
48
|
+
/// <returns>Whether the value is empty.</returns>
|
|
49
|
+
public bool isEmpty
|
|
50
|
+
{
|
|
51
|
+
get { return this.objectValue == null; }
|
|
52
|
+
}
|
|
53
|
+
#endregion
|
|
54
|
+
|
|
55
|
+
#region Constructors
|
|
56
|
+
public CesiumMetadataValue() : this(null)
|
|
57
|
+
{ }
|
|
58
|
+
|
|
59
|
+
public CesiumMetadataValue(System.Object value)
|
|
60
|
+
{
|
|
61
|
+
// Convert intN to CesiumIntVecN, uintN to CesiumUintVecN, intNxN to CesiumIntMatNxN,
|
|
62
|
+
// and uintNxN to CesiumUintMatNxN. This avoids having to manage conversions for
|
|
63
|
+
// multiple representations of vector values.
|
|
64
|
+
switch (value)
|
|
65
|
+
{
|
|
66
|
+
case int2 asInt2:
|
|
67
|
+
this.objectValue = new CesiumIntVec2(asInt2.x, asInt2.y);
|
|
68
|
+
break;
|
|
69
|
+
case int3 asInt3:
|
|
70
|
+
this.objectValue = new CesiumIntVec3(asInt3.x, asInt3.y, asInt3.z);
|
|
71
|
+
break;
|
|
72
|
+
case int4 asInt4:
|
|
73
|
+
this.objectValue = new CesiumIntVec4(asInt4.x, asInt4.y, asInt4.z, asInt4.w);
|
|
74
|
+
break;
|
|
75
|
+
case uint2 asUint2:
|
|
76
|
+
this.objectValue = new CesiumUintVec2(asUint2.x, asUint2.y);
|
|
77
|
+
break;
|
|
78
|
+
case uint3 asUint3:
|
|
79
|
+
this.objectValue = new CesiumUintVec3(asUint3.x, asUint3.y, asUint3.z);
|
|
80
|
+
break;
|
|
81
|
+
case uint4 asUint4:
|
|
82
|
+
this.objectValue = new CesiumUintVec4(asUint4.x, asUint4.y, asUint4.z, asUint4.w);
|
|
83
|
+
break;
|
|
84
|
+
case int2x2 asInt2x2:
|
|
85
|
+
this.objectValue = new CesiumIntMat2x2(asInt2x2.c0, asInt2x2.c1);
|
|
86
|
+
break;
|
|
87
|
+
case int3x3 asInt3x3:
|
|
88
|
+
this.objectValue = new CesiumIntMat3x3(asInt3x3.c0, asInt3x3.c1, asInt3x3.c2);
|
|
89
|
+
break;
|
|
90
|
+
case int4x4 asInt4x4:
|
|
91
|
+
this.objectValue = new CesiumIntMat4x4(asInt4x4.c0, asInt4x4.c1, asInt4x4.c2, asInt4x4.c3);
|
|
92
|
+
break;
|
|
93
|
+
case uint2x2 asUint2x2:
|
|
94
|
+
this.objectValue = new CesiumUintMat2x2(asUint2x2.c0, asUint2x2.c1);
|
|
95
|
+
break;
|
|
96
|
+
case uint3x3 asUint3x3:
|
|
97
|
+
this.objectValue = new CesiumUintMat3x3(asUint3x3.c0, asUint3x3.c1, asUint3x3.c2);
|
|
98
|
+
break;
|
|
99
|
+
case uint4x4 asUint4x4:
|
|
100
|
+
this.objectValue = new CesiumUintMat4x4(asUint4x4.c0, asUint4x4.c1, asUint4x4.c2, asUint4x4.c3);
|
|
101
|
+
break;
|
|
102
|
+
default:
|
|
103
|
+
this.objectValue = value;
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
#endregion
|
|
109
|
+
|
|
110
|
+
#region Public Methods
|
|
111
|
+
/// <summary>
|
|
112
|
+
/// Attempts to retrieve the value as a boolean.
|
|
113
|
+
/// </summary>
|
|
114
|
+
/// <remarks>
|
|
115
|
+
/// <para>
|
|
116
|
+
/// If the value is a boolean, it is returned as-is.<br/>
|
|
117
|
+
///
|
|
118
|
+
/// If the value is a scalar, zero is converted to false, while any
|
|
119
|
+
/// other value is converted to true.<br/>
|
|
120
|
+
///
|
|
121
|
+
/// If the value is a string, "0", "false", and "no" (case-insensitive)
|
|
122
|
+
/// are converted to false, while "1", "true", and "yes" are converted to
|
|
123
|
+
/// true. All other strings, including strings that can be converted to
|
|
124
|
+
/// numbers, will return the default value.<br/><br/>
|
|
125
|
+
/// </para>
|
|
126
|
+
/// <para>
|
|
127
|
+
/// All other types return the default value.
|
|
128
|
+
/// </para>
|
|
129
|
+
/// </remarks>
|
|
130
|
+
/// <param name="defaultValue">The default value to fall back on.</param>
|
|
131
|
+
/// <returns>The value as a Boolean.</returns>
|
|
132
|
+
public Boolean GetBoolean(Boolean defaultValue = false)
|
|
133
|
+
{
|
|
134
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
135
|
+
{
|
|
136
|
+
return defaultValue;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
return ConvertToBoolean(this, defaultValue);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/// <summary>
|
|
143
|
+
/// Attempts to retrieve the value as a signed 8-bit integer.
|
|
144
|
+
/// </summary>
|
|
145
|
+
/// <remarks>
|
|
146
|
+
/// <para>
|
|
147
|
+
/// If the value is an integer between -128 and 127, it is returned
|
|
148
|
+
/// as-is.<br/>
|
|
149
|
+
///
|
|
150
|
+
/// If the value is a floating-point number in the aforementioned
|
|
151
|
+
/// range, it is truncated (rounded toward zero) and returned.<br/>
|
|
152
|
+
///
|
|
153
|
+
/// If the value is a boolean, 1 is returned for true and 0 for
|
|
154
|
+
/// false.<br/>
|
|
155
|
+
///
|
|
156
|
+
/// If the value is a string and the entire string can be parsed as an
|
|
157
|
+
/// integer between -128 and 127, the parsed value is returned. The string is
|
|
158
|
+
/// parsed in a locale-independent way and does not support the use of commas
|
|
159
|
+
/// or other delimiters to group digits together.<br/>
|
|
160
|
+
/// In all other cases, the default value is returned.
|
|
161
|
+
/// </para>
|
|
162
|
+
/// </remarks>
|
|
163
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
164
|
+
/// cannot be converted to a SByte.</param>
|
|
165
|
+
/// <returns>The property value as a SByte.</returns>
|
|
166
|
+
public SByte GetSByte(SByte defaultValue = 0)
|
|
167
|
+
{
|
|
168
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
169
|
+
{
|
|
170
|
+
return defaultValue;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return ConvertToSByte(this, defaultValue);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/// <summary>
|
|
177
|
+
/// Attempts to retrieve the value as an unsigned 8-bit integer.
|
|
178
|
+
/// </summary>
|
|
179
|
+
/// <remarks>
|
|
180
|
+
/// <para>
|
|
181
|
+
/// If the value is an integer between 0 and 255, it is returned
|
|
182
|
+
/// as-is.<br/>
|
|
183
|
+
///
|
|
184
|
+
/// If the value is a floating-point number in the aforementioned
|
|
185
|
+
/// range, it is truncated (rounded toward zero) and returned.<br/>
|
|
186
|
+
///
|
|
187
|
+
/// If the value is a boolean, 1 is returned for true and 0 for
|
|
188
|
+
/// false.<br/>
|
|
189
|
+
///
|
|
190
|
+
/// If the value is a string and the entire string can be parsed as an
|
|
191
|
+
/// integer between 0 and 255, the parsed value is returned. The string is
|
|
192
|
+
/// parsed in a locale-independent way and does not support the use of commas
|
|
193
|
+
/// or other delimiters to group digits together.<br/>
|
|
194
|
+
/// In all other cases, the default value is returned.
|
|
195
|
+
/// </para>
|
|
196
|
+
/// </remarks>
|
|
197
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
198
|
+
/// cannot be converted to a Byte.</param>
|
|
199
|
+
/// <returns>The property value as a Byte.</returns>
|
|
200
|
+
public Byte GetByte(Byte defaultValue = 0)
|
|
201
|
+
{
|
|
202
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
203
|
+
{
|
|
204
|
+
return defaultValue;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
return ConvertToByte(this, defaultValue);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/// <summary>
|
|
211
|
+
/// Attempts to retrieve the value as a signed 16-bit integer.
|
|
212
|
+
/// </summary>
|
|
213
|
+
/// <remarks>
|
|
214
|
+
/// <para>
|
|
215
|
+
/// If the value is an integer between -32768 and 32767, it is returned
|
|
216
|
+
/// as-is.<br/>
|
|
217
|
+
///
|
|
218
|
+
/// If the value is a floating-point number in the aforementioned
|
|
219
|
+
/// range, it is truncated (rounded toward zero) and returned.<br/>
|
|
220
|
+
///
|
|
221
|
+
/// If the value is a boolean, 1 is returned for true and 0 for
|
|
222
|
+
/// false.<br/>
|
|
223
|
+
///
|
|
224
|
+
/// If the value is a string and the entire string can be parsed as an
|
|
225
|
+
/// integer between -32768 and 32767, the parsed value is returned.
|
|
226
|
+
/// The string is parsed in a locale-independent way and does not support
|
|
227
|
+
/// the use of commas or other delimiters to group digits together.<br/>
|
|
228
|
+
/// In all other cases, the default value is returned.
|
|
229
|
+
/// </para>
|
|
230
|
+
/// </remarks>
|
|
231
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
232
|
+
/// cannot be converted to a Int16.</param>
|
|
233
|
+
/// <returns>The property value as a Int16.</returns>
|
|
234
|
+
public Int16 GetInt16(Int16 defaultValue = 0)
|
|
235
|
+
{
|
|
236
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
237
|
+
{
|
|
238
|
+
return defaultValue;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
return ConvertToInt16(this, defaultValue);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/// <summary>
|
|
245
|
+
/// Attempts to retrieve the value as a unsigned 16-bit integer.
|
|
246
|
+
/// </summary>
|
|
247
|
+
/// <remarks>
|
|
248
|
+
/// <para>
|
|
249
|
+
/// If the value is an integer between 0 and 65535, it is returned
|
|
250
|
+
/// as-is.<br/>
|
|
251
|
+
///
|
|
252
|
+
/// If the value is a floating-point number in the aforementioned
|
|
253
|
+
/// range, it is truncated (rounded toward zero) and returned.<br/>
|
|
254
|
+
///
|
|
255
|
+
/// If the value is a boolean, 1 is returned for true and 0 for
|
|
256
|
+
/// false.<br/>
|
|
257
|
+
///
|
|
258
|
+
/// If the value is a string and the entire string can be parsed as an
|
|
259
|
+
/// integer between 0 and 65535, the parsed value is returned. The
|
|
260
|
+
/// string is parsed in a locale-independent way and does not support
|
|
261
|
+
/// the use of commas or other delimiters to group digits together.<br/>
|
|
262
|
+
///
|
|
263
|
+
/// In all other cases, the default value is returned.
|
|
264
|
+
/// </para>
|
|
265
|
+
/// </remarks>
|
|
266
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
267
|
+
/// cannot be converted to a UInt16.</param>
|
|
268
|
+
/// <returns>The property value as a UInt16.</returns>
|
|
269
|
+
public UInt16 GetUInt16(UInt16 defaultValue = 0)
|
|
270
|
+
{
|
|
271
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
272
|
+
{
|
|
273
|
+
return defaultValue;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
return ConvertToUInt16(this, defaultValue);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/// <summary>
|
|
280
|
+
/// Attempts to retrieve the value as a signed 32-bit integer.
|
|
281
|
+
/// </summary>
|
|
282
|
+
/// <remarks>
|
|
283
|
+
/// <para>
|
|
284
|
+
/// If the value is an integer between -2,147,483,648 and 2,147,483,647,
|
|
285
|
+
/// it is returned as-is.<br/>
|
|
286
|
+
///
|
|
287
|
+
/// If the value is a floating-point number in the aforementioned
|
|
288
|
+
/// range, it is truncated (rounded toward zero) and returned.<br/>
|
|
289
|
+
///
|
|
290
|
+
/// If the value is a boolean, 1 is returned for true and 0 for
|
|
291
|
+
/// false.<br/>
|
|
292
|
+
///
|
|
293
|
+
/// If the value is a string and the entire string can be parsed as an
|
|
294
|
+
/// integer between -2,147,483,648 and 2,147,483,647, the parsed value
|
|
295
|
+
/// is returned. The string is parsed in a locale-independent way and does
|
|
296
|
+
/// not support the use of commas or other delimiters to group digits
|
|
297
|
+
/// together.<br/>
|
|
298
|
+
///
|
|
299
|
+
/// In all other cases, the default value is returned.
|
|
300
|
+
/// </para>
|
|
301
|
+
/// </remarks>
|
|
302
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
303
|
+
/// cannot be converted to a Int32.</param>
|
|
304
|
+
/// <returns>The property value as a Int32.</returns>
|
|
305
|
+
public Int32 GetInt32(Int32 defaultValue = 0)
|
|
306
|
+
{
|
|
307
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
308
|
+
{
|
|
309
|
+
return defaultValue;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
return ConvertToInt32(this, defaultValue);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/// <summary>
|
|
316
|
+
/// Attempts to retrieve the value as a unsigned 32-bit integer.
|
|
317
|
+
/// </summary>
|
|
318
|
+
/// <remarks>
|
|
319
|
+
/// <para>
|
|
320
|
+
/// If the value is an integer between 0 and 4,294,967,295, it is
|
|
321
|
+
/// returned as-is.<br/>
|
|
322
|
+
///
|
|
323
|
+
/// If the value is a floating-point number in the aforementioned
|
|
324
|
+
/// range, it is truncated (rounded toward zero) and returned.<br/>
|
|
325
|
+
///
|
|
326
|
+
/// If the value is a boolean, 1 is returned for true and 0 for
|
|
327
|
+
/// false.<br/>
|
|
328
|
+
///
|
|
329
|
+
/// If the value is a string and the entire string can be parsed as an
|
|
330
|
+
/// integer between 0 and 4,294,967,295, the parsed value is returned.
|
|
331
|
+
/// The string is parsed in a locale-independent way and does not support
|
|
332
|
+
/// the use of commas or other delimiters to group digits together.<br/>
|
|
333
|
+
/// In all other cases, the default value is returned.
|
|
334
|
+
/// </para>
|
|
335
|
+
/// </remarks>
|
|
336
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
337
|
+
/// cannot be converted to a UInt32.</param>
|
|
338
|
+
/// <returns>The property value as a UInt32.</returns>
|
|
339
|
+
public UInt32 GetUInt32(UInt32 defaultValue = 0)
|
|
340
|
+
{
|
|
341
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
342
|
+
{
|
|
343
|
+
return defaultValue;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
return ConvertToUInt32(this, defaultValue);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/// <summary>
|
|
350
|
+
/// Attempts to retrieve the value as a signed 64-bit integer.
|
|
351
|
+
/// </summary>
|
|
352
|
+
/// <remarks>
|
|
353
|
+
/// <para>
|
|
354
|
+
/// If the value is an integer between -2^63 and (2^63 - 1),
|
|
355
|
+
/// it is returned as-is.<br/>
|
|
356
|
+
///
|
|
357
|
+
/// If the value is a floating-point number in the aforementioned
|
|
358
|
+
/// range, it is truncated (rounded toward zero) and returned.<br/>
|
|
359
|
+
///
|
|
360
|
+
/// If the value is a boolean, 1 is returned for true and 0 for
|
|
361
|
+
/// false.<br/>
|
|
362
|
+
///
|
|
363
|
+
/// If the value is a string and the entire string can be parsed as an
|
|
364
|
+
/// integer between -2^63 and (2^63 - 1), the parsed value
|
|
365
|
+
/// is returned. The string is parsed in a locale-independent way and does
|
|
366
|
+
/// not support the use of commas or other delimiters to group digits
|
|
367
|
+
/// together.<br/>
|
|
368
|
+
///
|
|
369
|
+
/// In all other cases, the default value is returned.
|
|
370
|
+
/// </para>
|
|
371
|
+
/// </remarks>
|
|
372
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
373
|
+
/// cannot be converted to a Int64.</param>
|
|
374
|
+
/// <returns>The property value as a Int64.</returns>
|
|
375
|
+
public Int64 GetInt64(Int64 defaultValue = 0)
|
|
376
|
+
{
|
|
377
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
378
|
+
{
|
|
379
|
+
return defaultValue;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
return ConvertToInt64(this, defaultValue);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/// <summary>
|
|
386
|
+
/// Attempts to retrieve the value as a unsigned 64-bit integer.
|
|
387
|
+
/// </summary>
|
|
388
|
+
/// <remarks>
|
|
389
|
+
/// <para>
|
|
390
|
+
/// If the value is an integer between 0 and (2^64-1), it is
|
|
391
|
+
/// returned as-is.<br/>
|
|
392
|
+
///
|
|
393
|
+
/// If the value is a floating-point number in the aforementioned
|
|
394
|
+
/// range, it is truncated (rounded toward zero) and returned.<br/>
|
|
395
|
+
///
|
|
396
|
+
/// If the value is a boolean, 1 is returned for true and 0 for
|
|
397
|
+
/// false.<br/>
|
|
398
|
+
///
|
|
399
|
+
/// If the value is a string and the entire string can be parsed as an
|
|
400
|
+
/// integer between 0 and (2^64-1), the parsed value is returned.
|
|
401
|
+
/// The string is parsed in a locale-independent way and does not support
|
|
402
|
+
/// the use of commas or other delimiters to group digits together.<br/>
|
|
403
|
+
/// In all other cases, the default value is returned.
|
|
404
|
+
/// </para>
|
|
405
|
+
/// </remarks>
|
|
406
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
407
|
+
/// cannot be converted to a UInt64.</param>
|
|
408
|
+
/// <returns>The property value as a UInt64.</returns>
|
|
409
|
+
public UInt64 GetUInt64(UInt64 defaultValue = 0)
|
|
410
|
+
{
|
|
411
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
412
|
+
{
|
|
413
|
+
return defaultValue;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
return ConvertToUInt64(this, defaultValue);
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
/// <summary>
|
|
420
|
+
/// Attempts to retrieve the value as a single-precision floating-point
|
|
421
|
+
/// number.
|
|
422
|
+
/// </summary>
|
|
423
|
+
/// <remarks>
|
|
424
|
+
/// <para>
|
|
425
|
+
/// If the value is already a single-precision floating-point number, it is
|
|
426
|
+
/// returned as-is.<br/>
|
|
427
|
+
///
|
|
428
|
+
/// If the value is a scalar of any other type within the range of values that
|
|
429
|
+
/// a single-precision float can represent, it is converted to its closest
|
|
430
|
+
/// representation as a single-precision float and returned.<br/>
|
|
431
|
+
///
|
|
432
|
+
/// If the value is a boolean, 1.0f is returned for true and 0.0f for false.<br/>
|
|
433
|
+
///
|
|
434
|
+
/// If the value is a string and the entire string can be parsed as a
|
|
435
|
+
/// number, the parsed value is returned. The string is parsed in a
|
|
436
|
+
/// locale-independent way and does not support the use of commas or other
|
|
437
|
+
/// delimiters to group digits together.<br/>
|
|
438
|
+
/// In all other cases, the default value is returned.
|
|
439
|
+
/// </para>
|
|
440
|
+
/// </remarks>
|
|
441
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
442
|
+
/// cannot be converted to a Float.</param>
|
|
443
|
+
/// <returns>The property value as a Float.</returns>
|
|
444
|
+
public float GetFloat(float defaultValue = 0)
|
|
445
|
+
{
|
|
446
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
447
|
+
{
|
|
448
|
+
return defaultValue;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
return ConvertToFloat(this, defaultValue);
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
/// <summary>
|
|
455
|
+
/// Attempts to retrieve the value as a double-precision floating-point
|
|
456
|
+
/// number.
|
|
457
|
+
/// </summary>
|
|
458
|
+
/// <remarks>
|
|
459
|
+
/// <para>
|
|
460
|
+
/// If the value is already a single- or double- floating-point number, it is
|
|
461
|
+
/// returned as-is.<br/>
|
|
462
|
+
///
|
|
463
|
+
/// If the value is an integer, it is converted to the closest representable
|
|
464
|
+
/// double-precision floating-point number.<br/>
|
|
465
|
+
///
|
|
466
|
+
/// If the value is a boolean, 1.0 is returned for true and 0.0 for false.<br/>
|
|
467
|
+
///
|
|
468
|
+
/// If the value is a string and the entire string can be parsed as a
|
|
469
|
+
/// number, the parsed value is returned. The string is parsed in a
|
|
470
|
+
/// locale-independent way and does not support the use of commas or other
|
|
471
|
+
/// delimiters to group digits together.<br/>
|
|
472
|
+
/// In all other cases, the default value is returned.
|
|
473
|
+
/// </para>
|
|
474
|
+
/// </remarks>
|
|
475
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
476
|
+
/// cannot be converted to a Double.</param>
|
|
477
|
+
/// <returns>The property value as a Double.</returns>
|
|
478
|
+
public double GetDouble(double defaultValue = 0)
|
|
479
|
+
{
|
|
480
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
481
|
+
{
|
|
482
|
+
return defaultValue;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
return ConvertToDouble(this, defaultValue);
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/// <summary>
|
|
489
|
+
/// Attempts to retrieve the value as an int2.
|
|
490
|
+
/// </summary>
|
|
491
|
+
/// <remarks>
|
|
492
|
+
/// <para>
|
|
493
|
+
/// If the value is a 2-dimensional vector, its components will be converted
|
|
494
|
+
/// to 32-bit signed integers if possible.<br/>
|
|
495
|
+
///
|
|
496
|
+
/// If the value is a 3- or 4-dimensional vector, it will use the first two
|
|
497
|
+
/// components to construct the int2.<br/>
|
|
498
|
+
///
|
|
499
|
+
/// If the value is a scalar that can be converted to a 32-bit signed integer,
|
|
500
|
+
/// the resulting int2 will have this value in both of its components.<br/>
|
|
501
|
+
///
|
|
502
|
+
/// If the value is a boolean, (1, 1) is returned for true, while
|
|
503
|
+
/// (0, 0) is returned for false.<br/>
|
|
504
|
+
///
|
|
505
|
+
/// In all other cases, the user-defined default value is returned. In all vector
|
|
506
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
507
|
+
/// signed integer, the default value is returned.
|
|
508
|
+
/// </para>
|
|
509
|
+
/// </remarks>
|
|
510
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
511
|
+
/// cannot be converted to a int2.</param>
|
|
512
|
+
/// <returns>The property value as a int2.</returns>
|
|
513
|
+
public int2 GetInt2(int2 defaultValue)
|
|
514
|
+
{
|
|
515
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
516
|
+
{
|
|
517
|
+
return defaultValue;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
return ConvertToInt2(this, defaultValue);
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
/// <summary>
|
|
524
|
+
/// Attempts to retrieve the value as a uint2.
|
|
525
|
+
/// </summary>
|
|
526
|
+
/// <remarks>
|
|
527
|
+
/// <para>
|
|
528
|
+
/// If the value is a 2-dimensional vector, its components will be converted
|
|
529
|
+
/// to 32-bit unsigned integers if possible.<br/>
|
|
530
|
+
///
|
|
531
|
+
/// If the value is a 3- or 4-dimensional vector, it will use the first two
|
|
532
|
+
/// components to construct the uint2.<br/>
|
|
533
|
+
///
|
|
534
|
+
/// If the value is a scalar that can be converted to a 32-bit unsigned integer,
|
|
535
|
+
/// the resulting uint2 will have this value in both of its components.<br/>
|
|
536
|
+
///
|
|
537
|
+
/// If the value is a boolean, (1, 1) is returned for true, while
|
|
538
|
+
/// (0, 0) is returned for false.<br/>
|
|
539
|
+
///
|
|
540
|
+
/// In all other cases, the user-defined default value is returned. In all vector
|
|
541
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
542
|
+
/// unsigned integer, the default value is returned.
|
|
543
|
+
/// </para>
|
|
544
|
+
/// </remarks>
|
|
545
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
546
|
+
/// cannot be converted to a uint2.</param>
|
|
547
|
+
/// <returns>The property value as a uint2.</returns>
|
|
548
|
+
public uint2 GetUInt2(uint2 defaultValue)
|
|
549
|
+
{
|
|
550
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
551
|
+
{
|
|
552
|
+
return defaultValue;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
return ConvertToUInt2(this, defaultValue);
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
/// <summary>
|
|
559
|
+
/// Attempts to retrieve the value as a float2.
|
|
560
|
+
/// </summary>
|
|
561
|
+
/// <remarks>
|
|
562
|
+
/// <para>
|
|
563
|
+
/// If the value is a 2-dimensional vector, its components will be converted
|
|
564
|
+
/// to the closest representable single-precision floats, if possible.
|
|
565
|
+
///
|
|
566
|
+
/// If the value is a 3- or 4-dimensional vector, it will use the first two
|
|
567
|
+
/// components to construct the float2.<br/>
|
|
568
|
+
///
|
|
569
|
+
/// If the value is a scalar that can be converted to a single-precision
|
|
570
|
+
/// floating-point number, the resulting float2 will have this value in
|
|
571
|
+
/// both of its components.<br/>
|
|
572
|
+
///
|
|
573
|
+
/// If the value is a boolean, (1.0f, 1.0f) is returned for true, while
|
|
574
|
+
/// (0.0f, 0.0f) is returned for false.<br/>
|
|
575
|
+
///
|
|
576
|
+
/// In all other cases, the user-defined default value is returned. In all vector
|
|
577
|
+
/// cases, if any of the relevant components cannot be represented as a
|
|
578
|
+
/// single-precision floating-point number, the default value is returned.
|
|
579
|
+
/// </para>
|
|
580
|
+
/// </remarks>
|
|
581
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
582
|
+
/// cannot be converted to a float2.</param>
|
|
583
|
+
/// <returns>The property value as a float2.</returns>
|
|
584
|
+
public float2 GetFloat2(float2 defaultValue)
|
|
585
|
+
{
|
|
586
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
587
|
+
{
|
|
588
|
+
return defaultValue;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
return ConvertToFloat2(this, defaultValue);
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
/// <summary>
|
|
595
|
+
/// Attempts to retrieve the value as a double2.
|
|
596
|
+
/// </summary>
|
|
597
|
+
/// <remarks>
|
|
598
|
+
/// <para>
|
|
599
|
+
/// If the value is a 2-dimensional vector, its components will be converted
|
|
600
|
+
/// to double-precision floating-point numbers.<br/>
|
|
601
|
+
///
|
|
602
|
+
/// If the value is a 3- or 4-dimensional vector, it will use the first two
|
|
603
|
+
/// components to construct the double2.<br/>
|
|
604
|
+
///
|
|
605
|
+
/// If the value is a scalar, the resulting double2 will have this value in
|
|
606
|
+
/// both of its components.<br/>
|
|
607
|
+
///
|
|
608
|
+
/// If the value is a boolean, (1.0, 1.0) is returned for true, while
|
|
609
|
+
/// (0.0, 0.0) is returned for false.<br/>
|
|
610
|
+
/// In all other cases, the user-defined default value is returned.
|
|
611
|
+
/// </para>
|
|
612
|
+
/// </remarks>
|
|
613
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
614
|
+
/// cannot be converted to a double2.</param>
|
|
615
|
+
/// <returns>The property value as a double2.</returns>
|
|
616
|
+
public double2 GetDouble2(double2 defaultValue)
|
|
617
|
+
{
|
|
618
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
619
|
+
{
|
|
620
|
+
return defaultValue;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
return ConvertToDouble2(this, defaultValue);
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
/// <summary>
|
|
627
|
+
/// Attempts to retrieve the value as an int3.
|
|
628
|
+
/// </summary>
|
|
629
|
+
/// <remarks>
|
|
630
|
+
/// <para>
|
|
631
|
+
/// If the value is a 3-dimensional vector, its components will be converted
|
|
632
|
+
/// to 32-bit signed integers if possible.<br/>
|
|
633
|
+
///
|
|
634
|
+
/// If the value is a 4-dimensional vector, it will use the first three
|
|
635
|
+
/// components to construct the int3.<br/>
|
|
636
|
+
///
|
|
637
|
+
/// If the value is a 2-dimensional vector, it will become the XY-components of
|
|
638
|
+
/// the int3. The Z component will be set to zero.<br/>
|
|
639
|
+
///
|
|
640
|
+
/// If the value is a scalar that can be converted to a 32-bit signed integer,
|
|
641
|
+
/// the resulting int3 will have this value in both of its components.<br/>
|
|
642
|
+
///
|
|
643
|
+
/// If the value is a boolean, (1, 1, 1) is returned for true, while
|
|
644
|
+
/// (0, 0, 0) is returned for false.<br/>
|
|
645
|
+
///
|
|
646
|
+
/// In all other cases, the user-defined default value is returned. In all vector
|
|
647
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
648
|
+
/// signed integer, the default value is returned.
|
|
649
|
+
/// </para>
|
|
650
|
+
/// </remarks>
|
|
651
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
652
|
+
/// cannot be converted to a int3.</param>
|
|
653
|
+
/// <returns>The property value as a int3.</returns>
|
|
654
|
+
public int3 GetInt3(int3 defaultValue)
|
|
655
|
+
{
|
|
656
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
657
|
+
{
|
|
658
|
+
return defaultValue;
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
return ConvertToInt3(this, defaultValue);
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
/// <summary>
|
|
665
|
+
/// Attempts to retrieve the value as an uint3.
|
|
666
|
+
/// </summary>
|
|
667
|
+
/// <remarks>
|
|
668
|
+
/// <para>
|
|
669
|
+
/// If the value is a 3-dimensional vector, its components will be converted
|
|
670
|
+
/// to 32-bit unsigned integers if possible.<br/>
|
|
671
|
+
///
|
|
672
|
+
/// If the value is a 4-dimensional vector, it will use the first three
|
|
673
|
+
/// components to construct the uint3.<br/>
|
|
674
|
+
///
|
|
675
|
+
/// If the value is a 2-dimensional vector, it will become the XY-components of
|
|
676
|
+
/// the uint3. The Z component will be set to zero.<br/>
|
|
677
|
+
///
|
|
678
|
+
/// If the value is a scalar that can be converted to a 32-bit signed integer,
|
|
679
|
+
/// the resulting uint3 will have this value in both of its components.<br/>
|
|
680
|
+
///
|
|
681
|
+
/// If the value is a boolean, (1, 1, 1) is returned for true, while
|
|
682
|
+
/// (0, 0, 0) is returned for false.<br/>
|
|
683
|
+
///
|
|
684
|
+
/// In all other cases, the user-defined default value is returned. In all vector
|
|
685
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
686
|
+
/// unsigned integer, the default value is returned.
|
|
687
|
+
/// </para>
|
|
688
|
+
/// </remarks>
|
|
689
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
690
|
+
/// cannot be converted to a uint3.</param>
|
|
691
|
+
/// <returns>The property value as a uint3.</returns>
|
|
692
|
+
public uint3 GetUInt3(uint3 defaultValue)
|
|
693
|
+
{
|
|
694
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
695
|
+
{
|
|
696
|
+
return defaultValue;
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
return ConvertToUInt3(this, defaultValue);
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
/// <summary>
|
|
703
|
+
/// Attempts to retrieve the value as a float3.
|
|
704
|
+
/// </summary>
|
|
705
|
+
/// <remarks>
|
|
706
|
+
/// <para>
|
|
707
|
+
/// If the value is a 3-dimensional vector, its components will be converted to
|
|
708
|
+
/// the closest representable single-precision floats, if possible.<br/>
|
|
709
|
+
///
|
|
710
|
+
/// If the value is a 4-dimensional vector, a float3 containing the first
|
|
711
|
+
/// three components will be returned.<br/>
|
|
712
|
+
///
|
|
713
|
+
/// If the value is a 2-dimensional vector, it will become the XY-components of
|
|
714
|
+
/// the float3. The Z-component will be set to zero.<br/>
|
|
715
|
+
///
|
|
716
|
+
/// If the value is a scalar that can be converted to a single-precision
|
|
717
|
+
/// floating-point number, the resulting float3 will have this value in
|
|
718
|
+
/// both of its components.<br/>
|
|
719
|
+
///
|
|
720
|
+
/// If the value is a boolean, (1.0f, 1.0f, 1.0f) is returned for true, while
|
|
721
|
+
/// (0.0f, 0.0f, 0.0f) is returned for false.<br/>
|
|
722
|
+
///
|
|
723
|
+
/// In all other cases, the user-defined default value is returned. In all vector
|
|
724
|
+
/// cases, if any of the relevant components cannot be represented as a
|
|
725
|
+
/// single-precision floating-point number, the default value is returned.
|
|
726
|
+
/// </para>
|
|
727
|
+
/// </remarks>
|
|
728
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
729
|
+
/// cannot be converted to a float3.</param>
|
|
730
|
+
/// <returns>The property value as a float3.</returns>
|
|
731
|
+
public float3 GetFloat3(float3 defaultValue)
|
|
732
|
+
{
|
|
733
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
734
|
+
{
|
|
735
|
+
return defaultValue;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
return ConvertToFloat3(this, defaultValue);
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
/// <summary>
|
|
742
|
+
/// Attempts to retrieve the value as a double3.
|
|
743
|
+
/// </summary>
|
|
744
|
+
/// <remarks>
|
|
745
|
+
/// <para>
|
|
746
|
+
/// If the value is a 3-dimensional vector, its components will be converted
|
|
747
|
+
/// to double-precision floating-point numbers.<br/>
|
|
748
|
+
///
|
|
749
|
+
/// If the value is a 4-dimensional vector, a double3 containing the first
|
|
750
|
+
/// three components will be returned.<br/>
|
|
751
|
+
///
|
|
752
|
+
/// If the value is a 2-dimensional vector, it will become the XY-components of
|
|
753
|
+
/// the double3. The Z-component will be set to zero.<br/>
|
|
754
|
+
///
|
|
755
|
+
/// If the value is a scalar, the resulting double3 will have this value in
|
|
756
|
+
/// both of its components.<br/>
|
|
757
|
+
///
|
|
758
|
+
/// If the value is a boolean, (1.0, 1.0, 1.0) is returned for true, while
|
|
759
|
+
/// (0.0, 0.0, 0.0) is returned for false.<br/>
|
|
760
|
+
/// In all other cases, the user-defined default value is returned.
|
|
761
|
+
/// </para>
|
|
762
|
+
/// </remarks>
|
|
763
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
764
|
+
/// cannot be converted to a double3.</param>
|
|
765
|
+
/// <returns>The property value as a double3.</returns>
|
|
766
|
+
public double3 GetDouble3(double3 defaultValue)
|
|
767
|
+
{
|
|
768
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
769
|
+
{
|
|
770
|
+
return defaultValue;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
return ConvertToDouble3(this, defaultValue);
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
/// <summary>
|
|
777
|
+
/// Attempts to retrieve the value as an int4.
|
|
778
|
+
/// </summary>
|
|
779
|
+
/// <remarks>
|
|
780
|
+
/// <para>
|
|
781
|
+
/// If the value is a 4-dimensional vector, its components will be converted
|
|
782
|
+
/// to 32-bit signed integers if possible.<br/>
|
|
783
|
+
///
|
|
784
|
+
/// If the value is a 3-dimensional vector, it will become the XYZ-components of
|
|
785
|
+
/// the int4. The W-component will be set to zero.<br/>
|
|
786
|
+
///
|
|
787
|
+
/// If the value is a 2-dimensional vector, it will become the XY-components of
|
|
788
|
+
/// the int4. The Z- and W-components will be set to zero.<br/>
|
|
789
|
+
///
|
|
790
|
+
/// If the value is a scalar that can be converted to a 32-bit signed integer,
|
|
791
|
+
/// the resulting int4 will have this value in both of its components.<br/>
|
|
792
|
+
///
|
|
793
|
+
/// If the value is a boolean, (1, 1, 1, 1) is returned for true, while
|
|
794
|
+
/// (0, 0, 0, 0) is returned for false.<br/>
|
|
795
|
+
///
|
|
796
|
+
/// In all other cases, the user-defined default value is returned. In all vector
|
|
797
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
798
|
+
/// signed integer, the default value is returned.
|
|
799
|
+
/// </para>
|
|
800
|
+
/// </remarks>
|
|
801
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
802
|
+
/// cannot be converted to a int4.</param>
|
|
803
|
+
/// <returns>The property value as a int4.</returns>
|
|
804
|
+
public int4 GetInt4(int4 defaultValue)
|
|
805
|
+
{
|
|
806
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
807
|
+
{
|
|
808
|
+
return defaultValue;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
return ConvertToInt4(this, defaultValue);
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
/// <summary>
|
|
815
|
+
/// Attempts to retrieve the value as a uint4.
|
|
816
|
+
/// </summary>
|
|
817
|
+
/// <remarks>
|
|
818
|
+
/// <para>
|
|
819
|
+
/// If the value is a 4-dimensional vector, its components will be converted
|
|
820
|
+
/// to 32-bit unsigned integers if possible.<br/>
|
|
821
|
+
///
|
|
822
|
+
/// If the value is a 3-dimensional vector, it will become the XYZ-components of
|
|
823
|
+
/// the uint4. The W-component will be set to zero.<br/>
|
|
824
|
+
///
|
|
825
|
+
/// If the value is a 2-dimensional vector, it will become the XY-components of
|
|
826
|
+
/// the uint4. The Z- and W-components will be set to zero.<br/>
|
|
827
|
+
///
|
|
828
|
+
/// If the value is a scalar that can be converted to a 32-bit unsigned integer,
|
|
829
|
+
/// the resulting uint4 will have this value in both of its components.<br/>
|
|
830
|
+
///
|
|
831
|
+
/// If the value is a boolean, (1, 1, 1, 1) is returned for true, while
|
|
832
|
+
/// (0, 0, 0, 0) is returned for false.<br/>
|
|
833
|
+
///
|
|
834
|
+
/// In all other cases, the user-defined default value is returned. In all vector
|
|
835
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
836
|
+
/// unsigned integer, the default value is returned.
|
|
837
|
+
/// </para>
|
|
838
|
+
/// </remarks>
|
|
839
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
840
|
+
/// cannot be converted to a uint4.</param>
|
|
841
|
+
/// <returns>The property value as a uint4.</returns>
|
|
842
|
+
public uint4 GetUInt4(uint4 defaultValue)
|
|
843
|
+
{
|
|
844
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
845
|
+
{
|
|
846
|
+
return defaultValue;
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
return ConvertToUInt4(this, defaultValue);
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
/// <summary>
|
|
853
|
+
/// Attempts to retrieve the value as a float4.
|
|
854
|
+
/// </summary>
|
|
855
|
+
/// <remarks>
|
|
856
|
+
/// <para>
|
|
857
|
+
/// If the value is a 4-dimensional vector, its components will be converted to
|
|
858
|
+
/// the closest representable single-precision floats, if possible.<br/>
|
|
859
|
+
///
|
|
860
|
+
/// If the value is a 3-dimensional vector, it will become the XYZ-components of
|
|
861
|
+
/// the float4. The W-component will be set to zero.<br/>
|
|
862
|
+
///
|
|
863
|
+
/// If the value is a 2-dimensional vector, it will become the XY-components of
|
|
864
|
+
/// the float4. The Z- and W-components will be set to zero.<br/>
|
|
865
|
+
///
|
|
866
|
+
/// If the value is a scalar, the resulting float4 will have this value in
|
|
867
|
+
/// both of its components.<br/>
|
|
868
|
+
///
|
|
869
|
+
/// If the value is a boolean, (1.0f, 1.0f, 1.0f, 1.0f) is returned for true, while
|
|
870
|
+
/// (0.0f, 0.0f, 0.0f, 0.0f) is returned for false.<br/>
|
|
871
|
+
/// In all other cases, the user-defined default value is returned. In all vector
|
|
872
|
+
/// cases, if any of the relevant components cannot be represented as a
|
|
873
|
+
/// single-precision floating-point number, the default value is returned.
|
|
874
|
+
/// </para>
|
|
875
|
+
/// </remarks>
|
|
876
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
877
|
+
/// cannot be converted to a float4.</param>
|
|
878
|
+
/// <returns>The property value as a float4.</returns>
|
|
879
|
+
public float4 GetFloat4(float4 defaultValue)
|
|
880
|
+
{
|
|
881
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
882
|
+
{
|
|
883
|
+
return defaultValue;
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
return ConvertToFloat4(this, defaultValue);
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
/// <summary>
|
|
890
|
+
/// Attempts to retrieve the value as a double4.
|
|
891
|
+
/// </summary>
|
|
892
|
+
/// <remarks>
|
|
893
|
+
/// <para>
|
|
894
|
+
/// If the value is a 4-dimensional vector, its components will be converted
|
|
895
|
+
/// to double-precision floating-point numbers.<br/>
|
|
896
|
+
///
|
|
897
|
+
/// If the value is a 3-dimensional vector, it will become the XYZ-components of
|
|
898
|
+
/// the double4. The W-component will be set to zero.<br/>
|
|
899
|
+
///
|
|
900
|
+
/// If the value is a 2-dimensional vector, it will become the XY-components of
|
|
901
|
+
/// the double4. The Z- and W-components will be set to zero.<br/>
|
|
902
|
+
///
|
|
903
|
+
/// If the value is a scalar, the resulting double4 will have this value in
|
|
904
|
+
/// both of its components.<br/>
|
|
905
|
+
///
|
|
906
|
+
/// If the value is a boolean, (1.0, 1.0, 1.0, 1.0) is returned for true, while
|
|
907
|
+
/// (0.0, 0.0, 0.0, 0.0) is returned for false.<br/>
|
|
908
|
+
/// In all other cases, the user-defined default value is returned.
|
|
909
|
+
/// </para>
|
|
910
|
+
/// </remarks>
|
|
911
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
912
|
+
/// cannot be converted to a double4.</param>
|
|
913
|
+
/// <returns>The property value as a double4.</returns>
|
|
914
|
+
public double4 GetDouble4(double4 defaultValue)
|
|
915
|
+
{
|
|
916
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
917
|
+
{
|
|
918
|
+
return defaultValue;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
return ConvertToDouble4(this, defaultValue);
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
/// <summary>
|
|
925
|
+
/// Attempts to retrieve the value as a int2x2.
|
|
926
|
+
/// </summary>
|
|
927
|
+
/// <remarks>
|
|
928
|
+
/// <para>
|
|
929
|
+
/// If the value is a 2-by-2 matrix, its components will be converted to
|
|
930
|
+
/// 32-bit signed integers if possible.<br/>
|
|
931
|
+
///
|
|
932
|
+
/// If the value is a 3-by-3 or 4-by-4 matrix, the int2x2 will be constructed
|
|
933
|
+
/// from the first 2 components of the first 2 columns.<br/>
|
|
934
|
+
///
|
|
935
|
+
/// If the value is a scalar that can be converted to a 32-bit signed integer,
|
|
936
|
+
/// then the resulting int2x2 will have this value along its diagonal. All other
|
|
937
|
+
/// entries will be zero.<br/>
|
|
938
|
+
///
|
|
939
|
+
/// If the value is a boolean, it is converted to 1 for true and 0 for false.
|
|
940
|
+
/// Then, the resulting int2x2 will have this value along its diagonal, while
|
|
941
|
+
/// all other entries will be zero.<br/>
|
|
942
|
+
/// In all other cases, the user-defined default value is returned. In all matrix
|
|
943
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
944
|
+
/// signed integer, the default value is returned.
|
|
945
|
+
/// </para>
|
|
946
|
+
/// </remarks>
|
|
947
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
948
|
+
/// cannot be converted to a int2x2.</param>
|
|
949
|
+
/// <returns>The property value as a int2x2.</returns>
|
|
950
|
+
public int2x2 GetInt2x2(int2x2 defaultValue)
|
|
951
|
+
{
|
|
952
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
953
|
+
{
|
|
954
|
+
return defaultValue;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
return ConvertToInt2x2(this, defaultValue);
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
/// <summary>
|
|
961
|
+
/// Attempts to retrieve the value as a uint2x2.
|
|
962
|
+
/// </summary>
|
|
963
|
+
/// <remarks>
|
|
964
|
+
/// <para>
|
|
965
|
+
/// If the value is a 2-by-2 matrix, its components will be converted to
|
|
966
|
+
/// 32-bit unsigned integers if possible.<br/>
|
|
967
|
+
///
|
|
968
|
+
/// If the value is a 3-by-3 or 4-by-4 matrix, the uint2x2 will be constructed
|
|
969
|
+
/// from the first 2 components of the first 2 columns.<br/>
|
|
970
|
+
///
|
|
971
|
+
/// If the value is a scalar that can be converted to a 32-bit unsigned integer,
|
|
972
|
+
/// then the resulting uint2x2 will have this value along its diagonal. All other
|
|
973
|
+
/// entries will be zero.<br/>
|
|
974
|
+
///
|
|
975
|
+
/// If the value is a boolean, it is converted to 1 for true and 0 for false.
|
|
976
|
+
/// Then, the resulting uint2x2 will have this value along its diagonal, while
|
|
977
|
+
/// all other entries will be zero.<br/>
|
|
978
|
+
/// In all other cases, the user-defined default value is returned. In all matrix
|
|
979
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
980
|
+
/// unsigned integer, the default value is returned.
|
|
981
|
+
/// </para>
|
|
982
|
+
/// </remarks>
|
|
983
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
984
|
+
/// cannot be converted to a uint2x2.</param>
|
|
985
|
+
/// <returns>The property value as a uint2x2.</returns>
|
|
986
|
+
public uint2x2 GetUInt2x2(uint2x2 defaultValue)
|
|
987
|
+
{
|
|
988
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
989
|
+
{
|
|
990
|
+
return defaultValue;
|
|
991
|
+
}
|
|
992
|
+
|
|
993
|
+
return ConvertToUInt2x2(this, defaultValue);
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
/// <summary>
|
|
997
|
+
/// Attempts to retrieve the value as a float2x2.
|
|
998
|
+
/// </summary>
|
|
999
|
+
/// <remarks>
|
|
1000
|
+
/// <para>
|
|
1001
|
+
/// If the value is a 2-by-2 matrix, its components will be converted to
|
|
1002
|
+
/// the closest representable single-precision floats.<br/>
|
|
1003
|
+
///
|
|
1004
|
+
/// If the value is a 3-by-3 or 4-by-4 matrix, the float2x2 will be constructed
|
|
1005
|
+
/// from the first 2 components of the first 2 columns.<br/>
|
|
1006
|
+
///
|
|
1007
|
+
/// If the value is a scalar that can be converted to a single-precision floating
|
|
1008
|
+
/// point number, then the resulting float2x2 will have this value along its diagonal.
|
|
1009
|
+
/// All other entries will be zero.<br/>
|
|
1010
|
+
///
|
|
1011
|
+
/// If the value is a boolean, it is converted to 1.0f for true and 0.0f for false.
|
|
1012
|
+
/// Then, the resulting float2x2 will have this value along its diagonal, while
|
|
1013
|
+
/// all other entries will be zero.<br/>
|
|
1014
|
+
/// In all other cases, the user-defined default value is returned. In all matrix
|
|
1015
|
+
/// cases, if any of the relevant components cannot be represented as a
|
|
1016
|
+
/// single-precision floating-point number, the default value is returned.
|
|
1017
|
+
/// </para>
|
|
1018
|
+
/// </remarks>
|
|
1019
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1020
|
+
/// cannot be converted to a float2x2.</param>
|
|
1021
|
+
/// <returns>The property value as a float2x2.</returns>
|
|
1022
|
+
public float2x2 GetFloat2x2(float2x2 defaultValue)
|
|
1023
|
+
{
|
|
1024
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1025
|
+
{
|
|
1026
|
+
return defaultValue;
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
return ConvertToFloat2x2(this, defaultValue);
|
|
1030
|
+
}
|
|
1031
|
+
|
|
1032
|
+
/// <summary>
|
|
1033
|
+
/// Attempts to retrieve the value as a double2x2.
|
|
1034
|
+
/// </summary>
|
|
1035
|
+
/// <remarks>
|
|
1036
|
+
/// <para>
|
|
1037
|
+
/// If the value is a 2-by-2 matrix, its components will be converted to
|
|
1038
|
+
/// double-precision floating-point numbers.<br/>
|
|
1039
|
+
///
|
|
1040
|
+
/// If the value is a 3-by-3 or 4-by-4 matrix, the double2x2 will be constructed
|
|
1041
|
+
/// from the first 2 components of the first 2 columns.<br/>
|
|
1042
|
+
///
|
|
1043
|
+
/// If the value is a scalar, then the resulting double2x2 will have this value
|
|
1044
|
+
/// along its diagonal. All other entries will be zero.<br/>
|
|
1045
|
+
///
|
|
1046
|
+
/// If the value is a boolean, it is converted to 1.0 for true and 0.0 for false.
|
|
1047
|
+
/// Then, the resulting double2x2 will have this value along its diagonal, while
|
|
1048
|
+
/// all other entries will be zero.<br/>
|
|
1049
|
+
/// In all other cases, the user-defined default value is returned.
|
|
1050
|
+
/// </para>
|
|
1051
|
+
/// </remarks>
|
|
1052
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1053
|
+
/// cannot be converted to a double2x2.</param>
|
|
1054
|
+
/// <returns>The property value as a double2x2.</returns>
|
|
1055
|
+
public double2x2 GetDouble2x2(double2x2 defaultValue)
|
|
1056
|
+
{
|
|
1057
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1058
|
+
{
|
|
1059
|
+
return defaultValue;
|
|
1060
|
+
}
|
|
1061
|
+
|
|
1062
|
+
return ConvertToDouble2x2(this, defaultValue);
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
/// <summary>
|
|
1066
|
+
/// Attempts to retrieve the value as a int3x3.
|
|
1067
|
+
/// </summary>
|
|
1068
|
+
/// <remarks>
|
|
1069
|
+
/// <para>
|
|
1070
|
+
/// If the value is a 3-by-3 matrix, its components will be converted to
|
|
1071
|
+
/// 32-bit signed integers if possible.<br/>
|
|
1072
|
+
///
|
|
1073
|
+
/// If the value is a 2-by-2 matrix, its components will be used to fill
|
|
1074
|
+
/// the corresponding components in the int3x3. All other components will
|
|
1075
|
+
/// be initialized as zero.<br/>
|
|
1076
|
+
///
|
|
1077
|
+
/// If the value is a 4-by-4 matrix, the int3x3 will be constructed
|
|
1078
|
+
/// from the first 3 components of the first 3 columns.<br/>
|
|
1079
|
+
///
|
|
1080
|
+
/// If the value is a scalar that can be converted to a 32-bit signed integer,
|
|
1081
|
+
/// then the resulting int3x3 will have this value along its diagonal. All other
|
|
1082
|
+
/// entries will be zero.<br/>
|
|
1083
|
+
///
|
|
1084
|
+
/// If the value is a boolean, it is converted to 1 for true and 0 for false.
|
|
1085
|
+
/// Then, the resulting int3x3 will have this value along its diagonal, while
|
|
1086
|
+
/// all other entries will be zero.<br/>
|
|
1087
|
+
/// In all other cases, the user-defined default value is returned. In all matrix
|
|
1088
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
1089
|
+
/// signed integer, the default value is returned.
|
|
1090
|
+
/// </para>
|
|
1091
|
+
/// </remarks>
|
|
1092
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1093
|
+
/// cannot be converted to a int3x3.</param>
|
|
1094
|
+
/// <returns>The property value as a int3x3.</returns>
|
|
1095
|
+
public int3x3 GetInt3x3(int3x3 defaultValue)
|
|
1096
|
+
{
|
|
1097
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1098
|
+
{
|
|
1099
|
+
return defaultValue;
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
return ConvertToInt3x3(this, defaultValue);
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
/// <summary>
|
|
1106
|
+
/// Attempts to retrieve the value as a uint3x3.
|
|
1107
|
+
/// </summary>
|
|
1108
|
+
/// <remarks>
|
|
1109
|
+
/// <para>
|
|
1110
|
+
/// If the value is a 3-by-3 matrix, its components will be converted to
|
|
1111
|
+
/// 32-bit unsigned integers if possible.<br/>
|
|
1112
|
+
///
|
|
1113
|
+
/// If the value is a 2-by-2 matrix, its components will be used to fill
|
|
1114
|
+
/// the corresponding components in the uint3x3. All other components will
|
|
1115
|
+
/// be initialized as zero.<br/>
|
|
1116
|
+
///
|
|
1117
|
+
/// If the value is a 4-by-4 matrix, the uint3x3 will be constructed
|
|
1118
|
+
/// from the first 3 components of the first 3 columns.<br/>
|
|
1119
|
+
///
|
|
1120
|
+
/// If the value is a scalar that can be converted to a 32-bit unsigned integer,
|
|
1121
|
+
/// then the resulting uint3x3 will have this value along its diagonal. All other
|
|
1122
|
+
/// entries will be zero.<br/>
|
|
1123
|
+
///
|
|
1124
|
+
/// If the value is a boolean, it is converted to 1 for true and 0 for false.
|
|
1125
|
+
/// Then, the resulting uint3x3 will have this value along its diagonal, while
|
|
1126
|
+
/// all other entries will be zero.<br/>
|
|
1127
|
+
/// In all other cases, the user-defined default value is returned. In all matrix
|
|
1128
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
1129
|
+
/// unsigned integer, the default value is returned.
|
|
1130
|
+
/// </para>
|
|
1131
|
+
/// </remarks>
|
|
1132
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1133
|
+
/// cannot be converted to a uint3x3.</param>
|
|
1134
|
+
/// <returns>The property value as a uint3x3.</returns>
|
|
1135
|
+
public uint3x3 GetUInt3x3(uint3x3 defaultValue)
|
|
1136
|
+
{
|
|
1137
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1138
|
+
{
|
|
1139
|
+
return defaultValue;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
return ConvertToUInt3x3(this, defaultValue);
|
|
1143
|
+
}
|
|
1144
|
+
|
|
1145
|
+
/// <summary>
|
|
1146
|
+
/// Attempts to retrieve the value as a float3x3.
|
|
1147
|
+
/// </summary>
|
|
1148
|
+
/// <remarks>
|
|
1149
|
+
/// <para>
|
|
1150
|
+
/// If the value is a 3-by-3 matrix, its components will be converted to the
|
|
1151
|
+
/// closest representable single-precision floats if possible.<br/>
|
|
1152
|
+
///
|
|
1153
|
+
/// If the value is a 2-by-2 matrix, its components will be used to fill
|
|
1154
|
+
/// the corresponding components in the float3x3. All other components will
|
|
1155
|
+
/// be initialized as zero.<br/>
|
|
1156
|
+
///
|
|
1157
|
+
/// If the value is a 4-by-4 matrix, the float3x3 will be constructed
|
|
1158
|
+
/// from the first 3 components of the first 3 columns.<br/>
|
|
1159
|
+
///
|
|
1160
|
+
/// If the value is a scalar that can be converted to a single-precision floating
|
|
1161
|
+
/// point number, then the resulting float3x3 will have this value along its diagonal.
|
|
1162
|
+
/// All other entries will be zero.<br/>
|
|
1163
|
+
///
|
|
1164
|
+
/// If the value is a boolean, it is converted to 1.0f for true and 0.0f for false.
|
|
1165
|
+
/// Then, the resulting float3x3 will have this value along its diagonal, while
|
|
1166
|
+
/// all other entries will be zero.<br/>
|
|
1167
|
+
/// In all other cases, the user-defined default value is returned. In all matrix
|
|
1168
|
+
/// cases, if any of the relevant components cannot be represented as a
|
|
1169
|
+
/// single-precision floating-point number, the default value is returned.
|
|
1170
|
+
/// </para>
|
|
1171
|
+
/// </remarks>
|
|
1172
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1173
|
+
/// cannot be converted to a float3x3.</param>
|
|
1174
|
+
/// <returns>The property value as a float3x3.</returns>
|
|
1175
|
+
public float3x3 GetFloat3x3(float3x3 defaultValue)
|
|
1176
|
+
{
|
|
1177
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1178
|
+
{
|
|
1179
|
+
return defaultValue;
|
|
1180
|
+
}
|
|
1181
|
+
|
|
1182
|
+
return ConvertToFloat3x3(this, defaultValue);
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
/// <summary>
|
|
1186
|
+
/// Attempts to retrieve the value as a double3x3.
|
|
1187
|
+
/// </summary>
|
|
1188
|
+
/// <remarks>
|
|
1189
|
+
/// <para>
|
|
1190
|
+
/// If the value is a 3-by-3 matrix, its components will be converted to the
|
|
1191
|
+
/// double-precision floating point numbers.<br/>
|
|
1192
|
+
///
|
|
1193
|
+
/// If the value is a 2-by-2 matrix, its components will be used to fill
|
|
1194
|
+
/// the corresponding components in the double3x3. All other components will
|
|
1195
|
+
/// be initialized as zero.<br/>
|
|
1196
|
+
///
|
|
1197
|
+
/// If the value is a 4-by-4 matrix, the double3x3 will be constructed
|
|
1198
|
+
/// from the first 3 components of the first 3 columns.<br/>
|
|
1199
|
+
///
|
|
1200
|
+
/// If the value is a scalar, then the resulting double3x3 will have this value
|
|
1201
|
+
/// along its diagonal. All other entries will be zero.<br/>
|
|
1202
|
+
///
|
|
1203
|
+
/// If the value is a boolean, it is converted to 1.0 for true and 0.0 for false.
|
|
1204
|
+
/// Then, the resulting double3x3 will have this value along its diagonal, while
|
|
1205
|
+
/// all other entries will be zero.<br/>
|
|
1206
|
+
/// In all other cases, the user-defined default value is returned.
|
|
1207
|
+
/// </para>
|
|
1208
|
+
/// </remarks>
|
|
1209
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1210
|
+
/// cannot be converted to a double3x3.</param>
|
|
1211
|
+
/// <returns>The property value as a double3x3.</returns>
|
|
1212
|
+
public double3x3 GetDouble3x3(double3x3 defaultValue)
|
|
1213
|
+
{
|
|
1214
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1215
|
+
{
|
|
1216
|
+
return defaultValue;
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
return ConvertToDouble3x3(this, defaultValue);
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
/// <summary>
|
|
1223
|
+
/// Attempts to retrieve the value as a int4x4.
|
|
1224
|
+
/// </summary>
|
|
1225
|
+
/// <remarks>
|
|
1226
|
+
/// <para>
|
|
1227
|
+
/// If the value is a 4-by-4 matrix, its components will be converted to
|
|
1228
|
+
/// 32-bit signed integers if possible.<br/>
|
|
1229
|
+
///
|
|
1230
|
+
/// If the value is a 2-by-2 or 3-by-3 matrix, its components will be used
|
|
1231
|
+
/// to fill the corresponding components in the int4x4. All other components
|
|
1232
|
+
/// will be initialized as zero.<br/>
|
|
1233
|
+
///
|
|
1234
|
+
/// If the value is a scalar that can be converted to a 32-bit signed integer,
|
|
1235
|
+
/// then the resulting int4x4 will have this value along its diagonal. All other
|
|
1236
|
+
/// entries will be zero.<br/>
|
|
1237
|
+
///
|
|
1238
|
+
/// If the value is a boolean, it is converted to 1 for true and 0 for false.
|
|
1239
|
+
/// Then, the resulting int4x4 will have this value along its diagonal, while
|
|
1240
|
+
/// all other entries will be zero.<br/>
|
|
1241
|
+
/// In all other cases, the user-defined default value is returned. In all matrix
|
|
1242
|
+
/// cases, if any of the relevant components cannot be represented as a 32-bit
|
|
1243
|
+
/// signed integer, the default value is returned.
|
|
1244
|
+
/// </para>
|
|
1245
|
+
/// </remarks>
|
|
1246
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1247
|
+
/// cannot be converted to a int4x4.</param>
|
|
1248
|
+
/// <returns>The property value as a int4x4.</returns>
|
|
1249
|
+
public int4x4 GetInt4x4(int4x4 defaultValue)
|
|
1250
|
+
{
|
|
1251
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1252
|
+
{
|
|
1253
|
+
return defaultValue;
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
return ConvertToInt4x4(this, defaultValue);
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1259
|
+
/// <summary>
|
|
1260
|
+
/// Attempts to retrieve the value as a uint4x4.
|
|
1261
|
+
/// </summary>
|
|
1262
|
+
/// <remarks>
|
|
1263
|
+
/// <para>
|
|
1264
|
+
/// If the value is a 4-by-4 matrix, its components will be converted to
|
|
1265
|
+
/// 32-bit unsigned integers if possible.<br/>
|
|
1266
|
+
///
|
|
1267
|
+
/// If the value is a 2-by-2 or 3-by-3 matrix, its components will be used
|
|
1268
|
+
/// to fill the corresponding components in the uint4x4. All other components
|
|
1269
|
+
/// will be initialized as zero.<br/>
|
|
1270
|
+
///
|
|
1271
|
+
/// If the value is a scalar that can be converted to a 32-bit unsigned integer,
|
|
1272
|
+
/// then the resulting uint4x4 will have this value along its diagonal. All other
|
|
1273
|
+
/// entries will be zero.<br/>
|
|
1274
|
+
///
|
|
1275
|
+
/// If the value is a boolean, it is converted to 1 for true and 0 for false.
|
|
1276
|
+
/// Then, the resulting uint4x4 will have this value along its diagonal, while
|
|
1277
|
+
/// all other entries will be zero.<br/>
|
|
1278
|
+
/// In all other cases, the user-defined default value is returned.
|
|
1279
|
+
/// </para>
|
|
1280
|
+
/// </remarks>
|
|
1281
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1282
|
+
/// cannot be converted to a uint4x4.</param>
|
|
1283
|
+
/// <returns>The value as a uint4x4.</returns>
|
|
1284
|
+
public uint4x4 GetUInt4x4(uint4x4 defaultValue)
|
|
1285
|
+
{
|
|
1286
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1287
|
+
{
|
|
1288
|
+
return defaultValue;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
return ConvertToUInt4x4(this, defaultValue);
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1294
|
+
/// <summary>
|
|
1295
|
+
/// Attempts to retrieve the value as a float4x4.
|
|
1296
|
+
/// </summary>
|
|
1297
|
+
/// <remarks>
|
|
1298
|
+
/// <para>
|
|
1299
|
+
/// If the value is a 4-by-4 matrix, its components will be converted to the
|
|
1300
|
+
/// closest representable single-precision floats if possible.<br/>
|
|
1301
|
+
///
|
|
1302
|
+
/// If the value is a 2-by-2 or 3-by-3 matrix, its components will be used
|
|
1303
|
+
/// to fill the corresponding components in the float4x4. All other components
|
|
1304
|
+
/// will be initialized as zero.<br/>
|
|
1305
|
+
///
|
|
1306
|
+
/// If the value is a scalar that can be converted to a single-precision floating
|
|
1307
|
+
/// point number, then the resulting float4x4 will have this value along its diagonal.
|
|
1308
|
+
/// All other entries will be zero.<br/>
|
|
1309
|
+
///
|
|
1310
|
+
/// If the value is a boolean, it is converted to 1.0f for true and 0.0f for false.
|
|
1311
|
+
/// Then, the resulting float4x4 will have this value along its diagonal, while
|
|
1312
|
+
/// all other entries will be zero.<br/>
|
|
1313
|
+
/// In all other cases, the user-defined default value is returned.
|
|
1314
|
+
/// </para>
|
|
1315
|
+
/// </remarks>
|
|
1316
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1317
|
+
/// cannot be converted to a float4x4.</param>
|
|
1318
|
+
/// <returns>The value as a float4x4.</returns>
|
|
1319
|
+
public float4x4 GetFloat4x4(float4x4 defaultValue)
|
|
1320
|
+
{
|
|
1321
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1322
|
+
{
|
|
1323
|
+
return defaultValue;
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
return ConvertToFloat4x4(this, defaultValue);
|
|
1327
|
+
}
|
|
1328
|
+
|
|
1329
|
+
/// <summary>
|
|
1330
|
+
/// Attempts to retrieve the value as a double4x4.
|
|
1331
|
+
/// </summary>
|
|
1332
|
+
/// <remarks>
|
|
1333
|
+
/// <para>
|
|
1334
|
+
/// If the value is a 4-by-4 matrix, its components will be converted to the
|
|
1335
|
+
/// double-precision floating point numbers.<br/>
|
|
1336
|
+
///
|
|
1337
|
+
/// If the value is a 2-by-2 or 3-by-3 matrix, its components will be used
|
|
1338
|
+
/// to fill the corresponding components in the double4x4. All other components
|
|
1339
|
+
/// will be initialized as zero.<br/>
|
|
1340
|
+
///
|
|
1341
|
+
/// If the value is a scalar, then the resulting double4x4 will have this value
|
|
1342
|
+
/// along its diagonal. All other entries will be zero.<br/>
|
|
1343
|
+
///
|
|
1344
|
+
/// If the value is a boolean, it is converted to 1.0 for true and 0.0 for false.
|
|
1345
|
+
/// Then, the resulting double4x4 will have this value along its diagonal, while
|
|
1346
|
+
/// all other entries will be zero.<br/>
|
|
1347
|
+
/// In all other cases, the user-defined default value is returned.
|
|
1348
|
+
/// </para>
|
|
1349
|
+
/// </remarks>
|
|
1350
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1351
|
+
/// cannot be converted to a double4x4.</param>
|
|
1352
|
+
/// <returns>The value as a double4x4.</returns>
|
|
1353
|
+
public double4x4 GetDouble4x4(double4x4 defaultValue)
|
|
1354
|
+
{
|
|
1355
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1356
|
+
{
|
|
1357
|
+
return defaultValue;
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
return ConvertToDouble4x4(this, defaultValue);
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
/// <summary>
|
|
1364
|
+
/// Attempts to retrieve the value as a String.
|
|
1365
|
+
/// </summary>
|
|
1366
|
+
/// <remarks>
|
|
1367
|
+
/// <para>
|
|
1368
|
+
/// String values are returned as-is.<br/>
|
|
1369
|
+
/// Scalar values are converted to a string with `ToString()`.<br/>
|
|
1370
|
+
/// Boolean values are converted to "true" or "false".<br/>
|
|
1371
|
+
/// Array values return the default value.<br/>
|
|
1372
|
+
/// </para>
|
|
1373
|
+
/// </remarks>
|
|
1374
|
+
/// <param name="defaultValue">The default value to use if the value
|
|
1375
|
+
/// cannot be converted to a String.</param>
|
|
1376
|
+
/// <returns>The property value as a String.</returns>
|
|
1377
|
+
public String GetString(String defaultValue = "")
|
|
1378
|
+
{
|
|
1379
|
+
if (this.isEmpty || this.valueType.isArray)
|
|
1380
|
+
{
|
|
1381
|
+
return defaultValue;
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
return ConvertToString(this, defaultValue);
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
/// <summary>
|
|
1388
|
+
/// Attempts to retrieve the value as a <see cref="CesiumPropertyArray"/>. If the value
|
|
1389
|
+
/// is not an array type, this returns an empty array.
|
|
1390
|
+
/// </summary>
|
|
1391
|
+
/// <returns>The value as a CesiumPropertyArray.</returns>
|
|
1392
|
+
public CesiumPropertyArray GetArray()
|
|
1393
|
+
{
|
|
1394
|
+
if (valueType.isArray)
|
|
1395
|
+
{
|
|
1396
|
+
return this.objectValue as CesiumPropertyArray;
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
return new CesiumPropertyArray();
|
|
1400
|
+
}
|
|
1401
|
+
|
|
1402
|
+
/// <summary>
|
|
1403
|
+
/// Gets the given dictionary of CesiumMetadataValues as a new dictionary of strings,
|
|
1404
|
+
/// mapped by name. This is useful for displaying the values from a property table or
|
|
1405
|
+
/// property texture as strings in a user interface.
|
|
1406
|
+
/// </summary>
|
|
1407
|
+
/// <remarks>
|
|
1408
|
+
/// Array properties cannot be converted to strings, so empty strings will
|
|
1409
|
+
/// be returned for their values.
|
|
1410
|
+
/// </remarks>
|
|
1411
|
+
/// <param name="values">The dictionary of CesiumMetadataValues mapped by name.</param>
|
|
1412
|
+
/// <returns>The dictionary of values converted to strings, mapped by name.</returns>
|
|
1413
|
+
public static Dictionary<String, String> GetValuesAsStrings(Dictionary<String, CesiumMetadataValue> values)
|
|
1414
|
+
{
|
|
1415
|
+
Dictionary<String, String> result = new Dictionary<String, String>(values.Count);
|
|
1416
|
+
foreach (KeyValuePair<String, CesiumMetadataValue> pair in values)
|
|
1417
|
+
{
|
|
1418
|
+
result.Add(pair.Key, pair.Value.GetString());
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
return result;
|
|
1422
|
+
}
|
|
1423
|
+
#endregion
|
|
1424
|
+
|
|
1425
|
+
#region Internal casts for Reinterop
|
|
1426
|
+
internal static bool? GetObjectAsBoolean(System.Object inObject)
|
|
1427
|
+
{
|
|
1428
|
+
return inObject as bool?;
|
|
1429
|
+
}
|
|
1430
|
+
internal static SByte? GetObjectAsSByte(System.Object inObject)
|
|
1431
|
+
{
|
|
1432
|
+
return inObject as SByte?;
|
|
1433
|
+
}
|
|
1434
|
+
internal static Byte? GetObjectAsByte(System.Object inObject)
|
|
1435
|
+
{
|
|
1436
|
+
return inObject as Byte?;
|
|
1437
|
+
}
|
|
1438
|
+
internal static Int16? GetObjectAsInt16(System.Object inObject)
|
|
1439
|
+
{
|
|
1440
|
+
return inObject as Int16?;
|
|
1441
|
+
}
|
|
1442
|
+
internal static UInt16? GetObjectAsUInt16(System.Object inObject)
|
|
1443
|
+
{
|
|
1444
|
+
return inObject as UInt16?;
|
|
1445
|
+
}
|
|
1446
|
+
internal static Int32? GetObjectAsInt32(System.Object inObject)
|
|
1447
|
+
{
|
|
1448
|
+
return inObject as Int32?;
|
|
1449
|
+
}
|
|
1450
|
+
internal static UInt32? GetObjectAsUInt32(System.Object inObject)
|
|
1451
|
+
{
|
|
1452
|
+
return inObject as UInt32?;
|
|
1453
|
+
}
|
|
1454
|
+
internal static Int64? GetObjectAsInt64(System.Object inObject)
|
|
1455
|
+
{
|
|
1456
|
+
return inObject as Int64?;
|
|
1457
|
+
}
|
|
1458
|
+
internal static UInt64? GetObjectAsUInt64(System.Object inObject)
|
|
1459
|
+
{
|
|
1460
|
+
return inObject as UInt64?;
|
|
1461
|
+
}
|
|
1462
|
+
internal static float? GetObjectAsFloat(System.Object inObject)
|
|
1463
|
+
{
|
|
1464
|
+
return inObject as float?;
|
|
1465
|
+
}
|
|
1466
|
+
internal static double? GetObjectAsDouble(System.Object inObject)
|
|
1467
|
+
{
|
|
1468
|
+
return inObject as double?;
|
|
1469
|
+
}
|
|
1470
|
+
internal static CesiumIntVec2? GetObjectAsCesiumIntVec2(System.Object inObject)
|
|
1471
|
+
{
|
|
1472
|
+
return inObject as CesiumIntVec2?;
|
|
1473
|
+
}
|
|
1474
|
+
internal static CesiumIntVec3? GetObjectAsCesiumIntVec3(System.Object inObject)
|
|
1475
|
+
{
|
|
1476
|
+
return inObject as CesiumIntVec3?;
|
|
1477
|
+
}
|
|
1478
|
+
internal static CesiumIntVec4? GetObjectAsCesiumIntVec4(System.Object inObject)
|
|
1479
|
+
{
|
|
1480
|
+
return inObject as CesiumIntVec4?;
|
|
1481
|
+
}
|
|
1482
|
+
internal static CesiumUintVec2? GetObjectAsCesiumUintVec2(System.Object inObject)
|
|
1483
|
+
{
|
|
1484
|
+
return inObject as CesiumUintVec2?;
|
|
1485
|
+
}
|
|
1486
|
+
internal static CesiumUintVec3? GetObjectAsCesiumUintVec3(System.Object inObject)
|
|
1487
|
+
{
|
|
1488
|
+
return inObject as CesiumUintVec3?;
|
|
1489
|
+
}
|
|
1490
|
+
internal static CesiumUintVec4? GetObjectAsCesiumUintVec4(System.Object inObject)
|
|
1491
|
+
{
|
|
1492
|
+
return inObject as CesiumUintVec4?;
|
|
1493
|
+
}
|
|
1494
|
+
internal static float2? GetObjectAsFloat2(System.Object inObject)
|
|
1495
|
+
{
|
|
1496
|
+
return inObject as float2?;
|
|
1497
|
+
}
|
|
1498
|
+
internal static float3? GetObjectAsFloat3(System.Object inObject)
|
|
1499
|
+
{
|
|
1500
|
+
return inObject as float3?;
|
|
1501
|
+
}
|
|
1502
|
+
internal static float4? GetObjectAsFloat4(System.Object inObject)
|
|
1503
|
+
{
|
|
1504
|
+
return inObject as float4?;
|
|
1505
|
+
}
|
|
1506
|
+
internal static double2? GetObjectAsDouble2(System.Object inObject)
|
|
1507
|
+
{
|
|
1508
|
+
return inObject as double2?;
|
|
1509
|
+
}
|
|
1510
|
+
internal static double3? GetObjectAsDouble3(System.Object inObject)
|
|
1511
|
+
{
|
|
1512
|
+
return inObject as double3?;
|
|
1513
|
+
}
|
|
1514
|
+
internal static double4? GetObjectAsDouble4(System.Object inObject)
|
|
1515
|
+
{
|
|
1516
|
+
return inObject as double4?;
|
|
1517
|
+
}
|
|
1518
|
+
internal static CesiumIntMat2x2? GetObjectAsCesiumIntMat2x2(System.Object inObject)
|
|
1519
|
+
{
|
|
1520
|
+
return inObject as CesiumIntMat2x2?;
|
|
1521
|
+
}
|
|
1522
|
+
internal static CesiumIntMat3x3? GetObjectAsCesiumIntMat3x3(System.Object inObject)
|
|
1523
|
+
{
|
|
1524
|
+
return inObject as CesiumIntMat3x3?;
|
|
1525
|
+
}
|
|
1526
|
+
internal static CesiumIntMat4x4? GetObjectAsCesiumIntMat4x4(System.Object inObject)
|
|
1527
|
+
{
|
|
1528
|
+
return inObject as CesiumIntMat4x4?;
|
|
1529
|
+
}
|
|
1530
|
+
internal static CesiumUintMat2x2? GetObjectAsCesiumUintMat2x2(System.Object inObject)
|
|
1531
|
+
{
|
|
1532
|
+
return inObject as CesiumUintMat2x2?;
|
|
1533
|
+
}
|
|
1534
|
+
internal static CesiumUintMat3x3? GetObjectAsCesiumUintMat3x3(System.Object inObject)
|
|
1535
|
+
{
|
|
1536
|
+
return inObject as CesiumUintMat3x3?;
|
|
1537
|
+
}
|
|
1538
|
+
internal static CesiumUintMat4x4? GetObjectAsCesiumUintMat4x4(System.Object inObject)
|
|
1539
|
+
{
|
|
1540
|
+
return inObject as CesiumUintMat4x4?;
|
|
1541
|
+
}
|
|
1542
|
+
internal static float2x2? GetObjectAsFloat2x2(System.Object inObject)
|
|
1543
|
+
{
|
|
1544
|
+
return inObject as float2x2?;
|
|
1545
|
+
}
|
|
1546
|
+
internal static float3x3? GetObjectAsFloat3x3(System.Object inObject)
|
|
1547
|
+
{
|
|
1548
|
+
return inObject as float3x3?;
|
|
1549
|
+
}
|
|
1550
|
+
internal static float4x4? GetObjectAsFloat4x4(System.Object inObject)
|
|
1551
|
+
{
|
|
1552
|
+
return inObject as float4x4?;
|
|
1553
|
+
}
|
|
1554
|
+
internal static double2x2? GetObjectAsDouble2x2(System.Object inObject)
|
|
1555
|
+
{
|
|
1556
|
+
return inObject as double2x2?;
|
|
1557
|
+
}
|
|
1558
|
+
internal static double3x3? GetObjectAsDouble3x3(System.Object inObject)
|
|
1559
|
+
{
|
|
1560
|
+
return inObject as double3x3?;
|
|
1561
|
+
}
|
|
1562
|
+
internal static double4x4? GetObjectAsDouble4x4(System.Object inObject)
|
|
1563
|
+
{
|
|
1564
|
+
return inObject as double4x4?;
|
|
1565
|
+
}
|
|
1566
|
+
internal static String GetObjectAsString(System.Object inObject)
|
|
1567
|
+
{
|
|
1568
|
+
return inObject as String;
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
#endregion
|
|
1572
|
+
|
|
1573
|
+
#region Internal setters for Reinterop
|
|
1574
|
+
internal void SetObjectValue(bool input)
|
|
1575
|
+
{
|
|
1576
|
+
this.objectValue = input;
|
|
1577
|
+
}
|
|
1578
|
+
internal void SetObjectValue(SByte input)
|
|
1579
|
+
{
|
|
1580
|
+
this.objectValue = input;
|
|
1581
|
+
}
|
|
1582
|
+
internal void SetObjectValue(Byte input)
|
|
1583
|
+
{
|
|
1584
|
+
this.objectValue = input;
|
|
1585
|
+
}
|
|
1586
|
+
internal void SetObjectValue(Int16 input)
|
|
1587
|
+
{
|
|
1588
|
+
this.objectValue = input;
|
|
1589
|
+
}
|
|
1590
|
+
internal void SetObjectValue(UInt16 input)
|
|
1591
|
+
{
|
|
1592
|
+
this.objectValue = input;
|
|
1593
|
+
}
|
|
1594
|
+
internal void SetObjectValue(Int32 input)
|
|
1595
|
+
{
|
|
1596
|
+
this.objectValue = input;
|
|
1597
|
+
}
|
|
1598
|
+
internal void SetObjectValue(UInt32 input)
|
|
1599
|
+
{
|
|
1600
|
+
this.objectValue = input;
|
|
1601
|
+
}
|
|
1602
|
+
internal void SetObjectValue(Int64 input)
|
|
1603
|
+
{
|
|
1604
|
+
this.objectValue = input;
|
|
1605
|
+
}
|
|
1606
|
+
internal void SetObjectValue(UInt64 input)
|
|
1607
|
+
{
|
|
1608
|
+
this.objectValue = input;
|
|
1609
|
+
}
|
|
1610
|
+
internal void SetObjectValue(float input)
|
|
1611
|
+
{
|
|
1612
|
+
this.objectValue = input;
|
|
1613
|
+
}
|
|
1614
|
+
internal void SetObjectValue(double input)
|
|
1615
|
+
{
|
|
1616
|
+
this.objectValue = input;
|
|
1617
|
+
}
|
|
1618
|
+
internal void SetObjectValue(CesiumIntVec2 input)
|
|
1619
|
+
{
|
|
1620
|
+
this.objectValue = input;
|
|
1621
|
+
}
|
|
1622
|
+
internal void SetObjectValue(CesiumIntVec3 input)
|
|
1623
|
+
{
|
|
1624
|
+
this.objectValue = input;
|
|
1625
|
+
}
|
|
1626
|
+
internal void SetObjectValue(CesiumIntVec4 input)
|
|
1627
|
+
{
|
|
1628
|
+
this.objectValue = input;
|
|
1629
|
+
}
|
|
1630
|
+
internal void SetObjectValue(CesiumUintVec2 input)
|
|
1631
|
+
{
|
|
1632
|
+
this.objectValue = input;
|
|
1633
|
+
}
|
|
1634
|
+
internal void SetObjectValue(CesiumUintVec3 input)
|
|
1635
|
+
{
|
|
1636
|
+
this.objectValue = input;
|
|
1637
|
+
}
|
|
1638
|
+
internal void SetObjectValue(CesiumUintVec4 input)
|
|
1639
|
+
{
|
|
1640
|
+
this.objectValue = input;
|
|
1641
|
+
}
|
|
1642
|
+
internal void SetObjectValue(float2 input)
|
|
1643
|
+
{
|
|
1644
|
+
this.objectValue = input;
|
|
1645
|
+
}
|
|
1646
|
+
internal void SetObjectValue(float3 input)
|
|
1647
|
+
{
|
|
1648
|
+
this.objectValue = input;
|
|
1649
|
+
}
|
|
1650
|
+
internal void SetObjectValue(float4 input)
|
|
1651
|
+
{
|
|
1652
|
+
this.objectValue = input;
|
|
1653
|
+
}
|
|
1654
|
+
internal void SetObjectValue(double2 input)
|
|
1655
|
+
{
|
|
1656
|
+
this.objectValue = input;
|
|
1657
|
+
}
|
|
1658
|
+
internal void SetObjectValue(double3 input)
|
|
1659
|
+
{
|
|
1660
|
+
this.objectValue = input;
|
|
1661
|
+
}
|
|
1662
|
+
internal void SetObjectValue(double4 input)
|
|
1663
|
+
{
|
|
1664
|
+
this.objectValue = input;
|
|
1665
|
+
}
|
|
1666
|
+
internal void SetObjectValue(CesiumIntMat2x2 input)
|
|
1667
|
+
{
|
|
1668
|
+
this.objectValue = input;
|
|
1669
|
+
}
|
|
1670
|
+
internal void SetObjectValue(CesiumIntMat3x3 input)
|
|
1671
|
+
{
|
|
1672
|
+
this.objectValue = input;
|
|
1673
|
+
}
|
|
1674
|
+
internal void SetObjectValue(CesiumIntMat4x4 input)
|
|
1675
|
+
{
|
|
1676
|
+
this.objectValue = input;
|
|
1677
|
+
}
|
|
1678
|
+
internal void SetObjectValue(CesiumUintMat2x2 input)
|
|
1679
|
+
{
|
|
1680
|
+
this.objectValue = input;
|
|
1681
|
+
}
|
|
1682
|
+
internal void SetObjectValue(CesiumUintMat3x3 input)
|
|
1683
|
+
{
|
|
1684
|
+
this.objectValue = input;
|
|
1685
|
+
}
|
|
1686
|
+
internal void SetObjectValue(CesiumUintMat4x4 input)
|
|
1687
|
+
{
|
|
1688
|
+
this.objectValue = input;
|
|
1689
|
+
}
|
|
1690
|
+
internal void SetObjectValue(float2x2 input)
|
|
1691
|
+
{
|
|
1692
|
+
this.objectValue = input;
|
|
1693
|
+
}
|
|
1694
|
+
internal void SetObjectValue(float3x3 input)
|
|
1695
|
+
{
|
|
1696
|
+
this.objectValue = input;
|
|
1697
|
+
}
|
|
1698
|
+
internal void SetObjectValue(float4x4 input)
|
|
1699
|
+
{
|
|
1700
|
+
this.objectValue = input;
|
|
1701
|
+
}
|
|
1702
|
+
internal void SetObjectValue(double2x2 input)
|
|
1703
|
+
{
|
|
1704
|
+
this.objectValue = input;
|
|
1705
|
+
}
|
|
1706
|
+
internal void SetObjectValue(double3x3 input)
|
|
1707
|
+
{
|
|
1708
|
+
this.objectValue = input;
|
|
1709
|
+
}
|
|
1710
|
+
internal void SetObjectValue(double4x4 input)
|
|
1711
|
+
{
|
|
1712
|
+
this.objectValue = input;
|
|
1713
|
+
}
|
|
1714
|
+
internal void SetObjectValue(String input)
|
|
1715
|
+
{
|
|
1716
|
+
this.objectValue = input;
|
|
1717
|
+
}
|
|
1718
|
+
internal void SetObjectValue(CesiumPropertyArray input)
|
|
1719
|
+
{
|
|
1720
|
+
this.objectValue = input;
|
|
1721
|
+
}
|
|
1722
|
+
#endregion
|
|
1723
|
+
|
|
1724
|
+
#region Internal static partial methods
|
|
1725
|
+
internal static partial bool ConvertToBoolean(CesiumMetadataValue value, bool defaultValue);
|
|
1726
|
+
internal static partial SByte ConvertToSByte(CesiumMetadataValue value, SByte defaultValue);
|
|
1727
|
+
internal static partial Byte ConvertToByte(CesiumMetadataValue value, Byte defaultValue);
|
|
1728
|
+
internal static partial Int16 ConvertToInt16(CesiumMetadataValue value, Int16 defaultValue);
|
|
1729
|
+
internal static partial UInt16 ConvertToUInt16(CesiumMetadataValue value, UInt16 defaultValue);
|
|
1730
|
+
internal static partial Int32 ConvertToInt32(CesiumMetadataValue value, Int32 defaultValue);
|
|
1731
|
+
internal static partial UInt32 ConvertToUInt32(CesiumMetadataValue value, UInt32 defaultValue);
|
|
1732
|
+
internal static partial Int64 ConvertToInt64(CesiumMetadataValue value, Int64 defaultValue);
|
|
1733
|
+
internal static partial UInt64 ConvertToUInt64(CesiumMetadataValue value, UInt64 defaultValue);
|
|
1734
|
+
internal static partial float ConvertToFloat(CesiumMetadataValue value, float defaultValue);
|
|
1735
|
+
internal static partial double ConvertToDouble(CesiumMetadataValue value, double defaultValue);
|
|
1736
|
+
internal static partial int2 ConvertToInt2(CesiumMetadataValue value, int2 defaultValue);
|
|
1737
|
+
internal static partial uint2 ConvertToUInt2(CesiumMetadataValue value, uint2 defaultValue);
|
|
1738
|
+
internal static partial float2 ConvertToFloat2(CesiumMetadataValue value, float2 defaultValue);
|
|
1739
|
+
internal static partial double2 ConvertToDouble2(CesiumMetadataValue value, double2 defaultValue);
|
|
1740
|
+
internal static partial int3 ConvertToInt3(CesiumMetadataValue value, int3 defaultValue);
|
|
1741
|
+
internal static partial uint3 ConvertToUInt3(CesiumMetadataValue value, uint3 defaultValue);
|
|
1742
|
+
internal static partial float3 ConvertToFloat3(CesiumMetadataValue value, float3 defaultValue);
|
|
1743
|
+
internal static partial double3 ConvertToDouble3(CesiumMetadataValue value, double3 defaultValue);
|
|
1744
|
+
internal static partial int4 ConvertToInt4(CesiumMetadataValue value, int4 defaultValue);
|
|
1745
|
+
internal static partial uint4 ConvertToUInt4(CesiumMetadataValue value, uint4 defaultValue);
|
|
1746
|
+
internal static partial float4 ConvertToFloat4(CesiumMetadataValue value, float4 defaultValue);
|
|
1747
|
+
internal static partial double4 ConvertToDouble4(CesiumMetadataValue value, double4 defaultValue);
|
|
1748
|
+
internal static partial int2x2 ConvertToInt2x2(CesiumMetadataValue value, int2x2 defaultValue);
|
|
1749
|
+
internal static partial uint2x2 ConvertToUInt2x2(CesiumMetadataValue value, uint2x2 defaultValue);
|
|
1750
|
+
internal static partial float2x2 ConvertToFloat2x2(CesiumMetadataValue value, float2x2 defaultValue);
|
|
1751
|
+
internal static partial double2x2 ConvertToDouble2x2(CesiumMetadataValue value, double2x2 defaultValue);
|
|
1752
|
+
internal static partial int3x3 ConvertToInt3x3(CesiumMetadataValue value, int3x3 defaultValue);
|
|
1753
|
+
internal static partial uint3x3 ConvertToUInt3x3(CesiumMetadataValue value, uint3x3 defaultValue);
|
|
1754
|
+
internal static partial float3x3 ConvertToFloat3x3(CesiumMetadataValue value, float3x3 defaultValue);
|
|
1755
|
+
internal static partial double3x3 ConvertToDouble3x3(CesiumMetadataValue value, double3x3 defaultValue);
|
|
1756
|
+
internal static partial int4x4 ConvertToInt4x4(CesiumMetadataValue value, int4x4 defaultValue);
|
|
1757
|
+
internal static partial uint4x4 ConvertToUInt4x4(CesiumMetadataValue value, uint4x4 defaultValue);
|
|
1758
|
+
internal static partial float4x4 ConvertToFloat4x4(CesiumMetadataValue value, float4x4 defaultValue);
|
|
1759
|
+
internal static partial double4x4 ConvertToDouble4x4(CesiumMetadataValue value, double4x4 defaultValue);
|
|
1760
|
+
internal static partial String ConvertToString(CesiumMetadataValue value, String defaultValue);
|
|
1761
|
+
|
|
1762
|
+
#endregion
|
|
1763
|
+
}
|
|
1764
|
+
}
|