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.
XR_EXT_hand_tracking extension must be enabled prior to using XrHandJointLocationsEXTtype must be TYPE_HAND_JOINT_LOCATIONS_EXTnext must be NULL or a valid pointer to the next structure in a structure chain. See also: XrHandJointVelocitiesEXT, XrHandTrackingAimStateFB, XrHandTrackingCapsulesStateFB, XrHandTrackingDataSourceStateEXT, XrHandTrackingScaleFBjointLocations must be a pointer to an array of jointCount XrHandJointLocationEXT structuresjointCount parameter must be greater than 0XrHandJointLocationEXT, LocateHandJointsEXT
struct XrHandJointLocationsEXT {
XrStructureType type;
void * next;
XrBool32 isActive;
uint32_t jointCount;
XrHandJointLocationEXT * jointLocations;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | XrHandJointLocationsEXT.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | ISACTIVE
The struct member offsets. |
| public static final int | JOINTCOUNT
The struct member offsets. |
| public static final int | JOINTLOCATIONS
The struct member offsets. |
| public static final int | NEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | TYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | XrHandJointLocationsEXT(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static XrHandJointLocationsEXT | |
| public static XrHandJointLocationsEXT. | calloc(int
the buffer capacity capacity)Returns a new |
| public static XrHandJointLocationsEXT | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrHandJointLocationsEXT. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected XrHandJointLocationsEXT | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static XrHandJointLocationsEXT | |
| public static XrHandJointLocationsEXT | create(long address)
Returns a new |
| public static XrHandJointLocationsEXT. | create(int
the buffer capacity capacity)Returns a new |
| public static XrHandJointLocationsEXT. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static XrHandJointLocationsEXT | |
| public static XrHandJointLocationsEXT. | |
| public boolean | |
| public XrHandJointLocationsEXT | |
| public int | |
| public XrHandJointLocationEXT. | |
| public XrHandJointLocationsEXT | jointLocations(XrHandJointLocationEXT.
Sets the address of the specified |
| public static XrHandJointLocationsEXT | |
| public static XrHandJointLocationsEXT. | malloc(int
the buffer capacity capacity)Returns a new |
| public static XrHandJointLocationsEXT | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrHandJointLocationsEXT. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public long | next()
|
| public XrHandJointLocationsEXT | |
| public XrHandJointLocationsEXT | next(XrHandJointVelocitiesEXT value)
Prepends the specified |
| public XrHandJointLocationsEXT | next(XrHandTrackingAimStateFB value)
Prepends the specified |
| public XrHandJointLocationsEXT | next(XrHandTrackingCapsulesStateFB value)
Prepends the specified |
| public XrHandJointLocationsEXT | next(XrHandTrackingDataSourceStateEXT value)
Prepends the specified |
| public XrHandJointLocationsEXT | next(XrHandTrackingScaleFB value)
Prepends the specified |
| public static int | |
| public static void | |
| public static int | |
| public static void | njointCount(long struct, int value)
Sets the specified value to the |
| public static XrHandJointLocationEXT. | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public XrHandJointLocationsEXT | set(int type, long next, boolean isActive, XrHandJointLocationEXT.
Initializes this struct with the specified values. |
| public XrHandJointLocationsEXT | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public XrHandJointLocationsEXT | |
| public XrHandJointLocationsEXT | |
| public static void |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| ISACTIVE | back to summary |
|---|---|
| public static final int ISACTIVE The struct member offsets. | |
| JOINTCOUNT | back to summary |
|---|---|
| public static final int JOINTCOUNT The struct member offsets. | |
| JOINTLOCATIONS | back to summary |
|---|---|
| public static final int JOINTLOCATIONS The struct member offsets. | |
| NEXT | back to summary |
|---|---|
| public static final int NEXT The struct member offsets. | |
| SIZEOF | back to summary |
|---|---|
| public static final int SIZEOF The struct size in bytes. | |
| TYPE | back to summary |
|---|---|
| public static final int TYPE The struct member offsets. | |
| XrHandJointLocationsEXT | back to summary |
|---|---|
| protected XrHandJointLocationsEXT(long address, ByteBuffer container) | |
| XrHandJointLocationsEXT | back to summary |
|---|---|
| public XrHandJointLocationsEXT(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static XrHandJointLocationsEXT calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static XrHandJointLocationsEXT. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static XrHandJointLocationsEXT calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static XrHandJointLocationsEXT. Returns a new
| |
| create | back to summary |
|---|---|
| protected XrHandJointLocationsEXT create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static XrHandJointLocationsEXT create() Returns a new | |
| create | back to summary |
|---|---|
| public static XrHandJointLocationsEXT create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static XrHandJointLocationsEXT. Returns a new
| |
| create | back to summary |
|---|---|
| public static XrHandJointLocationsEXT. Create a
| |
| createSafe | back to summary |
|---|---|
| public static XrHandJointLocationsEXT createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static XrHandJointLocationsEXT. Like
| |
| isActive | back to summary |
|---|---|
| public boolean isActive() an
| |
| isActive | back to summary |
|---|---|
| public XrHandJointLocationsEXT isActive(boolean value) Sets the specified value to the | |
| jointCount | back to summary |
|---|---|
| public int jointCount() a
| |
| jointLocations | back to summary |
|---|---|
| public XrHandJointLocationEXT. an array of
| |
| jointLocations | back to summary |
|---|---|
| public XrHandJointLocationsEXT jointLocations(XrHandJointLocationEXT. Sets the address of the specified | |
| malloc | back to summary |
|---|---|
| public static XrHandJointLocationsEXT malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static XrHandJointLocationsEXT. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static XrHandJointLocationsEXT malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static XrHandJointLocationsEXT. Returns a new
| |
| next | back to summary |
|---|---|
| public long next()
| |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT next(long value) Sets the specified value to the | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT next(XrHandJointVelocitiesEXT value) Prepends the specified | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT next(XrHandTrackingAimStateFB value) Prepends the specified | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT next(XrHandTrackingCapsulesStateFB value) Prepends the specified | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT next(XrHandTrackingDataSourceStateEXT value) Prepends the specified | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT next(XrHandTrackingScaleFB value) Prepends the specified | |
| nisActive | back to summary |
|---|---|
| public static int nisActive(long struct) Unsafe version of | |
| nisActive | back to summary |
|---|---|
| public static void nisActive(long struct, int value) Unsafe version of | |
| njointCount | back to summary |
|---|---|
| public static int njointCount(long struct) Unsafe version of | |
| njointCount | back to summary |
|---|---|
| public static void njointCount(long struct, int value) Sets the specified value to the | |
| njointLocations | back to summary |
|---|---|
| public static XrHandJointLocationEXT. Unsafe version of | |
| njointLocations | back to summary |
|---|---|
| public static void njointLocations(long struct, XrHandJointLocationEXT. Unsafe version of | |
| nnext | back to summary |
|---|---|
| public static long nnext(long struct) Unsafe version of | |
| nnext | back to summary |
|---|---|
| public static void nnext(long struct, long value) Unsafe version of | |
| ntype | back to summary |
|---|---|
| public static int ntype(long struct) Unsafe version of | |
| ntype | back to summary |
|---|---|
| public static void ntype(long struct, int value) Unsafe version of | |
| set | back to summary |
|---|---|
| public XrHandJointLocationsEXT set(int type, long next, boolean isActive, XrHandJointLocationEXT. Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public XrHandJointLocationsEXT set(XrHandJointLocationsEXT src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| type | back to summary |
|---|---|
| public int type() the
| |
| type | back to summary |
|---|---|
| public XrHandJointLocationsEXT type(int value) Sets the specified value to the | |
| type$Default | back to summary |
|---|---|
| public XrHandJointLocationsEXT type$Default() Sets the | |
| validate | back to summary |
|---|---|
| public static void validate(long struct) Validates pointer members that should not be
| |
XrHandJointLocationsEXT structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final XrHandJointLocationsEXT |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final XrHandJointLocationsEXT ELEMENT_FACTORY | |
| Buffer | back to summary |
|---|---|
| public Buffer(ByteBuffer container) Creates a new Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values
will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided
by The created buffer instance holds a strong reference to the container object. | |
| Buffer | back to summary |
|---|---|
| public Buffer(long address, int cap) | |
| Buffer | back to summary |
|---|---|
| pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap) | |
| getElementFactory | back to summary |
|---|---|
| protected XrHandJointLocationsEXT getElementFactory() Implements abstract org.
| |
| isActive | back to summary |
|---|---|
public boolean isActive()
| |
| isActive | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Sets the specified value to the | |
| jointCount | back to summary |
|---|---|
public int jointCount()
| |
| jointLocations | back to summary |
|---|---|
public XrHandJointLocationEXT.
| |
| jointLocations | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Sets the address of the specified | |
| next | back to summary |
|---|---|
public long next()
| |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Sets the specified value to the | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Prepends the specified | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Prepends the specified | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Prepends the specified | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Prepends the specified | |
| next | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Prepends the specified | |
| self | back to summary |
|---|---|
| protected XrHandJointLocationsEXT. Implements abstract org.
| |
| type | back to summary |
|---|---|
public int type()
| |
| type | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Sets the specified value to the | |
| type$Default | back to summary |
|---|---|
| public XrHandJointLocationsEXT. Sets the | |