Class AIMaterial

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

    public class AIMaterial
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    Data structure for a material.

    Material data is stored using a key-value structure. A single key-value pair is called a 'material property'. C++ users should use the provided member functions of aiMaterial to process material properties, C users have to stick with the aiMaterialGetXXX family of unbound functions. The library defines a set of standard keys (AI_MATKEY_XXX).

    Member documentation

    • mProperties – List of all material properties loaded.
    • mNumProperties – Number of properties in the data base
    • mNumAllocated – Storage allocated

    Layout

    
     struct aiMaterial {
         struct aiMaterialProperty ** mProperties;
         unsigned int mNumProperties;
         unsigned int mNumAllocated;
     }
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  AIMaterial.Buffer
      An array of AIMaterial structs.
      • Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer

        org.lwjgl.system.Pointer.Default
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALIGNOF
      The struct alignment in bytes.
      static int MNUMALLOCATED
      MNUMPROPERTIES
      MPROPERTIES
      The struct member offsets.
      static int SIZEOF
      The struct size in bytes.
      • Fields inherited from interface org.lwjgl.system.Pointer

        BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
    • Constructor Summary

      Constructors 
      Constructor Description
      AIMaterial​(java.nio.ByteBuffer container)
      Creates a AIMaterial instance at the current position of the specified ByteBuffer container.
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • MPROPERTIES, MNUMPROPERTIES, MNUMALLOCATED

        The struct member offsets.
    • Constructor Detail

      • AIMaterial

        public AIMaterial​(java.nio.ByteBuffer container)
        Creates a AIMaterial 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()
        Specified by:
        sizeof in class org.lwjgl.system.Struct
      • mProperties

        public org.lwjgl.PointerBuffer mProperties()
        Returns a PointerBuffer view of the data pointed to by the mProperties field.
      • mNumProperties

        public int mNumProperties()
        Returns the value of the mNumProperties field.
      • mNumAllocated

        public int mNumAllocated()
        Returns the value of the mNumAllocated field.
      • mProperties

        public AIMaterial mProperties​(org.lwjgl.PointerBuffer value)
        Sets the address of the specified PointerBuffer to the mProperties field.
      • mNumAllocated

        public AIMaterial mNumAllocated​(int value)
        Sets the specified value to the mNumAllocated field.
      • set

        public AIMaterial set​(org.lwjgl.PointerBuffer mProperties,
                              int mNumAllocated)
        Initializes this struct with the specified values.
      • set

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

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

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

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

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

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

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

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

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

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

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

        public static AIMaterial mallocStack()
        Returns a new AIMaterial instance allocated on the thread-local MemoryStack.
      • callocStack

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

        public static AIMaterial mallocStack​(org.lwjgl.system.MemoryStack stack)
        Returns a new AIMaterial instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
      • callocStack

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

        public static AIMaterial.Buffer mallocStack​(int capacity)
        Returns a new AIMaterial.Buffer instance allocated on the thread-local MemoryStack.
        Parameters:
        capacity - the buffer capacity
      • callocStack

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

        public static AIMaterial.Buffer mallocStack​(int capacity,
                                                    org.lwjgl.system.MemoryStack stack)
        Returns a new AIMaterial.Buffer instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • callocStack

        public static AIMaterial.Buffer callocStack​(int capacity,
                                                    org.lwjgl.system.MemoryStack stack)
        Returns a new AIMaterial.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
      • nmProperties

        public static org.lwjgl.PointerBuffer nmProperties​(long struct)
        Unsafe version of mProperties.
      • nmNumProperties

        public static int nmNumProperties​(long struct)
        Unsafe version of mNumProperties().
      • nmNumAllocated

        public static int nmNumAllocated​(long struct)
        Unsafe version of mNumAllocated().
      • nmProperties

        public static void nmProperties​(long struct,
                                        org.lwjgl.PointerBuffer value)
        Unsafe version of mProperties.
      • nmNumProperties

        public static void nmNumProperties​(long struct,
                                           int value)
        Sets the specified value to the mNumProperties field of the specified struct.
      • nmNumAllocated

        public static void nmNumAllocated​(long struct,
                                          int value)
        Unsafe version of mNumAllocated.
      • validate

        public static void validate​(long struct)
        Validates pointer members that should not be NULL.
        Parameters:
        struct - the struct to validate
      • validate

        public static void validate​(long array,
                                    int count)
        Calls validate(long) for each struct contained in the specified struct array.
        Parameters:
        array - the struct array to validate
        count - the number of structs in array