Package org.lwjgl.openxr
Class XrTriangleMeshCreateInfoFB
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<XrTriangleMeshCreateInfoFB>
org.lwjgl.openxr.XrTriangleMeshCreateInfoFB
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class XrTriangleMeshCreateInfoFB
extends org.lwjgl.system.Struct<XrTriangleMeshCreateInfoFB>
implements org.lwjgl.system.NativeResource
The information to create a triangle mesh.
Description
Mesh buffers can be updated between TriangleMeshBeginUpdateFB and TriangleMeshEndUpdateFB calls.
If the mesh is non-mutable, vertexBuffer must be a pointer to an array of vertexCount XrVector3f structures. If the mesh is non-mutable, indexBuffer must be a pointer to an array of 3 * triangleCount uint32_t vertex indices.
Valid Usage (Implicit)
- The
XR_FB_triangle_meshextension must be enabled prior to usingXrTriangleMeshCreateInfoFB typemust beTYPE_TRIANGLE_MESH_CREATE_INFO_FBnextmust beNULLor a valid pointer to the next structure in a structure chainflagsmust be 0 or a valid combination ofXrTriangleMeshFlagBitsFBvalueswindingOrdermust be a validXrWindingOrderFBvalue
See Also
XrVector3f, CreateTriangleMeshFB
Layout
struct XrTriangleMeshCreateInfoFB {
XrStructureType type();
void const * next();
XrTriangleMeshFlagsFB flags();
XrWindingOrderFB windingOrder();
uint32_t vertexCount();
XrVector3f const * vertexBuffer();
uint32_t triangleCount();
uint32_t const * indexBuffer(int);
}-
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 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.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
ConstructorsConstructorDescriptionXrTriangleMeshCreateInfoFB(ByteBuffer container) Creates aXrTriangleMeshCreateInfoFBinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionstatic XrTriangleMeshCreateInfoFBcalloc()Returns a newXrTriangleMeshCreateInfoFBinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrTriangleMeshCreateInfoFB.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrTriangleMeshCreateInfoFB.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrTriangleMeshCreateInfoFBcalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrTriangleMeshCreateInfoFBinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static XrTriangleMeshCreateInfoFBcreate()Returns a newXrTriangleMeshCreateInfoFBinstance allocated withBufferUtils.create(int capacity) Returns a newXrTriangleMeshCreateInfoFB.Bufferinstance allocated withBufferUtils.static XrTriangleMeshCreateInfoFBcreate(long address) Returns a newXrTriangleMeshCreateInfoFBinstance for the specified memory address.create(long address, int capacity) Create aXrTriangleMeshCreateInfoFB.Bufferinstance at the specified memory.static @Nullable XrTriangleMeshCreateInfoFBcreateSafe(long address) static @Nullable XrTriangleMeshCreateInfoFB.BuffercreateSafe(long address, int capacity) longflags()a bitmask ofXrTriangleMeshFlagBitsFBthat specify behavior.flags(long value) Sets the specified value to theflags()field.@Nullable IntBufferindexBuffer(int capacity) indexBuffer(@Nullable IntBuffer value) Sets the address of the specifiedIntBufferto theindexBuffer(int)field.static XrTriangleMeshCreateInfoFBmalloc()Returns a newXrTriangleMeshCreateInfoFBinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrTriangleMeshCreateInfoFB.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrTriangleMeshCreateInfoFB.Bufferinstance allocated on the specifiedMemoryStack.static XrTriangleMeshCreateInfoFBmalloc(org.lwjgl.system.MemoryStack stack) Returns a newXrTriangleMeshCreateInfoFBinstance 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 longnflags(long struct) Unsafe version offlags().static voidnflags(long struct, long value) Unsafe version offlags.static @Nullable IntBuffernindexBuffer(long struct, int capacity) Unsafe version ofindexBuffer.static voidnindexBuffer(long struct, @Nullable IntBuffer value) Unsafe version ofindexBuffer.static longnnext(long struct) Unsafe version ofnext().static voidnnext(long struct, long value) Unsafe version ofnext.static intntriangleCount(long struct) Unsafe version oftriangleCount().static voidntriangleCount(long struct, int value) Unsafe version oftriangleCount.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.static @Nullable XrVector3fnvertexBuffer(long struct) Unsafe version ofvertexBuffer().static voidnvertexBuffer(long struct, @Nullable XrVector3f value) Unsafe version ofvertexBuffer.static intnvertexCount(long struct) Unsafe version ofvertexCount().static voidnvertexCount(long struct, int value) Unsafe version ofvertexCount.static intnwindingOrder(long struct) Unsafe version ofwindingOrder().static voidnwindingOrder(long struct, int value) Unsafe version ofwindingOrder.set(int type, long next, long flags, int windingOrder, int vertexCount, @Nullable XrVector3f vertexBuffer, int triangleCount, @Nullable IntBuffer indexBuffer) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intthe number of triangles in the mesh.triangleCount(int value) Sets the specified value to thetriangleCount()field.inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_TRIANGLE_MESH_CREATE_INFO_FBvalue to thetype()field.@Nullable XrVector3fa pointer to the vertex data.vertexBuffer(@Nullable XrVector3f value) Sets the address of the specifiedXrVector3fto thevertexBuffer()field.intthe number of vertices in the mesh.vertexCount(int value) Sets the specified value to thevertexCount()field.inttheXrWindingOrderFBvalue defining the winding order of the mesh triangles.windingOrder(int value) Sets the specified value to thewindingOrder()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. -
FLAGS
public static final int FLAGSThe struct member offsets. -
WINDINGORDER
public static final int WINDINGORDERThe struct member offsets. -
VERTEXCOUNT
public static final int VERTEXCOUNTThe struct member offsets. -
VERTEXBUFFER
public static final int VERTEXBUFFERThe struct member offsets. -
TRIANGLECOUNT
public static final int TRIANGLECOUNTThe struct member offsets. -
INDEXBUFFER
public static final int INDEXBUFFERThe struct member offsets.
-
-
Constructor Details
-
XrTriangleMeshCreateInfoFB
Creates aXrTriangleMeshCreateInfoFBinstance 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<XrTriangleMeshCreateInfoFB>
-
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. -
flags
public long flags()a bitmask ofXrTriangleMeshFlagBitsFBthat specify behavior. -
windingOrder
public int windingOrder()theXrWindingOrderFBvalue defining the winding order of the mesh triangles. -
vertexCount
public int vertexCount()the number of vertices in the mesh. In the case of the mutable mesh, the value is treated as the maximum number of vertices the mesh will be able to represent at any time in its lifecycle. The actual number of vertices can vary and is defined whenTriangleMeshEndUpdateFBis called. -
vertexBuffer
a pointer to the vertex data. The size of the array must bevertexCountelements. When the mesh is mutable (({@code flags} & {@link FBTriangleMesh#XR_TRIANGLE_MESH_MUTABLE_BIT_FB TRIANGLE_MESH_MUTABLE_BIT_FB}) != 0), thevertexBufferparameter must beNULLand mesh data must be populated separately. -
triangleCount
public int triangleCount()the number of triangles in the mesh. In the case of the mutable mesh, the value is treated as the maximum number of triangles the mesh will be able to represent at any time in its lifecycle. The actual number of triangles can vary and is defined whenTriangleMeshEndUpdateFBis called. -
indexBuffer
- Parameters:
capacity- the number of elements in the returned buffer- Returns:
- the triangle indices. The size of the array must be
triangleCountelements. When the mesh is mutable (({@code flags} & {@link FBTriangleMesh#XR_TRIANGLE_MESH_MUTABLE_BIT_FB TRIANGLE_MESH_MUTABLE_BIT_FB}) != 0), theindexBufferparameter must beNULLand mesh data must be populated separately.
-
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_TRIANGLE_MESH_CREATE_INFO_FBvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
flags
Sets the specified value to theflags()field. -
windingOrder
Sets the specified value to thewindingOrder()field. -
vertexCount
Sets the specified value to thevertexCount()field. -
vertexBuffer
Sets the address of the specifiedXrVector3fto thevertexBuffer()field. -
triangleCount
Sets the specified value to thetriangleCount()field. -
indexBuffer
Sets the address of the specifiedIntBufferto theindexBuffer(int)field. -
set
public XrTriangleMeshCreateInfoFB set(int type, long next, long flags, int windingOrder, int vertexCount, @Nullable XrVector3f vertexBuffer, int triangleCount, @Nullable IntBuffer indexBuffer) 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 newXrTriangleMeshCreateInfoFBinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrTriangleMeshCreateInfoFBinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrTriangleMeshCreateInfoFBinstance allocated withBufferUtils. -
create
Returns a newXrTriangleMeshCreateInfoFBinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrTriangleMeshCreateInfoFB.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrTriangleMeshCreateInfoFB.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrTriangleMeshCreateInfoFB.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrTriangleMeshCreateInfoFB.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
malloc
Returns a newXrTriangleMeshCreateInfoFBinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrTriangleMeshCreateInfoFBinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrTriangleMeshCreateInfoFB.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrTriangleMeshCreateInfoFB.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrTriangleMeshCreateInfoFB.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrTriangleMeshCreateInfoFB.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(). -
nflags
public static long nflags(long struct) Unsafe version offlags(). -
nwindingOrder
public static int nwindingOrder(long struct) Unsafe version ofwindingOrder(). -
nvertexCount
public static int nvertexCount(long struct) Unsafe version ofvertexCount(). -
nvertexBuffer
Unsafe version ofvertexBuffer(). -
ntriangleCount
public static int ntriangleCount(long struct) Unsafe version oftriangleCount(). -
nindexBuffer
Unsafe version ofindexBuffer. -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
nflags
public static void nflags(long struct, long value) Unsafe version offlags. -
nwindingOrder
public static void nwindingOrder(long struct, int value) Unsafe version ofwindingOrder. -
nvertexCount
public static void nvertexCount(long struct, int value) Unsafe version ofvertexCount. -
nvertexBuffer
Unsafe version ofvertexBuffer. -
ntriangleCount
public static void ntriangleCount(long struct, int value) Unsafe version oftriangleCount. -
nindexBuffer
Unsafe version ofindexBuffer.
-