C Specification
XrBodyJointLocationsFB structure returns the state of the body joint locations.
// Provided by XR_FB_body_tracking
typedef struct XrBodyJointLocationsFB {
    XrStructureType           type;
    void*                     next;
    XrBool32                  isActive;
    float                     confidence;
    uint32_t                  jointCount;
    XrBodyJointLocationFB*    jointLocations;
    uint32_t                  skeletonChangedCount;
    XrTime                    time;
} XrBodyJointLocationsFB;Members
Description
The runtime must return XR_ERROR_VALIDATION_FAILURE if
jointCount does not equal to the number of joints defined by the
XrBodyJointSetFB used to create the XrBodyTrackerFB.
The runtime must return jointLocations representing the range of
human body motion, without any obstructions.
Input systems that either obstruct the movement of the user’s body (for
example, a held controller preventing the user from making a fist) or input
systems that have only limited ability to track finger positions must use
the information available to them to emulate an unobstructed range of
motion.
The runtime must update the jointLocations array ordered so that it
is indexed using the corresponding body joint enum (e.g.
XrBodyJointFB) as described by XrBodyJointSetFB when creating
the XrBodyTrackerFB.
For example, when the XrBodyTrackerFB is created with
XR_BODY_JOINT_SET_DEFAULT_FB, the application must set the
jointCount to XR_BODY_JOINT_COUNT_FB, and the runtime must fill
the jointLocations array ordered so that it is indexed by the
XrBodyJointFB enum.
If the returned isActive is true, the runtime must return all joint
locations with both XR_SPACE_LOCATION_POSITION_VALID_BIT and
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT set.
However, in this case, some joint space locations may be untracked (i.e.
XR_SPACE_LOCATION_POSITION_TRACKED_BIT or
XR_SPACE_LOCATION_ORIENTATION_TRACKED_BIT is unset).
If the returned isActive is false, it indicates that the body tracker
did not detect the body input, the application lost input focus, or the
consent for body tracking was denied by the user.
In this case, the runtime must return all jointLocations with neither
XR_SPACE_LOCATION_POSITION_VALID_BIT nor
XR_SPACE_LOCATION_ORIENTATION_VALID_BIT set.
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
Copyright 2014-2024, The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.