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 [[nodiscard]]
bool checkXrResult(
const XrResult &
result);
86 bool resolveXrFunction(
const char *
name, PFN_xrVoidFunction *function);
88 bool queryAllAnchorsWithSpecificComponentEnabled(
const XrSpaceComponentTypeFB componentType);
89 bool queryAnchorsByUuids(
const QSet<QUuid>& uuidSet);
91 void addAnchor(XrSpace space, XrUuidEXT uuid);
94 XrResult enumerateSpaceSupportedComponents(XrSpace space,
95 uint32_t componentTypeCapacityInput,
96 uint32_t* componentTypeCountOutput,
97 XrSpaceComponentTypeFB* componentTypes);
98 XrResult getSpaceComponentStatus(XrSpace space,
99 XrSpaceComponentTypeFB componentType,
100 XrSpaceComponentStatusFB* status);
101 XrResult setSpaceComponentStatus(XrSpace space,
102 const XrSpaceComponentStatusSetInfoFB*
info,
104 XrResult getSpaceUuid(XrSpace space, XrUuidEXT *uuid);
105 XrResult querySpaces(
const XrSpaceQueryInfoBaseHeaderFB*
info, XrAsyncRequestIdFB*
requestId);
106 XrResult retrieveSpaceQueryResults(XrAsyncRequestIdFB
requestId, XrSpaceQueryResultsFB*
results);
107 XrResult getSpaceBoundingBox2D(XrSpace space, XrRect2Df* boundingBox2DOutput);
108 XrResult getSpaceBoundingBox3D(XrSpace space, XrRect3DfFB* boundingBox3DOutput);
109 XrResult getSpaceSemanticLabels(XrSpace space, XrSemanticLabelsFB* semanticLabelsOutput);
110 XrResult getSpaceBoundary2D(XrSpace space, XrBoundary2DFB* boundary2DOutput);
111 XrResult getSpaceRoomLayout(XrSpace space, XrRoomLayoutFB* roomLayoutOutput);
112 XrResult getSpaceContainer(XrSpace space, XrSpaceContainerFB* spaceContainerOutput);
115 PFN_xrEnumerateSpaceSupportedComponentsFB xrEnumerateSpaceSupportedComponentsFB =
nullptr;
116 PFN_xrGetSpaceComponentStatusFB xrGetSpaceComponentStatusFB =
nullptr;
117 PFN_xrSetSpaceComponentStatusFB xrSetSpaceComponentStatusFB =
nullptr;
118 PFN_xrGetSpaceUuidFB xrGetSpaceUuidFB =
nullptr;
119 PFN_xrQuerySpacesFB xrQuerySpacesFB =
nullptr;
120 PFN_xrRetrieveSpaceQueryResultsFB xrRetrieveSpaceQueryResultsFB =
nullptr;
121 PFN_xrGetSpaceBoundingBox2DFB xrGetSpaceBoundingBox2DFB =
nullptr;
122 PFN_xrGetSpaceBoundingBox3DFB xrGetSpaceBoundingBox3DFB =
nullptr;
123 PFN_xrGetSpaceSemanticLabelsFB xrGetSpaceSemanticLabelsFB =
nullptr;
124 PFN_xrGetSpaceBoundary2DFB xrGetSpaceBoundary2DFB =
nullptr;
125 PFN_xrGetSpaceRoomLayoutFB xrGetSpaceRoomLayoutFB =
nullptr;
126 PFN_xrGetSpaceContainerFB xrGetSpaceContainerFB =
nullptr;
127 PFN_xrRequestSceneCaptureFB xrRequestSceneCaptureFB =
nullptr;
129 QList<QOpenXRSpatialAnchor *> m_anchors;
130 QHash<QUuid,QOpenXRSpatialAnchor *> m_anchorsByUuid;