The runtime must return 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 the application can index elements 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 BODY_JOINT_SET_DEFAULT_FB, the application must set the jointCount to 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 SPACE_LOCATION_POSITION_VALID_BIT and SPACE_LOCATION_ORIENTATION_VALID_BIT set. However, 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 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 SPACE_LOCATION_POSITION_VALID_BIT nor SPACE_LOCATION_ORIENTATION_VALID_BIT set.
XR_FB_body_tracking extension must be enabled prior to using XrBodyJointLocationsFBtype must be TYPE_BODY_JOINT_LOCATIONS_FBnext must be NULL or a valid pointer to the next structure in a structure chainjointLocations must be a pointer to an array of jointCount XrBodyJointLocationFB structuresjointCount parameter must be greater than 0XrBodyJointLocationFB, LocateBodyJointsFB
struct XrBodyJointLocationsFB {
XrStructureType type;
void * next;
XrBool32 isActive;
float confidence;
uint32_t jointCount;
XrBodyJointLocationFB * jointLocations;
uint32_t skeletonChangedCount;
XrTime time;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | XrBodyJointLocationsFB.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | CONFIDENCE
The struct member offsets. |
| 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 | SKELETONCHANGEDCOUNT
The struct member offsets. |
| public static final int | TIME
The struct member offsets. |
| public static final int | TYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | XrBodyJointLocationsFB(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static XrBodyJointLocationsFB | |
| public static XrBodyJointLocationsFB. | calloc(int
the buffer capacity capacity)Returns a new |
| public static XrBodyJointLocationsFB | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrBodyJointLocationsFB. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public float | |
| public XrBodyJointLocationsFB | |
| protected XrBodyJointLocationsFB | 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 XrBodyJointLocationsFB | |
| public static XrBodyJointLocationsFB | |
| public static XrBodyJointLocationsFB. | create(int
the buffer capacity capacity)Returns a new |
| public static XrBodyJointLocationsFB. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static XrBodyJointLocationsFB | |
| public static XrBodyJointLocationsFB. | |
| public boolean | |
| public XrBodyJointLocationsFB | |
| public int | |
| public XrBodyJointLocationFB. | jointLocations()
an application-allocated array of |
| public XrBodyJointLocationsFB | jointLocations(XrBodyJointLocationFB.
Sets the address of the specified |
| public static XrBodyJointLocationsFB | |
| public static XrBodyJointLocationsFB. | malloc(int
the buffer capacity capacity)Returns a new |
| public static XrBodyJointLocationsFB | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static XrBodyJointLocationsFB. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static float | |
| public static void | |
| public long | |
| public XrBodyJointLocationsFB | |
| 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 XrBodyJointLocationFB. | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public XrBodyJointLocationsFB | set(int type, long next, boolean isActive, float confidence, XrBodyJointLocationFB.
Initializes this struct with the specified values. |
| public XrBodyJointLocationsFB | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | skeletonChangedCount()
an output |
| public XrBodyJointLocationsFB | |
| public long | |
| public XrBodyJointLocationsFB | |
| public int | |
| public XrBodyJointLocationsFB | |
| public XrBodyJointLocationsFB | |
| public static void |
| ALIGNOF | back to summary |
|---|---|
| public static final int ALIGNOF The struct alignment in bytes. | |
| CONFIDENCE | back to summary |
|---|---|
| public static final int CONFIDENCE The struct member offsets. | |
| 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. | |
| SKELETONCHANGEDCOUNT | back to summary |
|---|---|
| public static final int SKELETONCHANGEDCOUNT The struct member offsets. | |
| TIME | back to summary |
|---|---|
| public static final int TIME The struct member offsets. | |
| TYPE | back to summary |
|---|---|
| public static final int TYPE The struct member offsets. | |
| XrBodyJointLocationsFB | back to summary |
|---|---|
| protected XrBodyJointLocationsFB(long address, ByteBuffer container) | |
| XrBodyJointLocationsFB | back to summary |
|---|---|
| public XrBodyJointLocationsFB(ByteBuffer container) Creates a The created instance holds a strong reference to the container object. | |
| calloc | back to summary |
|---|---|
| public static XrBodyJointLocationsFB calloc() Returns a new | |
| calloc | back to summary |
|---|---|
| public static XrBodyJointLocationsFB. Returns a new
| |
| calloc | back to summary |
|---|---|
| public static XrBodyJointLocationsFB calloc(MemoryStack stack) Returns a new
| |
| calloc | back to summary |
|---|---|
| public static XrBodyJointLocationsFB. Returns a new
| |
| confidence | back to summary |
|---|---|
| public float confidence() a | |
| confidence | back to summary |
|---|---|
| public XrBodyJointLocationsFB confidence(float value) Sets the specified value to the | |
| create | back to summary |
|---|---|
| protected XrBodyJointLocationsFB create(long address, ByteBuffer container) Implements abstract org. Doc from org. Similar to Effectively, every
| |
| create | back to summary |
|---|---|
| public static XrBodyJointLocationsFB create() Returns a new | |
| create | back to summary |
|---|---|
| public static XrBodyJointLocationsFB create(long address) Returns a new | |
| create | back to summary |
|---|---|
| public static XrBodyJointLocationsFB. Returns a new
| |
| create | back to summary |
|---|---|
| public static XrBodyJointLocationsFB. Create a
| |
| createSafe | back to summary |
|---|---|
| public static XrBodyJointLocationsFB createSafe(long address) Like
| |
| createSafe | back to summary |
|---|---|
| public static XrBodyJointLocationsFB. Like
| |
| isActive | back to summary |
|---|---|
| public boolean isActive() an
| |
| isActive | back to summary |
|---|---|
| public XrBodyJointLocationsFB isActive(boolean value) Sets the specified value to the | |
| jointCount | back to summary |
|---|---|
| public int jointCount() a
| |
| jointLocations | back to summary |
|---|---|
| public XrBodyJointLocationFB. an application-allocated array of
| |
| jointLocations | back to summary |
|---|---|
| public XrBodyJointLocationsFB jointLocations(XrBodyJointLocationFB. Sets the address of the specified | |
| malloc | back to summary |
|---|---|
| public static XrBodyJointLocationsFB malloc() Returns a new | |
| malloc | back to summary |
|---|---|
| public static XrBodyJointLocationsFB. Returns a new
| |
| malloc | back to summary |
|---|---|
| public static XrBodyJointLocationsFB malloc(MemoryStack stack) Returns a new
| |
| malloc | back to summary |
|---|---|
| public static XrBodyJointLocationsFB. Returns a new
| |
| nconfidence | back to summary |
|---|---|
| public static float nconfidence(long struct) Unsafe version of | |
| nconfidence | back to summary |
|---|---|
| public static void nconfidence(long struct, float value) Unsafe version of | |
| next | back to summary |
|---|---|
| public long next()
| |
| next | back to summary |
|---|---|
| public XrBodyJointLocationsFB next(long value) Sets the specified value to the | |
| 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 XrBodyJointLocationFB. Unsafe version of | |
| njointLocations | back to summary |
|---|---|
| public static void njointLocations(long struct, XrBodyJointLocationFB. 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 | |
| nskeletonChangedCount | back to summary |
|---|---|
| public static int nskeletonChangedCount(long struct) Unsafe version of | |
| nskeletonChangedCount | back to summary |
|---|---|
| public static void nskeletonChangedCount(long struct, int value) Unsafe version of | |
| ntime | back to summary |
|---|---|
| public static long ntime(long struct) Unsafe version of | |
| ntime | back to summary |
|---|---|
| public static void ntime(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 XrBodyJointLocationsFB set(int type, long next, boolean isActive, float confidence, XrBodyJointLocationFB. Initializes this struct with the specified values. | |
| set | back to summary |
|---|---|
| public XrBodyJointLocationsFB set(XrBodyJointLocationsFB src) Copies the specified struct data to this struct.
| |
| sizeof | back to summary |
|---|---|
| public int sizeof() Implements abstract org. Doc from org. Returns
| |
| skeletonChangedCount | back to summary |
|---|---|
| public int skeletonChangedCount() an output
| |
| skeletonChangedCount | back to summary |
|---|---|
| public XrBodyJointLocationsFB skeletonChangedCount(int value) Sets the specified value to the | |
| time | back to summary |
|---|---|
| public long time() an
| |
| time | back to summary |
|---|---|
| public XrBodyJointLocationsFB time(long value) Sets the specified value to the | |
| type | back to summary |
|---|---|
| public int type() the
| |
| type | back to summary |
|---|---|
| public XrBodyJointLocationsFB type(int value) Sets the specified value to the | |
| type$Default | back to summary |
|---|---|
| public XrBodyJointLocationsFB type$Default() Sets the | |
| validate | back to summary |
|---|---|
| public static void validate(long struct) Validates pointer members that should not be
| |
XrBodyJointLocationsFB structs.
| Modifier and Type | Field and Description |
|---|---|
| private static final XrBodyJointLocationsFB |
| Access | Constructor and Description |
|---|---|
| public | Buffer(ByteBuffer container)
Creates a new |
| public | |
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public float | |
| public XrBodyJointLocationsFB. | |
| protected XrBodyJointLocationsFB | |
| public boolean | |
| public XrBodyJointLocationsFB. | |
| public int | |
| public XrBodyJointLocationFB. | Returns: aXrBodyJointLocationFB. view of the struct array pointed to by the XrBodyJointLocationsFB#jointLocations field.
|
| public XrBodyJointLocationsFB. | jointLocations(XrBodyJointLocationFB.
Sets the address of the specified |
| public long | |
| public XrBodyJointLocationsFB. | |
| protected XrBodyJointLocationsFB. | |
| public int | |
| public XrBodyJointLocationsFB. | skeletonChangedCount(int value)
Sets the specified value to the |
| public long | |
| public XrBodyJointLocationsFB. | |
| public int | |
| public XrBodyJointLocationsFB. | |
| public XrBodyJointLocationsFB. |
| ELEMENT_FACTORY | back to summary |
|---|---|
| private static final XrBodyJointLocationsFB 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) | |
| confidence | back to summary |
|---|---|
public float confidence()
| |
| confidence | back to summary |
|---|---|
| public XrBodyJointLocationsFB. Sets the specified value to the | |
| getElementFactory | back to summary |
|---|---|
| protected XrBodyJointLocationsFB getElementFactory() Implements abstract org.
| |
| isActive | back to summary |
|---|---|
public boolean isActive()
| |
| isActive | back to summary |
|---|---|
| public XrBodyJointLocationsFB. Sets the specified value to the | |
| jointCount | back to summary |
|---|---|
public int jointCount()
| |
| jointLocations | back to summary |
|---|---|
public XrBodyJointLocationFB.
| |
| jointLocations | back to summary |
|---|---|
| public XrBodyJointLocationsFB. Sets the address of the specified | |
| next | back to summary |
|---|---|
public long next()
| |
| next | back to summary |
|---|---|
| public XrBodyJointLocationsFB. Sets the specified value to the | |
| self | back to summary |
|---|---|
| protected XrBodyJointLocationsFB. Implements abstract org.
| |
| skeletonChangedCount | back to summary |
|---|---|
public int skeletonChangedCount()
| |
| skeletonChangedCount | back to summary |
|---|---|
| public XrBodyJointLocationsFB. Sets the specified value to the | |
| time | back to summary |
|---|---|
public long time()
| |
| time | back to summary |
|---|---|
| public XrBodyJointLocationsFB. Sets the specified value to the | |
| type | back to summary |
|---|---|
public int type()
| |
| type | back to summary |
|---|---|
| public XrBodyJointLocationsFB. Sets the specified value to the | |
| type$Default | back to summary |
|---|---|
| public XrBodyJointLocationsFB. Sets the | |