Class XrSystemHandTrackingMeshPropertiesMSFT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
If a runtime returns FALSE for supportsHandTrackingMesh, the system does not support hand tracking mesh input, and therefore must return ERROR_FEATURE_UNSUPPORTED from CreateHandMeshSpaceMSFT and UpdateHandMeshMSFT. The application should avoid using hand mesh functionality when supportsHandTrackingMesh is FALSE.
If a runtime returns TRUE for supportsHandTrackingMesh, the system supports hand tracking mesh input. In this case, the runtime must return a positive number for maxHandMeshIndexCount and maxHandMeshVertexCount. An application should use maxHandMeshIndexCount and maxHandMeshVertexCount to preallocate hand mesh buffers and reuse them in their render loop when calling UpdateHandMeshMSFT every frame.
Valid Usage (Implicit)
- The
XR_MSFT_hand_tracking_meshextension must be enabled prior to usingXrSystemHandTrackingMeshPropertiesMSFT typemust beTYPE_SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFTnextmust beNULLor a valid pointer to the next structure in a structure chain
See Also
XrSystemProperties, GetSystemProperties
Layout
struct XrSystemHandTrackingMeshPropertiesMSFT {
XrStructureType type();
void * next();
XrBool32 supportsHandTrackingMesh();
uint32_t maxHandMeshIndexCount();
uint32_t maxHandMeshVertexCount();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofXrSystemHandTrackingMeshPropertiesMSFTstructs.Nested 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.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
ConstructorsConstructorDescriptionXrSystemHandTrackingMeshPropertiesMSFT(ByteBuffer container) Creates aXrSystemHandTrackingMeshPropertiesMSFTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated withBufferUtils.create(int capacity) Returns a newXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance allocated withBufferUtils.create(long address) Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance for the specified memory address.create(long address, int capacity) Create aXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance at the specified memory.static @Nullable XrSystemHandTrackingMeshPropertiesMSFTcreateSafe(long address) static @Nullable XrSystemHandTrackingMeshPropertiesMSFT.BuffercreateSafe(long address, int capacity) malloc()Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated on the specifiedMemoryStack.intauint32_treturns the maximum count of indices that will be returned from the hand tracker.intauint32_treturns the maximum count of vertices that will be returned from the hand tracker.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static intnmaxHandMeshIndexCount(long struct) Unsafe version ofmaxHandMeshIndexCount().static intnmaxHandMeshVertexCount(long struct) Unsafe version ofmaxHandMeshVertexCount().static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static intnsupportsHandTrackingMesh(long struct) Unsafe version ofsupportsHandTrackingMesh().static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.set(int type, long next) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()booleananXrBool32, indicating if current system is capable of hand tracking mesh input.inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFTvalue to thetype()field.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. -
SUPPORTSHANDTRACKINGMESH
public static final int SUPPORTSHANDTRACKINGMESHThe struct member offsets. -
MAXHANDMESHINDEXCOUNT
public static final int MAXHANDMESHINDEXCOUNTThe struct member offsets. -
MAXHANDMESHVERTEXCOUNT
public static final int MAXHANDMESHVERTEXCOUNTThe struct member offsets.
-
-
Constructor Details
-
XrSystemHandTrackingMeshPropertiesMSFT
Creates aXrSystemHandTrackingMeshPropertiesMSFTinstance 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<XrSystemHandTrackingMeshPropertiesMSFT>
-
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. -
supportsHandTrackingMesh
public boolean supportsHandTrackingMesh()anXrBool32, indicating if current system is capable of hand tracking mesh input. -
maxHandMeshIndexCount
public int maxHandMeshIndexCount()auint32_treturns the maximum count of indices that will be returned from the hand tracker. -
maxHandMeshVertexCount
public int maxHandMeshVertexCount()auint32_treturns the maximum count of vertices that will be returned from the hand tracker. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_SYSTEM_HAND_TRACKING_MESH_PROPERTIES_MSFTvalue to thetype()field. -
next
Sets the specified value to thenext()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 newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated withBufferUtils. -
create
Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable XrSystemHandTrackingMeshPropertiesMSFT.Buffer createSafe(long address, int capacity) -
malloc
Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrSystemHandTrackingMeshPropertiesMSFTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrSystemHandTrackingMeshPropertiesMSFT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrSystemHandTrackingMeshPropertiesMSFT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrSystemHandTrackingMeshPropertiesMSFT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrSystemHandTrackingMeshPropertiesMSFT.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(). -
nsupportsHandTrackingMesh
public static int nsupportsHandTrackingMesh(long struct) Unsafe version ofsupportsHandTrackingMesh(). -
nmaxHandMeshIndexCount
public static int nmaxHandMeshIndexCount(long struct) Unsafe version ofmaxHandMeshIndexCount(). -
nmaxHandMeshVertexCount
public static int nmaxHandMeshVertexCount(long struct) Unsafe version ofmaxHandMeshVertexCount(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext.
-