Class XrEventDataUserPresenceChangedEXT
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
The XrEventDataUserPresenceChangedEXT event is queued for retrieval using PollEvent when the user presence is changed, as well as when a session starts running.
Receiving XrEventDataUserPresenceChangedEXT with the isUserPresent is TRUE indicates that the system has detected the presence of a user in the XR experience. For example, this may indicate that the user has put on the headset, or has entered the tracking area of a non-head-worn XR system.
Receiving XrEventDataUserPresenceChangedEXT with the isUserPresent is FALSE indicates that the system has detected the absence of a user in the XR experience. For example, this may indicate that the user has removed the headset or has stepped away from the tracking area of a non-head-worn XR system.
The runtime must queue this event upon a successful call to the BeginSession function, regardless of the value of isUserPresent, so that the application can be in sync on the state when a session begins running.
The runtime must return a valid XrSession handle for a running session.
After the application calls EndSession, a running session is ended and the runtime must not enqueue any more user presence events. Therefore, the application will no longer observe any changes of the isUserPresent until another running session.
Note
This extension does not require any specific correlation between user presence state and session state except that the XrEventDataUserPresenceChangedEXT event can not be observed without a running session. A runtime may choose to correlate the two states or keep them independent.
Valid Usage (Implicit)
- The
XR_EXT_user_presenceextension must be enabled prior to usingXrEventDataUserPresenceChangedEXT typemust beTYPE_EVENT_DATA_USER_PRESENCE_CHANGED_EXTnextmust beNULLor a valid pointer to the next structure in a structure chainsessionmust be a validXrSessionhandle
Layout
struct XrEventDataUserPresenceChangedEXT {
XrStructureType type();
void const * next();
XrSession session();
XrBool32 isUserPresent();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofXrEventDataUserPresenceChangedEXTstructs.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.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionXrEventDataUserPresenceChangedEXT(ByteBuffer container) Creates aXrEventDataUserPresenceChangedEXTinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newXrEventDataUserPresenceChangedEXTinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrEventDataUserPresenceChangedEXT.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataUserPresenceChangedEXT.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataUserPresenceChangedEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newXrEventDataUserPresenceChangedEXTinstance allocated withBufferUtils.create(int capacity) Returns a newXrEventDataUserPresenceChangedEXT.Bufferinstance allocated withBufferUtils.create(long address) Returns a newXrEventDataUserPresenceChangedEXTinstance for the specified memory address.create(long address, int capacity) Create aXrEventDataUserPresenceChangedEXT.Bufferinstance at the specified memory.static @Nullable XrEventDataUserPresenceChangedEXTcreateSafe(long address) static @Nullable XrEventDataUserPresenceChangedEXT.BuffercreateSafe(long address, int capacity) booleananXrBool32value for new state of user presence after the change.isUserPresent(boolean value) Sets the specified value to theisUserPresent()field.malloc()Returns a newXrEventDataUserPresenceChangedEXTinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrEventDataUserPresenceChangedEXT.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataUserPresenceChangedEXT.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataUserPresenceChangedEXTinstance 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 intnisUserPresent(long struct) Unsafe version ofisUserPresent().static voidnisUserPresent(long struct, int value) Unsafe version ofisUserPresent.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static longnsession(long struct) Unsafe version ofsession().static voidUnsafe version ofsession.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.longsession()theXrSessionthat is receiving the notification.Sets the specified value to thesession()field.Initializes this struct with the specified values.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_EVENT_DATA_USER_PRESENCE_CHANGED_EXTvalue 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. -
SESSION
public static final int SESSIONThe struct member offsets. -
ISUSERPRESENT
public static final int ISUSERPRESENTThe struct member offsets.
-
-
Constructor Details
-
XrEventDataUserPresenceChangedEXT
Creates aXrEventDataUserPresenceChangedEXTinstance 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<XrEventDataUserPresenceChangedEXT>
-
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. -
session
public long session()theXrSessionthat is receiving the notification. -
isUserPresent
public boolean isUserPresent()anXrBool32value for new state of user presence after the change. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_EVENT_DATA_USER_PRESENCE_CHANGED_EXTvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
session
Sets the specified value to thesession()field. -
isUserPresent
Sets the specified value to theisUserPresent()field. -
set
public XrEventDataUserPresenceChangedEXT set(int type, long next, XrSession session, boolean isUserPresent) 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 newXrEventDataUserPresenceChangedEXTinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrEventDataUserPresenceChangedEXTinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrEventDataUserPresenceChangedEXTinstance allocated withBufferUtils. -
create
Returns a newXrEventDataUserPresenceChangedEXTinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrEventDataUserPresenceChangedEXT.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrEventDataUserPresenceChangedEXT.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrEventDataUserPresenceChangedEXT.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrEventDataUserPresenceChangedEXT.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable XrEventDataUserPresenceChangedEXT.Buffer createSafe(long address, int capacity) -
malloc
Returns a newXrEventDataUserPresenceChangedEXTinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrEventDataUserPresenceChangedEXTinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrEventDataUserPresenceChangedEXT.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataUserPresenceChangedEXT.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrEventDataUserPresenceChangedEXT.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataUserPresenceChangedEXT.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(). -
nsession
public static long nsession(long struct) Unsafe version ofsession(). -
nisUserPresent
public static int nisUserPresent(long struct) Unsafe version ofisUserPresent(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
nsession
Unsafe version ofsession. -
nisUserPresent
public static void nisUserPresent(long struct, int value) Unsafe version ofisUserPresent. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-