61 const QList<QOpenXRSpatialAnchor *> &
anchors()
const;
63 void updateAnchors(XrTime predictedDisplayTime, XrSpace appSpace);
82 XrInstance m_instance{XR_NULL_HANDLE};
83 XrSession m_session{XR_NULL_HANDLE};
85 bool checkXrResult(
const XrResult &
result);
87 bool queryAllAnchorsWithSpecificComponentEnabled(
const XrSpaceComponentTypeFB componentType);
88 bool queryAnchorsByUuids(
const QSet<QUuid>& uuidSet);
90 void addAnchor(XrSpace space, XrUuidEXT uuid);
93 XrResult enumerateSpaceSupportedComponents(XrSpace space,
94 uint32_t componentTypeCapacityInput,
95 uint32_t* componentTypeCountOutput,
96 XrSpaceComponentTypeFB* componentTypes);
97 XrResult getSpaceComponentStatus(XrSpace space,
98 XrSpaceComponentTypeFB componentType,
99 XrSpaceComponentStatusFB* status);
100 XrResult setSpaceComponentStatus(XrSpace space,
101 const XrSpaceComponentStatusSetInfoFB*
info,
103 XrResult getSpaceUuid(XrSpace space, XrUuidEXT *uuid);
104 XrResult querySpaces(
const XrSpaceQueryInfoBaseHeaderFB*
info, XrAsyncRequestIdFB*
requestId);
105 XrResult retrieveSpaceQueryResults(XrAsyncRequestIdFB
requestId, XrSpaceQueryResultsFB*
results);
106 XrResult getSpaceBoundingBox2D(XrSpace space, XrRect2Df* boundingBox2DOutput);
107 XrResult getSpaceBoundingBox3D(XrSpace space, XrRect3DfFB* boundingBox3DOutput);
108 XrResult getSpaceSemanticLabels(XrSpace space, XrSemanticLabelsFB* semanticLabelsOutput);
109 XrResult getSpaceBoundary2D(XrSpace space, XrBoundary2DFB* boundary2DOutput);
110 XrResult getSpaceRoomLayout(XrSpace space, XrRoomLayoutFB* roomLayoutOutput);
111 XrResult getSpaceContainer(XrSpace space, XrSpaceContainerFB* spaceContainerOutput);
114 PFN_xrEnumerateSpaceSupportedComponentsFB xrEnumerateSpaceSupportedComponentsFB =
nullptr;
115 PFN_xrGetSpaceComponentStatusFB xrGetSpaceComponentStatusFB =
nullptr;
116 PFN_xrSetSpaceComponentStatusFB xrSetSpaceComponentStatusFB =
nullptr;
117 PFN_xrGetSpaceUuidFB xrGetSpaceUuidFB =
nullptr;
118 PFN_xrQuerySpacesFB xrQuerySpacesFB =
nullptr;
119 PFN_xrRetrieveSpaceQueryResultsFB xrRetrieveSpaceQueryResultsFB =
nullptr;
120 PFN_xrGetSpaceBoundingBox2DFB xrGetSpaceBoundingBox2DFB =
nullptr;
121 PFN_xrGetSpaceBoundingBox3DFB xrGetSpaceBoundingBox3DFB =
nullptr;
122 PFN_xrGetSpaceSemanticLabelsFB xrGetSpaceSemanticLabelsFB =
nullptr;
123 PFN_xrGetSpaceBoundary2DFB xrGetSpaceBoundary2DFB =
nullptr;
124 PFN_xrGetSpaceRoomLayoutFB xrGetSpaceRoomLayoutFB =
nullptr;
125 PFN_xrGetSpaceContainerFB xrGetSpaceContainerFB =
nullptr;
126 PFN_xrRequestSceneCaptureFB xrRequestSceneCaptureFB =
nullptr;
128 QList<QOpenXRSpatialAnchor *> m_anchors;
129 QHash<QUuid,QOpenXRSpatialAnchor *> m_anchorsByUuid;