Class XrEventDataReferenceSpaceChangePending
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
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)
typemust beTYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDINGnextmust beNULLor a valid pointer to the next structure in a structure chain
See Also
Layout
struct XrEventDataReferenceSpaceChangePending {
XrStructureType type();
void const * next();
XrSession session();
XrReferenceSpaceType referenceSpaceType();
XrTime changeTime();
XrBool32 poseValid();
XrPosef poseInPreviousSpace();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofXrEventDataReferenceSpaceChangePendingstructs.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 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
ConstructorsConstructorDescriptionXrEventDataReferenceSpaceChangePending(ByteBuffer container) Creates aXrEventDataReferenceSpaceChangePendinginstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptioncalloc()Returns a newXrEventDataReferenceSpaceChangePendinginstance allocated withmemCalloc.calloc(int capacity) Returns a newXrEventDataReferenceSpaceChangePending.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataReferenceSpaceChangePending.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataReferenceSpaceChangePendinginstance allocated on the specifiedMemoryStackand initializes all its bits to zero.longthe targetXrTimeafter whichLocateSpaceorLocateViewswill return values that respect this change.create()Returns a newXrEventDataReferenceSpaceChangePendinginstance allocated withBufferUtils.create(int capacity) Returns a newXrEventDataReferenceSpaceChangePending.Bufferinstance allocated withBufferUtils.create(long address) Returns a newXrEventDataReferenceSpaceChangePendinginstance for the specified memory address.create(long address, int capacity) Create aXrEventDataReferenceSpaceChangePending.Bufferinstance at the specified memory.create(XrEventDataBaseHeader value) Downcasts the specifiedXrEventDataBaseHeaderinstance toXrEventDataReferenceSpaceChangePending.Downcasts the specifiedXrEventDataBaseHeader.Bufferinstance toXrEventDataReferenceSpaceChangePending.Buffer.static @Nullable XrEventDataReferenceSpaceChangePendingcreateSafe(long address) static @Nullable XrEventDataReferenceSpaceChangePending.BuffercreateSafe(long address, int capacity) malloc()Returns a newXrEventDataReferenceSpaceChangePendinginstance allocated withmemAlloc.malloc(int capacity) Returns a newXrEventDataReferenceSpaceChangePending.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataReferenceSpaceChangePending.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataReferenceSpaceChangePendinginstance allocated on the specifiedMemoryStack.static longnchangeTime(long struct) Unsafe version ofchangeTime().longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static XrPosefnposeInPreviousSpace(long struct) Unsafe version ofposeInPreviousSpace().static intnposeValid(long struct) Unsafe version ofposeValid().static intnreferenceSpaceType(long struct) Unsafe version ofreferenceSpaceType().static longnsession(long struct) Unsafe version ofsession().static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.anXrPosefdefining the position and orientation of the new reference space’s natural origin within the natural reference frame of its previous space.booleantrue if the runtime can determine theposeInPreviousSpaceof the new space in the previous space before the change.inttheXrReferenceSpaceTypethat is changing.longsession()theXrSessionfor which the reference space is changing.set(int type, long next) 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_REFERENCE_SPACE_CHANGE_PENDINGvalue 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. -
SESSION
public static final int SESSIONThe struct member offsets. -
REFERENCESPACETYPE
public static final int REFERENCESPACETYPEThe struct member offsets. -
CHANGETIME
public static final int CHANGETIMEThe struct member offsets. -
POSEVALID
public static final int POSEVALIDThe struct member offsets. -
POSEINPREVIOUSSPACE
public static final int POSEINPREVIOUSSPACEThe struct member offsets.
-
-
Constructor Details
-
XrEventDataReferenceSpaceChangePending
Creates aXrEventDataReferenceSpaceChangePendinginstance 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<XrEventDataReferenceSpaceChangePending>
-
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. -
session
public long session()theXrSessionfor which the reference space is changing. -
referenceSpaceType
public int referenceSpaceType()theXrReferenceSpaceTypethat is changing. -
changeTime
public long changeTime()the targetXrTimeafter whichLocateSpaceorLocateViewswill return values that respect this change. -
poseValid
public boolean poseValid()true if the runtime can determine theposeInPreviousSpaceof the new space in the previous space before the change. -
poseInPreviousSpace
anXrPosefdefining the position and orientation of the new reference space’s natural origin within the natural reference frame of its previous space. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDINGvalue 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 newXrEventDataReferenceSpaceChangePendinginstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrEventDataReferenceSpaceChangePendinginstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrEventDataReferenceSpaceChangePendinginstance allocated withBufferUtils. -
create
Returns a newXrEventDataReferenceSpaceChangePendinginstance for the specified memory address. -
createSafe
-
create
Downcasts the specifiedXrEventDataBaseHeaderinstance toXrEventDataReferenceSpaceChangePending. -
malloc
Returns a newXrEventDataReferenceSpaceChangePending.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrEventDataReferenceSpaceChangePending.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrEventDataReferenceSpaceChangePending.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrEventDataReferenceSpaceChangePending.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable XrEventDataReferenceSpaceChangePending.Buffer createSafe(long address, int capacity) -
create
public static XrEventDataReferenceSpaceChangePending.Buffer create(XrEventDataBaseHeader.Buffer value) Downcasts the specifiedXrEventDataBaseHeader.Bufferinstance toXrEventDataReferenceSpaceChangePending.Buffer. -
malloc
Returns a newXrEventDataReferenceSpaceChangePendinginstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrEventDataReferenceSpaceChangePendinginstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrEventDataReferenceSpaceChangePending.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataReferenceSpaceChangePending.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrEventDataReferenceSpaceChangePending.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrEventDataReferenceSpaceChangePending.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(). -
nreferenceSpaceType
public static int nreferenceSpaceType(long struct) Unsafe version ofreferenceSpaceType(). -
nchangeTime
public static long nchangeTime(long struct) Unsafe version ofchangeTime(). -
nposeValid
public static int nposeValid(long struct) Unsafe version ofposeValid(). -
nposeInPreviousSpace
Unsafe version ofposeInPreviousSpace(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext.
-