1/*
2 * Copyright (c) 2009-2010 jMonkeyEngine
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 *   notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 *   notice, this list of conditions and the following disclaimer in the
14 *   documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
17 *   may be used to endorse or promote products derived from this software
18 *   without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32
33/**
34 * Author: Normen Hansen
35 */
36#include "com_jme3_bullet_joints_SliderJoint.h"
37#include "jmeBulletUtil.h"
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43    /*
44     * Class:     com_jme3_bullet_joints_SliderJoint
45     * Method:    getLowerLinLimit
46     * Signature: (J)F
47     */
48    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getLowerLinLimit
49    (JNIEnv * env, jobject object, jlong jointId) {
50        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
51        if (joint == NULL) {
52            jclass newExc = env->FindClass("java/lang/NullPointerException");
53            env->ThrowNew(newExc, "The native object does not exist.");
54            return 0;
55        }
56        return joint->getLowerLinLimit();
57    }
58
59    /*
60     * Class:     com_jme3_bullet_joints_SliderJoint
61     * Method:    setLowerLinLimit
62     * Signature: (JF)V
63     */
64    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setLowerLinLimit
65    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
66        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
67        if (joint == NULL) {
68            jclass newExc = env->FindClass("java/lang/NullPointerException");
69            env->ThrowNew(newExc, "The native object does not exist.");
70            return;
71        }
72        joint->setLowerLinLimit(value);
73    }
74
75    /*
76     * Class:     com_jme3_bullet_joints_SliderJoint
77     * Method:    getUpperLinLimit
78     * Signature: (J)F
79     */
80    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getUpperLinLimit
81    (JNIEnv * env, jobject object, jlong jointId) {
82        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
83        if (joint == NULL) {
84            jclass newExc = env->FindClass("java/lang/NullPointerException");
85            env->ThrowNew(newExc, "The native object does not exist.");
86            return 0;
87        }
88        return joint->getUpperLinLimit();
89    }
90
91    /*
92     * Class:     com_jme3_bullet_joints_SliderJoint
93     * Method:    setUpperLinLimit
94     * Signature: (JF)V
95     */
96    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setUpperLinLimit
97    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
98        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
99        if (joint == NULL) {
100            jclass newExc = env->FindClass("java/lang/NullPointerException");
101            env->ThrowNew(newExc, "The native object does not exist.");
102            return;
103        }
104        joint->setUpperLinLimit(value);
105    }
106
107    /*
108     * Class:     com_jme3_bullet_joints_SliderJoint
109     * Method:    getLowerAngLimit
110     * Signature: (J)F
111     */
112    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getLowerAngLimit
113    (JNIEnv * env, jobject object, jlong jointId) {
114        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
115        if (joint == NULL) {
116            jclass newExc = env->FindClass("java/lang/NullPointerException");
117            env->ThrowNew(newExc, "The native object does not exist.");
118            return 0;
119        }
120        return joint->getLowerAngLimit();
121    }
122
123    /*
124     * Class:     com_jme3_bullet_joints_SliderJoint
125     * Method:    setLowerAngLimit
126     * Signature: (JF)V
127     */
128    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setLowerAngLimit
129    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
130        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
131        if (joint == NULL) {
132            jclass newExc = env->FindClass("java/lang/NullPointerException");
133            env->ThrowNew(newExc, "The native object does not exist.");
134            return;
135        }
136        joint->setLowerAngLimit(value);
137    }
138
139    /*
140     * Class:     com_jme3_bullet_joints_SliderJoint
141     * Method:    getUpperAngLimit
142     * Signature: (J)F
143     */
144    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getUpperAngLimit
145    (JNIEnv * env, jobject object, jlong jointId) {
146        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
147        if (joint == NULL) {
148            jclass newExc = env->FindClass("java/lang/NullPointerException");
149            env->ThrowNew(newExc, "The native object does not exist.");
150            return 0;
151        }
152        return joint->getUpperAngLimit();
153    }
154
155    /*
156     * Class:     com_jme3_bullet_joints_SliderJoint
157     * Method:    setUpperAngLimit
158     * Signature: (JF)V
159     */
160    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setUpperAngLimit
161    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
162        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
163        if (joint == NULL) {
164            jclass newExc = env->FindClass("java/lang/NullPointerException");
165            env->ThrowNew(newExc, "The native object does not exist.");
166            return;
167        }
168        joint->setUpperAngLimit(value);
169    }
170
171    /*
172     * Class:     com_jme3_bullet_joints_SliderJoint
173     * Method:    getSoftnessDirLin
174     * Signature: (J)F
175     */
176    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessDirLin
177    (JNIEnv * env, jobject object, jlong jointId) {
178        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
179        if (joint == NULL) {
180            jclass newExc = env->FindClass("java/lang/NullPointerException");
181            env->ThrowNew(newExc, "The native object does not exist.");
182            return 0;
183        }
184        return joint->getSoftnessDirLin();
185    }
186
187    /*
188     * Class:     com_jme3_bullet_joints_SliderJoint
189     * Method:    setSoftnessDirLin
190     * Signature: (JF)V
191     */
192    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessDirLin
193    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
194        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
195        if (joint == NULL) {
196            jclass newExc = env->FindClass("java/lang/NullPointerException");
197            env->ThrowNew(newExc, "The native object does not exist.");
198            return;
199        }
200        joint->setSoftnessDirLin(value);
201    }
202
203    /*
204     * Class:     com_jme3_bullet_joints_SliderJoint
205     * Method:    getRestitutionDirLin
206     * Signature: (J)F
207     */
208    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionDirLin
209    (JNIEnv * env, jobject object, jlong jointId) {
210        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
211        if (joint == NULL) {
212            jclass newExc = env->FindClass("java/lang/NullPointerException");
213            env->ThrowNew(newExc, "The native object does not exist.");
214            return 0;
215        }
216        return joint->getRestitutionDirLin();
217    }
218
219    /*
220     * Class:     com_jme3_bullet_joints_SliderJoint
221     * Method:    setRestitutionDirLin
222     * Signature: (JF)V
223     */
224    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionDirLin
225    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
226        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
227        if (joint == NULL) {
228            jclass newExc = env->FindClass("java/lang/NullPointerException");
229            env->ThrowNew(newExc, "The native object does not exist.");
230            return;
231        }
232        joint->setRestitutionDirLin(value);
233    }
234
235    /*
236     * Class:     com_jme3_bullet_joints_SliderJoint
237     * Method:    getDampingDirLin
238     * Signature: (J)F
239     */
240    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingDirLin
241    (JNIEnv * env, jobject object, jlong jointId) {
242        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
243        if (joint == NULL) {
244            jclass newExc = env->FindClass("java/lang/NullPointerException");
245            env->ThrowNew(newExc, "The native object does not exist.");
246            return 0;
247        }
248        return joint->getDampingDirLin();
249    }
250
251    /*
252     * Class:     com_jme3_bullet_joints_SliderJoint
253     * Method:    setDampingDirLin
254     * Signature: (JF)V
255     */
256    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingDirLin
257    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
258        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
259        if (joint == NULL) {
260            jclass newExc = env->FindClass("java/lang/NullPointerException");
261            env->ThrowNew(newExc, "The native object does not exist.");
262            return;
263        }
264        joint->setDampingDirLin(value);
265    }
266
267    /*
268     * Class:     com_jme3_bullet_joints_SliderJoint
269     * Method:    getSoftnessDirAng
270     * Signature: (J)F
271     */
272    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessDirAng
273    (JNIEnv * env, jobject object, jlong jointId) {
274        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
275        if (joint == NULL) {
276            jclass newExc = env->FindClass("java/lang/NullPointerException");
277            env->ThrowNew(newExc, "The native object does not exist.");
278            return 0;
279        }
280        return joint->getSoftnessDirAng();
281    }
282
283    /*
284     * Class:     com_jme3_bullet_joints_SliderJoint
285     * Method:    setSoftnessDirAng
286     * Signature: (JF)V
287     */
288    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessDirAng
289    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
290        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
291        if (joint == NULL) {
292            jclass newExc = env->FindClass("java/lang/NullPointerException");
293            env->ThrowNew(newExc, "The native object does not exist.");
294            return;
295        }
296        joint->setSoftnessDirAng(value);
297    }
298
299    /*
300     * Class:     com_jme3_bullet_joints_SliderJoint
301     * Method:    getRestitutionDirAng
302     * Signature: (J)F
303     */
304    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionDirAng
305    (JNIEnv * env, jobject object, jlong jointId) {
306        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
307        if (joint == NULL) {
308            jclass newExc = env->FindClass("java/lang/NullPointerException");
309            env->ThrowNew(newExc, "The native object does not exist.");
310            return 0;
311        }
312        return joint->getRestitutionDirAng();
313    }
314
315    /*
316     * Class:     com_jme3_bullet_joints_SliderJoint
317     * Method:    setRestitutionDirAng
318     * Signature: (JF)V
319     */
320    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionDirAng
321    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
322        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
323        if (joint == NULL) {
324            jclass newExc = env->FindClass("java/lang/NullPointerException");
325            env->ThrowNew(newExc, "The native object does not exist.");
326            return;
327        }
328        joint->setRestitutionDirAng(value);
329    }
330
331    /*
332     * Class:     com_jme3_bullet_joints_SliderJoint
333     * Method:    getDampingDirAng
334     * Signature: (J)F
335     */
336    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingDirAng
337    (JNIEnv * env, jobject object, jlong jointId) {
338        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
339        if (joint == NULL) {
340            jclass newExc = env->FindClass("java/lang/NullPointerException");
341            env->ThrowNew(newExc, "The native object does not exist.");
342            return 0;
343        }
344        return joint->getDampingDirAng();
345    }
346
347    /*
348     * Class:     com_jme3_bullet_joints_SliderJoint
349     * Method:    setDampingDirAng
350     * Signature: (JF)V
351     */
352    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingDirAng
353    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
354        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
355        if (joint == NULL) {
356            jclass newExc = env->FindClass("java/lang/NullPointerException");
357            env->ThrowNew(newExc, "The native object does not exist.");
358            return;
359        }
360        joint->setDampingDirAng(value);
361    }
362
363    /*
364     * Class:     com_jme3_bullet_joints_SliderJoint
365     * Method:    getSoftnessLimLin
366     * Signature: (J)F
367     */
368    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessLimLin
369    (JNIEnv * env, jobject object, jlong jointId) {
370        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
371        if (joint == NULL) {
372            jclass newExc = env->FindClass("java/lang/NullPointerException");
373            env->ThrowNew(newExc, "The native object does not exist.");
374            return 0;
375        }
376        return joint->getSoftnessLimLin();
377    }
378
379    /*
380     * Class:     com_jme3_bullet_joints_SliderJoint
381     * Method:    setSoftnessLimLin
382     * Signature: (JF)V
383     */
384    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessLimLin
385    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
386        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
387        if (joint == NULL) {
388            jclass newExc = env->FindClass("java/lang/NullPointerException");
389            env->ThrowNew(newExc, "The native object does not exist.");
390            return;
391        }
392        joint->setSoftnessLimLin(value);
393    }
394
395    /*
396     * Class:     com_jme3_bullet_joints_SliderJoint
397     * Method:    getRestitutionLimLin
398     * Signature: (J)F
399     */
400    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionLimLin
401    (JNIEnv * env, jobject object, jlong jointId) {
402        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
403        if (joint == NULL) {
404            jclass newExc = env->FindClass("java/lang/NullPointerException");
405            env->ThrowNew(newExc, "The native object does not exist.");
406            return 0;
407        }
408        return joint->getRestitutionLimLin();
409    }
410
411    /*
412     * Class:     com_jme3_bullet_joints_SliderJoint
413     * Method:    setRestitutionLimLin
414     * Signature: (JF)V
415     */
416    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionLimLin
417    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
418        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
419        if (joint == NULL) {
420            jclass newExc = env->FindClass("java/lang/NullPointerException");
421            env->ThrowNew(newExc, "The native object does not exist.");
422            return;
423        }
424        joint->setRestitutionLimLin(value);
425    }
426
427    /*
428     * Class:     com_jme3_bullet_joints_SliderJoint
429     * Method:    getDampingLimLin
430     * Signature: (J)F
431     */
432    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingLimLin
433    (JNIEnv * env, jobject object, jlong jointId) {
434        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
435        if (joint == NULL) {
436            jclass newExc = env->FindClass("java/lang/NullPointerException");
437            env->ThrowNew(newExc, "The native object does not exist.");
438            return 0;
439        }
440        return joint->getDampingLimLin();
441    }
442
443    /*
444     * Class:     com_jme3_bullet_joints_SliderJoint
445     * Method:    setDampingLimLin
446     * Signature: (JF)V
447     */
448    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingLimLin
449    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
450        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
451        if (joint == NULL) {
452            jclass newExc = env->FindClass("java/lang/NullPointerException");
453            env->ThrowNew(newExc, "The native object does not exist.");
454            return;
455        }
456        joint->setDampingLimLin(value);
457    }
458
459    /*
460     * Class:     com_jme3_bullet_joints_SliderJoint
461     * Method:    getSoftnessLimAng
462     * Signature: (J)F
463     */
464    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessLimAng
465    (JNIEnv * env, jobject object, jlong jointId) {
466        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
467        if (joint == NULL) {
468            jclass newExc = env->FindClass("java/lang/NullPointerException");
469            env->ThrowNew(newExc, "The native object does not exist.");
470            return 0;
471        }
472        return joint->getSoftnessLimAng();
473    }
474
475    /*
476     * Class:     com_jme3_bullet_joints_SliderJoint
477     * Method:    setSoftnessLimAng
478     * Signature: (JF)V
479     */
480    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessLimAng
481    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
482        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
483        if (joint == NULL) {
484            jclass newExc = env->FindClass("java/lang/NullPointerException");
485            env->ThrowNew(newExc, "The native object does not exist.");
486            return;
487        }
488        joint->setSoftnessLimAng(value);
489    }
490
491    /*
492     * Class:     com_jme3_bullet_joints_SliderJoint
493     * Method:    getRestitutionLimAng
494     * Signature: (J)F
495     */
496    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionLimAng
497    (JNIEnv * env, jobject object, jlong jointId) {
498        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
499        if (joint == NULL) {
500            jclass newExc = env->FindClass("java/lang/NullPointerException");
501            env->ThrowNew(newExc, "The native object does not exist.");
502            return 0;
503        }
504        return joint->getRestitutionLimAng();
505    }
506
507    /*
508     * Class:     com_jme3_bullet_joints_SliderJoint
509     * Method:    setRestitutionLimAng
510     * Signature: (JF)V
511     */
512    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionLimAng
513    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
514        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
515        if (joint == NULL) {
516            jclass newExc = env->FindClass("java/lang/NullPointerException");
517            env->ThrowNew(newExc, "The native object does not exist.");
518            return;
519        }
520        joint->setRestitutionLimAng(value);
521    }
522
523    /*
524     * Class:     com_jme3_bullet_joints_SliderJoint
525     * Method:    getDampingLimAng
526     * Signature: (J)F
527     */
528    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingLimAng
529    (JNIEnv * env, jobject object, jlong jointId) {
530        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
531        if (joint == NULL) {
532            jclass newExc = env->FindClass("java/lang/NullPointerException");
533            env->ThrowNew(newExc, "The native object does not exist.");
534            return 0;
535        }
536        return joint->getDampingLimAng();
537    }
538
539    /*
540     * Class:     com_jme3_bullet_joints_SliderJoint
541     * Method:    setDampingLimAng
542     * Signature: (JF)V
543     */
544    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingLimAng
545    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
546        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
547        if (joint == NULL) {
548            jclass newExc = env->FindClass("java/lang/NullPointerException");
549            env->ThrowNew(newExc, "The native object does not exist.");
550            return;
551        }
552        joint->setDampingLimAng(value);
553    }
554
555    /*
556     * Class:     com_jme3_bullet_joints_SliderJoint
557     * Method:    getSoftnessOrthoLin
558     * Signature: (J)F
559     */
560    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessOrthoLin
561    (JNIEnv * env, jobject object, jlong jointId) {
562        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
563        if (joint == NULL) {
564            jclass newExc = env->FindClass("java/lang/NullPointerException");
565            env->ThrowNew(newExc, "The native object does not exist.");
566            return 0;
567        }
568        return joint->getSoftnessOrthoLin();
569    }
570
571    /*
572     * Class:     com_jme3_bullet_joints_SliderJoint
573     * Method:    setSoftnessOrthoLin
574     * Signature: (JF)V
575     */
576    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessOrthoLin
577    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
578        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
579        if (joint == NULL) {
580            jclass newExc = env->FindClass("java/lang/NullPointerException");
581            env->ThrowNew(newExc, "The native object does not exist.");
582            return;
583        }
584        joint->setSoftnessOrthoLin(value);
585    }
586
587    /*
588     * Class:     com_jme3_bullet_joints_SliderJoint
589     * Method:    getRestitutionOrthoLin
590     * Signature: (J)F
591     */
592    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionOrthoLin
593    (JNIEnv * env, jobject object, jlong jointId) {
594        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
595        if (joint == NULL) {
596            jclass newExc = env->FindClass("java/lang/NullPointerException");
597            env->ThrowNew(newExc, "The native object does not exist.");
598            return 0;
599        }
600        return joint->getRestitutionOrthoLin();
601    }
602
603    /*
604     * Class:     com_jme3_bullet_joints_SliderJoint
605     * Method:    setRestitutionOrthoLin
606     * Signature: (JF)V
607     */
608    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionOrthoLin
609    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
610        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
611        if (joint == NULL) {
612            jclass newExc = env->FindClass("java/lang/NullPointerException");
613            env->ThrowNew(newExc, "The native object does not exist.");
614            return;
615        }
616        joint->setRestitutionOrthoLin(value);
617    }
618
619    /*
620     * Class:     com_jme3_bullet_joints_SliderJoint
621     * Method:    getDampingOrthoLin
622     * Signature: (J)F
623     */
624    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingOrthoLin
625    (JNIEnv * env, jobject object, jlong jointId) {
626        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
627        if (joint == NULL) {
628            jclass newExc = env->FindClass("java/lang/NullPointerException");
629            env->ThrowNew(newExc, "The native object does not exist.");
630            return 0;
631        }
632        return joint->getDampingOrthoLin();
633    }
634
635    /*
636     * Class:     com_jme3_bullet_joints_SliderJoint
637     * Method:    setDampingOrthoLin
638     * Signature: (JF)V
639     */
640    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingOrthoLin
641    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
642        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
643        if (joint == NULL) {
644            jclass newExc = env->FindClass("java/lang/NullPointerException");
645            env->ThrowNew(newExc, "The native object does not exist.");
646            return;
647        }
648        joint->setDampingOrthoLin(value);
649    }
650
651    /*
652     * Class:     com_jme3_bullet_joints_SliderJoint
653     * Method:    getSoftnessOrthoAng
654     * Signature: (J)F
655     */
656    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessOrthoAng
657    (JNIEnv * env, jobject object, jlong jointId) {
658        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
659        if (joint == NULL) {
660            jclass newExc = env->FindClass("java/lang/NullPointerException");
661            env->ThrowNew(newExc, "The native object does not exist.");
662            return 0;
663        }
664        return joint->getSoftnessOrthoAng();
665    }
666
667    /*
668     * Class:     com_jme3_bullet_joints_SliderJoint
669     * Method:    setSoftnessOrthoAng
670     * Signature: (JF)V
671     */
672    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessOrthoAng
673    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
674        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
675        if (joint == NULL) {
676            jclass newExc = env->FindClass("java/lang/NullPointerException");
677            env->ThrowNew(newExc, "The native object does not exist.");
678            return;
679        }
680        joint->setSoftnessOrthoAng(value);
681    }
682
683    /*
684     * Class:     com_jme3_bullet_joints_SliderJoint
685     * Method:    getRestitutionOrthoAng
686     * Signature: (J)F
687     */
688    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionOrthoAng
689    (JNIEnv * env, jobject object, jlong jointId) {
690        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
691        if (joint == NULL) {
692            jclass newExc = env->FindClass("java/lang/NullPointerException");
693            env->ThrowNew(newExc, "The native object does not exist.");
694            return 0;
695        }
696        return joint->getRestitutionOrthoAng();
697    }
698
699    /*
700     * Class:     com_jme3_bullet_joints_SliderJoint
701     * Method:    setRestitutionOrthoAng
702     * Signature: (JF)V
703     */
704    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionOrthoAng
705    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
706        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
707        if (joint == NULL) {
708            jclass newExc = env->FindClass("java/lang/NullPointerException");
709            env->ThrowNew(newExc, "The native object does not exist.");
710            return;
711        }
712        joint->setRestitutionOrthoAng(value);
713    }
714
715    /*
716     * Class:     com_jme3_bullet_joints_SliderJoint
717     * Method:    getDampingOrthoAng
718     * Signature: (J)F
719     */
720    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingOrthoAng
721    (JNIEnv * env, jobject object, jlong jointId) {
722        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
723        if (joint == NULL) {
724            jclass newExc = env->FindClass("java/lang/NullPointerException");
725            env->ThrowNew(newExc, "The native object does not exist.");
726            return 0;
727        }
728        return joint->getDampingOrthoAng();
729    }
730
731    /*
732     * Class:     com_jme3_bullet_joints_SliderJoint
733     * Method:    setDampingOrthoAng
734     * Signature: (JF)V
735     */
736    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingOrthoAng
737    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
738        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
739        if (joint == NULL) {
740            jclass newExc = env->FindClass("java/lang/NullPointerException");
741            env->ThrowNew(newExc, "The native object does not exist.");
742            return;
743        }
744        joint->setDampingOrthoAng(value);
745    }
746
747    /*
748     * Class:     com_jme3_bullet_joints_SliderJoint
749     * Method:    isPoweredLinMotor
750     * Signature: (J)Z
751     */
752    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_SliderJoint_isPoweredLinMotor
753    (JNIEnv * env, jobject object, jlong jointId) {
754        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
755        if (joint == NULL) {
756            jclass newExc = env->FindClass("java/lang/NullPointerException");
757            env->ThrowNew(newExc, "The native object does not exist.");
758            return false;
759        }
760        return joint->getPoweredLinMotor();
761    }
762
763    /*
764     * Class:     com_jme3_bullet_joints_SliderJoint
765     * Method:    setPoweredLinMotor
766     * Signature: (JZ)V
767     */
768    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setPoweredLinMotor
769    (JNIEnv * env, jobject object, jlong jointId, jboolean value) {
770        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
771        if (joint == NULL) {
772            jclass newExc = env->FindClass("java/lang/NullPointerException");
773            env->ThrowNew(newExc, "The native object does not exist.");
774            return;
775        }
776        joint->setPoweredLinMotor(value);
777    }
778
779    /*
780     * Class:     com_jme3_bullet_joints_SliderJoint
781     * Method:    getTargetLinMotorVelocity
782     * Signature: (J)F
783     */
784    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getTargetLinMotorVelocity
785    (JNIEnv * env, jobject object, jlong jointId) {
786        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
787        if (joint == NULL) {
788            jclass newExc = env->FindClass("java/lang/NullPointerException");
789            env->ThrowNew(newExc, "The native object does not exist.");
790            return 0;
791        }
792        return joint->getTargetLinMotorVelocity();
793    }
794
795    /*
796     * Class:     com_jme3_bullet_joints_SliderJoint
797     * Method:    setTargetLinMotorVelocity
798     * Signature: (JF)V
799     */
800    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setTargetLinMotorVelocity
801    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
802        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
803        if (joint == NULL) {
804            jclass newExc = env->FindClass("java/lang/NullPointerException");
805            env->ThrowNew(newExc, "The native object does not exist.");
806            return;
807        }
808        joint->setTargetLinMotorVelocity(value);
809    }
810
811    /*
812     * Class:     com_jme3_bullet_joints_SliderJoint
813     * Method:    getMaxLinMotorForce
814     * Signature: (J)F
815     */
816    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getMaxLinMotorForce
817    (JNIEnv * env, jobject object, jlong jointId) {
818        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
819        if (joint == NULL) {
820            jclass newExc = env->FindClass("java/lang/NullPointerException");
821            env->ThrowNew(newExc, "The native object does not exist.");
822            return 0;
823        }
824        return joint->getMaxLinMotorForce();
825    }
826
827    /*
828     * Class:     com_jme3_bullet_joints_SliderJoint
829     * Method:    setMaxLinMotorForce
830     * Signature: (JF)V
831     */
832    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setMaxLinMotorForce
833    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
834        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
835        if (joint == NULL) {
836            jclass newExc = env->FindClass("java/lang/NullPointerException");
837            env->ThrowNew(newExc, "The native object does not exist.");
838            return;
839        }
840        joint->setMaxLinMotorForce(value);
841    }
842
843    /*
844     * Class:     com_jme3_bullet_joints_SliderJoint
845     * Method:    isPoweredAngMotor
846     * Signature: (J)Z
847     */
848    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_SliderJoint_isPoweredAngMotor
849    (JNIEnv * env, jobject object, jlong jointId) {
850        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
851        if (joint == NULL) {
852            jclass newExc = env->FindClass("java/lang/NullPointerException");
853            env->ThrowNew(newExc, "The native object does not exist.");
854            return false;
855        }
856        return joint->getPoweredAngMotor();
857    }
858
859    /*
860     * Class:     com_jme3_bullet_joints_SliderJoint
861     * Method:    setPoweredAngMotor
862     * Signature: (JZ)V
863     */
864    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setPoweredAngMotor
865    (JNIEnv * env, jobject object, jlong jointId, jboolean value) {
866        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
867        if (joint == NULL) {
868            jclass newExc = env->FindClass("java/lang/NullPointerException");
869            env->ThrowNew(newExc, "The native object does not exist.");
870            return;
871        }
872        joint->setPoweredAngMotor(value);
873    }
874
875    /*
876     * Class:     com_jme3_bullet_joints_SliderJoint
877     * Method:    getTargetAngMotorVelocity
878     * Signature: (J)F
879     */
880    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getTargetAngMotorVelocity
881    (JNIEnv * env, jobject object, jlong jointId) {
882        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
883        if (joint == NULL) {
884            jclass newExc = env->FindClass("java/lang/NullPointerException");
885            env->ThrowNew(newExc, "The native object does not exist.");
886            return 0;
887        }
888        return joint->getTargetAngMotorVelocity();
889    }
890
891    /*
892     * Class:     com_jme3_bullet_joints_SliderJoint
893     * Method:    setTargetAngMotorVelocity
894     * Signature: (JF)V
895     */
896    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setTargetAngMotorVelocity
897    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
898        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
899        if (joint == NULL) {
900            jclass newExc = env->FindClass("java/lang/NullPointerException");
901            env->ThrowNew(newExc, "The native object does not exist.");
902            return;
903        }
904        joint->setTargetAngMotorVelocity(value);
905    }
906
907    /*
908     * Class:     com_jme3_bullet_joints_SliderJoint
909     * Method:    getMaxAngMotorForce
910     * Signature: (J)F
911     */
912    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getMaxAngMotorForce
913    (JNIEnv * env, jobject object, jlong jointId) {
914        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
915        if (joint == NULL) {
916            jclass newExc = env->FindClass("java/lang/NullPointerException");
917            env->ThrowNew(newExc, "The native object does not exist.");
918            return 0;
919        }
920        return joint->getMaxAngMotorForce();
921    }
922
923    /*
924     * Class:     com_jme3_bullet_joints_SliderJoint
925     * Method:    setMaxAngMotorForce
926     * Signature: (JF)V
927     */
928    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setMaxAngMotorForce
929    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
930        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
931        if (joint == NULL) {
932            jclass newExc = env->FindClass("java/lang/NullPointerException");
933            env->ThrowNew(newExc, "The native object does not exist.");
934            return;
935        }
936        joint->setMaxAngMotorForce(value);
937    }
938
939    /*
940     * Class:     com_jme3_bullet_joints_SliderJoint
941     * Method:    createJoint
942     * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Z)J
943     */
944    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SliderJoint_createJoint
945    (JNIEnv * env, jobject object, jlong bodyIdA, jlong bodyIdB, jobject pivotA, jobject rotA, jobject pivotB, jobject rotB, jboolean useLinearReferenceFrameA) {
946        jmeClasses::initJavaClasses(env);
947        btRigidBody* bodyA = reinterpret_cast<btRigidBody*>(bodyIdA);
948        btRigidBody* bodyB = reinterpret_cast<btRigidBody*>(bodyIdB);
949        btMatrix3x3 mtx1 = btMatrix3x3();
950        btMatrix3x3 mtx2 = btMatrix3x3();
951        btTransform transA = btTransform(mtx1);
952        jmeBulletUtil::convert(env, pivotA, &transA.getOrigin());
953        jmeBulletUtil::convert(env, rotA, &transA.getBasis());
954        btTransform transB = btTransform(mtx2);
955        jmeBulletUtil::convert(env, pivotB, &transB.getOrigin());
956        jmeBulletUtil::convert(env, rotB, &transB.getBasis());
957        btSliderConstraint* joint = new btSliderConstraint(*bodyA, *bodyB, transA, transB, useLinearReferenceFrameA);
958        return reinterpret_cast<jlong>(joint);
959    }
960
961#ifdef __cplusplus
962}
963#endif
964