Package org.lwjgl.openxr
Class XrSpaceTriangleMeshMETA
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<XrSpaceTriangleMeshMETA>
org.lwjgl.openxr.XrSpaceTriangleMeshMETA
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class XrSpaceTriangleMeshMETA
extends org.lwjgl.system.Struct<XrSpaceTriangleMeshMETA>
implements org.lwjgl.system.NativeResource
Output parameter to the xrGetSpaceTriangleMeshMETA function.
Description
The XrSpaceTriangleMeshMETA structure can be used by the application to perform the two calls required to obtain a triangle mesh associated to a specified spatial entity.
The output values written in the indices array represent indices of vertices: Three consecutive elements represent a triangle with a counter-clockwise winding order.
Valid Usage (Implicit)
- The
XR_META_spatial_entity_meshextension must be enabled prior to usingXrSpaceTriangleMeshMETA typemust beTYPE_SPACE_TRIANGLE_MESH_METAnextmust beNULLor a valid pointer to the next structure in a structure chain
See Also
XrVector3f, GetSpaceTriangleMeshMETA
Layout
struct XrSpaceTriangleMeshMETA {
XrStructureType type();
void * next();
uint32_t vertexCapacityInput();
uint32_t vertexCountOutput();
XrVector3f * vertices();
uint32_t indexCapacityInput();
uint32_t indexCountOutput();
uint32_t * indices();
}-
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 size 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.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionXrSpaceTriangleMeshMETA(ByteBuffer container) Creates aXrSpaceTriangleMeshMETAinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic XrSpaceTriangleMeshMETAcalloc()Returns a newXrSpaceTriangleMeshMETAinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrSpaceTriangleMeshMETA.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrSpaceTriangleMeshMETA.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrSpaceTriangleMeshMETAcalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrSpaceTriangleMeshMETAinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrSpaceTriangleMeshMETAcreate()Returns a newXrSpaceTriangleMeshMETAinstance allocated withBufferUtils.create(int capacity) Returns a newXrSpaceTriangleMeshMETA.Bufferinstance allocated withBufferUtils.static XrSpaceTriangleMeshMETAcreate(long address) Returns a newXrSpaceTriangleMeshMETAinstance for the specified memory address.create(long address, int capacity) Create aXrSpaceTriangleMeshMETA.Bufferinstance at the specified memory.static @Nullable XrSpaceTriangleMeshMETAcreateSafe(long address) static @Nullable XrSpaceTriangleMeshMETA.BuffercreateSafe(long address, int capacity) intan input parameter for the application to specify the capacity of theindicesarray, or 0 to indicate a request to retrieve the required capacity.intan output parameter that will hold the number of indices written in the output array, or the required capacity in the case thatindexCapacityInputis insufficient.@Nullable IntBufferindices()a pointer to an array ofuint32_t, but can beNULLifindexCapacityInputis 0.static XrSpaceTriangleMeshMETAmalloc()Returns a newXrSpaceTriangleMeshMETAinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrSpaceTriangleMeshMETA.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrSpaceTriangleMeshMETA.Bufferinstance allocated on the specifiedMemoryStack.static XrSpaceTriangleMeshMETAmalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrSpaceTriangleMeshMETAinstance 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 intnindexCapacityInput(long struct) Unsafe version ofindexCapacityInput().static intnindexCountOutput(long struct) Unsafe version ofindexCountOutput().static @Nullable IntBuffernindices(long struct) Unsafe version ofindices.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.static intnvertexCapacityInput(long struct) Unsafe version ofvertexCapacityInput().static intnvertexCountOutput(long struct) Unsafe version ofvertexCountOutput().static @Nullable XrVector3f.Buffernvertices(long struct) Unsafe version ofvertices().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_SPACE_TRIANGLE_MESH_METAvalue to thetype()field.intan input parameter for the application to specify the capacity of theverticesarray, or 0 to indicate a request to retrieve the required capacity.intan output parameter that will hold the number of vertices written in the output array, or the required capacity in the case thatvertexCapacityInputis insufficient.@Nullable XrVector3f.Buffervertices()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. -
VERTEXCAPACITYINPUT
public static final int VERTEXCAPACITYINPUTThe struct member offsets. -
VERTEXCOUNTOUTPUT
public static final int VERTEXCOUNTOUTPUTThe struct member offsets. -
VERTICES
public static final int VERTICESThe struct member offsets. -
INDEXCAPACITYINPUT
public static final int INDEXCAPACITYINPUTThe struct member offsets. -
INDEXCOUNTOUTPUT
public static final int INDEXCOUNTOUTPUTThe struct member offsets. -
INDICES
public static final int INDICESThe struct member offsets.
-
-
Constructor Details
-
XrSpaceTriangleMeshMETA
Creates aXrSpaceTriangleMeshMETAinstance 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<XrSpaceTriangleMeshMETA>
-
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. -
vertexCapacityInput
public int vertexCapacityInput()an input parameter for the application to specify the capacity of theverticesarray, or 0 to indicate a request to retrieve the required capacity. -
vertexCountOutput
public int vertexCountOutput()an output parameter that will hold the number of vertices written in the output array, or the required capacity in the case thatvertexCapacityInputis insufficient. The returned value must be equal to or larger than 3. -
vertices
a pointer to an array ofXrVector3f, but can beNULLifvertexCapacityInputis 0. The vertices are defined in the coordinate frame ofXrSpaceto which this struct is associated. -
indexCapacityInput
public int indexCapacityInput()an input parameter for the application to specify the capacity of theindicesarray, or 0 to indicate a request to retrieve the required capacity. -
indexCountOutput
public int indexCountOutput()an output parameter that will hold the number of indices written in the output array, or the required capacity in the case thatindexCapacityInputis insufficient. The returned value must be a multiple of 3. -
indices
a pointer to an array ofuint32_t, but can beNULLifindexCapacityInputis 0. Each element refers to a vertex invertices. -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_SPACE_TRIANGLE_MESH_METAvalue 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 newXrSpaceTriangleMeshMETAinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrSpaceTriangleMeshMETAinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrSpaceTriangleMeshMETAinstance allocated withBufferUtils. -
create
Returns a newXrSpaceTriangleMeshMETAinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrSpaceTriangleMeshMETA.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrSpaceTriangleMeshMETA.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrSpaceTriangleMeshMETA.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrSpaceTriangleMeshMETA.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newXrSpaceTriangleMeshMETAinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrSpaceTriangleMeshMETAinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrSpaceTriangleMeshMETA.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrSpaceTriangleMeshMETA.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrSpaceTriangleMeshMETA.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrSpaceTriangleMeshMETA.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(). -
nvertexCapacityInput
public static int nvertexCapacityInput(long struct) Unsafe version ofvertexCapacityInput(). -
nvertexCountOutput
public static int nvertexCountOutput(long struct) Unsafe version ofvertexCountOutput(). -
nvertices
Unsafe version ofvertices(). -
nindexCapacityInput
public static int nindexCapacityInput(long struct) Unsafe version ofindexCapacityInput(). -
nindexCountOutput
public static int nindexCountOutput(long struct) Unsafe version ofindexCountOutput(). -
nindices
Unsafe version ofindices. -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext.
-