251 lines
9.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Unity.XR.OpenXR.Features.PICOSupport;
using UnityEngine;
using UnityEngine.XR;
namespace Unity.XR.PXR
{
public delegate void XrEventDataBufferCallBack(ref XrEventDataBuffer dataBuffer);
[StructLayout(LayoutKind.Sequential)]
public struct XrEventDataBuffer
{
public XrStructureType type;
public IntPtr next;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4000)]
public byte[] data;
};
public enum PxrSenseDataProviderState
{
Initialized,
Running,
Stopped
}
public enum PxrFutureState
{
Pending = 1,
Ready = 2
}
public enum PxrSemanticLabel
{
Unknown = 0,
Floor,
Ceiling,
Wall,
Door,
Window,
Opening,
Table,
Sofa,
Chair,
Human = 10,
VirtualWall = 18,
}
public enum PxrSceneComponentType
{
Location = 0,
Semantic,
Box2D,
Polygon,
Box3D,
TriangleMesh = 5,
}
public enum PxrSenseDataProviderType
{
SpatialAnchor,
SceneCapture,
}
[StructLayout(LayoutKind.Sequential)]
public struct PxrSceneBox2D
{
public Vector2 offset;
public XrExtent2Df extent;
}
[StructLayout(LayoutKind.Sequential)]
public struct PxrScenePolygon
{
public Vector2[] vertices;
}
[StructLayout(LayoutKind.Sequential)]
public struct PxrSceneBox3D
{
public Vector3 position;
public Quaternion rotation;
public Vector3 extent;
}
public struct PxrSceneComponentData
{
public Guid uuid;
public Vector3 position;
public Quaternion rotation;
public PxrSemanticLabel label;
public PxrSceneComponentType[] types;
public PxrSceneBox3D box3D;
public PxrSceneBox2D box2D;
public PxrScenePolygon polygon;
}
public enum PxrMeshLod
{
Low,
Medium,
High
}
[StructLayout(LayoutKind.Sequential)]
public struct PxrSpatialMeshInfo
{
public Guid uuid;
public MeshChangeState state;
public Vector3 position;
public Quaternion rotation;
public ushort[] indices;
public Vector3[] vertices;
public PxrSemanticLabel[] labels;
}
[StructLayout(LayoutKind.Sequential)]
public struct PxrEventSenseDataProviderStateChanged
{
public ulong providerHandle;
public PxrSenseDataProviderState newState;
}
public enum PxrResult
{
SUCCESS = 0,
TIMEOUT_EXPIRED = 1,
SESSION_LOSS_PENDING = 3,
EVENT_UNAVAILABLE = 4,
SPACE_BOUNDS_UNAVAILABLE = 7,
SESSION_NOT_FOCUSED = 8,
FRAME_DISCARDED = 9,
ERROR_VALIDATION_FAILURE = -1,
ERROR_RUNTIME_FAILURE = -2,
ERROR_OUT_OF_MEMORY = -3,
ERROR_API_VERSION_UNSUPPORTED = -4,
ERROR_INITIALIZATION_FAILED = -6,
ERROR_FUNCTION_UNSUPPORTED = -7,
ERROR_FEATURE_UNSUPPORTED = -8,
ERROR_EXTENSION_NOT_PRESENT = -9,
ERROR_LIMIT_REACHED = -10,
ERROR_SIZE_INSUFFICIENT = -11,
ERROR_HANDLE_INVALID = -12,
ERROR_INSTANCE_LOST = -13,
ERROR_SESSION_RUNNING = -14,
ERROR_SESSION_NOT_RUNNING = -16,
ERROR_SESSION_LOST = -17,
ERROR_SYSTEM_INVALID = -18,
ERROR_PATH_INVALID = -19,
ERROR_PATH_COUNT_EXCEEDED = -20,
ERROR_PATH_FORMAT_INVALID = -21,
ERROR_PATH_UNSUPPORTED = -22,
ERROR_LAYER_INVALID = -23,
ERROR_LAYER_LIMIT_EXCEEDED = -24,
ERROR_SWAPCHAIN_RECT_INVALID = -25,
ERROR_SWAPCHAIN_FORMAT_UNSUPPORTED = -26,
ERROR_ACTION_TYPE_MISMATCH = -27,
ERROR_SESSION_NOT_READY = -28,
ERROR_SESSION_NOT_STOPPING = -29,
ERROR_TIME_INVALID = -30,
ERROR_REFERENCE_SPACE_UNSUPPORTED = -31,
ERROR_FILE_ACCESS_ERROR = -32,
ERROR_FILE_CONTENTS_INVALID = -33,
ERROR_FORM_FACTOR_UNSUPPORTED = -34,
ERROR_FORM_FACTOR_UNAVAILABLE = -35,
ERROR_API_LAYER_NOT_PRESENT = -36,
ERROR_CALL_ORDER_INVALID = -37,
ERROR_GRAPHICS_DEVICE_INVALID = -38,
ERROR_POSE_INVALID = -39,
ERROR_INDEX_OUT_OF_RANGE = -40,
ERROR_VIEW_CONFIGURATION_TYPE_UNSUPPORTED = -41,
ERROR_ENVIRONMENT_BLEND_MODE_UNSUPPORTED = -42,
ERROR_NAME_DUPLICATED = -44,
ERROR_NAME_INVALID = -45,
ERROR_ACTIONSET_NOT_ATTACHED = -46,
ERROR_ACTIONSETS_ALREADY_ATTACHED = -47,
ERROR_LOCALIZED_NAME_DUPLICATED = -48,
ERROR_LOCALIZED_NAME_INVALID = -49,
ERROR_GRAPHICS_REQUIREMENTS_CALL_MISSING = -50,
ERROR_RUNTIME_UNAVAILABLE = -51,
ERROR_EXTENSION_NOT_ENABLED = -800,
ERROR_SPATIAL_LOCALIZATION_RUNNING = -1000,
ERROR_SPATIAL_LOCALIZATION_NOT_RUNNING = -1001,
ERROR_SPATIAL_MAP_CREATED = -1002,
ERROR_SPATIAL_MAP_NOT_CREATED = -1003,
ERROR_COMPONENT_NOT_SUPPORTED = -501,
ERROR_COMPONENT_CONFLICT = -502,
ERROR_COMPONENT_NOT_ADDED = -503,
ERROR_COMPONENT_ADDED = -504,
ERROR_ANCHOR_ENTITY_NOT_FOUND = -505,
ERROR_TRACKING_STATE_INVALID = -506,
ERROR_ANCHOR_SHARING_NETWORK_TIMEOUT = -601,
ERROR_ANCHOR_SHARING_AUTHENTICATION_FAILURE = -602,
ERROR_ANCHOR_SHARING_NETWORK_FAILURE = -603,
ERROR_ANCHOR_SHARING_LOCALIZATION_FAIL = -604,
ERROR_ANCHOR_SHARING_MAP_INSUFFICIENT = -605,
ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED = -1000710001,
ERROR_PERMISSION_INSUFFICIENT = -1000710000,
ERROR_ANDROID_THREAD_SETTINGS_ID_INVALID_KHR = -1000003000,
ERROR_ANDROID_THREAD_SETTINGS_FAILURE_KHR = -1000003001,
ERROR_CREATE_SPATIAL_ANCHOR_FAILED_MSFT = -1000039001,
ERROR_SECONDARY_VIEW_CONFIGURATION_TYPE_NOT_ENABLED_MSFT = -1000053000,
ERROR_CONTROLLER_MODEL_KEY_INVALID_MSFT = -1000055000,
ERROR_REPROJECTION_MODE_UNSUPPORTED_MSFT = -1000066000,
ERROR_COMPUTE_NEW_SCENE_NOT_COMPLETED_MSFT = -1000097000,
ERROR_SCENE_COMPONENT_ID_INVALID_MSFT = -1000097001,
ERROR_SCENE_COMPONENT_TYPE_MISMATCH_MSFT = -1000097002,
ERROR_SCENE_MESH_BUFFER_ID_INVALID_MSFT = -1000097003,
ERROR_SCENE_COMPUTE_FEATURE_INCOMPATIBLE_MSFT = -1000097004,
ERROR_SCENE_COMPUTE_CONSISTENCY_MISMATCH_MSFT = -1000097005,
ERROR_DISPLAY_REFRESH_RATE_UNSUPPORTED_FB = -1000101000,
ERROR_COLOR_SPACE_UNSUPPORTED_FB = -1000108000,
ERROR_SPACE_COMPONENT_NOT_SUPPORTED_FB = -1000113000,
ERROR_SPACE_COMPONENT_NOT_ENABLED_FB = -1000113001,
ERROR_SPACE_COMPONENT_STATUS_PENDING_FB = -1000113002,
ERROR_SPACE_COMPONENT_STATUS_ALREADY_SET_FB = -1000113003,
ERROR_UNEXPECTED_STATE_PASSTHROUGH_FB = -1000118000,
ERROR_FEATURE_ALREADY_CREATED_PASSTHROUGH_FB = -1000118001,
ERROR_FEATURE_REQUIRED_PASSTHROUGH_FB = -1000118002,
ERROR_NOT_PERMITTED_PASSTHROUGH_FB = -1000118003,
ERROR_INSUFFICIENT_RESOURCES_PASSTHROUGH_FB = -1000118004,
ERROR_UNKNOWN_PASSTHROUGH_FB = -1000118050,
ERROR_RENDER_MODEL_KEY_INVALID_FB = -1000119000,
RENDER_MODEL_UNAVAILABLE_FB = 1000119020,
ERROR_MARKER_NOT_TRACKED_VARJO = -1000124000,
ERROR_MARKER_ID_INVALID_VARJO = -1000124001,
ERROR_MARKER_DETECTOR_PERMISSION_DENIED_ML = -1000138000,
ERROR_MARKER_DETECTOR_LOCATE_FAILED_ML = -1000138001,
ERROR_MARKER_DETECTOR_INVALID_DATA_QUERY_ML = -1000138002,
ERROR_MARKER_DETECTOR_INVALID_CREATE_INFO_ML = -1000138003,
ERROR_MARKER_INVALID_ML = -1000138004,
ERROR_LOCALIZATION_MAP_INCOMPATIBLE_ML = -1000139000,
ERROR_LOCALIZATION_MAP_UNAVAILABLE_ML = -1000139001,
ERROR_LOCALIZATION_MAP_FAIL_ML = -1000139002,
ERROR_LOCALIZATION_MAP_IMPORT_EXPORT_PERMISSION_DENIED_ML = -1000139003,
ERROR_LOCALIZATION_MAP_PERMISSION_DENIED_ML = -1000139004,
ERROR_LOCALIZATION_MAP_ALREADY_EXISTS_ML = -1000139005,
ERROR_LOCALIZATION_MAP_CANNOT_EXPORT_CLOUD_MAP_ML = -1000139006,
ERROR_SPATIAL_ANCHOR_NAME_NOT_FOUND_MSFT = -1000142001,
ERROR_SPATIAL_ANCHOR_NAME_INVALID_MSFT = -1000142002,
SCENE_MARKER_DATA_NOT_STRING_MSFT = 1000147000,
ERROR_SPACE_MAPPING_INSUFFICIENT_FB = -1000169000,
ERROR_SPACE_LOCALIZATION_FAILED_FB = -1000169001,
ERROR_SPACE_NETWORK_TIMEOUT_FB = -1000169002,
ERROR_SPACE_NETWORK_REQUEST_FAILED_FB = -1000169003,
ERROR_SPACE_CLOUD_STORAGE_DISABLED_FB = -1000169004,
ERROR_PASSTHROUGH_COLOR_LUT_BUFFER_SIZE_MISMATCH_META = -1000266000,
ENVIRONMENT_DEPTH_NOT_AVAILABLE_META = 1000291000,
ERROR_HINT_ALREADY_SET_QCOM = -1000306000,
ERROR_NOT_AN_ANCHOR_HTC = -1000319000,
ERROR_SPACE_NOT_LOCATABLE_EXT = -1000429000,
ERROR_PLANE_DETECTION_PERMISSION_DENIED_EXT = -1000429001,
ERROR_FUTURE_PENDING_EXT = -1000469001,
ERROR_FUTURE_INVALID_EXT = -1000469002,
ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED_KHR = ERROR_EXTENSION_DEPENDENCY_NOT_ENABLED,
ERROR_PERMISSION_INSUFFICIENT_KHR = ERROR_PERMISSION_INSUFFICIENT,
}
}