Class XrHandJointVelocitiesEXT

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

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

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

The application must input jointCount as described by the XrHandJointSetEXT when creating the XrHandTrackerEXT. Otherwise, the runtime must return ERROR_VALIDATION_FAILURE.

The runtime must update the jointVelocities array in the order so that the application can index elements using the corresponding hand joint enum (e.g. XrHandJointEXT) as described by the 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 returned jointVelocities array must be ordered to be indexed by enum XrHandJointEXT enum.

If the returned XrHandJointLocationsEXT::isActive is false, it indicates the hand tracker did not detect a hand input or the application lost input focus. In this case, the runtime must return all jointVelocities with neither SPACE_VELOCITY_LINEAR_VALID_BIT nor SPACE_VELOCITY_ANGULAR_VALID_BIT set.

If an XrHandJointVelocitiesEXT structure is chained to XrHandJointLocationsEXT::next, the returned XrHandJointLocationsEXT::isActive is true, and the velocity is observed or can be calculated by the runtime, the runtime must fill in the linear velocity of each hand joint within the reference frame of XrHandJointsLocateInfoEXT::baseSpace and set the SPACE_VELOCITY_LINEAR_VALID_BIT. Similarly, if an XrHandJointVelocitiesEXT structure is chained to XrHandJointLocationsEXT::next, the returned XrHandJointLocationsEXT::isActive is true, and the angular velocity is observed or can be calculated by the runtime, the runtime must fill in the angular velocity of each joint within the reference frame of XrHandJointsLocateInfoEXT::baseSpace and set the SPACE_VELOCITY_ANGULAR_VALID_BIT.

Valid Usage (Implicit)
See Also

XrHandJointLocationsEXT, XrHandJointVelocityEXT

Layout


 struct XrHandJointVelocitiesEXT {
     XrStructureType type();
     void * next();
     uint32_t jointCount();
     XrHandJointVelocityEXT * jointVelocities();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • TYPE

      public static final int TYPE
      The struct member offsets.
    • NEXT

      public static final int NEXT
      The struct member offsets.
    • JOINTCOUNT

      public static final int JOINTCOUNT
      The struct member offsets.
    • JOINTVELOCITIES

      public static final int JOINTVELOCITIES
      The struct member offsets.
  • Constructor Details

    • XrHandJointVelocitiesEXT

      public XrHandJointVelocitiesEXT(ByteBuffer container)
      Creates a XrHandJointVelocitiesEXT instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

      The created instance holds a strong reference to the container object.

  • Method Details