OpenXR extension that handles spatial entities.
OpenXR extension that handles spatial entities and, when enabled, allows querying those spatial entities. This extension will also automatically manage [XRTracker] objects for static entities.
Registers an entity that was created directly on the OpenXR runtime.
Creates a new spatial context that handles entities for the provided capability configurations. [param capability_configurations] is an array of [OpenXRSpatialCapabilityConfigurationBaseHeader] with the needed capability configuration data.
[param next] is an optional parameter that can contain additional information for creating our spatial context.
[b]Note:[/b] This is an asynchronous method and returns an [OpenXRFutureResult] object with which to track the status, discarding this object will not cancel the creation process. On success [param user_callback] will be called if specified. The result data for this function is the [RID] for our spatial context.
Starts a new discovery query, this will gather all objects tracked by the [param spatial_context] that have at least one of the component types specified in [param component_types].
[param next] is an optional parameter that can contain additional information for executing the discovery query.
[b]Note:[/b] This is an asynchronous method and returns an [OpenXRFutureResult] object with which to track the status, discarding this object will not cancel the discovery process. On success [param user_callback] will be called if specified. The result data for this function is the [RID] for our snapshot.
Returns the [RID] for the specified spatial entity ID.
Frees a spatial context previously created when calling [method create_spatial_context]. If the spatial context creation is still ongoing, the asynchronous process is cancelled.
Frees an entity previously created when calling [method add_spatial_entity] or [method make_spatial_entity].
Frees a spatial snapshot previously created when calling [method discover_spatial_entities]. If the spatial snapshot creation is still ongoing, the asynchronous process is cancelled.
Returns a buffer with floats from a buffer that was retrieved when taking a snapshot.
Returns the OpenXR spatial context handle for this snapshot.
[b]Note:[/b] This method is intended to be used from GDExtensions that implement spatial entity capability handlers.
Returns [code]true[/code] if the spatial context finished its creation and is ready to be used.
Returns the spatial context for this entity.
Returns the internal [code]XrSpatialEntityIdEXT[/code] associated with the entity.
Returns the spatial context related to this spatial snapshot.
Returns the OpenXR spatial snapshot handle for this snapshot.
[b]Note:[/b] This method is intended to be used from GDExtensions that implement spatial entity capability handlers.
Returns a string from a buffer that was retrieved when taking a snapshot.
Returns a buffer with 8 bit ints from a buffer that was retrieved when taking a snapshot.
Returns a buffer with 16 bit ints from a buffer that was retrieved when taking a snapshot.
Returns a buffer with 32 bit ints from a buffer that was retrieved when taking a snapshot.
Returns a buffer with [Vector2] entries from a buffer that was retrieved when taking a snapshot.
Returns a buffer with [Vector3] entries from a buffer that was retrieved when taking a snapshot.
Creates a new entity for this [param entity_id]. The [param spatial_context] should match the context that discovered the entity.
Queries the snapshot data. This will find all entities in the snapshot that contain all requested components in [param component_data]. The objects held within [param component_data] will then be populated with the queried data. [param component_data] must always have an object of [OpenXRSpatialQueryResultData] as the first entry.
[param next] is an optional parameter that can contain additional information passed when setting our query conditions.
Returns [code]true[/code] if this spatial entity [param capability] is supported by the hardware used.
Returns [code]true[/code] if this [param capability] supports the [param component_type].
Performs a snapshot for a limited number of entities. This is NOT an asynchronous method and will return the snapshot immediately.
Emitted when OpenXR recommends running a discovery query because entities managed by this spatial context have (likely) changed.
Plane tracking capability.
QR code based marker tracking capability.
Micro QR code based marker tracking capability.
Aruco marker based marker tracking capability.
April tag based marker tracking capability.
Anchor capability.
Component that provides the 2D bounds for a spatial entity. The corresponding list structure is [code]XrSpatialComponentBounded2DListEXT[/code]; the corresponding data structure is [code]XrSpatialBounded2DDataEXT[/code].
Component that provides the 3D bounds for a spatial entity. The corresponding list structure is [code]XrSpatialComponentBounded3DListEXT[/code]; the corresponding data structure is [code]XrBoxf[/code].
Component that provides the XrSpatialEntityIdEXT of the parent for a spatial entity. The corresponding list structure is [code]XrSpatialComponentParentListEXT[/code]; the corresponding data structure is [code]XrSpatialEntityIdEXT[/code].
Component that provides a 3D mesh for a spatial entity. The corresponding list structure is [code]XrSpatialComponentMesh3DListEXT[/code]; the corresponding data structure is [code]XrSpatialMeshDataEXT[/code].
Component that provides the plane alignment enum for a spatial entity. The corresponding list structure is [code]XrSpatialComponentPlaneAlignmentListEXT[/code]; the corresponding data structure is [code]XrSpatialPlaneAlignmentEXT[/code] (Added by the [code]XR_EXT_spatial_plane_tracking[/code] extension).
Component that provides a 2D mesh for a spatial entity. The corresponding list structure is [code]XrSpatialComponentMesh2DListEXT[/code]; the corresponding data structure is [code]XrSpatialMeshDataEXT[/code] (Added by the [code]XR_EXT_spatial_plane_tracking[/code] extension).
Component that provides a 2D boundary polygon for a spatial entity. The corresponding list structure is [code]XrSpatialComponentPolygon2DListEXT[/code]; the corresponding data structure is [code]XrSpatialPolygon2DDataEXT[/code] (Added by the [code]XR_EXT_spatial_plane_tracking[/code] extension).
Component that provides a semantic label for a plane. The corresponding list structure is [code]XrSpatialComponentPlaneSemanticLabelListEXT[/code]; the corresponding data structure is [code]XrSpatialPlaneSemanticLabelEXT[/code] (Added by the [code]XR_EXT_spatial_plane_tracking[/code] extension).
A component describing the marker type, ID and location. The corresponding list structure is [code]XrSpatialComponentMarkerListEXT[/code]; the corresponding data structure is [code]XrSpatialMarkerDataEXT[/code] (Added by the [code]XR_EXT_spatial_marker_tracking[/code] extension).
Component that provides the location for an anchor. The corresponding list structure is [code]XrSpatialComponentAnchorListEXT[/code]; the corresponding data structure is [code]XrPosef[/code] (Added by the [code]XR_EXT_spatial_anchor[/code] extension).
Component that provides the persisted UUID for a spatial entity. The corresponding list structure is [code]XrSpatialComponentPersistenceListEXT; the corresponding data structure is [code]XrSpatialPersistenceDataEXT[/code] (Added by the [code]XR_EXT_spatial_persistence[/code] extension).