OSDN Git Service

merge from MikuMikuStudio nativebullet.
[mikumikustudio/libgdx-mikumikustudio.git] / extensions / gdx-bullet / jni / src / mikumikustudio / com_jme3_bullet_joints_SixDofSpringJoint.cpp
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
82         btTransform transA;
83         jmeBulletUtil::convert(env, pivotA, &transA.getOrigin());
84         jmeBulletUtil::convert(env, rotA, &transA.getBasis());
85         btTransform transB;
86         jmeBulletUtil::convert(env, pivotB, &transB.getOrigin());
87         jmeBulletUtil::convert(env, rotB, &transB.getBasis());
88
89         btGeneric6DofSpringConstraint* joint = new btGeneric6DofSpringConstraint(*bodyA, *bodyB, transA, transB, useLinearReferenceFrameA);
90         return reinterpret_cast<jlong>(joint);
91     }
92
93 #ifdef __cplusplus
94 }
95 #endif