C Specification

The XrBodyJointLocationsBD structure is defined as:

// Provided by XR_BD_body_tracking
typedef struct XrBodyJointLocationsBD {
    XrStructureType           type;
    void*                     next;
    XrBool32                  allJointPosesTracked;
    uint32_t                  jointLocationCount;
    XrBodyJointLocationBD*    jointLocations;
} XrBodyJointLocationsBD;

Members

Member Descriptions
  • type is the XrStructureType of this structure.

  • next is NULL or a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension.

  • allJointPosesTracked is an XrBool32 indicating if all joint poses (position and orientation) are valid and tracked

  • jointLocationCount is a uint32_t describing the count of elements in jointLocations array.

  • jointLocations is an application-allocated array of XrBodyJointLocationBD that will be filled with joint locations.

Description

XrBodyJointLocationsBD structure returns the state of the body joint locations.

The application must allocate jointLocations with enough elements for all joints of the chosen joint set, and set jointLocationCount according.

The runtime must populate elements of the application-allocated jointLocations array representing human body motion.

The runtime must populate the jointLocations array with elements indexed using the corresponding body joint enumeration (e.g. XrBodyJointBD). The index enumeration is determined by the XrBodyJointSetBD value used when creating the XrBodyTrackerBD. For example, when the XrBodyTrackerBD is created with XR_BODY_JOINT_SET_FULL_BODY_JOINTS_BD, the application must set the jointLocationCount to XR_BODY_JOINT_COUNT_BD, allocating at least that many elements in jointLocations, and the runtime must populate the jointLocations array indexed by the XrBodyJointBD enumeration.

If the value of jointLocationCount does not equal the joint count value associated with the XrBodyJointSetBD value used when creating the XrBodyTrackerBD, or if jointLocations is NULL, the runtime must return XR_ERROR_VALIDATION_FAILURE.

If the returned allJointPosesTracked is true, the runtime must return all joint locations with XR_SPACE_LOCATION_POSITION_VALID_BIT, XR_SPACE_LOCATION_ORIENTATION_VALID_BIT, XR_SPACE_LOCATION_POSITION_TRACKED_BIT, XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT set.

If the returned allJointPosesTracked is false, it indicates that for some joint(s), the body input is not detected or tracked.

Valid Usage (Implicit)

See Also

Document Notes

For more information, see the OpenXR Specification

This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2025 The Khronos Group Inc.