Class AIBone

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


    public class AIBone
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    A single bone of a mesh.

    A bone has a name by which it can be found in the frame hierarchy and by which it can be addressed by animations. In addition it has a number of influences on vertices.

    Member documentation

    • mName – The name of the bone.
    • mNumWeights – The number of vertices affected by this bone. The maximum value for this member is Assimp.AI_MAX_BONE_WEIGHTS.
    • mWeights – The vertices affected by this bone
    • mOffsetMatrix – Matrix that transforms from mesh space to bone space in bind pose

    Layout

     struct aiBone {
         struct aiString mName;
         unsigned int mNumWeights;
         struct aiVertexWeight * mWeights;
         struct aiMatrix4x4 mOffsetMatrix;
     }
    • Field Detail

      • SIZEOF

        public static final int SIZEOF
        The struct size in bytes.
    • 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
      • mNumWeights

        public int mNumWeights()
        Returns the value of the mNumWeights field.
      • 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

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

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

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

        public static AIBone callocStack(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
      • mallocStack

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

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

        public static AIBone.Buffer mallocStack(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
      • callocStack

        public static AIBone.Buffer callocStack(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
      • 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 AIBone.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