commit
6573bf08c6
|
@ -1340,6 +1340,14 @@ static bool loadCameras(JNIEnv *env, const aiScene* cScene, jobject& jScene)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JNIEXPORT jint JNICALL Java_jassimp_Jassimp_getVKeysize
|
||||||
|
(JNIEnv *env, jclass jClazz)
|
||||||
|
{
|
||||||
|
const int res = sizeof(aiVectorKey);
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_jassimp_Jassimp_getErrorString
|
JNIEXPORT jstring JNICALL Java_jassimp_Jassimp_getErrorString
|
||||||
(JNIEnv *env, jclass jClazz)
|
(JNIEnv *env, jclass jClazz)
|
||||||
{
|
{
|
||||||
|
|
|
@ -7,6 +7,9 @@
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
JNIEXPORT jint JNICALL Java_jassimp_Jassimp_getVKeysize
|
||||||
|
(JNIEnv *, jclass);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Class: jassimp_Jassimp
|
* Class: jassimp_Jassimp
|
||||||
* Method: getErrorString
|
* Method: getErrorString
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
Open Asset Import Library - Java Binding (jassimp)
|
Open Asset Import Library - Java Binding (jassimp)
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright (c) 2006-2012, assimp team
|
Copyright (c) 2006-2015, assimp team
|
||||||
|
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
@ -68,9 +68,9 @@ import java.nio.ByteOrder;
|
||||||
*/
|
*/
|
||||||
public final class AiNodeAnim {
|
public final class AiNodeAnim {
|
||||||
/**
|
/**
|
||||||
* Size of one position key entry (includes padding).
|
* Size of one position key entry.
|
||||||
*/
|
*/
|
||||||
private static final int POS_KEY_SIZE = 24;
|
private static final int POS_KEY_SIZE = Jassimp.getVKeysize();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Size of one rotation key entry.
|
* Size of one rotation key entry.
|
||||||
|
@ -78,9 +78,9 @@ public final class AiNodeAnim {
|
||||||
private static final int ROT_KEY_SIZE = 24;
|
private static final int ROT_KEY_SIZE = 24;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Size of one scaling key entry (includes padding).
|
* Size of one scaling key entry.
|
||||||
*/
|
*/
|
||||||
private static final int SCALE_KEY_SIZE = 24;
|
private static final int SCALE_KEY_SIZE = Jassimp.getVKeysize();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -103,14 +103,13 @@ public final class AiNodeAnim {
|
||||||
m_preState = AiAnimBehavior.fromRawValue(preBehavior);
|
m_preState = AiAnimBehavior.fromRawValue(preBehavior);
|
||||||
m_postState = AiAnimBehavior.fromRawValue(postBehavior);
|
m_postState = AiAnimBehavior.fromRawValue(postBehavior);
|
||||||
|
|
||||||
/* c data is padded -> 24 bytes with 20 bytes data */
|
|
||||||
m_posKeys = ByteBuffer.allocateDirect(numPosKeys * POS_KEY_SIZE);
|
m_posKeys = ByteBuffer.allocateDirect(numPosKeys * POS_KEY_SIZE);
|
||||||
m_posKeys.order(ByteOrder.nativeOrder());
|
m_posKeys.order(ByteOrder.nativeOrder());
|
||||||
|
|
||||||
m_rotKeys = ByteBuffer.allocateDirect(numRotKeys * 24);
|
m_rotKeys = ByteBuffer.allocateDirect(numRotKeys * ROT_KEY_SIZE);
|
||||||
m_rotKeys.order(ByteOrder.nativeOrder());
|
m_rotKeys.order(ByteOrder.nativeOrder());
|
||||||
|
|
||||||
m_scaleKeys = ByteBuffer.allocateDirect(numScaleKeys * 24);
|
m_scaleKeys = ByteBuffer.allocateDirect(numScaleKeys * SCALE_KEY_SIZE);
|
||||||
m_scaleKeys.order(ByteOrder.nativeOrder());
|
m_scaleKeys.order(ByteOrder.nativeOrder());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,7 +140,7 @@ public final class AiNodeAnim {
|
||||||
* Returns the buffer with position keys of this animation channel.<p>
|
* Returns the buffer with position keys of this animation channel.<p>
|
||||||
*
|
*
|
||||||
* Position keys consist of a time value (double) and a position (3D vector
|
* Position keys consist of a time value (double) and a position (3D vector
|
||||||
* of floats), resulting in a total of 24 bytes per entry with padding.
|
* of floats), resulting in a total of 20 bytes per entry.
|
||||||
* The buffer contains {@link #getNumPosKeys()} of these entries.<p>
|
* The buffer contains {@link #getNumPosKeys()} of these entries.<p>
|
||||||
*
|
*
|
||||||
* If there are position keys, there will also be at least one
|
* If there are position keys, there will also be at least one
|
||||||
|
@ -340,7 +339,7 @@ public final class AiNodeAnim {
|
||||||
* Returns the buffer with scaling keys of this animation channel.<p>
|
* Returns the buffer with scaling keys of this animation channel.<p>
|
||||||
*
|
*
|
||||||
* Scaling keys consist of a time value (double) and a 3D vector of floats,
|
* Scaling keys consist of a time value (double) and a 3D vector of floats,
|
||||||
* resulting in a total of 24 bytes per entry with padding. The buffer
|
* resulting in a total of 20 bytes per entry. The buffer
|
||||||
* contains {@link #getNumScaleKeys()} of these entries.<p>
|
* contains {@link #getNumScaleKeys()} of these entries.<p>
|
||||||
*
|
*
|
||||||
* If there are scaling keys, there will also be at least one
|
* If there are scaling keys, there will also be at least one
|
||||||
|
|
|
@ -96,6 +96,13 @@ public final class Jassimp {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the size of a struct.<p>
|
||||||
|
*
|
||||||
|
* @return the result of sizeof call
|
||||||
|
*/
|
||||||
|
public static native int getVKeysize();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a human readable error description.<p>
|
* Returns a human readable error description.<p>
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue