96 lines
3.8 KiB
C
96 lines
3.8 KiB
C
|
|
//
|
||
|
|
// Created by Admin on 2024/3/29.
|
||
|
|
//
|
||
|
|
|
||
|
|
#ifndef PICOXRRUNTIME_PICO_AUTO_SCENE_CAPTURE_H
|
||
|
|
#define PICOXRRUNTIME_PICO_AUTO_SCENE_CAPTURE_H
|
||
|
|
#include "pico_spatial_sensing.h"
|
||
|
|
|
||
|
|
/**
|
||
|
|
* XrStructureType : 1200394000 ~ 1200394999
|
||
|
|
*/
|
||
|
|
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
#define XR_PICO_auto_scene_capture 1
|
||
|
|
#define XR_PICO_auto_scene_capture_SPEC_VERSION 1
|
||
|
|
#define XR_PICO_AUTO_SCENE_CAPTURE_EXTENSION_NAME "XR_PICO_auto_scene_capture"
|
||
|
|
|
||
|
|
#define XR_PICO_AUTO_SCENE_CAPTURE_MAX_VERTICES_IN_POLYGON 50
|
||
|
|
|
||
|
|
static const XrStructureType XR_TYPE_SYSTEM_AUTO_SCENE_CAPTURE_PROPERTIES_PICO = (XrStructureType)1200394000;
|
||
|
|
typedef struct XrSystemAutoSceneCapturePropertiesPICO {
|
||
|
|
XrStructureType type;
|
||
|
|
void* next;
|
||
|
|
XrBool32 supportsAutoSceneCapture;
|
||
|
|
} XrSystemAutoSceneCapturePropertiesPICO;
|
||
|
|
|
||
|
|
typedef enum XrGeometryTypePICO {
|
||
|
|
XR_GEOMETRY_TYPE_PLANE_PICO = 0,
|
||
|
|
XR_GEOMETRY_TYPE_BOX_PICO = 1,
|
||
|
|
XR_GEOMETRY_TYPE__MAX_ENUM_PICO = 0x7FFFFFFF
|
||
|
|
} XrGeometryTypePICO;
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct XrSenseDataProviderCreateInfoAutoSceneCapturePICO{
|
||
|
|
XrStructureType type; // XR_TYPE_SENSE_DATA_PROVIDER_CREATE_INFO_AUTO_SCENE_CAPTURE_PICO
|
||
|
|
const void* next;
|
||
|
|
} XrSenseDataProviderCreateInfoAutoSceneCapturePICO;
|
||
|
|
|
||
|
|
static const XrSpatialEntityComponentTypePICO XR_SPATIAL_ENTITY_COMPONENT_TYPE_AUTO_SCENE_CAPTURE_PICO = (XrSpatialEntityComponentTypePICO) 1000;
|
||
|
|
static const XrStructureType XR_TYPE_SENSE_DATA_PROVIDER_CREATE_INFO_AUTO_SCENE_CAPTURE_PICO = (XrStructureType)1200394001;
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_AUTO_SCENE_CAPTURE_RESULT_INFO_PICO = (XrStructureType) 1200394002;
|
||
|
|
static const XrStructureType XR_TYPE_SPATIAL_ENTITY_COMPONENT_GET_AUTO_SCENE_CAPTURE_RESULT_INFO_PICO = (XrStructureType) 1200394003;
|
||
|
|
static const XrStructureType XR_TYPE_EVENT_DATA_AUTO_SCENE_CAPTURE_UPDATE_PICO = (XrStructureType) 1200394004;
|
||
|
|
|
||
|
|
typedef struct XrSenseDataAutoSceneCaptureResultPICO{
|
||
|
|
XrStructureType type;//XR_SPATIAL_ENTITY_COMPONENT_TYPE_AUTO_SCENE_CAPTURE_PICO
|
||
|
|
const void *XR_MAY_ALIAS next;
|
||
|
|
uint32_t id;
|
||
|
|
XrPosef pose;
|
||
|
|
// XrSpace space;//reference space
|
||
|
|
XrVector3f center;
|
||
|
|
XrVector3f extent;
|
||
|
|
XrSemanticLabelPICO semanticLabel;
|
||
|
|
XrGeometryTypePICO geoType;
|
||
|
|
char edge_completion_flags;
|
||
|
|
uint32_t polygonSize;
|
||
|
|
XrVector3f polygonVertices[XR_PICO_AUTO_SCENE_CAPTURE_MAX_VERTICES_IN_POLYGON];
|
||
|
|
} XrSenseDataAutoSceneCaptureResultPICO;
|
||
|
|
|
||
|
|
typedef XrSenseDataAutoSceneCaptureResultPICO XrAutoSceneCaptureResultPICO;
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct XrSpatialEntityAutoSceneCaptureResultGetInfoPICO{
|
||
|
|
XrStructureType type; // XR_TYPE_SPATIAL_ENTITY_COMPONENT_GET_AUTO_SCENE_CAPTURE_RESULT_INFO_PICO
|
||
|
|
const void* next;
|
||
|
|
XrSpatialEntityIdPICO entity;
|
||
|
|
XrSpatialEntityComponentTypePICO componentType; // XR_SPATIAL_ENTITY_COMPONENT_TYPE_AUTO_SCENE_CAPTURE_PICO
|
||
|
|
XrSpace baseSpace;
|
||
|
|
} XrSpatialEntityAutoSceneCaptureResultGetInfoPICO;
|
||
|
|
|
||
|
|
|
||
|
|
typedef enum XrAutoSceneCaptureStatePICO{
|
||
|
|
XR_AUTO_SCENE_CAPTURE_STATE_NOT_DEFINED_PICO = 0,
|
||
|
|
XR_AUTO_SCENE_CAPTURE_STATE_NEW_CAPTURE_RESULT_PICO = 1,
|
||
|
|
XR_AUTO_SCENE_CAPTURE_STATE_OUT_OF_CAPTURE_ZONE_PICO = 2,
|
||
|
|
XR_AUTO_SCENE_CAPTURE_STATE_ERROR_MESSAGE_PICO = 3,
|
||
|
|
XR_AUTO_SCENE_CAPTURE_STATUS_MAX_ENUM_PICO = 0x7FFFFFFF
|
||
|
|
} XrAutoSceneCaptureStatePICO;
|
||
|
|
|
||
|
|
|
||
|
|
typedef struct XrEventDataAutoSceneCaptureUpdatePICO {
|
||
|
|
XrStructureType type; // XR_TYPE_EVENT_DATA_AUTO_SCENE_CAPTURE_UPDATE_PICO
|
||
|
|
const void* next;
|
||
|
|
XrAutoSceneCaptureStatePICO state;
|
||
|
|
uint32_t msg;
|
||
|
|
} XrEventDataAutoSceneCaptureUpdatePICO;
|
||
|
|
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
#endif //PICOXRRUNTIME_PICO_AUTO_SCENE_CAPTURE_H
|