Class XrHandJointLocationsEXT

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<XrHandJointLocationsEXT>
org.lwjgl.openxr.XrHandJointLocationsEXT
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class XrHandJointLocationsEXT extends org.lwjgl.system.Struct<XrHandJointLocationsEXT> implements org.lwjgl.system.NativeResource
Returns the hand joint locations.
Description

The application must allocate the memory for the output array jointLocations that can contain at least jointCount of XrHandJointLocationEXT.

The application must set jointCount as described by the XrHandJointSetEXT when creating the XrHandTrackerEXT otherwise the runtime must return ERROR_VALIDATION_FAILURE.

The runtime must return jointLocations representing the range of motion of a human hand, without any obstructions. Input systems that obstruct the movement of the user’s hand (e.g.: a held controller preventing the user from making a fist) or 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 the application can index elements using the corresponding hand joint enum (e.g. XrHandJointEXT) as described by XrHandJointSetEXT when creating the XrHandTrackerEXT. For example, when the XrHandTrackerEXT is created with HAND_JOINT_SET_DEFAULT_EXT, the application must set the jointCount to HAND_JOINT_COUNT_EXT, and the runtime must fill the jointLocations array ordered so that it may be indexed by the XrHandJointEXT enum.

If the returned isActive is true, the runtime must return all joint locations with both SPACE_LOCATION_POSITION_VALID_BIT and SPACE_LOCATION_ORIENTATION_VALID_BIT set. Although, in this case, some joint space locations may be untracked (i.e. SPACE_LOCATION_POSITION_TRACKED_BIT or SPACE_LOCATION_ORIENTATION_TRACKED_BIT is unset).

If the returned isActive is false, it indicates the hand tracker did not detect the hand input or the application lost input focus. In this case, the runtime must return all jointLocations with neither SPACE_LOCATION_POSITION_VALID_BIT nor SPACE_LOCATION_ORIENTATION_VALID_BIT set.

Valid Usage (Implicit)
See Also

XrHandJointLocationEXT, LocateHandJointsEXT

Layout


 struct XrHandJointLocationsEXT {
     XrStructureType type();
     void * next();
     XrBool32 isActive();
     uint32_t jointCount();
     XrHandJointLocationEXT * jointLocations();
 }