63 const QList<QQuick3DXrSpatialAnchor *> &
anchors()
const;
66 void updateAnchors(XrTime predictedDisplayTime, XrSpace appSpace);
89 XrInstance m_instance{XR_NULL_HANDLE};
90 XrSession m_session{XR_NULL_HANDLE};
92 [[nodiscard]]
bool checkXrResult(
const XrResult &
result);
93 bool resolveXrFunction(
const char *
name, PFN_xrVoidFunction *function);
95 bool queryAllAnchorsWithSpecificComponentEnabled(
const XrSpaceComponentTypeFB componentType);
96 bool queryAnchorsByUuids(
const QSet<QUuid>& uuidSet);
98 void addAnchor(XrSpace space, XrUuidEXT uuid);
101 XrResult enumerateSpaceSupportedComponents(XrSpace space,
102 uint32_t componentTypeCapacityInput,
103 uint32_t* componentTypeCountOutput,
104 XrSpaceComponentTypeFB* componentTypes);
105 XrResult getSpaceComponentStatus(XrSpace space,
106 XrSpaceComponentTypeFB componentType,
107 XrSpaceComponentStatusFB* status);
108 XrResult setSpaceComponentStatus(XrSpace space,
109 const XrSpaceComponentStatusSetInfoFB*
info,
111 XrResult getSpaceUuid(XrSpace space, XrUuidEXT *uuid);
112 XrResult querySpaces(
const XrSpaceQueryInfoBaseHeaderFB*
info, XrAsyncRequestIdFB*
requestId);
113 XrResult retrieveSpaceQueryResults(XrAsyncRequestIdFB
requestId, XrSpaceQueryResultsFB*
results);
114 XrResult getSpaceBoundingBox2D(XrSpace space, XrRect2Df* boundingBox2DOutput);
115 XrResult getSpaceBoundingBox3D(XrSpace space, XrRect3DfFB* boundingBox3DOutput);
116 XrResult getSpaceSemanticLabels(XrSpace space, XrSemanticLabelsFB* semanticLabelsOutput);
117 XrResult getSpaceBoundary2D(XrSpace space, XrBoundary2DFB* boundary2DOutput);
118 XrResult getSpaceRoomLayout(XrSpace space, XrRoomLayoutFB* roomLayoutOutput);
119 XrResult getSpaceContainer(XrSpace space, XrSpaceContainerFB* spaceContainerOutput);
122 PFN_xrEnumerateSpaceSupportedComponentsFB xrEnumerateSpaceSupportedComponentsFB =
nullptr;
123 PFN_xrGetSpaceComponentStatusFB xrGetSpaceComponentStatusFB =
nullptr;
124 PFN_xrSetSpaceComponentStatusFB xrSetSpaceComponentStatusFB =
nullptr;
125 PFN_xrGetSpaceUuidFB xrGetSpaceUuidFB =
nullptr;
126 PFN_xrQuerySpacesFB xrQuerySpacesFB =
nullptr;
127 PFN_xrRetrieveSpaceQueryResultsFB xrRetrieveSpaceQueryResultsFB =
nullptr;
128 PFN_xrGetSpaceBoundingBox2DFB xrGetSpaceBoundingBox2DFB =
nullptr;
129 PFN_xrGetSpaceBoundingBox3DFB xrGetSpaceBoundingBox3DFB =
nullptr;
130 PFN_xrGetSpaceSemanticLabelsFB xrGetSpaceSemanticLabelsFB =
nullptr;
131 PFN_xrGetSpaceBoundary2DFB xrGetSpaceBoundary2DFB =
nullptr;
132 PFN_xrGetSpaceRoomLayoutFB xrGetSpaceRoomLayoutFB =
nullptr;
133 PFN_xrGetSpaceContainerFB xrGetSpaceContainerFB =
nullptr;
134 PFN_xrRequestSceneCaptureFB xrRequestSceneCaptureFB =
nullptr;
136 QList<QQuick3DXrSpatialAnchor *> m_anchors;
137 QHash<QUuid,QQuick3DXrSpatialAnchor *> m_anchorsByUuid;