Class XrBodyJointLocationsHTC
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
The application must set jointLocationCount as appropriate for the chosen XrBodyJointSetHTC value when creating the XrBodyTrackerHTC. If jointLocationCount does not match the value associated with the supplied XrBodyJointSetHTC value, the runtime must return ERROR_VALIDATION_FAILURE from LocateBodyJointsHTC.
An application must allocate the output jointLocations array with a minimum capacity of jointLocationCount of XrBodyJointLocationHTC elements. If the application supplies a NULL value for jointLocations, the runtime must return ERROR_VALIDATION_FAILURE.
The runtime must update the jointLocations array elements indexed using the corresponding body joint enumeration (e.g. XrBodyJointHTC for the joint set BODY_JOINT_SET_FULL_HTC) as described by XrBodyJointSetHTC when creating the XrBodyTrackerHTC. For example, when the XrBodyTrackerHTC is created with BODY_JOINT_SET_FULL_HTC, the runtime must fill the jointLocations array with body joint data indexed by the XrBodyJointHTC enumeration.
If the runtime returns combinedLocationFlags with SPACE_LOCATION_POSITION_VALID_BIT and SPACE_LOCATION_ORIENTATION_VALID_BIT set, it indicates that the body tracker detects the joint space locations. If the runtime returns combinedLocationFlags with neither SPACE_LOCATION_POSITION_VALID_BIT nor SPACE_LOCATION_ORIENTATION_VALID_BIT set, it indicates that the body tracker did not detect the joint space locations.
The purpose of the skeleton is to provide data about the body size. The calculation of the body size may be updated during a session. Each time the calculation of the size is changed, XrBodyJointLocationsHTC::skeletonGenerationId is changed to indicate that a new skeleton may be retrieved. GetBodySkeletonHTC can be called with the specified skeletonGenerationId to get the corresponding skeleton.
Valid Usage (Implicit)
- The
XR_HTC_body_trackingextension must be enabled prior to usingXrBodyJointLocationsHTC typemust beTYPE_BODY_JOINT_LOCATIONS_HTCnextmust beNULLor a valid pointer to the next structure in a structure chaincombinedLocationFlagsmust be 0 or a valid combination ofXrSpaceLocationFlagBitsvaluesconfidenceLevelmust be a validXrBodyJointConfidenceHTCvaluejointLocationsmust be a pointer to an array ofjointLocationCountXrBodyJointLocationHTCstructures- The
jointLocationCountparameter must be greater than 0
See Also
XrBodyJointLocationHTC, LocateBodyJointsHTC
Layout
struct XrBodyJointLocationsHTC {
XrStructureType type();
void * next();
XrSpaceLocationFlags combinedLocationFlags();
XrBodyJointConfidenceHTC confidenceLevel();
uint32_t jointLocationCount();
XrBodyJointLocationHTC * jointLocations();
uint32_t skeletonGenerationId();
}-
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 member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.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
ConstructorsConstructorDescriptionXrBodyJointLocationsHTC(ByteBuffer container) Creates aXrBodyJointLocationsHTCinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic XrBodyJointLocationsHTCcalloc()Returns a newXrBodyJointLocationsHTCinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrBodyJointLocationsHTC.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrBodyJointLocationsHTC.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrBodyJointLocationsHTCcalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrBodyJointLocationsHTCinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.longa bitfield, with bit masks defined inXrSpaceLocationFlagBits, containing the bitwise OR of the location flags of all body joints.combinedLocationFlags(long value) Sets the specified value to thecombinedLocationFlags()field.intanXrBodyJointConfidenceHTCvalue which indicates the confidence level for the returned body joint pose.confidenceLevel(int value) Sets the specified value to theconfidenceLevel()field.static XrBodyJointLocationsHTCcreate()Returns a newXrBodyJointLocationsHTCinstance allocated withBufferUtils.create(int capacity) Returns a newXrBodyJointLocationsHTC.Bufferinstance allocated withBufferUtils.static XrBodyJointLocationsHTCcreate(long address) Returns a newXrBodyJointLocationsHTCinstance for the specified memory address.create(long address, int capacity) Create aXrBodyJointLocationsHTC.Bufferinstance at the specified memory.static @Nullable XrBodyJointLocationsHTCcreateSafe(long address) static @Nullable XrBodyJointLocationsHTC.BuffercreateSafe(long address, int capacity) intauint32_tdescribing the count of elements injointLocationsarray.an application-allocatedXrBodyJointLocationHTCarray filled in by the runtime specifying the locations for individual body joints.Sets the address of the specifiedXrBodyJointLocationHTC.Bufferto thejointLocations()field.static XrBodyJointLocationsHTCmalloc()Returns a newXrBodyJointLocationsHTCinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrBodyJointLocationsHTC.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrBodyJointLocationsHTC.Bufferinstance allocated on the specifiedMemoryStack.static XrBodyJointLocationsHTCmalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrBodyJointLocationsHTCinstance allocated on the specifiedMemoryStack.static longncombinedLocationFlags(long struct) Unsafe version ofcombinedLocationFlags().static voidncombinedLocationFlags(long struct, long value) Unsafe version ofcombinedLocationFlags.static intnconfidenceLevel(long struct) Unsafe version ofconfidenceLevel().static voidnconfidenceLevel(long struct, int value) Unsafe version ofconfidenceLevel.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static intnjointLocationCount(long struct) Unsafe version ofjointLocationCount().static voidnjointLocationCount(long struct, int value) Sets the specified value to thejointLocationCountfield of the specifiedstruct.njointLocations(long struct) Unsafe version ofjointLocations().static voidnjointLocations(long struct, XrBodyJointLocationHTC.Buffer value) Unsafe version ofjointLocations.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static intnskeletonGenerationId(long struct) Unsafe version ofskeletonGenerationId().static voidnskeletonGenerationId(long struct, int value) Unsafe version ofskeletonGenerationId.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.set(int type, long next, long combinedLocationFlags, int confidenceLevel, XrBodyJointLocationHTC.Buffer jointLocations, int skeletonGenerationId) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()inta unique identifier, representing the skeleton which is generated when the tracking auto-calibrates the user skeleton scale and proportions.skeletonGenerationId(int value) Sets the specified value to theskeletonGenerationId()field.inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_BODY_JOINT_LOCATIONS_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. -
COMBINEDLOCATIONFLAGS
public static final int COMBINEDLOCATIONFLAGSThe struct member offsets. -
CONFIDENCELEVEL
public static final int CONFIDENCELEVELThe struct member offsets. -
JOINTLOCATIONCOUNT
public static final int JOINTLOCATIONCOUNTThe struct member offsets. -
JOINTLOCATIONS
public static final int JOINTLOCATIONSThe struct member offsets. -
SKELETONGENERATIONID
public static final int SKELETONGENERATIONIDThe struct member offsets.
-
-
Constructor Details
-
XrBodyJointLocationsHTC
Creates aXrBodyJointLocationsHTCinstance 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<XrBodyJointLocationsHTC>
-
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. -
combinedLocationFlags
public long combinedLocationFlags()a bitfield, with bit masks defined inXrSpaceLocationFlagBits, containing the bitwise OR of the location flags of all body joints. -
confidenceLevel
public int confidenceLevel()anXrBodyJointConfidenceHTCvalue which indicates the confidence level for the returned body joint pose. -
jointLocationCount
public int jointLocationCount()auint32_tdescribing the count of elements injointLocationsarray. -
jointLocations
an application-allocatedXrBodyJointLocationHTCarray filled in by the runtime specifying the locations for individual body joints. -
skeletonGenerationId
public int skeletonGenerationId()a unique identifier, representing the skeleton which is generated when the tracking auto-calibrates the user skeleton scale and proportions. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_BODY_JOINT_LOCATIONS_HTCvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
combinedLocationFlags
Sets the specified value to thecombinedLocationFlags()field. -
confidenceLevel
Sets the specified value to theconfidenceLevel()field. -
jointLocations
Sets the address of the specifiedXrBodyJointLocationHTC.Bufferto thejointLocations()field. -
skeletonGenerationId
Sets the specified value to theskeletonGenerationId()field. -
set
public XrBodyJointLocationsHTC set(int type, long next, long combinedLocationFlags, int confidenceLevel, XrBodyJointLocationHTC.Buffer jointLocations, int skeletonGenerationId) 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 newXrBodyJointLocationsHTCinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrBodyJointLocationsHTCinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrBodyJointLocationsHTCinstance allocated withBufferUtils. -
create
Returns a newXrBodyJointLocationsHTCinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrBodyJointLocationsHTC.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrBodyJointLocationsHTC.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrBodyJointLocationsHTC.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrBodyJointLocationsHTC.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newXrBodyJointLocationsHTCinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrBodyJointLocationsHTCinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrBodyJointLocationsHTC.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrBodyJointLocationsHTC.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrBodyJointLocationsHTC.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrBodyJointLocationsHTC.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(). -
ncombinedLocationFlags
public static long ncombinedLocationFlags(long struct) Unsafe version ofcombinedLocationFlags(). -
nconfidenceLevel
public static int nconfidenceLevel(long struct) Unsafe version ofconfidenceLevel(). -
njointLocationCount
public static int njointLocationCount(long struct) Unsafe version ofjointLocationCount(). -
njointLocations
Unsafe version ofjointLocations(). -
nskeletonGenerationId
public static int nskeletonGenerationId(long struct) Unsafe version ofskeletonGenerationId(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
ncombinedLocationFlags
public static void ncombinedLocationFlags(long struct, long value) Unsafe version ofcombinedLocationFlags. -
nconfidenceLevel
public static void nconfidenceLevel(long struct, int value) Unsafe version ofconfidenceLevel. -
njointLocationCount
public static void njointLocationCount(long struct, int value) Sets the specified value to thejointLocationCountfield of the specifiedstruct. -
njointLocations
Unsafe version ofjointLocations. -
nskeletonGenerationId
public static void nskeletonGenerationId(long struct, int value) Unsafe version ofskeletonGenerationId. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-