Package org.lwjgl.openxr
Class XrPassthroughMeshTransformInfoHTC
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<XrPassthroughMeshTransformInfoHTC>
org.lwjgl.openxr.XrPassthroughMeshTransformInfoHTC
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
public class XrPassthroughMeshTransformInfoHTC
extends org.lwjgl.system.Struct<XrPassthroughMeshTransformInfoHTC>
implements org.lwjgl.system.NativeResource
The information of mesh and transformation of the passthrough.
Description
The XrPassthroughMeshTransformInfoHTC structure describes the mesh and transformation.
The application must specify the XrPassthroughMeshTransformInfoHTC in the next chain of XrCompositionLayerPassthroughHTC if the specified form of passthrough layer previously created by CreatePassthroughHTC is PASSTHROUGH_FORM_PROJECTED_HTC.
Passing XrPassthroughMeshTransformInfoHTC updates the projected mesh information in the runtime for passthrough layer composition.
If XrPassthroughMeshTransformInfoHTC is not set correctly, runtime must return error ERROR_VALIDATION_FAILURE when EndFrame is called with composition layer XrCompositionLayerPassthroughHTC.
Valid Usage (Implicit)
- The
XR_HTC_passthroughextension must be enabled prior to usingXrPassthroughMeshTransformInfoHTC typemust beTYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTCnextmust beNULLor a valid pointer to the next structure in a structure chainverticesmust be a pointer to an array ofvertexCountXrVector3fstructuresindicesmust be a pointer to an array ofindexCountuint32_tvaluesbaseSpacemust be a validXrSpacehandle- The
vertexCountparameter must be greater than 0 - The
indexCountparameter must be greater than 0
See Also
Layout
struct XrPassthroughMeshTransformInfoHTC {
XrStructureType type();
void const * next();
uint32_t vertexCount();
XrVector3f const * vertices();
uint32_t indexCount();
uint32_t const * indices();
XrSpace baseSpace();
XrTime time();
XrPosef pose();
XrVector3f scale();
}-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn array ofXrPassthroughMeshTransformInfoHTCstructs.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.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
ConstructorsConstructorDescriptionXrPassthroughMeshTransformInfoHTC(ByteBuffer container) Creates aXrPassthroughMeshTransformInfoHTCinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionlongtheXrSpacethat defines the projected passthrough’s base space for transformations.Sets the specified value to thebaseSpace()field.calloc()Returns a newXrPassthroughMeshTransformInfoHTCinstance allocated withmemCalloc.calloc(int capacity) Returns a newXrPassthroughMeshTransformInfoHTC.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrPassthroughMeshTransformInfoHTC.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newXrPassthroughMeshTransformInfoHTCinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.create()Returns a newXrPassthroughMeshTransformInfoHTCinstance allocated withBufferUtils.create(int capacity) Returns a newXrPassthroughMeshTransformInfoHTC.Bufferinstance allocated withBufferUtils.create(long address) Returns a newXrPassthroughMeshTransformInfoHTCinstance for the specified memory address.create(long address, int capacity) Create aXrPassthroughMeshTransformInfoHTC.Bufferinstance at the specified memory.static @Nullable XrPassthroughMeshTransformInfoHTCcreateSafe(long address) static @Nullable XrPassthroughMeshTransformInfoHTC.BuffercreateSafe(long address, int capacity) intthe count of indices array in the mesh.indices()an array of triangle indices.malloc()Returns a newXrPassthroughMeshTransformInfoHTCinstance allocated withmemAlloc.malloc(int capacity) Returns a newXrPassthroughMeshTransformInfoHTC.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrPassthroughMeshTransformInfoHTC.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newXrPassthroughMeshTransformInfoHTCinstance allocated on the specifiedMemoryStack.static longnbaseSpace(long struct) Unsafe version ofbaseSpace().static voidnbaseSpace(long struct, XrSpace value) Unsafe version ofbaseSpace.longnext()NULLor a pointer to the next structure in a structure chain.next(long value) Sets the specified value to thenext()field.static intnindexCount(long struct) Unsafe version ofindexCount().static voidnindexCount(long struct, int value) Sets the specified value to theindexCountfield of the specifiedstruct.static IntBuffernindices(long struct) Unsafe version ofindices.static voidUnsafe version ofindices.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 XrVector3fnscale(long struct) Unsafe version ofscale().static voidnscale(long struct, XrVector3f value) Unsafe version ofscale.static longntime(long struct) Unsafe version oftime().static voidntime(long struct, long value) Unsafe version oftime.static intntype(long struct) Unsafe version oftype().static voidntype(long struct, int value) Unsafe version oftype.static intnvertexCount(long struct) Unsafe version ofvertexCount().static voidnvertexCount(long struct, int value) Sets the specified value to thevertexCountfield of the specifiedstruct.static XrVector3f.Buffernvertices(long struct) Unsafe version ofvertices().static voidnvertices(long struct, XrVector3f.Buffer value) Unsafe version ofvertices.pose()theXrPosefthat defines the pose of the meshscale()theXrVector3fthat defines the scale of the meshscale(Consumer<XrVector3f> consumer) scale(XrVector3f value) Copies the specifiedXrVector3fto thescale()field.set(int type, long next, XrVector3f.Buffer vertices, IntBuffer indices, XrSpace baseSpace, long time, XrPosef pose, XrVector3f scale) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()longtime()theXrTimethat defines the time at which the transform is applied.time(long value) Sets the specified value to thetime()field.inttype()theXrStructureTypeof this structure.type(int value) Sets the specified value to thetype()field.Sets theTYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTCvalue to thetype()field.static voidvalidate(long struct) Validates pointer members that should not beNULL.intthe count of vertices array in the mesh.vertices()an array ofXrVector3f.vertices(XrVector3f.Buffer value) Sets the address of the specifiedXrVector3f.Bufferto thevertices()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. -
VERTEXCOUNT
public static final int VERTEXCOUNTThe struct member offsets. -
VERTICES
public static final int VERTICESThe struct member offsets. -
INDEXCOUNT
public static final int INDEXCOUNTThe struct member offsets. -
INDICES
public static final int INDICESThe struct member offsets. -
BASESPACE
public static final int BASESPACEThe struct member offsets. -
TIME
public static final int TIMEThe struct member offsets. -
POSE
public static final int POSEThe struct member offsets. -
SCALE
public static final int SCALEThe struct member offsets.
-
-
Constructor Details
-
XrPassthroughMeshTransformInfoHTC
Creates aXrPassthroughMeshTransformInfoHTCinstance 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<XrPassthroughMeshTransformInfoHTC>
-
type
public int type()theXrStructureTypeof this structure. -
next
public long next()NULLor a pointer to the next structure in a structure chain. -
vertexCount
public int vertexCount()the count of vertices array in the mesh. -
vertices
an array ofXrVector3f. The size of the array must be equal to vertexCount. -
indexCount
public int indexCount()the count of indices array in the mesh. -
indices
an array of triangle indices. The size of the array must be equal to indexCount. -
baseSpace
public long baseSpace()theXrSpacethat defines the projected passthrough’s base space for transformations. -
time
public long time()theXrTimethat defines the time at which the transform is applied. -
pose
theXrPosefthat defines the pose of the mesh -
scale
theXrVector3fthat defines the scale of the mesh -
type
Sets the specified value to thetype()field. -
type$Default
Sets theTYPE_PASSTHROUGH_MESH_TRANSFORM_INFO_HTCvalue to thetype()field. -
next
Sets the specified value to thenext()field. -
vertices
Sets the address of the specifiedXrVector3f.Bufferto thevertices()field. -
indices
-
baseSpace
Sets the specified value to thebaseSpace()field. -
time
Sets the specified value to thetime()field. -
pose
-
pose
-
scale
Copies the specifiedXrVector3fto thescale()field. -
scale
-
set
public XrPassthroughMeshTransformInfoHTC set(int type, long next, XrVector3f.Buffer vertices, IntBuffer indices, XrSpace baseSpace, long time, XrPosef pose, XrVector3f scale) 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 newXrPassthroughMeshTransformInfoHTCinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newXrPassthroughMeshTransformInfoHTCinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newXrPassthroughMeshTransformInfoHTCinstance allocated withBufferUtils. -
create
Returns a newXrPassthroughMeshTransformInfoHTCinstance for the specified memory address. -
createSafe
-
malloc
Returns a newXrPassthroughMeshTransformInfoHTC.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newXrPassthroughMeshTransformInfoHTC.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newXrPassthroughMeshTransformInfoHTC.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aXrPassthroughMeshTransformInfoHTC.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
public static @Nullable XrPassthroughMeshTransformInfoHTC.Buffer createSafe(long address, int capacity) -
malloc
Returns a newXrPassthroughMeshTransformInfoHTCinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newXrPassthroughMeshTransformInfoHTCinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static XrPassthroughMeshTransformInfoHTC.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrPassthroughMeshTransformInfoHTC.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static XrPassthroughMeshTransformInfoHTC.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newXrPassthroughMeshTransformInfoHTC.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(). -
nvertexCount
public static int nvertexCount(long struct) Unsafe version ofvertexCount(). -
nvertices
Unsafe version ofvertices(). -
nindexCount
public static int nindexCount(long struct) Unsafe version ofindexCount(). -
nindices
Unsafe version ofindices. -
nbaseSpace
public static long nbaseSpace(long struct) Unsafe version ofbaseSpace(). -
ntime
public static long ntime(long struct) Unsafe version oftime(). -
npose
Unsafe version ofpose(). -
nscale
Unsafe version ofscale(). -
ntype
public static void ntype(long struct, int value) Unsafe version oftype. -
nnext
public static void nnext(long struct, long value) Unsafe version ofnext. -
nvertexCount
public static void nvertexCount(long struct, int value) Sets the specified value to thevertexCountfield of the specifiedstruct. -
nvertices
Unsafe version ofvertices. -
nindexCount
public static void nindexCount(long struct, int value) Sets the specified value to theindexCountfield of the specifiedstruct. -
nindices
Unsafe version ofindices. -
nbaseSpace
Unsafe version ofbaseSpace. -
ntime
public static void ntime(long struct, long value) Unsafe version oftime. -
npose
Unsafe version ofpose. -
nscale
Unsafe version ofscale. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-