Record Class VkSRTDataNV

java.lang.Object
java.lang.Record
club.doki7.vulkan.datatype.VkSRTDataNV
All Implemented Interfaces:
IPointer, IVkSRTDataNV

@ValueBasedCandidate @UnsafeConstructor public record VkSRTDataNV(@NotNull MemorySegment segment) extends Record implements IVkSRTDataNV

Represents a pointer to a VkSRTDataNV structure in native memory.

Structure

typedef 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;
} VkSRTDataNV;

Contracts

The property segment() should always be not-null (segment != NULL && !segment.equals(MemorySegment.NULL)), and properly aligned to LAYOUT.byteAlignment() bytes. To represent null pointer, you may use a Java null instead. See the documentation of IPointer.segment() for more details.

The constructor of this class is marked as UnsafeConstructor, because it does not perform any runtime check. The constructor can be useful for automatic code generators.

See Also:
  • Field Details

    • LAYOUT

      public static final StructLayout LAYOUT
    • BYTES

      public static final long BYTES
    • PATH$sx

      public static final MemoryLayout.PathElement PATH$sx
    • PATH$a

      public static final MemoryLayout.PathElement PATH$a
    • PATH$b

      public static final MemoryLayout.PathElement PATH$b
    • PATH$pvx

      public static final MemoryLayout.PathElement PATH$pvx
    • PATH$sy

      public static final MemoryLayout.PathElement PATH$sy
    • PATH$c

      public static final MemoryLayout.PathElement PATH$c
    • PATH$pvy

      public static final MemoryLayout.PathElement PATH$pvy
    • PATH$sz

      public static final MemoryLayout.PathElement PATH$sz
    • PATH$pvz

      public static final MemoryLayout.PathElement PATH$pvz
    • PATH$qx

      public static final MemoryLayout.PathElement PATH$qx
    • PATH$qy

      public static final MemoryLayout.PathElement PATH$qy
    • PATH$qz

      public static final MemoryLayout.PathElement PATH$qz
    • PATH$qw

      public static final MemoryLayout.PathElement PATH$qw
    • PATH$tx

      public static final MemoryLayout.PathElement PATH$tx
    • PATH$ty

      public static final MemoryLayout.PathElement PATH$ty
    • PATH$tz

      public static final MemoryLayout.PathElement PATH$tz
    • LAYOUT$sx

      public static final ValueLayout.OfFloat LAYOUT$sx
    • LAYOUT$a

      public static final ValueLayout.OfFloat LAYOUT$a
    • LAYOUT$b

      public static final ValueLayout.OfFloat LAYOUT$b
    • LAYOUT$pvx

      public static final ValueLayout.OfFloat LAYOUT$pvx
    • LAYOUT$sy

      public static final ValueLayout.OfFloat LAYOUT$sy
    • LAYOUT$c

      public static final ValueLayout.OfFloat LAYOUT$c
    • LAYOUT$pvy

      public static final ValueLayout.OfFloat LAYOUT$pvy
    • LAYOUT$sz

      public static final ValueLayout.OfFloat LAYOUT$sz
    • LAYOUT$pvz

      public static final ValueLayout.OfFloat LAYOUT$pvz
    • LAYOUT$qx

      public static final ValueLayout.OfFloat LAYOUT$qx
    • LAYOUT$qy

      public static final ValueLayout.OfFloat LAYOUT$qy
    • LAYOUT$qz

      public static final ValueLayout.OfFloat LAYOUT$qz
    • LAYOUT$qw

      public static final ValueLayout.OfFloat LAYOUT$qw
    • LAYOUT$tx

      public static final ValueLayout.OfFloat LAYOUT$tx
    • LAYOUT$ty

      public static final ValueLayout.OfFloat LAYOUT$ty
    • LAYOUT$tz

      public static final ValueLayout.OfFloat LAYOUT$tz
    • SIZE$sx

      public static final long SIZE$sx
    • SIZE$a

      public static final long SIZE$a
    • SIZE$b

      public static final long SIZE$b
    • SIZE$pvx

      public static final long SIZE$pvx
    • SIZE$sy

      public static final long SIZE$sy
    • SIZE$c

      public static final long SIZE$c
    • SIZE$pvy

      public static final long SIZE$pvy
    • SIZE$sz

      public static final long SIZE$sz
    • SIZE$pvz

      public static final long SIZE$pvz
    • SIZE$qx

      public static final long SIZE$qx
    • SIZE$qy

      public static final long SIZE$qy
    • SIZE$qz

      public static final long SIZE$qz
    • SIZE$qw

      public static final long SIZE$qw
    • SIZE$tx

      public static final long SIZE$tx
    • SIZE$ty

      public static final long SIZE$ty
    • SIZE$tz

      public static final long SIZE$tz
    • OFFSET$sx

      public static final long OFFSET$sx
    • OFFSET$a

      public static final long OFFSET$a
    • OFFSET$b

      public static final long OFFSET$b
    • OFFSET$pvx

      public static final long OFFSET$pvx
    • OFFSET$sy

      public static final long OFFSET$sy
    • OFFSET$c

      public static final long OFFSET$c
    • OFFSET$pvy

      public static final long OFFSET$pvy
    • OFFSET$sz

      public static final long OFFSET$sz
    • OFFSET$pvz

      public static final long OFFSET$pvz
    • OFFSET$qx

      public static final long OFFSET$qx
    • OFFSET$qy

      public static final long OFFSET$qy
    • OFFSET$qz

      public static final long OFFSET$qz
    • OFFSET$qw

      public static final long OFFSET$qw
    • OFFSET$tx

      public static final long OFFSET$tx
    • OFFSET$ty

      public static final long OFFSET$ty
    • OFFSET$tz

      public static final long OFFSET$tz
  • Constructor Details

    • VkSRTDataNV

      public VkSRTDataNV(@NotNull @NotNull MemorySegment segment)
      Creates an instance of a VkSRTDataNV record class.
      Parameters:
      segment - the value for the segment record component
  • Method Details

    • allocate

      public static VkSRTDataNV allocate(Arena arena)
    • allocate

      public static VkSRTDataNV.Ptr allocate(Arena arena, long count)
    • clone

      public static VkSRTDataNV clone(Arena arena, VkSRTDataNV src)
    • sx

      public float sx()
    • sx

      public VkSRTDataNV sx(float value)
    • a

      public float a()
    • a

      public VkSRTDataNV a(float value)
    • b

      public float b()
    • b

      public VkSRTDataNV b(float value)
    • pvx

      public float pvx()
    • pvx

      public VkSRTDataNV pvx(float value)
    • sy

      public float sy()
    • sy

      public VkSRTDataNV sy(float value)
    • c

      public float c()
    • c

      public VkSRTDataNV c(float value)
    • pvy

      public float pvy()
    • pvy

      public VkSRTDataNV pvy(float value)
    • sz

      public float sz()
    • sz

      public VkSRTDataNV sz(float value)
    • pvz

      public float pvz()
    • pvz

      public VkSRTDataNV pvz(float value)
    • qx

      public float qx()
    • qx

      public VkSRTDataNV qx(float value)
    • qy

      public float qy()
    • qy

      public VkSRTDataNV qy(float value)
    • qz

      public float qz()
    • qz

      public VkSRTDataNV qz(float value)
    • qw

      public float qw()
    • qw

      public VkSRTDataNV qw(float value)
    • tx

      public float tx()
    • tx

      public VkSRTDataNV tx(float value)
    • ty

      public float ty()
    • ty

      public VkSRTDataNV ty(float value)
    • tz

      public float tz()
    • tz

      public VkSRTDataNV tz(float value)
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • segment

      @NotNull public @NotNull MemorySegment segment()
      Returns the value of the segment record component.
      Specified by:
      segment in interface IPointer
      Returns:
      the value of the segment record component