Class AIVectorKey

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class AIVectorKey
    extends Struct
    implements NativeResource
    A time-value pair specifying a certain 3D vector for the given time.

    Member documentation

    • mTime – The time of this key
    • mValue – The value of this key

    Layout

    
     struct aiVectorKey {
         double mTime;
         struct aiVector3D mValue;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • MTIME, MVALUE

        The struct member offsets.
    • Constructor Detail

      • AIVectorKey

        public AIVectorKey​(java.nio.ByteBuffer container)
        Creates a AIVectorKey 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 Detail

      • sizeof

        public int sizeof()
        Description copied from class: Struct
        Returns sizeof(struct).
        Specified by:
        sizeof in class Struct
      • mTime

        public double mTime()
        Returns the value of the mTime field.
      • mValue

        public AIVectorKey mValue​(java.util.function.Consumer<AIVector3D> consumer)
        Passes the mValue field to the specified Consumer.
      • mTime

        public AIVectorKey mTime​(double value)
        Sets the specified value to the mTime field.
      • set

        public AIVectorKey set​(double mTime,
                               AIVector3D mValue)
        Initializes this struct with the specified values.
      • set

        public AIVectorKey set​(AIVectorKey src)
        Copies the specified struct data to this struct.
        Parameters:
        src - the source struct
        Returns:
        this struct
      • create

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

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

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

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

        public static AIVectorKey callocStack()
        Returns a new AIVectorKey instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      • callocStack

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

        public static AIVectorKey.Buffer callocStack​(int capacity)
        Returns a new AIVectorKey.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
        Parameters:
        capacity - the buffer capacity
      • callocStack

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

        public static double nmTime​(long struct)
        Unsafe version of mTime().
      • nmTime

        public static void nmTime​(long struct,
                                  double value)
        Unsafe version of mTime.
      • nmValue

        public static void nmValue​(long struct,
                                   AIVector3D value)
        Unsafe version of mValue.