Class XrEventDataUserPresenceChangedEXT

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<XrEventDataUserPresenceChangedEXT>
org.lwjgl.openxr.XrEventDataUserPresenceChangedEXT
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class XrEventDataUserPresenceChangedEXT extends org.lwjgl.system.Struct<XrEventDataUserPresenceChangedEXT> implements org.lwjgl.system.NativeResource
Event notifying the change of user presence.
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)

Layout


 struct XrEventDataUserPresenceChangedEXT {
     XrStructureType type();
     void const * next();
     XrSession session();
     XrBool32 isUserPresent();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • TYPE

      public static final int TYPE
      The struct member offsets.
    • NEXT

      public static final int NEXT
      The struct member offsets.
    • SESSION

      public static final int SESSION
      The struct member offsets.
    • ISUSERPRESENT

      public static final int ISUSERPRESENT
      The struct member offsets.
  • Constructor Details

    • XrEventDataUserPresenceChangedEXT

      public XrEventDataUserPresenceChangedEXT(ByteBuffer container)
      Creates a XrEventDataUserPresenceChangedEXT instance at the current position of the specified ByteBuffer container. 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