Class AIBone

All Implemented Interfaces:
AutoCloseable, NativeResource, Pointer

public class AIBone extends Struct<AIBone> implements 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, and a matrix relating the mesh position to the position of the bone at the time of binding.

Layout


 struct aiBone {
     struct aiString mName();
     unsigned int mNumWeights();
     struct aiNode * mArmature();
     struct aiNode * mNode();
     struct aiVertexWeight * mWeights();
     struct aiMatrix4x4 mOffsetMatrix();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • MNAME

      public static final int MNAME
      The struct member offsets.
    • MNUMWEIGHTS

      public static final int MNUMWEIGHTS
      The struct member offsets.
    • MARMATURE

      public static final int MARMATURE
      The struct member offsets.
    • MNODE

      public static final int MNODE
      The struct member offsets.
    • MWEIGHTS

      public static final int MWEIGHTS
      The struct member offsets.
    • MOFFSETMATRIX

      public static final int MOFFSETMATRIX
      The struct member offsets.
  • Constructor Details

    • AIBone

      public AIBone(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 Details

    • sizeof

      public int sizeof()
      Description copied from class: Struct
      Returns sizeof(struct).
      Specified by:
      sizeof in class Struct<AIBone>
    • 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.
    • mArmature

      public AINode mArmature()
      the bone armature node - used for skeleton conversion you must enable Process_PopulateArmatureData to populate this
    • mNode

      public AINode mNode()
      the bone node in the scene - used for skeleton conversion you must enable Process_PopulateArmatureData to populate this
    • mWeights

      public AIVertexWeight.Buffer mWeights()
      the influence weights of this bone, by vertex index
    • mOffsetMatrix

      public AIMatrix4x4 mOffsetMatrix()
      matrix that transforms from mesh space to bone 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(AIString value)
      Copies the specified AIString to the mName() field.
    • mName

      public AIBone mName(Consumer<AIString> consumer)
      Passes the mName() field to the specified Consumer.
    • mArmature

      public AIBone mArmature(AINode value)
      Sets the address of the specified AINode to the mArmature() field.
    • mNode

      public AIBone mNode(AINode value)
      Sets the address of the specified AINode to the mNode() field.
    • mWeights

      public AIBone mWeights(AIVertexWeight.Buffer value)
      Sets the address of the specified AIVertexWeight.Buffer to the mWeights() field.
    • mOffsetMatrix

      public AIBone mOffsetMatrix(AIMatrix4x4 value)
      Copies the specified AIMatrix4x4 to the mOffsetMatrix() field.
    • mOffsetMatrix

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

      public AIBone set(AIString mName, AINode mArmature, AINode mNode, AIVertexWeight.Buffer mWeights, AIMatrix4x4 mOffsetMatrix)
      Initializes this struct with the specified values.
    • 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(MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

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

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

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

      @Deprecated public static AIBone.Buffer mallocStack(int capacity, MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static AIBone.Buffer callocStack(int capacity, MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • malloc

      public static AIBone malloc(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(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, MemoryStack stack)
      Returns a new AIBone.Buffer instance allocated on the specified MemoryStack.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • calloc

      public static AIBone.Buffer calloc(int capacity, MemoryStack stack)
      Returns a new AIBone.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • 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().
    • nmWeights

      public static AIVertexWeight.Buffer nmWeights(long struct)
      Unsafe version of mWeights().
    • nmOffsetMatrix

      public static AIMatrix4x4 nmOffsetMatrix(long struct)
      Unsafe version of mOffsetMatrix().
    • 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.
    • nmWeights

      public static void nmWeights(long struct, AIVertexWeight.Buffer value)
      Unsafe version of mWeights.
    • 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