Class AIBone

    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • MNAME, MNUMWEIGHTS, MARMATURE, MNODE, MWEIGHTS, MOFFSETMATRIX

        The struct member offsets.
    • Constructor Detail

      • AIBone

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

        public AIString mName()
        the name of the bone.
      • mNumWeights

        public int mNumWeights()
        the number of vertices affected by this bone. The maximum value for this member is Assimp.AI_MAX_BONE_WEIGHTS.
      • mOffsetMatrix

        public AIMatrix4x4 mOffsetMatrix()
        matrix that transforms from bone space to mesh space in bind pose.

        This matrix describes the position of the mesh in the local space of this bone when the skeleton was bound. Thus it can be used directly to determine a desired vertex position, given the world-space transform of the bone when animated, and the position of the vertex in mesh space.

        It is sometimes called an inverse-bind matrix, or inverse bind pose matrix.

      • mName

        public AIBone mName​(java.util.function.Consumer<AIString> consumer)
        Passes the mName() field to the specified Consumer.
      • mOffsetMatrix

        public AIBone mOffsetMatrix​(java.util.function.Consumer<AIMatrix4x4> consumer)
        Passes the mOffsetMatrix() field to the specified Consumer.
      • set

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        @Deprecated
        public static AIBone.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 AIBone.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 AIBone malloc​(org.lwjgl.system.MemoryStack stack)
        Returns a new AIBone instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
      • calloc

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

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

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

        public static AIString nmName​(long struct)
        Unsafe version of mName().
      • nmNumWeights

        public static int nmNumWeights​(long struct)
        Unsafe version of mNumWeights().
      • nmArmature

        public static AINode nmArmature​(long struct)
        Unsafe version of mArmature().
      • nmNode

        public static AINode nmNode​(long struct)
        Unsafe version of mNode().
      • nmName

        public static void nmName​(long struct,
                                  AIString value)
        Unsafe version of mName.
      • nmNumWeights

        public static void nmNumWeights​(long struct,
                                        int value)
        Sets the specified value to the mNumWeights field of the specified struct.
      • nmArmature

        public static void nmArmature​(long struct,
                                      AINode value)
        Unsafe version of mArmature.
      • nmNode

        public static void nmNode​(long struct,
                                  AINode value)
        Unsafe version of mNode.
      • nmOffsetMatrix

        public static void nmOffsetMatrix​(long struct,
                                          AIMatrix4x4 value)
        Unsafe version of mOffsetMatrix.
      • validate

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