|
@@ -46,16 +46,21 @@ extern "C" {
|
|
|
* Signature: (FFFFFFI)J
|
|
|
*/
|
|
|
JNIEXPORT jlong JNICALL Java_com_jme3_bullet_PhysicsSpace_createPhysicsSpace
|
|
|
- (JNIEnv * env, jobject object, jfloat minX, jfloat minY, jfloat minZ, jfloat maxX, jfloat maxY, jfloat maxZ, jint broadphase, jboolean threading) {
|
|
|
+ (JNIEnv * env, jobject object, jfloat minX, jfloat minY, jfloat minZ,
|
|
|
+ jfloat maxX, jfloat maxY, jfloat maxZ, jint broadphase,
|
|
|
+ jboolean threading) {
|
|
|
jmeClasses::initJavaClasses(env);
|
|
|
+
|
|
|
jmePhysicsSpace* space = new jmePhysicsSpace(env, object);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space has not been created.");
|
|
|
return 0;
|
|
|
}
|
|
|
- space->createPhysicsSpace(minX, minY, minZ, maxX, maxY, maxZ, broadphase, threading);
|
|
|
- return reinterpret_cast<jlong>(space);
|
|
|
+
|
|
|
+ space->createPhysicsSpace(minX, minY, minZ, maxX, maxY, maxZ,
|
|
|
+ broadphase, threading);
|
|
|
+ return reinterpret_cast<jlong> (space);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -64,8 +69,9 @@ extern "C" {
|
|
|
* Signature: (JFIF)V
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_stepSimulation
|
|
|
- (JNIEnv * env, jobject object, jlong spaceId, jfloat tpf, jint maxSteps, jfloat accuracy) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
+ (JNIEnv * env, jobject object, jlong spaceId, jfloat tpf, jint maxSteps,
|
|
|
+ jfloat accuracy) {
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -81,8 +87,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addCollisionObject
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -93,7 +99,7 @@ extern "C" {
|
|
|
env->ThrowNew(newExc, "The collision object does not exist.");
|
|
|
return;
|
|
|
}
|
|
|
- jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
|
|
|
+ jmeUserPointer *userPointer = (jmeUserPointer*) collisionObject->getUserPointer();
|
|
|
userPointer -> space = space;
|
|
|
|
|
|
space->getDynamicsWorld()->addCollisionObject(collisionObject);
|
|
@@ -106,8 +112,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeCollisionObject
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -119,7 +125,7 @@ extern "C" {
|
|
|
return;
|
|
|
}
|
|
|
space->getDynamicsWorld()->removeCollisionObject(collisionObject);
|
|
|
- jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
|
|
|
+ jmeUserPointer *userPointer = (jmeUserPointer*) collisionObject->getUserPointer();
|
|
|
userPointer -> space = NULL;
|
|
|
}
|
|
|
|
|
@@ -130,8 +136,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addRigidBody
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong rigidBodyId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btRigidBody* collisionObject = reinterpret_cast<btRigidBody*>(rigidBodyId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btRigidBody* collisionObject = reinterpret_cast<btRigidBody*> (rigidBodyId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -142,7 +148,7 @@ extern "C" {
|
|
|
env->ThrowNew(newExc, "The collision object does not exist.");
|
|
|
return;
|
|
|
}
|
|
|
- jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
|
|
|
+ jmeUserPointer *userPointer = (jmeUserPointer*) collisionObject->getUserPointer();
|
|
|
userPointer -> space = space;
|
|
|
space->getDynamicsWorld()->addRigidBody(collisionObject);
|
|
|
}
|
|
@@ -154,8 +160,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeRigidBody
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong rigidBodyId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btRigidBody* collisionObject = reinterpret_cast<btRigidBody*>(rigidBodyId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btRigidBody* collisionObject = reinterpret_cast<btRigidBody*> (rigidBodyId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -166,7 +172,7 @@ extern "C" {
|
|
|
env->ThrowNew(newExc, "The collision object does not exist.");
|
|
|
return;
|
|
|
}
|
|
|
- jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
|
|
|
+ jmeUserPointer *userPointer = (jmeUserPointer*) collisionObject->getUserPointer();
|
|
|
userPointer -> space = NULL;
|
|
|
space->getDynamicsWorld()->removeRigidBody(collisionObject);
|
|
|
}
|
|
@@ -178,8 +184,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addCharacterObject
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -190,12 +196,12 @@ extern "C" {
|
|
|
env->ThrowNew(newExc, "The collision object does not exist.");
|
|
|
return;
|
|
|
}
|
|
|
- jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
|
|
|
+ jmeUserPointer *userPointer = (jmeUserPointer*) collisionObject->getUserPointer();
|
|
|
userPointer -> space = space;
|
|
|
space->getDynamicsWorld()->addCollisionObject(collisionObject,
|
|
|
btBroadphaseProxy::CharacterFilter,
|
|
|
btBroadphaseProxy::StaticFilter | btBroadphaseProxy::DefaultFilter
|
|
|
- );
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -205,8 +211,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeCharacterObject
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -217,7 +223,7 @@ extern "C" {
|
|
|
env->ThrowNew(newExc, "The collision object does not exist.");
|
|
|
return;
|
|
|
}
|
|
|
- jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
|
|
|
+ jmeUserPointer *userPointer = (jmeUserPointer*) collisionObject->getUserPointer();
|
|
|
userPointer -> space = NULL;
|
|
|
space->getDynamicsWorld()->removeCollisionObject(collisionObject);
|
|
|
}
|
|
@@ -229,8 +235,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addAction
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btActionInterface* actionObject = reinterpret_cast<btActionInterface*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btActionInterface* actionObject = reinterpret_cast<btActionInterface*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -251,8 +257,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeAction
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btActionInterface* actionObject = reinterpret_cast<btActionInterface*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btActionInterface* actionObject = reinterpret_cast<btActionInterface*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -273,8 +279,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addVehicle
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btActionInterface* actionObject = reinterpret_cast<btActionInterface*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btActionInterface* actionObject = reinterpret_cast<btActionInterface*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -295,8 +301,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeVehicle
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btActionInterface* actionObject = reinterpret_cast<btActionInterface*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btActionInterface* actionObject = reinterpret_cast<btActionInterface*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -317,8 +323,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addConstraint
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btTypedConstraint* constraint = reinterpret_cast<btTypedConstraint*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btTypedConstraint* constraint = reinterpret_cast<btTypedConstraint*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -339,8 +345,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addConstraintC
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId, jboolean collision) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btTypedConstraint* constraint = reinterpret_cast<btTypedConstraint*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btTypedConstraint* constraint = reinterpret_cast<btTypedConstraint*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -361,8 +367,8 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeConstraint
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
- btTypedConstraint* constraint = reinterpret_cast<btTypedConstraint*>(objectId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
+ btTypedConstraint* constraint = reinterpret_cast<btTypedConstraint*> (objectId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -383,7 +389,7 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_setGravity
|
|
|
(JNIEnv * env, jobject object, jlong spaceId, jobject vector) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
@@ -391,6 +397,7 @@ extern "C" {
|
|
|
}
|
|
|
btVector3 gravity = btVector3();
|
|
|
jmeBulletUtil::convert(env, vector, &gravity);
|
|
|
+
|
|
|
space->getDynamicsWorld()->setGravity(gravity);
|
|
|
}
|
|
|
|
|
@@ -411,13 +418,13 @@ extern "C" {
|
|
|
*/
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_finalizeNative
|
|
|
(JNIEnv * env, jobject object, jlong spaceId) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
if (space == NULL) {
|
|
|
return;
|
|
|
}
|
|
|
delete(space);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_rayTest_1native
|
|
|
(JNIEnv * env, jobject object, jobject from, jobject to, jlong spaceId, jobject resultlist, jint flags) {
|
|
|
|
|
@@ -465,13 +472,12 @@ extern "C" {
|
|
|
resultCallback.resultlist = resultlist;
|
|
|
resultCallback.m_flags = flags;
|
|
|
space->getDynamicsWorld()->rayTest(native_from, native_to, resultCallback);
|
|
|
+
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_sweepTest_1native
|
|
|
- (JNIEnv * env, jobject object, jlong shapeId, jobject from, jobject to, jlong spaceId, jobject resultlist, jfloat allowedCcdPenetration) {
|
|
|
+ (JNIEnv * env, jobject object, jlong shapeId, jobject from, jobject to, jlong spaceId, jobject resultlist, jfloat allowedCcdPenetration) {
|
|
|
|
|
|
jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
if (space == NULL) {
|
|
@@ -489,7 +495,7 @@ extern "C" {
|
|
|
|
|
|
struct AllConvexResultCallback : public btCollisionWorld::ConvexResultCallback {
|
|
|
|
|
|
- AllConvexResultCallback(const btTransform& convexFromWorld, const btTransform & convexToWorld) : m_convexFromWorld(convexFromWorld), m_convexToWorld(convexToWorld) {
|
|
|
+ AllConvexResultCallback(const btTransform& convexFromWorld, const btTransform & convexToWorld) : m_convexFromWorld(convexFromWorld), m_convexToWorld(convexToWorld) {
|
|
|
}
|
|
|
jobject resultlist;
|
|
|
JNIEnv* env;
|
|
@@ -500,17 +506,16 @@ extern "C" {
|
|
|
btVector3 m_hitPointWorld;
|
|
|
|
|
|
virtual btScalar addSingleResult(btCollisionWorld::LocalConvexResult& convexResult, bool normalInWorldSpace) {
|
|
|
- if (normalInWorldSpace) {
|
|
|
- m_hitNormalWorld = convexResult.m_hitNormalLocal;
|
|
|
- }
|
|
|
- else {
|
|
|
- m_hitNormalWorld = convexResult.m_hitCollisionObject->getWorldTransform().getBasis() * convexResult.m_hitNormalLocal;
|
|
|
- }
|
|
|
- m_hitPointWorld.setInterpolate3(m_convexFromWorld.getBasis() * m_convexFromWorld.getOrigin(), m_convexToWorld.getBasis() * m_convexToWorld.getOrigin(), convexResult.m_hitFraction);
|
|
|
+ if (normalInWorldSpace) {
|
|
|
+ m_hitNormalWorld = convexResult.m_hitNormalLocal;
|
|
|
+ } else {
|
|
|
+ m_hitNormalWorld = convexResult.m_hitCollisionObject->getWorldTransform().getBasis() * convexResult.m_hitNormalLocal;
|
|
|
+ }
|
|
|
+ m_hitPointWorld.setInterpolate3(m_convexFromWorld.getBasis() * m_convexFromWorld.getOrigin(), m_convexToWorld.getBasis() * m_convexToWorld.getOrigin(), convexResult.m_hitFraction);
|
|
|
|
|
|
- jmeBulletUtil::addSweepResult(env, resultlist, &m_hitNormalWorld, &m_hitPointWorld, convexResult.m_hitFraction, convexResult.m_hitCollisionObject);
|
|
|
+ jmeBulletUtil::addSweepResult(env, resultlist, &m_hitNormalWorld, &m_hitPointWorld, convexResult.m_hitFraction, convexResult.m_hitCollisionObject);
|
|
|
|
|
|
- return 1.f;
|
|
|
+ return 1.f;
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -528,16 +533,16 @@ extern "C" {
|
|
|
space->getDynamicsWorld()->convexSweepTest((btConvexShape *) shape, native_from, native_to, resultCallback, native_allowed_ccd_penetration);
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_setSolverNumIterations
|
|
|
(JNIEnv *env, jobject object, jlong spaceId, jint value) {
|
|
|
- jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
|
|
|
+ jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
|
|
|
if (space == NULL) {
|
|
|
jclass newExc = env->FindClass("java/lang/NullPointerException");
|
|
|
env->ThrowNew(newExc, "The physics space does not exist.");
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
space->getDynamicsWorld()->getSolverInfo().m_numIterations = value;
|
|
|
}
|
|
|
|