|
|
|
@ -47,14 +47,14 @@ extern "C" { |
|
|
|
|
* Signature: (JLcom/jme3/math/Vector3f;)V |
|
|
|
|
*/ |
|
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getWheelLocation |
|
|
|
|
(JNIEnv *env, jobject object, jlong wheelId, jobject out) { |
|
|
|
|
btWheelInfo* wheel = (btWheelInfo*) wheelId; |
|
|
|
|
if (wheel == NULL) { |
|
|
|
|
(JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jobject out) { |
|
|
|
|
btRaycastVehicle* vehicle = (btRaycastVehicle*) vehicleId; |
|
|
|
|
if (vehicle == NULL) { |
|
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException"); |
|
|
|
|
env->ThrowNew(newExc, "The native object does not exist."); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
jmeBulletUtil::convert(env, &wheel->m_worldTransform.getOrigin(), out); |
|
|
|
|
jmeBulletUtil::convert(env, &vehicle->getWheelInfo(wheelIndex).m_worldTransform.getOrigin(), out); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@ -63,14 +63,14 @@ extern "C" { |
|
|
|
|
* Signature: (JLcom/jme3/math/Matrix3f;)V |
|
|
|
|
*/ |
|
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getWheelRotation |
|
|
|
|
(JNIEnv *env, jobject object, jlong wheelId, jobject out) { |
|
|
|
|
btWheelInfo* wheel = (btWheelInfo*) wheelId; |
|
|
|
|
if (wheel == NULL) { |
|
|
|
|
(JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jobject out) { |
|
|
|
|
btRaycastVehicle* vehicle = (btRaycastVehicle*) vehicleId; |
|
|
|
|
if (vehicle == NULL) { |
|
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException"); |
|
|
|
|
env->ThrowNew(newExc, "The native object does not exist."); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
jmeBulletUtil::convert(env, &wheel->m_worldTransform.getBasis(), out); |
|
|
|
|
jmeBulletUtil::convert(env, &vehicle->getWheelInfo(wheelIndex).m_worldTransform.getBasis(), out); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@ -79,18 +79,18 @@ extern "C" { |
|
|
|
|
* Signature: (JFFFFFFFFZF)V |
|
|
|
|
*/ |
|
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_applyInfo |
|
|
|
|
(JNIEnv *env, jobject object, jlong wheelId, jfloat suspensionStiffness, jfloat wheelsDampingRelaxation, jfloat wheelsDampingCompression, jfloat frictionSlip, jfloat rollInfluence, jfloat maxSuspensionTravelCm, jfloat maxSuspensionForce, jfloat radius, jboolean frontWheel, jfloat restLength) { |
|
|
|
|
btWheelInfo* wheelInfo = (btWheelInfo*) wheelId; |
|
|
|
|
wheelInfo->m_suspensionStiffness = suspensionStiffness; |
|
|
|
|
wheelInfo->m_wheelsDampingRelaxation = wheelsDampingRelaxation; |
|
|
|
|
wheelInfo->m_wheelsDampingCompression = wheelsDampingCompression; |
|
|
|
|
wheelInfo->m_frictionSlip = frictionSlip; |
|
|
|
|
wheelInfo->m_rollInfluence = rollInfluence; |
|
|
|
|
wheelInfo->m_maxSuspensionTravelCm = maxSuspensionTravelCm; |
|
|
|
|
wheelInfo->m_maxSuspensionForce = maxSuspensionForce; |
|
|
|
|
wheelInfo->m_wheelsRadius = radius; |
|
|
|
|
wheelInfo->m_bIsFrontWheel = frontWheel; |
|
|
|
|
wheelInfo->m_suspensionRestLength1 = restLength; |
|
|
|
|
(JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jfloat suspensionStiffness, jfloat wheelsDampingRelaxation, jfloat wheelsDampingCompression, jfloat frictionSlip, jfloat rollInfluence, jfloat maxSuspensionTravelCm, jfloat maxSuspensionForce, jfloat radius, jboolean frontWheel, jfloat restLength) { |
|
|
|
|
btRaycastVehicle* vehicle = (btRaycastVehicle*) vehicleId; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_suspensionStiffness = suspensionStiffness; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_wheelsDampingRelaxation = wheelsDampingRelaxation; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_wheelsDampingCompression = wheelsDampingCompression; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_frictionSlip = frictionSlip; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_rollInfluence = rollInfluence; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_maxSuspensionTravelCm = maxSuspensionTravelCm; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_maxSuspensionForce = maxSuspensionForce; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_wheelsRadius = radius; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_bIsFrontWheel = frontWheel; |
|
|
|
|
vehicle->getWheelInfo(wheelIndex).m_suspensionRestLength1 = restLength; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -100,14 +100,14 @@ extern "C" { |
|
|
|
|
* Signature: (JLcom/jme3/math/Vector3f;)V |
|
|
|
|
*/ |
|
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getCollisionLocation |
|
|
|
|
(JNIEnv *env, jobject object, jlong wheelId, jobject out) { |
|
|
|
|
btWheelInfo* wheel = (btWheelInfo*) wheelId; |
|
|
|
|
if (wheel == NULL) { |
|
|
|
|
(JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jobject out) { |
|
|
|
|
btRaycastVehicle* vehicle = (btRaycastVehicle*) vehicleId; |
|
|
|
|
if (vehicle == NULL) { |
|
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException"); |
|
|
|
|
env->ThrowNew(newExc, "The native object does not exist."); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
jmeBulletUtil::convert(env, &wheel->m_raycastInfo.m_contactPointWS, out); |
|
|
|
|
jmeBulletUtil::convert(env, &vehicle->getWheelInfo(wheelIndex).m_raycastInfo.m_contactPointWS, out); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@ -116,14 +116,14 @@ extern "C" { |
|
|
|
|
* Signature: (JLcom/jme3/math/Vector3f;)V |
|
|
|
|
*/ |
|
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getCollisionNormal |
|
|
|
|
(JNIEnv *env, jobject object, jlong wheelId, jobject out) { |
|
|
|
|
btWheelInfo* wheel = (btWheelInfo*) wheelId; |
|
|
|
|
if (wheel == NULL) { |
|
|
|
|
(JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jobject out) { |
|
|
|
|
btRaycastVehicle* vehicle = (btRaycastVehicle*) vehicleId; |
|
|
|
|
if (vehicle == NULL) { |
|
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException"); |
|
|
|
|
env->ThrowNew(newExc, "The native object does not exist."); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
jmeBulletUtil::convert(env, &wheel->m_raycastInfo.m_contactNormalWS, out); |
|
|
|
|
jmeBulletUtil::convert(env, &vehicle->getWheelInfo(wheelIndex).m_raycastInfo.m_contactNormalWS, out); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@ -132,25 +132,25 @@ extern "C" { |
|
|
|
|
* Signature: (J)F |
|
|
|
|
*/ |
|
|
|
|
JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getSkidInfo |
|
|
|
|
(JNIEnv *env, jobject object, jlong wheelId) { |
|
|
|
|
btWheelInfo* wheel = (btWheelInfo*) wheelId; |
|
|
|
|
if (wheel == NULL) { |
|
|
|
|
(JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex) { |
|
|
|
|
btRaycastVehicle* vehicle = (btRaycastVehicle*) vehicleId; |
|
|
|
|
if (vehicle == NULL) { |
|
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException"); |
|
|
|
|
env->ThrowNew(newExc, "The native object does not exist."); |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
return wheel->m_skidInfo; |
|
|
|
|
return vehicle->getWheelInfo(wheelIndex).m_skidInfo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_finalizeNative |
|
|
|
|
(JNIEnv *env, jobject object, jlong wheelId) { |
|
|
|
|
btWheelInfo* wheel = (btWheelInfo*) wheelId; |
|
|
|
|
if (wheel == NULL) { |
|
|
|
|
(JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex) { |
|
|
|
|
btRaycastVehicle* vehicle = (btRaycastVehicle*) vehicleId; |
|
|
|
|
if (vehicle == NULL) { |
|
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException"); |
|
|
|
|
env->ThrowNew(newExc, "The native object does not exist."); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
delete(wheel); |
|
|
|
|
delete(&vehicle->getWheelInfo(wheelIndex)); |
|
|
|
|
} |
|
|
|
|
#ifdef __cplusplus |
|
|
|
|
} |
|
|
|
|