Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkSRTDataNV

extends Struct<VkSRTDataNV>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Structure specifying a transform in SRT decomposition.
Description

This transform decomposition consists of three elements. The first is a matrix S, consisting of a scale, shear, and translation, usually used to define the pivot point of the following rotation. This matrix is constructed from the parameters above by:

S =

sxabpvx
0sycpvy
00szpvz

The rotation quaternion is defined as:

R = [ qx, qy, qz, qw ]

This is a rotation around a conceptual normalized axis [ ax, ay, az ] of amount theta such that:

[ qx, qy, qz ] = sin(theta/2) × [ ax, ay, az ]

and

qw = cos(theta/2)

Finally, the transform has a translation T constructed from the parameters above by:

T =

100tx
010ty
001tz

The effective derived transform is then given by

T × R × S
See Also

VkAccelerationStructureSRTMotionInstanceNV

Layout


struct VkSRTDataNV {
    float sx;
    float a;
    float b;
    float pvx;
    float sy;
    float c;
    float pvy;
    float sz;
    float pvz;
    float qx;
    float qy;
    float qz;
    float qw;
    float tx;
    float ty;
    float tz;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
VkSRTDataNV.Buffer

An array of VkSRTDataNV structs.

Field Summary

Modifier and TypeField and Description
public static final int
A

The struct member offsets.

public static final int
ALIGNOF

The struct alignment in bytes.

public static final int
B

The struct member offsets.

public static final int
C

The struct member offsets.

public static final int
PVX

The struct member offsets.

public static final int
PVY

The struct member offsets.

public static final int
PVZ

The struct member offsets.

public static final int
QW

The struct member offsets.

public static final int
QX

The struct member offsets.

public static final int
QY

The struct member offsets.

public static final int
QZ

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

public static final int
SX

The struct member offsets.

public static final int
SY

The struct member offsets.

public static final int
SZ

The struct member offsets.

public static final int
TX

The struct member offsets.

public static final int
TY

The struct member offsets.

public static final int
TZ

The struct member offsets.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
VkSRTDataNV(long address, ByteBuffer container)

public
VkSRTDataNV(ByteBuffer container)

Creates a VkSRTDataNV instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public float
a()

one component of the shear for the transform

public VkSRTDataNV
a(float value)

Sets the specified value to the a field.

public float
b()

one component of the shear for the transform

public VkSRTDataNV
b(float value)

Sets the specified value to the b field.

public float
c()

one component of the shear for the transform

public VkSRTDataNV
c(float value)

Sets the specified value to the c field.

public static VkSRTDataNV
calloc()

Returns a new VkSRTDataNV instance allocated with memCalloc.

public static VkSRTDataNV.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new VkSRTDataNV.Buffer instance allocated with memCalloc.

public static VkSRTDataNV
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkSRTDataNV instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkSRTDataNV.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkSRTDataNV.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

protected VkSRTDataNV
create(long
the struct memory address
address
,
ByteBuffer
an optional container buffer, to be referenced strongly by the struct instance.
container
)

Implements abstract org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static VkSRTDataNV
create()

Returns a new VkSRTDataNV instance allocated with BufferUtils.

public static VkSRTDataNV
create(long address)

Returns a new VkSRTDataNV instance for the specified memory address.

public static VkSRTDataNV.Buffer
create(int
the buffer capacity
capacity
)

Returns a new VkSRTDataNV.Buffer instance allocated with BufferUtils.

public static VkSRTDataNV.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a VkSRTDataNV.Buffer instance at the specified memory.

public static VkSRTDataNV
createSafe(long address)

Like create, but returns null if address is NULL.

public static VkSRTDataNV.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public static VkSRTDataNV
malloc()

Returns a new VkSRTDataNV instance allocated with memAlloc.

public static VkSRTDataNV.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new VkSRTDataNV.Buffer instance allocated with memAlloc.

public static VkSRTDataNV
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkSRTDataNV instance allocated on the specified MemoryStack.

public static VkSRTDataNV.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkSRTDataNV.Buffer instance allocated on the specified MemoryStack.

public static float
na(long struct)

Unsafe version of a.

public static void
na(long struct, float value)

Unsafe version of a.

public static float
nb(long struct)

Unsafe version of b.

public static void
nb(long struct, float value)

Unsafe version of b.

public static float
nc(long struct)

Unsafe version of c.

public static void
nc(long struct, float value)

Unsafe version of c.

public static float
npvx(long struct)

Unsafe version of pvx.

public static void
npvx(long struct, float value)

Unsafe version of pvx.

public static float
npvy(long struct)

Unsafe version of pvy.

public static void
npvy(long struct, float value)

Unsafe version of pvy.

public static float
npvz(long struct)

Unsafe version of pvz.

public static void
npvz(long struct, float value)

Unsafe version of pvz.

public static float
nqw(long struct)

Unsafe version of qw.

public static void
nqw(long struct, float value)

Unsafe version of qw.

public static float
nqx(long struct)

Unsafe version of qx.

public static void
nqx(long struct, float value)

Unsafe version of qx.

public static float
nqy(long struct)

Unsafe version of qy.

public static void
nqy(long struct, float value)

Unsafe version of qy.

public static float
nqz(long struct)

Unsafe version of qz.

public static void
nqz(long struct, float value)

Unsafe version of qz.

public static float
nsx(long struct)

Unsafe version of sx.

public static void
nsx(long struct, float value)

Unsafe version of sx.

public static float
nsy(long struct)

Unsafe version of sy.

public static void
nsy(long struct, float value)

Unsafe version of sy.

public static float
nsz(long struct)

Unsafe version of sz.

public static void
nsz(long struct, float value)

Unsafe version of sz.

public static float
ntx(long struct)

Unsafe version of tx.

public static void
ntx(long struct, float value)

Unsafe version of tx.

public static float
nty(long struct)

Unsafe version of ty.

public static void
nty(long struct, float value)

Unsafe version of ty.

public static float
ntz(long struct)

Unsafe version of tz.

public static void
ntz(long struct, float value)

Unsafe version of tz.

public float
pvx()

the x component of the pivot point of the transform

public VkSRTDataNV
pvx(float value)

Sets the specified value to the pvx field.

public float
pvy()

the y component of the pivot point of the transform

public VkSRTDataNV
pvy(float value)

Sets the specified value to the pvy field.

public float
pvz()

the z component of the pivot point of the transform

public VkSRTDataNV
pvz(float value)

Sets the specified value to the pvz field.

public float
qw()

the w component of the rotation quaternion

public VkSRTDataNV
qw(float value)

Sets the specified value to the qw field.

public float
qx()

the x component of the rotation quaternion

public VkSRTDataNV
qx(float value)

Sets the specified value to the qx field.

public float
qy()

the y component of the rotation quaternion

public VkSRTDataNV
qy(float value)

Sets the specified value to the qy field.

public float
qz()

the z component of the rotation quaternion

public VkSRTDataNV
qz(float value)

Sets the specified value to the qz field.

public VkSRTDataNV
set(float sx, float a, float b, float pvx, float sy, float c, float pvy, float sz, float pvz, float qx, float qy, float qz, float qw, float tx, float ty, float tz)

Initializes this struct with the specified values.

public VkSRTDataNV

Returns:

this struct
set
(VkSRTDataNV
the source struct
src
)

Copies the specified struct data to this struct.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
public float
sx()

the x component of the scale of the transform

public VkSRTDataNV
sx(float value)

Sets the specified value to the sx field.

public float
sy()

the y component of the scale of the transform

public VkSRTDataNV
sy(float value)

Sets the specified value to the sy field.

public float
sz()

the z component of the scale of the transform

public VkSRTDataNV
sz(float value)

Sets the specified value to the sz field.

public float
tx()

the x component of the post-rotation translation

public VkSRTDataNV
tx(float value)

Sets the specified value to the tx field.

public float
ty()

the y component of the post-rotation translation

public VkSRTDataNV
ty(float value)

Sets the specified value to the ty field.

public float
tz()

the z component of the post-rotation translation

public VkSRTDataNV
tz(float value)

Sets the specified value to the tz field.

Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate