Class FBScene
This extension expands on the concept of spatial entities to include a way for a spatial entity to represent rooms, objects, or other boundaries in a scene.
In order to enable the functionality of this extension, you must pass the name of the extension into CreateInstance via the XrInstanceCreateInfo::enabledExtensionNames parameter as indicated in the extension section.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe extension name.static final intThe extension specification version.static final intXrSemanticLabelsSupportFlagBitsFB - XrSemanticLabelsSupportFlagBitsFBstatic final intXrSemanticLabelsSupportFlagBitsFB - XrSemanticLabelsSupportFlagBitsFBstatic final intXrSemanticLabelsSupportFlagBitsFB - XrSemanticLabelsSupportFlagBitsFBstatic final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType.static final intExtendsXrStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic intnxrGetSpaceBoundary2DFB(XrSession session, XrSpace space, long boundary2DOutput) Unsafe version of:GetSpaceBoundary2DFBstatic intnxrGetSpaceBoundingBox2DFB(XrSession session, XrSpace space, long boundingBox2DOutput) Unsafe version of:GetSpaceBoundingBox2DFBstatic intnxrGetSpaceBoundingBox3DFB(XrSession session, XrSpace space, long boundingBox3DOutput) Unsafe version of:GetSpaceBoundingBox3DFBstatic intnxrGetSpaceRoomLayoutFB(XrSession session, XrSpace space, long roomLayoutOutput) Unsafe version of:GetSpaceRoomLayoutFBstatic intnxrGetSpaceSemanticLabelsFB(XrSession session, XrSpace space, long semanticLabelsOutput) Unsafe version of:GetSpaceSemanticLabelsFBstatic intxrGetSpaceBoundary2DFB(XrSession session, XrSpace space, XrBoundary2DFB boundary2DOutput) Gets the 2D boundary for a spatial entity.static intxrGetSpaceBoundingBox2DFB(XrSession session, XrSpace space, XrRect2Df boundingBox2DOutput) Gets the 2D bounding box for a spatial entity.static intxrGetSpaceBoundingBox3DFB(XrSession session, XrSpace space, XrRect3DfFB boundingBox3DOutput) Gets the 3D bounding box for a spatial entity.static intxrGetSpaceRoomLayoutFB(XrSession session, XrSpace space, XrRoomLayoutFB roomLayoutOutput) Gets the room layout for a spatial entity.static intxrGetSpaceSemanticLabelsFB(XrSession session, XrSpace space, XrSemanticLabelsFB semanticLabelsOutput) Gets the semantic labels for a spatial entity.
-
Field Details
-
XR_FB_scene_SPEC_VERSION
public static final int XR_FB_scene_SPEC_VERSIONThe extension specification version.- See Also:
-
XR_FB_SCENE_EXTENSION_NAME
The extension name.- See Also:
-
XR_TYPE_SEMANTIC_LABELS_FB
public static final int XR_TYPE_SEMANTIC_LABELS_FBExtendsXrStructureType.Enum values:
- See Also:
-
XR_TYPE_ROOM_LAYOUT_FB
public static final int XR_TYPE_ROOM_LAYOUT_FBExtendsXrStructureType.Enum values:
- See Also:
-
XR_TYPE_BOUNDARY_2D_FB
public static final int XR_TYPE_BOUNDARY_2D_FBExtendsXrStructureType.Enum values:
- See Also:
-
XR_TYPE_SEMANTIC_LABELS_SUPPORT_INFO_FB
public static final int XR_TYPE_SEMANTIC_LABELS_SUPPORT_INFO_FBExtendsXrStructureType.Enum values:
- See Also:
-
XR_SEMANTIC_LABELS_SUPPORT_MULTIPLE_SEMANTIC_LABELS_BIT_FB
public static final int XR_SEMANTIC_LABELS_SUPPORT_MULTIPLE_SEMANTIC_LABELS_BIT_FBXrSemanticLabelsSupportFlagBitsFB - XrSemanticLabelsSupportFlagBitsFBFlag Descriptions
SEMANTIC_LABELS_SUPPORT_MULTIPLE_SEMANTIC_LABELS_BIT_FB— If set, and the runtime reports theextensionVersionas 2 or greater, the runtime may return multiple semantic labels separated by a comma without spaces. Otherwise, the runtime must return a single semantic label.SEMANTIC_LABELS_SUPPORT_ACCEPT_DESK_TO_TABLE_MIGRATION_BIT_FB— If set, and the runtime reports theextensionVersionas 3 or greater, the runtime must return "TABLE" instead of "DESK" as a semantic label to the application. Otherwise, the runtime must return "DESK" instead of "TABLE" as a semantic label to the application, when applicable.SEMANTIC_LABELS_SUPPORT_ACCEPT_INVISIBLE_WALL_FACE_BIT_FB— If set, and the runtime reports theextensionVersionas 4 or greater, the runtime may return "INVISIBLE_WALL_FACE" instead of "WALL_FACE" as a semantic label to the application in order to represent an invisible wall used to conceptually separate a space (e.g., separate a living space from a kitchen space in an open floor plan house even though there is no real wall between the two spaces) instead of a real wall. Otherwise, the runtime must return "WALL_FACE" as a semantic label to the application in order to represent both an invisible and real wall, when applicable.
- See Also:
-
XR_SEMANTIC_LABELS_SUPPORT_ACCEPT_DESK_TO_TABLE_MIGRATION_BIT_FB
public static final int XR_SEMANTIC_LABELS_SUPPORT_ACCEPT_DESK_TO_TABLE_MIGRATION_BIT_FBXrSemanticLabelsSupportFlagBitsFB - XrSemanticLabelsSupportFlagBitsFBFlag Descriptions
SEMANTIC_LABELS_SUPPORT_MULTIPLE_SEMANTIC_LABELS_BIT_FB— If set, and the runtime reports theextensionVersionas 2 or greater, the runtime may return multiple semantic labels separated by a comma without spaces. Otherwise, the runtime must return a single semantic label.SEMANTIC_LABELS_SUPPORT_ACCEPT_DESK_TO_TABLE_MIGRATION_BIT_FB— If set, and the runtime reports theextensionVersionas 3 or greater, the runtime must return "TABLE" instead of "DESK" as a semantic label to the application. Otherwise, the runtime must return "DESK" instead of "TABLE" as a semantic label to the application, when applicable.SEMANTIC_LABELS_SUPPORT_ACCEPT_INVISIBLE_WALL_FACE_BIT_FB— If set, and the runtime reports theextensionVersionas 4 or greater, the runtime may return "INVISIBLE_WALL_FACE" instead of "WALL_FACE" as a semantic label to the application in order to represent an invisible wall used to conceptually separate a space (e.g., separate a living space from a kitchen space in an open floor plan house even though there is no real wall between the two spaces) instead of a real wall. Otherwise, the runtime must return "WALL_FACE" as a semantic label to the application in order to represent both an invisible and real wall, when applicable.
- See Also:
-
XR_SEMANTIC_LABELS_SUPPORT_ACCEPT_INVISIBLE_WALL_FACE_BIT_FB
public static final int XR_SEMANTIC_LABELS_SUPPORT_ACCEPT_INVISIBLE_WALL_FACE_BIT_FBXrSemanticLabelsSupportFlagBitsFB - XrSemanticLabelsSupportFlagBitsFBFlag Descriptions
SEMANTIC_LABELS_SUPPORT_MULTIPLE_SEMANTIC_LABELS_BIT_FB— If set, and the runtime reports theextensionVersionas 2 or greater, the runtime may return multiple semantic labels separated by a comma without spaces. Otherwise, the runtime must return a single semantic label.SEMANTIC_LABELS_SUPPORT_ACCEPT_DESK_TO_TABLE_MIGRATION_BIT_FB— If set, and the runtime reports theextensionVersionas 3 or greater, the runtime must return "TABLE" instead of "DESK" as a semantic label to the application. Otherwise, the runtime must return "DESK" instead of "TABLE" as a semantic label to the application, when applicable.SEMANTIC_LABELS_SUPPORT_ACCEPT_INVISIBLE_WALL_FACE_BIT_FB— If set, and the runtime reports theextensionVersionas 4 or greater, the runtime may return "INVISIBLE_WALL_FACE" instead of "WALL_FACE" as a semantic label to the application in order to represent an invisible wall used to conceptually separate a space (e.g., separate a living space from a kitchen space in an open floor plan house even though there is no real wall between the two spaces) instead of a real wall. Otherwise, the runtime must return "WALL_FACE" as a semantic label to the application in order to represent both an invisible and real wall, when applicable.
- See Also:
-
-
Method Details
-
nxrGetSpaceBoundingBox2DFB
public static int nxrGetSpaceBoundingBox2DFB(XrSession session, XrSpace space, long boundingBox2DOutput) Unsafe version of:GetSpaceBoundingBox2DFB -
xrGetSpaceBoundingBox2DFB
public static int xrGetSpaceBoundingBox2DFB(XrSession session, XrSpace space, XrRect2Df boundingBox2DOutput) Gets the 2D bounding box for a spatial entity.C Specification
The
GetSpaceBoundingBox2DFBfunction is defined as:XrResult xrGetSpaceBoundingBox2DFB( XrSession session, XrSpace space, XrRect2Df* boundingBox2DOutput);Description
Gets the 2D bounding box for a spatial entity with the
SPACE_COMPONENT_TYPE_BOUNDED_2D_FBcomponent type enabled.The bounding box is defined by an
XrRect2Df::offsetandXrRect2Df::extent. TheXrRect2Df::offsetrefers to the coordinate of the minimum corner of the box in the x-y plane of the givenXrSpace’s coordinate system; that is, the corner whose coordinate has the minimum value on each axis. TheXrRect2Df::extentrefers to the dimensions of the box along each axis. The maximum corner can therefore be computed as.XrRect2Df::offsetXrRect2Df::extentValid Usage (Implicit)
- The
XR_FB_sceneextension must be enabled prior to callingGetSpaceBoundingBox2DFB sessionmust be a validXrSessionhandlespacemust be a validXrSpacehandleboundingBox2DOutputmust be a pointer to anXrRect2Dfstructurespacemust have been created, allocated, or retrieved fromsession
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
session- a handle to anXrSession.space- theXrSpacehandle to the spatial entity.boundingBox2DOutput- an output parameter pointing to the structure containing the 2D bounding box forspace.
- The
-
nxrGetSpaceBoundingBox3DFB
public static int nxrGetSpaceBoundingBox3DFB(XrSession session, XrSpace space, long boundingBox3DOutput) Unsafe version of:GetSpaceBoundingBox3DFB -
xrGetSpaceBoundingBox3DFB
public static int xrGetSpaceBoundingBox3DFB(XrSession session, XrSpace space, XrRect3DfFB boundingBox3DOutput) Gets the 3D bounding box for a spatial entity.C Specification
The
GetSpaceBoundingBox3DFBfunction is defined as:XrResult xrGetSpaceBoundingBox3DFB( XrSession session, XrSpace space, XrRect3DfFB* boundingBox3DOutput);Description
Gets the 3D bounding box for a spatial entity with the
SPACE_COMPONENT_TYPE_BOUNDED_3D_FBcomponent type enabled.Valid Usage (Implicit)
- The
XR_FB_sceneextension must be enabled prior to callingGetSpaceBoundingBox3DFB sessionmust be a validXrSessionhandlespacemust be a validXrSpacehandleboundingBox3DOutputmust be a pointer to anXrRect3DfFBstructurespacemust have been created, allocated, or retrieved fromsession
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
session- a handle to anXrSession.space- theXrSpacehandle to the spatial entity.boundingBox3DOutput- an output parameter pointing to the structure containing the 3D bounding box forspace.
- The
-
nxrGetSpaceSemanticLabelsFB
public static int nxrGetSpaceSemanticLabelsFB(XrSession session, XrSpace space, long semanticLabelsOutput) Unsafe version of:GetSpaceSemanticLabelsFB -
xrGetSpaceSemanticLabelsFB
public static int xrGetSpaceSemanticLabelsFB(XrSession session, XrSpace space, XrSemanticLabelsFB semanticLabelsOutput) Gets the semantic labels for a spatial entity.C Specification
The
GetSpaceSemanticLabelsFBfunction is defined as:XrResult xrGetSpaceSemanticLabelsFB( XrSession session, XrSpace space, XrSemanticLabelsFB* semanticLabelsOutput);Description
Gets the semantic labels for a spatial entity with the
SPACE_COMPONENT_TYPE_SEMANTIC_LABELS_FBcomponent type enabled.Valid Usage (Implicit)
- The
XR_FB_sceneextension must be enabled prior to callingGetSpaceSemanticLabelsFB sessionmust be a validXrSessionhandlespacemust be a validXrSpacehandlesemanticLabelsOutputmust be a pointer to anXrSemanticLabelsFBstructurespacemust have been created, allocated, or retrieved fromsession
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
session- a handle to anXrSession.space- theXrSpacehandle to the spatial entity.semanticLabelsOutput- an output parameter pointing to the structure containing theXrSemanticLabelsFBforspace.
- The
-
nxrGetSpaceBoundary2DFB
Unsafe version of:GetSpaceBoundary2DFB -
xrGetSpaceBoundary2DFB
public static int xrGetSpaceBoundary2DFB(XrSession session, XrSpace space, XrBoundary2DFB boundary2DOutput) Gets the 2D boundary for a spatial entity.C Specification
The
GetSpaceBoundary2DFBfunction is defined as:XrResult xrGetSpaceBoundary2DFB( XrSession session, XrSpace space, XrBoundary2DFB* boundary2DOutput);Description
Gets the 2D boundary, specified by vertices, for a spatial entity with the
SPACE_COMPONENT_TYPE_BOUNDED_2D_FBcomponent type enabled.Valid Usage (Implicit)
- The
XR_FB_sceneextension must be enabled prior to callingGetSpaceBoundary2DFB sessionmust be a validXrSessionhandlespacemust be a validXrSpacehandleboundary2DOutputmust be a pointer to anXrBoundary2DFBstructurespacemust have been created, allocated, or retrieved fromsession
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
session- a handle to anXrSession.space- theXrSpacehandle to the spatial entity.boundary2DOutput- an output parameter pointing to the structure containing theXrBoundary2DFBforspace.
- The
-
nxrGetSpaceRoomLayoutFB
Unsafe version of:GetSpaceRoomLayoutFB -
xrGetSpaceRoomLayoutFB
public static int xrGetSpaceRoomLayoutFB(XrSession session, XrSpace space, XrRoomLayoutFB roomLayoutOutput) Gets the room layout for a spatial entity.C Specification
The
GetSpaceRoomLayoutFBfunction is defined as:XrResult xrGetSpaceRoomLayoutFB( XrSession session, XrSpace space, XrRoomLayoutFB* roomLayoutOutput);Description
Gets the room layout, specified by UUIDs for each surface, for a spatial entity with the
SPACE_COMPONENT_TYPE_ROOM_LAYOUT_FBcomponent type enabled.If the
XrRoomLayoutFB::wallUuidCapacityInputfield is zero (indicating a request to retrieve the required capacity for theXrRoomLayoutFB::wallUuidsarray), or ifGetSpaceRoomLayoutFBreturns failure, then the values offloorUuidandceilingUuidare unspecified and should not be used.Valid Usage (Implicit)
- The
XR_FB_sceneextension must be enabled prior to callingGetSpaceRoomLayoutFB sessionmust be a validXrSessionhandlespacemust be a validXrSpacehandleroomLayoutOutputmust be a pointer to anXrRoomLayoutFBstructurespacemust have been created, allocated, or retrieved fromsession
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
session- a handle to anXrSession.space- theXrSpacehandle to the spatial entity.roomLayoutOutput- an output parameter pointing to the structure containing theXrRoomLayoutFBforspace.
- The
-