Class XrCompositionLayerQuad
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
Description
The XrCompositionLayerQuad layer is useful for user interface elements or 2D content rendered into the virtual world. The layer’s XrSwapchainSubImage::swapchain image is applied to a quad in the virtual world space. Only front face of the quad surface is visible; the back face is not visible and must not be drawn by the runtime. A quad layer has no thickness; it is a two-dimensional object positioned and oriented in 3D space. The position of a quad refers to the center of the quad within the given XrSpace. The orientation of the quad refers to the orientation of the normal vector from the front face. The size of a quad refers to the quad’s size in the x-y plane of the given XrSpace’s coordinate system. A quad with a position of {0,0,0}, rotation of {0,0,0,1} (no rotation), and a size of {1,1} refers to a 1 meter x 1 meter quad centered at {0,0,0} with its front face normal vector coinciding with the +z axis.
Valid Usage (Implicit)
typemust beTYPE_COMPOSITION_LAYER_QUADnextmust beNULLor a valid pointer to the next structure in a structure chainlayerFlagsmust be 0 or a valid combination ofXrCompositionLayerFlagBitsvaluesspacemust be a validXrSpacehandleeyeVisibilitymust be a validXrEyeVisibilityvaluesubImagemust be a validXrSwapchainSubImagestructure
See Also
XrCompositionLayerBaseHeader, XrExtent2Df, XrPosef, XrSwapchainSubImage
Layout
struct XrCompositionLayerQuad {
XrStructureType type();
void const * next();
XrCompositionLayerFlags layerFlags();
XrSpace space();
XrEyeVisibility eyeVisibility();
XrSwapchainSubImage subImage();
XrPosef pose();
XrExtent2Df size();
}-
Nested Class Summary
Nested ClassesNested 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 size in bytes.static final intThe struct member offsets.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
ConstructorsConstructorDescriptionXrCompositionLayerQuad(ByteBuffer container) Creates aXrCompositionLayerQuadinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic XrCompositionLayerQuadcalloc()Returns a newXrCompositionLayerQuadinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrCompositionLayerQuad.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerQuad.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrCompositionLayerQuadcalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerQuadinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrCompositionLayerQuadcreate()Returns a newXrCompositionLayerQuadinstance allocated withBufferUtils.create(int capacity) Returns a newXrCompositionLayerQuad.Bufferinstance allocated withBufferUtils.static XrCompositionLayerQuadcreate(long address) Returns a newXrCompositionLayerQuadinstance for the specified memory address.create(long address, int capacity) Create aXrCompositionLayerQuad.Bufferinstance at the specified memory.static XrCompositionLayerQuadDowncasts the specifiedXrCompositionLayerBaseHeaderinstance toXrCompositionLayerQuad.Downcasts the specifiedXrCompositionLayerBaseHeader.Bufferinstance toXrCompositionLayerQuad.Buffer.static @Nullable XrCompositionLayerQuadcreateSafe(long address) static @Nullable XrCompositionLayerQuad.BuffercreateSafe(long address, int capacity) inttheXrEyeVisibilityfor this layer.eyeVisibility(int value) Sets the specified value to theeyeVisibility()field.longa bitmask ofXrCompositionLayerFlagBitsdescribing flags to apply to the layer.layerFlags(long value) Sets the specified value to thelayerFlags()field.static XrCompositionLayerQuadmalloc()Returns a newXrCompositionLayerQuadinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrCompositionLayerQuad.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerQuad.Bufferinstance allocated on the specifiedMemoryStack.static XrCompositionLayerQuadmalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerQuadinstance 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 intneyeVisibility(long struct) Unsafe version ofeyeVisibility().static voidneyeVisibility(long struct, int value) Unsafe version ofeyeVisibility.static longnlayerFlags(long struct) Unsafe version oflayerFlags().static voidnlayerFlags(long struct, long value) Unsafe version oflayerFlags.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static XrPosefnpose(long struct) Unsafe version ofpose().static voidUnsafe version ofpose.static XrExtent2Dfnsize(long struct) Unsafe version ofsize().static voidnsize(long struct, XrExtent2Df value) Unsafe version ofsize.static longnspace(long struct) Unsafe version ofspace().static voidUnsafe version ofspace.static XrSwapchainSubImagensubImage(long struct) Unsafe version ofsubImage().static voidnsubImage(long struct, XrSwapchainSubImage value) Unsafe version ofsubImage.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.pose()anXrPosefdefining the position and orientation of the quad in the reference frame of thespace.set(int type, long next, long layerFlags, XrSpace space, int eyeVisibility, XrSwapchainSubImage subImage, XrPosef pose, XrExtent2Df size) Initializes this struct with the specified values.Copies the specified struct data to this struct.size()the width and height of the quad in meters.size(Consumer<XrExtent2Df> consumer) size(XrExtent2Df value) Copies the specifiedXrExtent2Dfto thesize()field.intsizeof()longspace()theXrSpacein which theposeof the quad layer is evaluated over time.Sets the specified value to thespace()field.subImage()the image layerXrSwapchainSubImageto use.subImage(Consumer<XrSwapchainSubImage> consumer) Passes thesubImage()field to the specifiedConsumer.subImage(XrSwapchainSubImage value) Copies the specifiedXrSwapchainSubImageto thesubImage()field.inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_COMPOSITION_LAYER_QUADvalue 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. -
LAYERFLAGS
public static final int LAYERFLAGSThe struct member offsets. -
SPACE
public static final int SPACEThe struct member offsets. -
EYEVISIBILITY
public static final int EYEVISIBILITYThe struct member offsets. -
SUBIMAGE
public static final int SUBIMAGEThe struct member offsets. -
POSE
public static final int POSEThe struct member offsets. -
SIZE
public static final int SIZEThe struct member offsets.
-
-
Constructor Details
-
XrCompositionLayerQuad
Creates aXrCompositionLayerQuadinstance 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<XrCompositionLayerQuad>
-
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. -
layerFlags
public long layerFlags()a bitmask ofXrCompositionLayerFlagBitsdescribing flags to apply to the layer. -
space
public long space()theXrSpacein which theposeof the quad layer is evaluated over time. -
eyeVisibility
public int eyeVisibility()theXrEyeVisibilityfor this layer. -
subImage
the image layerXrSwapchainSubImageto use. The swapchain must have been created with aXrSwapchainCreateInfo::faceCountof 1. -
pose
anXrPosefdefining the position and orientation of the quad in the reference frame of thespace. -
size
the width and height of the quad in meters. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_COMPOSITION_LAYER_QUADvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
layerFlags
Sets the specified value to thelayerFlags()field. -
space
Sets the specified value to thespace()field. -
eyeVisibility
Sets the specified value to theeyeVisibility()field. -
subImage
Copies the specifiedXrSwapchainSubImageto thesubImage()field. -
subImage
Passes thesubImage()field to the specifiedConsumer. -
pose
-
pose
-
size
Copies the specifiedXrExtent2Dfto thesize()field. -
size
-
set
public XrCompositionLayerQuad set(int type, long next, long layerFlags, XrSpace space, int eyeVisibility, XrSwapchainSubImage subImage, XrPosef pose, XrExtent2Df size) 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 newXrCompositionLayerQuadinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrCompositionLayerQuadinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrCompositionLayerQuadinstance allocated withBufferUtils. -
create
Returns a newXrCompositionLayerQuadinstance for the specified memory address. -
createSafe
-
create
Downcasts the specifiedXrCompositionLayerBaseHeaderinstance toXrCompositionLayerQuad. -
malloc
Returns a newXrCompositionLayerQuad.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrCompositionLayerQuad.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrCompositionLayerQuad.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrCompositionLayerQuad.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
create
Downcasts the specifiedXrCompositionLayerBaseHeader.Bufferinstance toXrCompositionLayerQuad.Buffer. -
malloc
Returns a newXrCompositionLayerQuadinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrCompositionLayerQuadinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrCompositionLayerQuad.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerQuad.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrCompositionLayerQuad.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrCompositionLayerQuad.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(). -
nlayerFlags
public static long nlayerFlags(long struct) Unsafe version oflayerFlags(). -
nspace
public static long nspace(long struct) Unsafe version ofspace(). -
neyeVisibility
public static int neyeVisibility(long struct) Unsafe version ofeyeVisibility(). -
nsubImage
Unsafe version ofsubImage(). -
npose
Unsafe version ofpose(). -
nsize
Unsafe version ofsize(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
nlayerFlags
public static void nlayerFlags(long struct, long value) Unsafe version oflayerFlags. -
nspace
Unsafe version ofspace. -
neyeVisibility
public static void neyeVisibility(long struct, int value) Unsafe version ofeyeVisibility. -
nsubImage
Unsafe version ofsubImage. -
npose
Unsafe version ofpose. -
nsize
Unsafe version ofsize. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-