Class XrBodySkeletonHTC
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
The XrBodySkeletonHTC structure is a container to represent the body skeleton in T-pose including each joint pose. The runtime must return ERROR_VALIDATION_FAILURE if jointCount does not equal the number of joints associated with the XrBodyJointSetHTC value used to create the XrBodyTrackerHTC.
The application must allocate an array of at least jointCount elements for joints, to be populated by the runtime. If joints is NULL, the runtime must return ERROR_VALIDATION_FAILURE.
The runtime must return joints representing the default pose of the current estimation regarding the user’s skeleton.
The runtime must update the joints array ordered so that it is indexed using the corresponding body joint enumeration (e.g. XrBodyJointHTC for the joint set BODY_JOINT_SET_FULL_HTC) as associated with the XrBodyJointSetHTC value used when creating the XrBodyTrackerHTC. For example, when the XrBodyTrackerHTC is created with BODY_JOINT_SET_FULL_HTC, the runtime must fill the joints array indexed by the XrBodyJointHTC enumeration.
Valid Usage (Implicit)
- The
XR_HTC_body_trackingextension must be enabled prior to usingXrBodySkeletonHTC typemust beTYPE_BODY_SKELETON_HTCnextmust beNULLor a valid pointer to the next structure in a structure chainjointsmust be a pointer to an array ofjointCountXrBodySkeletonJointHTCstructures- The
jointCountparameter must be greater than 0
See Also
XrBodySkeletonJointHTC, GetBodySkeletonHTC
Layout
struct XrBodySkeletonHTC {
XrStructureType type();
void * next();
uint32_t jointCount();
XrBodySkeletonJointHTC * joints();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionXrBodySkeletonHTC(ByteBuffer container) Creates aXrBodySkeletonHTCinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic XrBodySkeletonHTCcalloc()Returns a newXrBodySkeletonHTCinstance allocated withmemCalloc.static XrBodySkeletonHTC.Buffercalloc(int capacity) Returns a newXrBodySkeletonHTC.Bufferinstance allocated withmemCalloc.static XrBodySkeletonHTC.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrBodySkeletonHTC.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrBodySkeletonHTCcalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrBodySkeletonHTCinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrBodySkeletonHTCcreate()Returns a newXrBodySkeletonHTCinstance allocated withBufferUtils.static XrBodySkeletonHTC.Buffercreate(int capacity) Returns a newXrBodySkeletonHTC.Bufferinstance allocated withBufferUtils.static XrBodySkeletonHTCcreate(long address) Returns a newXrBodySkeletonHTCinstance for the specified memory address.static XrBodySkeletonHTC.Buffercreate(long address, int capacity) Create aXrBodySkeletonHTC.Bufferinstance at the specified memory.static @Nullable XrBodySkeletonHTCcreateSafe(long address) static @Nullable XrBodySkeletonHTC.BuffercreateSafe(long address, int capacity) intanuint32_tdescribing the count of elements injointsarray.joints()an application-allocated array ofXrBodySkeletonJointHTCthat will be filled with skeleton joint elements.Sets the address of the specifiedXrBodySkeletonJointHTC.Bufferto thejoints()field.static XrBodySkeletonHTCmalloc()Returns a newXrBodySkeletonHTCinstance allocated withmemAlloc.static XrBodySkeletonHTC.Buffermalloc(int capacity) Returns a newXrBodySkeletonHTC.Bufferinstance allocated withmemAlloc.static XrBodySkeletonHTC.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrBodySkeletonHTC.Bufferinstance allocated on the specifiedMemoryStack.static XrBodySkeletonHTCmalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrBodySkeletonHTCinstance allocated on the specifiedMemoryStack.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static intnjointCount(long struct) Unsafe version ofjointCount().static voidnjointCount(long struct, int value) Sets the specified value to thejointCountfield of the specifiedstruct.njoints(long struct) Unsafe version ofjoints().static voidnjoints(long struct, XrBodySkeletonJointHTC.Buffer value) Unsafe version ofjoints.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.set(int type, long next, XrBodySkeletonJointHTC.Buffer joints) Initializes this struct with the specified values.set(XrBodySkeletonHTC src) Copies the specified struct data to this struct.intsizeof()inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_BODY_SKELETON_HTCvalue to thetype()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
TYPE
public static final int TYPEThe struct member offsets. -
NEXT
public static final int NEXTThe struct member offsets. -
JOINTCOUNT
public static final int JOINTCOUNTThe struct member offsets. -
JOINTS
public static final int JOINTSThe struct member offsets.
-
-
Constructor Details
-
XrBodySkeletonHTC
Creates aXrBodySkeletonHTCinstance at the current position of the specifiedByteBuffercontainer. 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
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<XrBodySkeletonHTC>
-
type
public int type()theXrStructureTypeof this structure. -
next
public long next()NULLor a pointer to the next structure in a structure chain. No such structures are defined in core OpenXR or this extension. -
jointCount
public int jointCount()anuint32_tdescribing the count of elements injointsarray. -
joints
an application-allocated array ofXrBodySkeletonJointHTCthat will be filled with skeleton joint elements. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_BODY_SKELETON_HTCvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
joints
Sets the address of the specifiedXrBodySkeletonJointHTC.Bufferto thejoints()field. -
set
Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newXrBodySkeletonHTCinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrBodySkeletonHTCinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrBodySkeletonHTCinstance allocated withBufferUtils. -
create
Returns a newXrBodySkeletonHTCinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrBodySkeletonHTC.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrBodySkeletonHTC.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrBodySkeletonHTC.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrBodySkeletonHTC.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newXrBodySkeletonHTCinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrBodySkeletonHTCinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
Returns a newXrBodySkeletonHTC.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
Returns a newXrBodySkeletonHTC.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
ntype
public static int ntype(long struct) Unsafe version oftype(). -
nnext
public static long nnext(long struct) Unsafe version ofnext(). -
njointCount
public static int njointCount(long struct) Unsafe version ofjointCount(). -
njoints
Unsafe version ofjoints(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
njointCount
public static void njointCount(long struct, int value) Sets the specified value to thejointCountfield of the specifiedstruct. -
njoints
Unsafe version ofjoints. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-