Class XrEventDataReferenceSpaceChangePending

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

public class XrEventDataReferenceSpaceChangePending extends org.lwjgl.system.Struct<XrEventDataReferenceSpaceChangePending> implements org.lwjgl.system.NativeResource
Notifies the application that a reference space is changing.
Description

The XrEventDataReferenceSpaceChangePending event is sent to the application to notify it that the origin (and perhaps the bounds) of a reference space is changing. This may occur due to the user recentering the space explicitly, or the runtime otherwise switching to a different space definition.

The reference space change must only take effect for LocateSpace or LocateViews calls whose XrTime parameter is greater than or equal to the changeTime provided in that event. Runtimes should provide a changeTime to applications that allows for a deep render pipeline to present frames that are already in flight using the previous definition of the space. Runtimes should choose a changeTime that is midway between the XrFrameState::predictedDisplayTime of future frames to avoid threshold issues with applications that calculate future frame times using XrFrameState::predictedDisplayPeriod.

The poseInPreviousSpace provided here must only describe the change in the natural origin of the reference space and must not incorporate any origin offsets specified by the application during calls to CreateReferenceSpace. If the runtime does not know the location of the space’s new origin relative to its previous origin, poseValid must be false, and the position and orientation of poseInPreviousSpace are undefined. .Valid Usage (Implicit)

See Also

XrPosef, CreateReferenceSpace

Layout


 struct XrEventDataReferenceSpaceChangePending {
     XrStructureType type();
     void const * next();
     XrSession session();
     XrReferenceSpaceType referenceSpaceType();
     XrTime changeTime();
     XrBool32 poseValid();
     XrPosef poseInPreviousSpace();
 }
  • 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.
    • REFERENCESPACETYPE

      public static final int REFERENCESPACETYPE
      The struct member offsets.
    • CHANGETIME

      public static final int CHANGETIME
      The struct member offsets.
    • POSEVALID

      public static final int POSEVALID
      The struct member offsets.
    • POSEINPREVIOUSSPACE

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

    • XrEventDataReferenceSpaceChangePending

      public XrEventDataReferenceSpaceChangePending(ByteBuffer container)
      Creates a XrEventDataReferenceSpaceChangePending 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