Home | History | Annotate | Download | only in bullet-native
      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