Package org.lwjgl.assimp
Class AINodeAnim
- All Implemented Interfaces:
AutoCloseable
,NativeResource
,Pointer
Describes the animation of a single node. The name specifies the bone/node which is affected by this animation channel. The keyframes are given in
three separate series of values, one each for position, rotation and scaling. The transformation matrix computed from these values replaces the node's
original transformation matrix at a specific time.
This means all keys are absolute and not relative to the bone default pose. The order in which the transformations are applied is - as usual - scaling, rotation, translation.
Note:
All keys are returned in their correct, chronological order. Duplicate keys don't pass the validation step. Most likely there will be no negative time values, but they are not forbidden also ( so implementations need to cope with them! )
Layout
struct aiNodeAnim {
struct aiString
mNodeName()
;
unsigned int mNumPositionKeys()
;
struct aiVectorKey
* mPositionKeys()
;
unsigned int mNumRotationKeys()
;
struct aiQuatKey
* mRotationKeys()
;
unsigned int mNumScalingKeys()
;
struct aiVectorKey
* mScalingKeys()
;
aiAnimBehaviour mPreState()
;
aiAnimBehaviour mPostState()
;
}
-
Nested Class Summary
Nested classes/interfaces inherited from class org.lwjgl.system.Struct
Struct.StructValidation
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
The struct alignment in bytes.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
The struct member offsets.static final int
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
ConstructorDescriptionAINodeAnim
(ByteBuffer container) Creates aAINodeAnim
instance at the current position of the specifiedByteBuffer
container. -
Method Summary
Modifier and TypeMethodDescriptionstatic AINodeAnim
calloc()
Returns a newAINodeAnim
instance allocated withmemCalloc
.static AINodeAnim.Buffer
calloc
(int capacity) Returns a newAINodeAnim.Buffer
instance allocated withmemCalloc
.static AINodeAnim.Buffer
calloc
(int capacity, MemoryStack stack) Returns a newAINodeAnim.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static AINodeAnim
calloc
(MemoryStack stack) Returns a newAINodeAnim
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static AINodeAnim
Deprecated.static AINodeAnim.Buffer
callocStack
(int capacity) Deprecated.static AINodeAnim.Buffer
callocStack
(int capacity, MemoryStack stack) Deprecated.static AINodeAnim
callocStack
(MemoryStack stack) Deprecated.static AINodeAnim
create()
Returns a newAINodeAnim
instance allocated withBufferUtils
.static AINodeAnim.Buffer
create
(int capacity) Returns a newAINodeAnim.Buffer
instance allocated withBufferUtils
.static AINodeAnim
create
(long address) Returns a newAINodeAnim
instance for the specified memory address.static AINodeAnim.Buffer
create
(long address, int capacity) Create aAINodeAnim.Buffer
instance at the specified memory.static AINodeAnim
createSafe
(long address) static AINodeAnim.Buffer
createSafe
(long address, int capacity) static AINodeAnim
malloc()
Returns a newAINodeAnim
instance allocated withmemAlloc
.static AINodeAnim.Buffer
malloc
(int capacity) Returns a newAINodeAnim.Buffer
instance allocated withmemAlloc
.static AINodeAnim.Buffer
malloc
(int capacity, MemoryStack stack) Returns a newAINodeAnim.Buffer
instance allocated on the specifiedMemoryStack
.static AINodeAnim
malloc
(MemoryStack stack) Returns a newAINodeAnim
instance allocated on the specifiedMemoryStack
.static AINodeAnim
Deprecated.static AINodeAnim.Buffer
mallocStack
(int capacity) Deprecated.static AINodeAnim.Buffer
mallocStack
(int capacity, MemoryStack stack) Deprecated.static AINodeAnim
mallocStack
(MemoryStack stack) Deprecated.The name of the node affected by this animation.Passes themNodeName()
field to the specifiedConsumer
.Copies the specifiedAIString
to themNodeName()
field.int
The number of position keysint
The number of rotation keysint
The number of scaling keysThe position keys of this animation channel.mPositionKeys
(AIVectorKey.Buffer value) Sets the address of the specifiedAIVectorKey.Buffer
to themPositionKeys()
field.int
Defines how the animation behaves after the last key was processed.mPostState
(int value) Sets the specified value to themPostState()
field.int
Defines how the animation behaves before the first key is encountered.mPreState
(int value) Sets the specified value to themPreState()
field.The rotation keys of this animation channel.mRotationKeys
(AIQuatKey.Buffer value) Sets the address of the specifiedAIQuatKey.Buffer
to themRotationKeys()
field.The scaling keys of this animation channel.mScalingKeys
(AIVectorKey.Buffer value) Sets the address of the specifiedAIVectorKey.Buffer
to themScalingKeys()
field.static AIString
nmNodeName
(long struct) Unsafe version ofmNodeName()
.static void
nmNodeName
(long struct, AIString value) Unsafe version ofmNodeName
.static int
nmNumPositionKeys
(long struct) Unsafe version ofmNumPositionKeys()
.static void
nmNumPositionKeys
(long struct, int value) Sets the specified value to themNumPositionKeys
field of the specifiedstruct
.static int
nmNumRotationKeys
(long struct) Unsafe version ofmNumRotationKeys()
.static void
nmNumRotationKeys
(long struct, int value) Sets the specified value to themNumRotationKeys
field of the specifiedstruct
.static int
nmNumScalingKeys
(long struct) Unsafe version ofmNumScalingKeys()
.static void
nmNumScalingKeys
(long struct, int value) Sets the specified value to themNumScalingKeys
field of the specifiedstruct
.static AIVectorKey.Buffer
nmPositionKeys
(long struct) Unsafe version ofmPositionKeys()
.static void
nmPositionKeys
(long struct, AIVectorKey.Buffer value) Unsafe version ofmPositionKeys
.static int
nmPostState
(long struct) Unsafe version ofmPostState()
.static void
nmPostState
(long struct, int value) Unsafe version ofmPostState
.static int
nmPreState
(long struct) Unsafe version ofmPreState()
.static void
nmPreState
(long struct, int value) Unsafe version ofmPreState
.static AIQuatKey.Buffer
nmRotationKeys
(long struct) Unsafe version ofmRotationKeys()
.static void
nmRotationKeys
(long struct, AIQuatKey.Buffer value) Unsafe version ofmRotationKeys
.static AIVectorKey.Buffer
nmScalingKeys
(long struct) Unsafe version ofmScalingKeys()
.static void
nmScalingKeys
(long struct, AIVectorKey.Buffer value) Unsafe version ofmScalingKeys
.set
(AINodeAnim src) Copies the specified struct data to this struct.set
(AIString mNodeName, AIVectorKey.Buffer mPositionKeys, AIQuatKey.Buffer mRotationKeys, AIVectorKey.Buffer mScalingKeys, int mPreState, int mPostState) Initializes this struct with the specified values.int
sizeof()
Returnssizeof(struct)
.static void
validate
(long struct) Validates pointer members that should not beNULL
.Methods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
Methods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
MNODENAME
public static final int MNODENAMEThe struct member offsets. -
MNUMPOSITIONKEYS
public static final int MNUMPOSITIONKEYSThe struct member offsets. -
MPOSITIONKEYS
public static final int MPOSITIONKEYSThe struct member offsets. -
MNUMROTATIONKEYS
public static final int MNUMROTATIONKEYSThe struct member offsets. -
MROTATIONKEYS
public static final int MROTATIONKEYSThe struct member offsets. -
MNUMSCALINGKEYS
public static final int MNUMSCALINGKEYSThe struct member offsets. -
MSCALINGKEYS
public static final int MSCALINGKEYSThe struct member offsets. -
MPRESTATE
public static final int MPRESTATEThe struct member offsets. -
MPOSTSTATE
public static final int MPOSTSTATEThe struct member offsets.
-
-
Constructor Details
-
AINodeAnim
Creates aAINodeAnim
instance at the current position of the specifiedByteBuffer
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
Returnssizeof(struct)
.- Specified by:
sizeof
in classStruct<AINodeAnim>
-
mNodeName
The name of the node affected by this animation. The node must exist and it must be unique. -
mNumPositionKeys
public int mNumPositionKeys()The number of position keys -
mPositionKeys
The position keys of this animation channel. Positions are specified as 3D vector. The array ismNumPositionKeys
in size. If there are position keys, there will also be at least one scaling and one rotation key. -
mNumRotationKeys
public int mNumRotationKeys()The number of rotation keys -
mRotationKeys
The rotation keys of this animation channel. Rotations are given as quaternions, which are 4D vectors. The array ismNumRotationKeys
in size. If there are rotation keys, there will also be at least one scaling and one position key. -
mNumScalingKeys
public int mNumScalingKeys()The number of scaling keys -
mScalingKeys
The scaling keys of this animation channel. Scalings are specified as 3D vector. The array ismNumScalingKeys
in size. If there are scaling keys, there will also be at least one position and one rotation key. -
mPreState
public int mPreState()Defines how the animation behaves before the first key is encountered. The default value is aiAnimBehaviour_DEFAULT (the original transformation matrix of the affected node is used). One of:AnimBehaviour_DEFAULT
AnimBehaviour_CONSTANT
AnimBehaviour_LINEAR
AnimBehaviour_REPEAT
-
mPostState
public int mPostState()Defines how the animation behaves after the last key was processed. The default value is aiAnimBehaviour_DEFAULT (the original transformation matrix of the affected node is taken). One of:AnimBehaviour_DEFAULT
AnimBehaviour_CONSTANT
AnimBehaviour_LINEAR
AnimBehaviour_REPEAT
-
mNodeName
Copies the specifiedAIString
to themNodeName()
field. -
mNodeName
Passes themNodeName()
field to the specifiedConsumer
. -
mPositionKeys
Sets the address of the specifiedAIVectorKey.Buffer
to themPositionKeys()
field. -
mRotationKeys
Sets the address of the specifiedAIQuatKey.Buffer
to themRotationKeys()
field. -
mScalingKeys
Sets the address of the specifiedAIVectorKey.Buffer
to themScalingKeys()
field. -
mPreState
Sets the specified value to themPreState()
field. -
mPostState
Sets the specified value to themPostState()
field. -
set
public AINodeAnim set(AIString mNodeName, @Nullable AIVectorKey.Buffer mPositionKeys, @Nullable AIQuatKey.Buffer mRotationKeys, @Nullable AIVectorKey.Buffer mScalingKeys, int mPreState, int mPostState) Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src
- the source struct- Returns:
- this struct
-
malloc
Returns a newAINodeAnim
instance allocated withmemAlloc
. The instance must be explicitly freed. -
calloc
Returns a newAINodeAnim
instance allocated withmemCalloc
. The instance must be explicitly freed. -
create
Returns a newAINodeAnim
instance allocated withBufferUtils
. -
create
Returns a newAINodeAnim
instance for the specified memory address. -
createSafe
-
malloc
Returns a newAINodeAnim.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
Returns a newAINodeAnim.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
Returns a newAINodeAnim.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
Create aAINodeAnim.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)
instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)
instead. -
malloc
Returns a newAINodeAnim
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
calloc
Returns a newAINodeAnim
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
malloc
Returns a newAINodeAnim.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
calloc
Returns a newAINodeAnim.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacitystack
- the stack from which to allocate
-
nmNodeName
Unsafe version ofmNodeName()
. -
nmNumPositionKeys
public static int nmNumPositionKeys(long struct) Unsafe version ofmNumPositionKeys()
. -
nmPositionKeys
Unsafe version ofmPositionKeys()
. -
nmNumRotationKeys
public static int nmNumRotationKeys(long struct) Unsafe version ofmNumRotationKeys()
. -
nmRotationKeys
Unsafe version ofmRotationKeys()
. -
nmNumScalingKeys
public static int nmNumScalingKeys(long struct) Unsafe version ofmNumScalingKeys()
. -
nmScalingKeys
Unsafe version ofmScalingKeys()
. -
nmPreState
public static int nmPreState(long struct) Unsafe version ofmPreState()
. -
nmPostState
public static int nmPostState(long struct) Unsafe version ofmPostState()
. -
nmNodeName
Unsafe version ofmNodeName
. -
nmNumPositionKeys
public static void nmNumPositionKeys(long struct, int value) Sets the specified value to themNumPositionKeys
field of the specifiedstruct
. -
nmPositionKeys
Unsafe version ofmPositionKeys
. -
nmNumRotationKeys
public static void nmNumRotationKeys(long struct, int value) Sets the specified value to themNumRotationKeys
field of the specifiedstruct
. -
nmRotationKeys
Unsafe version ofmRotationKeys
. -
nmNumScalingKeys
public static void nmNumScalingKeys(long struct, int value) Sets the specified value to themNumScalingKeys
field of the specifiedstruct
. -
nmScalingKeys
Unsafe version ofmScalingKeys
. -
nmPreState
public static void nmPreState(long struct, int value) Unsafe version ofmPreState
. -
nmPostState
public static void nmPostState(long struct, int value) Unsafe version ofmPostState
. -
validate
public static void validate(long struct) Validates pointer members that should not beNULL
.- Parameters:
struct
- the struct to validate
-