Class AIFace

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

    public class AIFace
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    A single face in a mesh, referring to multiple vertices.

    If mNumIndices is 3, we call the face 'triangle', for mNumIndices > 3 it's called 'polygon' (hey, that's just a definition!).

    AIMesh::mPrimitiveTypes can be queried to quickly examine which types of primitive are actually present in a mesh. The Process_SortByPType flag executes a special post-processing algorithm which splits meshes with *different* primitive types mixed up (e.g. lines and triangles) in several 'clean' submeshes. Furthermore there is a configuration option (Assimp.AI_CONFIG_PP_SBP_REMOVE) to force Process_SortByPType to remove specific kinds of primitives from the imported scene, completely and forever.

    Layout

    
     struct aiFace {
         unsigned int mNumIndices();
         unsigned int * mIndices();
     }
    • Nested Class Summary

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

        org.lwjgl.system.Pointer.Default
      • Nested classes/interfaces inherited from class org.lwjgl.system.Struct

        org.lwjgl.system.Struct.StructValidation
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int ALIGNOF
      The struct alignment in bytes.
      static int MINDICES
      MNUMINDICES
      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
      AIFace​(java.nio.ByteBuffer container)
      Creates a AIFace instance at the current position of the specified ByteBuffer container.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static AIFace calloc()
      Returns a new AIFace instance allocated with memCalloc.
      static AIFace.Buffer calloc​(int capacity)
      Returns a new AIFace.Buffer instance allocated with memCalloc.
      static AIFace.Buffer calloc​(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new AIFace.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static AIFace calloc​(org.lwjgl.system.MemoryStack stack)
      Returns a new AIFace instance allocated on the specified MemoryStack and initializes all its bits to zero.
      static AIFace callocStack()
      Deprecated.
      static AIFace.Buffer callocStack​(int capacity)
      Deprecated.
      static AIFace.Buffer callocStack​(int capacity, org.lwjgl.system.MemoryStack stack)
      Deprecated.
      static AIFace callocStack​(org.lwjgl.system.MemoryStack stack)
      Deprecated.
      static AIFace create()
      Returns a new AIFace instance allocated with BufferUtils.
      static AIFace.Buffer create​(int capacity)
      Returns a new AIFace.Buffer instance allocated with BufferUtils.
      static AIFace create​(long address)
      Returns a new AIFace instance for the specified memory address.
      static AIFace.Buffer create​(long address, int capacity)
      Create a AIFace.Buffer instance at the specified memory.
      static AIFace createSafe​(long address)
      Like create, but returns null if address is NULL.
      static AIFace.Buffer createSafe​(long address, int capacity)
      Like create, but returns null if address is NULL.
      static AIFace malloc()
      Returns a new AIFace instance allocated with memAlloc.
      static AIFace.Buffer malloc​(int capacity)
      Returns a new AIFace.Buffer instance allocated with memAlloc.
      static AIFace.Buffer malloc​(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new AIFace.Buffer instance allocated on the specified MemoryStack.
      static AIFace malloc​(org.lwjgl.system.MemoryStack stack)
      Returns a new AIFace instance allocated on the specified MemoryStack.
      static AIFace mallocStack()
      Deprecated.
      static AIFace.Buffer mallocStack​(int capacity)
      Deprecated.
      static AIFace.Buffer mallocStack​(int capacity, org.lwjgl.system.MemoryStack stack)
      Deprecated.
      static AIFace mallocStack​(org.lwjgl.system.MemoryStack stack)
      Deprecated.
      java.nio.IntBuffer mIndices()
      Pointer to the indices array.
      AIFace mIndices​(java.nio.IntBuffer value)
      Sets the address of the specified IntBuffer to the mIndices() field.
      int mNumIndices()
      Number of indices defining this face.
      static java.nio.IntBuffer nmIndices​(long struct)
      Unsafe version of mIndices.
      static void nmIndices​(long struct, java.nio.IntBuffer value)
      Unsafe version of mIndices.
      static int nmNumIndices​(long struct)
      Unsafe version of mNumIndices().
      static void nmNumIndices​(long struct, int value)
      Sets the specified value to the mNumIndices field of the specified struct.
      AIFace set​(AIFace src)
      Copies the specified struct data to this struct.
      int sizeof()  
      static void validate​(long struct)
      Validates pointer members that should not be NULL.
      • Methods inherited from interface org.lwjgl.system.NativeResource

        close, free
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from class org.lwjgl.system.Pointer.Default

        address, equals, hashCode, toString
      • Methods inherited from class org.lwjgl.system.Struct

        clear, free, isNull, validate
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • MNUMINDICES, MINDICES

        The struct member offsets.
    • Constructor Detail

      • AIFace

        public AIFace​(java.nio.ByteBuffer container)
        Creates a AIFace 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
      • mNumIndices

        public int mNumIndices()
        Number of indices defining this face. The maximum value for this member is Assimp.AI_MAX_FACE_INDICES.
      • mIndices

        public java.nio.IntBuffer mIndices()
        Pointer to the indices array. Size of the array is given in numIndices.
      • mIndices

        public AIFace mIndices​(java.nio.IntBuffer value)
        Sets the address of the specified IntBuffer to the mIndices() field.
      • set

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

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

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

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

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

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

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

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

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

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

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

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

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

        @Deprecated
        public static AIFace mallocStack​(org.lwjgl.system.MemoryStack stack)
        Deprecated.
        Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
      • callocStack

        @Deprecated
        public static AIFace callocStack​(org.lwjgl.system.MemoryStack stack)
        Deprecated.
        Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
      • mallocStack

        @Deprecated
        public static AIFace.Buffer mallocStack​(int capacity,
                                                org.lwjgl.system.MemoryStack stack)
        Deprecated.
        Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
      • callocStack

        @Deprecated
        public static AIFace.Buffer callocStack​(int capacity,
                                                org.lwjgl.system.MemoryStack stack)
        Deprecated.
        Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
      • malloc

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

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

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

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

        public static int nmNumIndices​(long struct)
        Unsafe version of mNumIndices().
      • nmIndices

        public static java.nio.IntBuffer nmIndices​(long struct)
        Unsafe version of mIndices.
      • nmNumIndices

        public static void nmNumIndices​(long struct,
                                        int value)
        Sets the specified value to the mNumIndices field of the specified struct.
      • nmIndices

        public static void nmIndices​(long struct,
                                     java.nio.IntBuffer value)
        Unsafe version of mIndices.
      • validate

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