461 lines
18 KiB
C
461 lines
18 KiB
C
|
|
//
|
||
|
|
// Created by Admin on 2024/3/11.
|
||
|
|
//
|
||
|
|
|
||
|
|
#ifndef PICOXRRUNTIME_PICO_SPATIAL_SENSING_H
|
||
|
|
#define PICOXRRUNTIME_PICO_SPATIAL_SENSING_H
|
||
|
|
|
||
|
|
/**
|
||
|
|
* XrStructureType : 1200389000 ~ 1200389999
|
||
|
|
*/
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
#define XR_PICO_spatial_sensing 1
|
||
|
|
#define XR_PICO_spatial_sensing_SPEC_VERSION 1
|
||
|
|
#define XR_PICO_SPATIAL_SENSING_EXTENSION_NAME "XR_PICO_spatial_sensing"
|
||
|
|
|
||
|
|
XR_DEFINE_ATOM(XrSpatialEntityIdPICO)
|
||
|
|
XR_DEFINE_HANDLE(XrSenseDataSnapshotPICO)
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SYSTEM_SPATIAL_SENSING_PROPERTIES_PICO = (XrStructureType)1200389000;
|
||
|
|
typedef struct XrSystemSpatialSensingPropertiesPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
void* next;
|
||
|
|
XrBool32 supportsSpatialSensing;
|
||
|
|
} XrSystemSpatialSensingPropertiesPICO;
|
||
|
|
|
||
|
|
typedef enum XrSpatialEntityComponentTypePICO {
|
||
|
|
XR_SPATIAL_ENTITY_COMPONENT_TYPE_LOCATION_PICO = 0,
|
||
|
|
XR_SPATIAL_ENTITY_COMPONENT_TYPE_SEMANTIC_PICO = 1,
|
||
|
|
XR_SPATIAL_ENTITY_COMPONENT_TYPE_BOUNDING_BOX_2D_PICO = 2,
|
||
|
|
XR_SPATIAL_ENTITY_COMPONENT_TYPE_POLYGON_PICO = 3,
|
||
|
|
XR_SPATIAL_ENTITY_COMPONENT_TYPE_BOUNDING_BOX_3D_PICO = 4,
|
||
|
|
XR_SPATIAL_ENTITY_COMPONENT_TYPE_TRIANGLE_MESH_PICO = 5,
|
||
|
|
XR_SPATIAL_ENTITY_COMPONENT_TYPE_MAX_ENUM_PICO = 0x7FFFFFFF
|
||
|
|
} XrSpatialEntityComponentTypePICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_COMPONENT_TYPES_PICO = (XrStructureType)1200389001;
|
||
|
|
typedef struct XrSpatialEntityComponentTypesPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
void* next;
|
||
|
|
uint32_t componentTypeCapacityInput;
|
||
|
|
uint32_t componentTypeCountOutput;
|
||
|
|
XrSpatialEntityComponentTypePICO* componentTypes;
|
||
|
|
} XrSpatialEntityComponentTypesPICO;
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct XrSpatialEntityComponentGetInfoBaseHeaderPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
XrSpatialEntityComponentTypePICO componentType;
|
||
|
|
} XrSpatialEntityComponentGetInfoBaseHeaderPICO;
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct XrSpatialEntityComponentDataBaseHeaderPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
void* next;
|
||
|
|
} XrSpatialEntityComponentDataBaseHeaderPICO;
|
||
|
|
|
||
|
|
|
||
|
|
// Location
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_LOCATION_GET_INFO_PICO = (XrStructureType)1200389002;
|
||
|
|
typedef struct XrSpatialEntityLocationGetInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
XrSpatialEntityComponentTypePICO componentType;
|
||
|
|
XrSpace baseSpace;
|
||
|
|
XrTime time;
|
||
|
|
} XrSpatialEntityLocationGetInfoPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_LOCATION_DATA_PICO = (XrStructureType)1200389003;
|
||
|
|
typedef struct XrSpatialEntityLocationDataPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
void* next;
|
||
|
|
XrSpaceLocationData location;
|
||
|
|
} XrSpatialEntityLocationDataPICO;
|
||
|
|
|
||
|
|
// Semantic
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_SEMANTIC_GET_INFO_PICO = (XrStructureType)1200389004;
|
||
|
|
typedef struct XrSpatialEntitySemanticGetInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
XrSpatialEntityComponentTypePICO componentType;
|
||
|
|
} XrSpatialEntitySemanticGetInfoPICO;
|
||
|
|
|
||
|
|
// Semantic labels
|
||
|
|
typedef enum XrSemanticLabelPICO {
|
||
|
|
XR_SEMANTIC_LABEL_UNKNOWN_PICO = 0,
|
||
|
|
XR_SEMANTIC_LABEL_FLOOR_PICO = 1,
|
||
|
|
XR_SEMANTIC_LABEL_CEILING_PICO = 2,
|
||
|
|
XR_SEMANTIC_LABEL_WALL_PICO = 3,
|
||
|
|
XR_SEMANTIC_LABEL_DOOR_PICO = 4,
|
||
|
|
XR_SEMANTIC_LABEL_WINDOW_PICO = 5,
|
||
|
|
XR_SEMANTIC_LABEL_OPENING_PICO = 6,
|
||
|
|
XR_SEMANTIC_LABEL_TABLE_PICO = 7,
|
||
|
|
XR_SEMANTIC_LABEL_SOFA_PICO = 8,
|
||
|
|
XR_SEMANTIC_LABEL_CHAIR_PICO = 9,
|
||
|
|
XR_SEMANTIC_LABEL_HUMAN_PICO = 10,
|
||
|
|
XR_SEMANTIC_LABEL_BEAM_PICO = 11,
|
||
|
|
XR_SEMANTIC_LABEL_COLUMN_PICO = 12,
|
||
|
|
XR_SEMANTIC_LABEL_CURTAIN_PICO = 13,
|
||
|
|
XR_SEMANTIC_LABEL_CABINET_PICO = 14,
|
||
|
|
XR_SEMANTIC_LABEL_BED_PICO = 15,
|
||
|
|
XR_SEMANTIC_LABEL_PLANT_PICO = 16,
|
||
|
|
XR_SEMANTIC_LABEL_SCREEN_PICO = 17,
|
||
|
|
XR_SEMANTIC_LABEL_VIRTUAL_WALL_PICO = 18,
|
||
|
|
XR_SEMANTIC_LABEL_REFRIGERATOR_PICO = 19,
|
||
|
|
XR_SEMANTIC_LABEL_WASHING_MACHINE_PICO = 20,
|
||
|
|
XR_SEMANTIC_LABEL_AIR_CONDITIONER_PICO = 21,
|
||
|
|
XR_SEMANTIC_LABEL_LAMP_PICO = 22,
|
||
|
|
XR_SEMANTIC_LABEL_WALL_ART_PICO = 23,
|
||
|
|
XR_SEMANTIC_LABEL_MAX_ENUM_PICO = 0x7FFFFFFF
|
||
|
|
} XrSemanticLabelPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_SEMANTIC_DATA_PICO = (XrStructureType)1200389005;
|
||
|
|
typedef struct XrSpatialEntitySemanticDataPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
uint32_t semanticCapacityInput;
|
||
|
|
uint32_t semanticCountOutput;
|
||
|
|
XrSemanticLabelPICO* semanticLabels;
|
||
|
|
} XrSpatialEntitySemanticDataPICO;
|
||
|
|
|
||
|
|
// Bounding box 2D
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_BOUNDING_BOX_2D_GET_INFO_PICO = (XrStructureType)1200389006;
|
||
|
|
typedef struct XrSpatialEntityBoundingBox2DGetInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
XrSpatialEntityComponentTypePICO componentType;
|
||
|
|
} XrSpatialEntityBoundingBox2DGetInfoPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_BOUNDING_BOX_2D_DATA_PICO = (XrStructureType)1200389007;
|
||
|
|
typedef struct XrSpatialEntityBoundingBox2DDataPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrRect2Df boundingBox2D;
|
||
|
|
} XrSpatialEntityBoundingBox2DDataPICO;
|
||
|
|
|
||
|
|
// Polygon
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_POLYGON_GET_INFO_PICO = (XrStructureType)1200389008;
|
||
|
|
typedef struct XrSpatialEntityPolygonGetInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
XrSpatialEntityComponentTypePICO componentType;
|
||
|
|
} XrSpatialEntityPolygonGetInfoPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_POLYGON_DATA_PICO = (XrStructureType)1200389009;
|
||
|
|
typedef struct XrSpatialEntityPolygonDataPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
uint32_t polygonCapacityInput;
|
||
|
|
uint32_t polygonCountOutput;
|
||
|
|
XrVector2f* polygonVertices;
|
||
|
|
} XrSpatialEntityPolygonDataPICO;
|
||
|
|
|
||
|
|
// Bounding box 3D
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_BOUNDING_BOX_3D_GET_INFO_PICO = (XrStructureType)1200389010;
|
||
|
|
typedef struct XrSpatialEntityBoundingBox3DGetInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
XrSpatialEntityComponentTypePICO componentType;
|
||
|
|
} XrSpatialEntityBoundingBox3DGetInfoPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_BOUNDING_BOX_3D_DATA_PICO = (XrStructureType)1200389011;
|
||
|
|
typedef struct XrSpatialEntityBoundingBox3DDataPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrBoxf boundingBox3D;
|
||
|
|
} XrSpatialEntityBoundingBox3DDataPICO;
|
||
|
|
|
||
|
|
// Triangle mesh
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_TRIANGLE_MESH_GET_INFO_PICO = (XrStructureType)1200389012;
|
||
|
|
typedef struct XrSpatialEntityTriangleMeshGetInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
XrSpatialEntityComponentTypePICO componentType;
|
||
|
|
} XrSpatialEntityTriangleMeshGetInfoPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_TRIANGLE_MESH_DATA_PICO = (XrStructureType)1200389013;
|
||
|
|
typedef struct XrSpatialEntityTriangleMeshDataPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
uint32_t vertexCapacityInput;
|
||
|
|
uint32_t vertexCountOutput;
|
||
|
|
XrVector3f* vertices;
|
||
|
|
uint32_t indexCapacityInput;
|
||
|
|
uint32_t indexCountOutput;
|
||
|
|
uint16_t* indices;
|
||
|
|
} XrSpatialEntityTriangleMeshDataPICO;
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrGetSpatialEntityUuidPICO)(
|
||
|
|
XrSenseDataSnapshotPICO snapshot,
|
||
|
|
XrSpatialEntityIdPICO entity,
|
||
|
|
XrUuidEXT* uuid);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrEnumerateSpatialEntityComponentTypesPICO)(
|
||
|
|
XrSenseDataSnapshotPICO snapshot, XrSpatialEntityIdPICO entity,
|
||
|
|
uint32_t componentTypeCapacityInput, uint32_t* componentTypeCountOutput,
|
||
|
|
XrSpatialEntityComponentTypePICO* componentTypes);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrGetSpatialEntityComponentDataPICO)(
|
||
|
|
XrSenseDataSnapshotPICO snapshot, XrSpatialEntityComponentGetInfoBaseHeaderPICO* getInfo,
|
||
|
|
XrSpatialEntityComponentDataBaseHeaderPICO* componentData);
|
||
|
|
|
||
|
|
#ifndef XR_NO_PROTOTYPES
|
||
|
|
#ifdef XR_EXTENSION_PROTOTYPES
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialEntityUuidPICO(
|
||
|
|
XrSenseDataSnapshotPICO snapshot,
|
||
|
|
XrSpatialEntityIdPICO entity,
|
||
|
|
XrUuidEXT* uuid);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrEnumerateSpatialEntityComponentTypesPICO(
|
||
|
|
XrSenseDataSnapshotPICO snapshot, XrSpatialEntityIdPICO entity,
|
||
|
|
uint32_t componentTypeCapacityInput, uint32_t* componentTypeCountOutput,
|
||
|
|
XrSpatialEntityComponentTypePICO* componentTypes);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrGetSpatialEntityComponentDataPICO(
|
||
|
|
XrSenseDataSnapshotPICO snapshot, XrSpatialEntityComponentGetInfoBaseHeaderPICO* getInfo,
|
||
|
|
XrSpatialEntityComponentDataBaseHeaderPICO* componentData);
|
||
|
|
|
||
|
|
#endif /* XR_EXTENSION_PROTOTYPES */
|
||
|
|
#endif /* !XR_NO_PROTOTYPES */
|
||
|
|
|
||
|
|
XR_DEFINE_HANDLE(XrSenseDataProviderPICO)
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct XrSenseDataProviderCreateInfoBaseHeaderPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
} XrSenseDataProviderCreateInfoBaseHeaderPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SENSE_DATA_PROVIDER_START_COMPLETION_PICO = (XrStructureType)1200389014;
|
||
|
|
typedef struct XrSenseDataProviderStartCompletionPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrResult futureResult;
|
||
|
|
} XrSenseDataProviderStartCompletionPICO;
|
||
|
|
|
||
|
|
typedef enum XrSenseDataProviderStatePICO {
|
||
|
|
XR_SENSE_DATA_PROVIDER_STATE_INITIALIZED_PICO = 0,
|
||
|
|
XR_SENSE_DATA_PROVIDER_STATE_RUNNING_PICO = 1,
|
||
|
|
XR_SENSE_DATA_PROVIDER_STATE_STOPPED_PICO = 2,
|
||
|
|
XR_SENSE_DATA_PROVIDER_STATE_MAX_ENUM_PICO = 0x7FFFFFFF
|
||
|
|
} XrSenseDataProviderStatePICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_EVENT_DATA_SENSE_DATA_PROVIDER_STATE_CHANGED_PICO = (XrStructureType)1200389015;
|
||
|
|
typedef struct XrEventDataSenseDataProviderStateChangedPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSenseDataProviderPICO provider;
|
||
|
|
XrSenseDataProviderStatePICO newState;
|
||
|
|
} XrEventDataSenseDataProviderStateChangedPICO;
|
||
|
|
|
||
|
|
// UUID filter
|
||
|
|
static const XrStructureType XR_TYPE_SENSE_DATA_FILTER_UUID_PICO = (XrStructureType)1200389016;
|
||
|
|
typedef struct XrSenseDataFilterUuidPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
uint32_t uuidCount;
|
||
|
|
XrUuidEXT* uuids;
|
||
|
|
} XrSenseDataFilterUuidPICO;
|
||
|
|
|
||
|
|
// Semantic filter
|
||
|
|
static const XrStructureType XR_TYPE_SENSE_DATA_FILTER_SEMANTIC_PICO = (XrStructureType)1200389017;
|
||
|
|
typedef struct XrSenseDataFilterSemanticPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
uint32_t semanticCount;
|
||
|
|
XrSemanticLabelPICO* semantics;
|
||
|
|
} XrSenseDataFilterSemanticPICO;
|
||
|
|
|
||
|
|
typedef struct XrSenseDataFilterBaseHeaderPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
} XrSenseDataFilterBaseHeaderPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SENSE_DATA_QUERY_INFO_PICO = (XrStructureType)1200389018;
|
||
|
|
typedef struct XrSenseDataQueryInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSenseDataFilterBaseHeaderPICO* filter; // extent in other feature extensions
|
||
|
|
} XrSenseDataQueryInfoPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SENSE_DATA_QUERY_COMPLETION_PICO = (XrStructureType)1200389019;
|
||
|
|
typedef struct XrSenseDataQueryCompletionPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrResult futureResult;
|
||
|
|
XrSenseDataSnapshotPICO snapshot;
|
||
|
|
} XrSenseDataQueryCompletionPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_QUERIED_SENSE_DATA_GET_INFO_PICO = (XrStructureType)1200389020;
|
||
|
|
typedef struct XrQueriedSenseDataGetInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSenseDataSnapshotPICO snapshot;
|
||
|
|
} XrQueriedSenseDataGetInfoPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_STATE_PICO = (XrStructureType)1200389021;
|
||
|
|
typedef struct XrSpatialEntityStatePICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
XrTime lastUpdateTime;
|
||
|
|
XrUuidEXT uuid;
|
||
|
|
} XrSpatialEntityStatePICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_QUERIED_SENSE_DATA_PICO = (XrStructureType)1200389022;
|
||
|
|
typedef struct XrQueriedSenseDataPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
uint32_t spatialEntityCapacityInput;
|
||
|
|
uint32_t spatialEntityCountOutput;
|
||
|
|
XrSpatialEntityStatePICO* spatialEntities;
|
||
|
|
} XrQueriedSenseDataPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_EVENT_DATA_SENSE_DATA_UPDATED_PICO = (XrStructureType)1200389023;
|
||
|
|
typedef struct XrEventDataSenseDataUpdatedPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSenseDataProviderPICO provider;
|
||
|
|
} XrEventDataSenseDataUpdatedPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SENSE_DATA_PROVIDER_START_INFO_PICO = (XrStructureType)1200389024;
|
||
|
|
typedef struct XrSenseDataProviderStartInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSenseDataProviderPICO provider;
|
||
|
|
// extent in other feature extensions
|
||
|
|
} XrSenseDataProviderStartInfoPICO;
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrCreateSenseDataProviderPICO)(
|
||
|
|
XrSession session, XrSenseDataProviderCreateInfoBaseHeaderPICO* createInfo,
|
||
|
|
XrSenseDataProviderPICO* provider);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrStartSenseDataProviderAsyncPICO)(
|
||
|
|
XrSession session, XrSenseDataProviderStartInfoPICO* startInfo, XrFutureEXT* future);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrStartSenseDataProviderCompletePICO)(
|
||
|
|
XrSession session, XrFutureEXT future, XrSenseDataProviderStartCompletionPICO* completion);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrGetSenseDataProviderStatePICO)(
|
||
|
|
XrSenseDataProviderPICO provider, XrSenseDataProviderStatePICO* state);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrQuerySenseDataAsyncPICO)(XrSenseDataProviderPICO provider,
|
||
|
|
XrSenseDataQueryInfoPICO* queryInfo,
|
||
|
|
XrFutureEXT* future);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrQuerySenseDataCompletePICO)(
|
||
|
|
XrSenseDataProviderPICO provider, XrFutureEXT future,
|
||
|
|
XrSenseDataQueryCompletionPICO* completion);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrStopSenseDataProviderPICO)(XrSenseDataProviderPICO provider);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrDestroySenseDataProviderPICO)(XrSenseDataProviderPICO provider);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrDestroySenseDataSnapshotPICO)(XrSenseDataSnapshotPICO snapshot);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrGetQueriedSenseDataPICO)(
|
||
|
|
XrSenseDataProviderPICO provider, XrQueriedSenseDataGetInfoPICO* getInfo,
|
||
|
|
XrQueriedSenseDataPICO* queriedSenseData);
|
||
|
|
|
||
|
|
#ifndef XR_NO_PROTOTYPES
|
||
|
|
#ifdef XR_EXTENSION_PROTOTYPES
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrCreateSenseDataProviderPICO(
|
||
|
|
XrSession session, XrSenseDataProviderCreateInfoBaseHeaderPICO* createInfo,
|
||
|
|
XrSenseDataProviderPICO* provider);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrStartSenseDataProviderAsyncPICO(
|
||
|
|
XrSession session, XrSenseDataProviderStartInfoPICO* startInfo, XrFutureEXT* future);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrStartSenseDataProviderCompletePICO(
|
||
|
|
XrSession session, XrFutureEXT future, XrSenseDataProviderStartCompletionPICO* completion);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrGetSenseDataProviderStatePICO(XrSenseDataProviderPICO provider,
|
||
|
|
XrSenseDataProviderStatePICO* state);
|
||
|
|
|
||
|
|
// Data retrieve
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrQuerySenseDataAsyncPICO(XrSenseDataProviderPICO provider,
|
||
|
|
XrSenseDataQueryInfoPICO* queryInfo,
|
||
|
|
XrFutureEXT* future);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL
|
||
|
|
xrQuerySenseDataCompletePICO(XrSenseDataProviderPICO provider, XrFutureEXT future,
|
||
|
|
XrSenseDataQueryCompletionPICO* completion);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrStopSenseDataProviderPICO(XrSenseDataProviderPICO provider);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrDestroySenseDataProviderPICO(XrSenseDataProviderPICO provider);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrDestroySenseDataSnapshotPICO(XrSenseDataSnapshotPICO snapshot);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrGetQueriedSenseDataPICO(XrSenseDataProviderPICO provider,
|
||
|
|
XrQueriedSenseDataGetInfoPICO* getInfo,
|
||
|
|
XrQueriedSenseDataPICO* queriedSenseData);
|
||
|
|
|
||
|
|
#endif /* XR_EXTENSION_PROTOTYPES */
|
||
|
|
#endif /* !XR_NO_PROTOTYPES */
|
||
|
|
|
||
|
|
XR_DEFINE_HANDLE(XrAnchorPICO)
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_ANCHOR_RETRIEVE_INFO_PICO = (XrStructureType)1200389025;
|
||
|
|
typedef struct XrSpatialEntityAnchorRetrieveInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
} XrSpatialEntityAnchorRetrieveInfoPICO;
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_ANCHOR_LOCATE_INFO_PICO = (XrStructureType)1200389026;
|
||
|
|
typedef struct XrAnchorLocateInfoPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
const void* next;
|
||
|
|
XrSpace baseSpace;
|
||
|
|
XrTime time;
|
||
|
|
} XrAnchorLocateInfoPICO;
|
||
|
|
|
||
|
|
static const XrResult XR_ERROR_SPATIAL_SENSING_SERVICE_UNAVAILABLE_PICO = (XrResult)-1200389027;
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrRetrieveSpatialEntityAnchorPICO)(
|
||
|
|
XrSenseDataSnapshotPICO snapshot, XrSpatialEntityAnchorRetrieveInfoPICO* retrieveInfo,
|
||
|
|
XrAnchorPICO* anchor);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrDestroyAnchorPICO)(XrAnchorPICO anchor);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrGetAnchorUuidPICO)(XrAnchorPICO anchor, XrUuidEXT* uuid);
|
||
|
|
|
||
|
|
typedef XrResult(XRAPI_PTR* PFN_xrLocateAnchorPICO)(XrAnchorPICO anchor,
|
||
|
|
XrAnchorLocateInfoPICO* locateInfo,
|
||
|
|
XrSpaceLocation* location);
|
||
|
|
|
||
|
|
#ifndef XR_NO_PROTOTYPES
|
||
|
|
#ifdef XR_EXTENSION_PROTOTYPES
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrRetrieveSpatialEntityAnchorPICO(
|
||
|
|
XrSenseDataSnapshotPICO snapshot, XrSpatialEntityAnchorRetrieveInfoPICO* retrieveInfo,
|
||
|
|
XrAnchorPICO* anchor);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrDestroyAnchorPICO(XrAnchorPICO anchor);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrGetAnchorUuidPICO(XrAnchorPICO anchor, XrUuidEXT* uuid);
|
||
|
|
|
||
|
|
XRAPI_ATTR XrResult XRAPI_CALL xrLocateAnchorPICO(XrAnchorPICO anchor,
|
||
|
|
XrAnchorLocateInfoPICO* locateInfo,
|
||
|
|
XrSpaceLocation* location);
|
||
|
|
|
||
|
|
#endif /* XR_EXTENSION_PROTOTYPES */
|
||
|
|
#endif /* !XR_NO_PROTOTYPES */
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
#endif // PICOXRRUNTIME_PICO_SPATIAL_SENSING_H
|