Class VkTransformMatrixNV

java.lang.Object
overrungl.struct.GroupType
overrungl.vulkan.nv.struct.VkTransformMatrixNV
All Implemented Interfaces:
Addressable

public final class VkTransformMatrixNV extends GroupType

Layout

struct VkTransformMatrixNV {
    float matrix[3][4];
};
  • Field Details

    • LAYOUT

      public static final GroupLayout LAYOUT
      The struct layout of VkTransformMatrixNV.
    • OFFSET_matrix

      public static final long OFFSET_matrix
      The byte offset of matrix.
    • LAYOUT_matrix

      public static final MemoryLayout LAYOUT_matrix
      The memory layout of matrix.
    • VH_matrix

      public static final VarHandle VH_matrix
      The VarHandle of matrix of type (MemorySegment base, long baseOffset, long index, long index0, long index1)MemorySegment.
  • Constructor Details

    • VkTransformMatrixNV

      public VkTransformMatrixNV(MemorySegment segment, long elementCount)
      Creates VkTransformMatrixNV with the given segment.
      Parameters:
      segment - the memory segment
      elementCount - the element count of this struct buffer
  • Method Details

    • of

      public static VkTransformMatrixNV of(MemorySegment segment)
      Creates VkTransformMatrixNV with the given segment.
      Parameters:
      segment - the memory segment
      Returns:
      the created instance or null if the segment is NULL
    • ofNative

      public static VkTransformMatrixNV ofNative(MemorySegment segment)

      Creates VkTransformMatrixNV with the given segment.

      Reinterprets the segment if zero-length.

      Parameters:
      segment - the memory segment
      Returns:
      the created instance or null if the segment is NULL
    • ofNative

      public static VkTransformMatrixNV ofNative(MemorySegment segment, long count)

      Creates VkTransformMatrixNV with the given segment.

      Reinterprets the segment if zero-length.

      Parameters:
      segment - the memory segment
      count - the count of the buffer
      Returns:
      the created instance or null if the segment is NULL
    • alloc

      public static VkTransformMatrixNV alloc(SegmentAllocator allocator)
      Allocates a VkTransformMatrixNV with the given segment allocator.
      Parameters:
      allocator - the segment allocator
      Returns:
      the allocated VkTransformMatrixNV
    • alloc

      public static VkTransformMatrixNV alloc(SegmentAllocator allocator, long count)
      Allocates a VkTransformMatrixNV with the given segment allocator and count.
      Parameters:
      allocator - the segment allocator
      count - the count
      Returns:
      the allocated VkTransformMatrixNV
    • copyFrom

      Copies from the given source.
      Parameters:
      src - the source
      Returns:
      this
    • reinterpret

      public VkTransformMatrixNV reinterpret(long count)
      Reinterprets this buffer with the given count.
      Parameters:
      count - the new count
      Returns:
      the reinterpreted buffer
    • matrix

      public static MemorySegment matrix(MemorySegment segment, long index)
      Returns matrix at the given index.
      Parameters:
      segment - the segment of the struct
      index - the index of the struct buffer
      Returns:
      matrix at the given index
    • matrix

      public static float matrix(MemorySegment segment, long index, long index0, long index1)
      Returns matrix at the given index.
      Parameters:
      segment - the segment of the struct
      index - the index of the struct buffer
      index0 - the Index 0 of the array
      index1 - the Index 1 of the array
      Returns:
      matrix at the given index
    • matrix

      public MemorySegment matrix()
      Returns matrix.
      Returns:
      matrix
    • matrix

      public float matrix(long index0, long index1)
      Returns matrix.
      Parameters:
      index0 - the Index 0 of the array
      index1 - the Index 1 of the array
      Returns:
      matrix
    • matrix

      public static void matrix(MemorySegment segment, long index, MemorySegment value)
      Sets matrix with the given value at the given index.
      Parameters:
      segment - the segment of the struct
      index - the index of the struct buffer
      value - the value
    • matrix

      public static void matrix(MemorySegment segment, long index, long index0, long index1, float value)
      Sets matrix with the given value at the given index.
      Parameters:
      segment - the segment of the struct
      index - the index of the struct buffer
      index0 - the Index 0 of the array
      index1 - the Index 1 of the array
      value - the value
    • matrix

      public VkTransformMatrixNV matrix(MemorySegment value)
      Sets matrix with the given value.
      Parameters:
      value - the value
      Returns:
      this
    • matrix

      public VkTransformMatrixNV matrix(long index0, long index1, float value)
      Sets matrix with the given value.
      Parameters:
      index0 - the Index 0 of the array
      index1 - the Index 1 of the array
      value - the value
      Returns:
      this
    • asSlice

      public VkTransformMatrixNV asSlice(long index)
      Creates a slice of VkTransformMatrixNV.
      Parameters:
      index - the index of the struct buffer
      Returns:
      the slice of VkTransformMatrixNV
    • asSlice

      public VkTransformMatrixNV asSlice(long index, long count)
      Creates a slice of VkTransformMatrixNV.
      Parameters:
      index - the index of the struct buffer
      count - the count
      Returns:
      the slice of VkTransformMatrixNV
    • at

      public VkTransformMatrixNV at(long index, Consumer<VkTransformMatrixNV> func)
      Visits VkTransformMatrixNV buffer at the given index.
      Parameters:
      index - the index of this buffer
      func - the function to run with the slice of this buffer
      Returns:
      this
    • matrixAt

      public MemorySegment matrixAt(long index)
      Returns matrix at the given index.
      Parameters:
      index - the index of the struct buffer
      Returns:
      matrix at the given index
    • matrixAt

      public float matrixAt(long index, long index0, long index1)
      Returns matrix at the given index.
      Parameters:
      index - the index of the struct buffer
      index0 - the Index 0 of the array
      index1 - the Index 1 of the array
      Returns:
      matrix at the given index
    • matrixAt

      public VkTransformMatrixNV matrixAt(long index, MemorySegment value)
      Sets matrix with the given value at the given index.
      Parameters:
      index - the index of the struct buffer
      value - the value
      Returns:
      this
    • matrixAt

      public VkTransformMatrixNV matrixAt(long index, long index0, long index1, float value)
      Sets matrix with the given value at the given index.
      Parameters:
      index - the index of the struct buffer
      index0 - the Index 0 of the array
      index1 - the Index 1 of the array
      value - the value
      Returns:
      this