Class AIMatrix4x4

All Implemented Interfaces:
AutoCloseable, NativeResource, Pointer

public class AIMatrix4x4 extends Struct<AIMatrix4x4> implements NativeResource
Represents a row-major 4x4 matrix, use this for homogeneous coordinates.

Layout


 struct aiMatrix4x4 {
     float a1;
     float a2;
     float a3;
     float a4;
     float b1;
     float b2;
     float b3;
     float b4;
     float c1;
     float c2;
     float c3;
     float c4;
     float d1;
     float d2;
     float d3;
     float d4;
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • A1

      public static final int A1
      The struct member offsets.
    • A2

      public static final int A2
      The struct member offsets.
    • A3

      public static final int A3
      The struct member offsets.
    • A4

      public static final int A4
      The struct member offsets.
    • B1

      public static final int B1
      The struct member offsets.
    • B2

      public static final int B2
      The struct member offsets.
    • B3

      public static final int B3
      The struct member offsets.
    • B4

      public static final int B4
      The struct member offsets.
    • C1

      public static final int C1
      The struct member offsets.
    • C2

      public static final int C2
      The struct member offsets.
    • C3

      public static final int C3
      The struct member offsets.
    • C4

      public static final int C4
      The struct member offsets.
    • D1

      public static final int D1
      The struct member offsets.
    • D2

      public static final int D2
      The struct member offsets.
    • D3

      public static final int D3
      The struct member offsets.
    • D4

      public static final int D4
      The struct member offsets.
  • Constructor Details

    • AIMatrix4x4

      public AIMatrix4x4(ByteBuffer container)
      Creates a AIMatrix4x4 instance at the current position of the specified ByteBuffer container. 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()
      Description copied from class: Struct
      Returns sizeof(struct).
      Specified by:
      sizeof in class Struct<AIMatrix4x4>
    • a1

      public float a1()
      Returns:
      the value of the a1 field.
    • a2

      public float a2()
      Returns:
      the value of the a2 field.
    • a3

      public float a3()
      Returns:
      the value of the a3 field.
    • a4

      public float a4()
      Returns:
      the value of the a4 field.
    • b1

      public float b1()
      Returns:
      the value of the b1 field.
    • b2

      public float b2()
      Returns:
      the value of the b2 field.
    • b3

      public float b3()
      Returns:
      the value of the b3 field.
    • b4

      public float b4()
      Returns:
      the value of the b4 field.
    • c1

      public float c1()
      Returns:
      the value of the c1 field.
    • c2

      public float c2()
      Returns:
      the value of the c2 field.
    • c3

      public float c3()
      Returns:
      the value of the c3 field.
    • c4

      public float c4()
      Returns:
      the value of the c4 field.
    • d1

      public float d1()
      Returns:
      the value of the d1 field.
    • d2

      public float d2()
      Returns:
      the value of the d2 field.
    • d3

      public float d3()
      Returns:
      the value of the d3 field.
    • d4

      public float d4()
      Returns:
      the value of the d4 field.
    • a1

      public AIMatrix4x4 a1(float value)
      Sets the specified value to the a1 field.
    • a2

      public AIMatrix4x4 a2(float value)
      Sets the specified value to the a2 field.
    • a3

      public AIMatrix4x4 a3(float value)
      Sets the specified value to the a3 field.
    • a4

      public AIMatrix4x4 a4(float value)
      Sets the specified value to the a4 field.
    • b1

      public AIMatrix4x4 b1(float value)
      Sets the specified value to the b1 field.
    • b2

      public AIMatrix4x4 b2(float value)
      Sets the specified value to the b2 field.
    • b3

      public AIMatrix4x4 b3(float value)
      Sets the specified value to the b3 field.
    • b4

      public AIMatrix4x4 b4(float value)
      Sets the specified value to the b4 field.
    • c1

      public AIMatrix4x4 c1(float value)
      Sets the specified value to the c1 field.
    • c2

      public AIMatrix4x4 c2(float value)
      Sets the specified value to the c2 field.
    • c3

      public AIMatrix4x4 c3(float value)
      Sets the specified value to the c3 field.
    • c4

      public AIMatrix4x4 c4(float value)
      Sets the specified value to the c4 field.
    • d1

      public AIMatrix4x4 d1(float value)
      Sets the specified value to the d1 field.
    • d2

      public AIMatrix4x4 d2(float value)
      Sets the specified value to the d2 field.
    • d3

      public AIMatrix4x4 d3(float value)
      Sets the specified value to the d3 field.
    • d4

      public AIMatrix4x4 d4(float value)
      Sets the specified value to the d4 field.
    • set

      public AIMatrix4x4 set(float a1, float a2, float a3, float a4, float b1, float b2, float b3, float b4, float c1, float c2, float c3, float c4, float d1, float d2, float d3, float d4)
      Initializes this struct with the specified values.
    • set

      public AIMatrix4x4 set(AIMatrix4x4 src)
      Copies the specified struct data to this struct.
      Parameters:
      src - the source struct
      Returns:
      this struct
    • malloc

      public static AIMatrix4x4 malloc()
      Returns a new AIMatrix4x4 instance allocated with memAlloc. The instance must be explicitly freed.
    • calloc

      public static AIMatrix4x4 calloc()
      Returns a new AIMatrix4x4 instance allocated with memCalloc. The instance must be explicitly freed.
    • create

      public static AIMatrix4x4 create()
      Returns a new AIMatrix4x4 instance allocated with BufferUtils.
    • create

      public static AIMatrix4x4 create(long address)
      Returns a new AIMatrix4x4 instance for the specified memory address.
    • createSafe

      @Nullable public static AIMatrix4x4 createSafe(long address)
      Like create, but returns null if address is NULL.
    • malloc

      public static AIMatrix4x4.Buffer malloc(int capacity)
      Returns a new AIMatrix4x4.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • calloc

      public static AIMatrix4x4.Buffer calloc(int capacity)
      Returns a new AIMatrix4x4.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • create

      public static AIMatrix4x4.Buffer create(int capacity)
      Returns a new AIMatrix4x4.Buffer instance allocated with BufferUtils.
      Parameters:
      capacity - the buffer capacity
    • create

      public static AIMatrix4x4.Buffer create(long address, int capacity)
      Create a AIMatrix4x4.Buffer instance at the specified memory.
      Parameters:
      address - the memory address
      capacity - the buffer capacity
    • createSafe

      @Nullable public static AIMatrix4x4.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
    • mallocStack

      @Deprecated public static AIMatrix4x4 mallocStack()
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      @Deprecated public static AIMatrix4x4 callocStack()
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static AIMatrix4x4 mallocStack(MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      @Deprecated public static AIMatrix4x4 callocStack(MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static AIMatrix4x4.Buffer mallocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static AIMatrix4x4.Buffer callocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • mallocStack

      @Deprecated public static AIMatrix4x4.Buffer mallocStack(int capacity, MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static AIMatrix4x4.Buffer callocStack(int capacity, MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • malloc

      public static AIMatrix4x4 malloc(MemoryStack stack)
      Returns a new AIMatrix4x4 instance allocated on the specified MemoryStack.
      Parameters:
      stack - the stack from which to allocate
    • calloc

      public static AIMatrix4x4 calloc(MemoryStack stack)
      Returns a new AIMatrix4x4 instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      stack - the stack from which to allocate
    • malloc

      public static AIMatrix4x4.Buffer malloc(int capacity, MemoryStack stack)
      Returns a new AIMatrix4x4.Buffer instance allocated on the specified MemoryStack.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • calloc

      public static AIMatrix4x4.Buffer calloc(int capacity, MemoryStack stack)
      Returns a new AIMatrix4x4.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • na1

      public static float na1(long struct)
      Unsafe version of a1().
    • na2

      public static float na2(long struct)
      Unsafe version of a2().
    • na3

      public static float na3(long struct)
      Unsafe version of a3().
    • na4

      public static float na4(long struct)
      Unsafe version of a4().
    • nb1

      public static float nb1(long struct)
      Unsafe version of b1().
    • nb2

      public static float nb2(long struct)
      Unsafe version of b2().
    • nb3

      public static float nb3(long struct)
      Unsafe version of b3().
    • nb4

      public static float nb4(long struct)
      Unsafe version of b4().
    • nc1

      public static float nc1(long struct)
      Unsafe version of c1().
    • nc2

      public static float nc2(long struct)
      Unsafe version of c2().
    • nc3

      public static float nc3(long struct)
      Unsafe version of c3().
    • nc4

      public static float nc4(long struct)
      Unsafe version of c4().
    • nd1

      public static float nd1(long struct)
      Unsafe version of d1().
    • nd2

      public static float nd2(long struct)
      Unsafe version of d2().
    • nd3

      public static float nd3(long struct)
      Unsafe version of d3().
    • nd4

      public static float nd4(long struct)
      Unsafe version of d4().
    • na1

      public static void na1(long struct, float value)
      Unsafe version of a1.
    • na2

      public static void na2(long struct, float value)
      Unsafe version of a2.
    • na3

      public static void na3(long struct, float value)
      Unsafe version of a3.
    • na4

      public static void na4(long struct, float value)
      Unsafe version of a4.
    • nb1

      public static void nb1(long struct, float value)
      Unsafe version of b1.
    • nb2

      public static void nb2(long struct, float value)
      Unsafe version of b2.
    • nb3

      public static void nb3(long struct, float value)
      Unsafe version of b3.
    • nb4

      public static void nb4(long struct, float value)
      Unsafe version of b4.
    • nc1

      public static void nc1(long struct, float value)
      Unsafe version of c1.
    • nc2

      public static void nc2(long struct, float value)
      Unsafe version of c2.
    • nc3

      public static void nc3(long struct, float value)
      Unsafe version of c3.
    • nc4

      public static void nc4(long struct, float value)
      Unsafe version of c4.
    • nd1

      public static void nd1(long struct, float value)
      Unsafe version of d1.
    • nd2

      public static void nd2(long struct, float value)
      Unsafe version of d2.
    • nd3

      public static void nd3(long struct, float value)
      Unsafe version of d3.
    • nd4

      public static void nd4(long struct, float value)
      Unsafe version of d4.