1 2 /** 3 * Author: Normen Hansen 4 */ 5 #include "com_jme3_bullet_joints_SixDofSpringJoint.h" 6 #include "jmeBulletUtil.h" 7 8 #ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 /* 13 * Class: com_jme3_bullet_joints_SixDofSpringJoint 14 * Method: enableString 15 * Signature: (JIZ)V 16 */ 17 JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_enableSpring 18 (JNIEnv *env, jobject object, jlong jointId, jint index, jboolean onOff) { 19 btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId); 20 joint -> enableSpring(index, onOff); 21 } 22 23 24 /* 25 * Class: com_jme3_bullet_joints_SixDofSpringJoint 26 * Method: setStiffness 27 * Signature: (JIF)V 28 */ 29 JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setStiffness 30 (JNIEnv *env, jobject object, jlong jointId, jint index, jfloat stiffness) { 31 btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId); 32 joint -> setStiffness(index, stiffness); 33 } 34 35 /* 36 * Class: com_jme3_bullet_joints_SixDofSpringJoint 37 * Method: setDamping 38 * Signature: (JIF)V 39 */ 40 JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setDamping 41 (JNIEnv *env, jobject object, jlong jointId, jint index, jfloat damping) { 42 btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId); 43 joint -> setDamping(index, damping); 44 } 45 46 /* 47 * Class: com_jme3_bullet_joints_SixDofSpringJoint 48 * Method: setEquilibriumPoint 49 * Signature: (JIF)V 50 */ 51 JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setEquilibriumPoint__J 52 (JNIEnv *env, jobject object, jlong jointId) { 53 btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId); 54 joint -> setEquilibriumPoint(); 55 } 56 57 /* 58 * Class: com_jme3_bullet_joints_SixDofSpringJoint 59 * Method: setEquilibriumPoint 60 * Signature: (JI)V 61 */ 62 JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setEquilibriumPoint__JI 63 (JNIEnv *env, jobject object, jlong jointId, jint index) { 64 btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId); 65 joint -> setEquilibriumPoint(index); 66 } 67 68 69 70 71 /* 72 * Class: com_jme3_bullet_joints_SixDofSpringJoint 73 * Method: createJoint 74 * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Z)J 75 */ 76 JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_createJoint 77 (JNIEnv * env, jobject object, jlong bodyIdA, jlong bodyIdB, jobject pivotA, jobject rotA, jobject pivotB, jobject rotB, jboolean useLinearReferenceFrameA) { 78 jmeClasses::initJavaClasses(env); 79 btRigidBody* bodyA = reinterpret_cast<btRigidBody*>(bodyIdA); 80 btRigidBody* bodyB = reinterpret_cast<btRigidBody*>(bodyIdB); 81 btTransform transA; 82 jmeBulletUtil::convert(env, pivotA, &transA.getOrigin()); 83 jmeBulletUtil::convert(env, rotA, &transA.getBasis()); 84 btTransform transB; 85 jmeBulletUtil::convert(env, pivotB, &transB.getOrigin()); 86 jmeBulletUtil::convert(env, rotB, &transB.getBasis()); 87 88 btGeneric6DofSpringConstraint* joint = new btGeneric6DofSpringConstraint(*bodyA, *bodyB, transA, transB, useLinearReferenceFrameA); 89 return reinterpret_cast<jlong>(joint); 90 } 91 92 #ifdef __cplusplus 93 } 94 #endif 95