Strijar

Untitled

Jan 7th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 7.09 KB | None | 0 0
  1. diff --git a/jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsSoftBody.cpp b/jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsSoftBody.cpp
  2. index c469040..13c41b2 100644
  3. --- a/jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsSoftBody.cpp
  4. +++ b/jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsSoftBody.cpp
  5. @@ -190,6 +190,80 @@ extern "C" {
  6.  
  7.      /*
  8.       * Class:     com_jme3_bullet_objects_PhysicsSoftBody
  9. +     * Method:    appendAnchor
  10. +     * Signature: (J)J
  11. +     */
  12. +    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsSoftBody_appendAnchor
  13. +    (JNIEnv *env, jobject object, long bodyId, int node, long rigidBodyId, jboolean collisionBetweenLinkedBodies, float influence) {
  14. +        btSoftBody* body = reinterpret_cast<btSoftBody*> (bodyId);
  15. +        if (body == NULL) {
  16. +            jclass newExc = env->FindClass("java/lang/NullPointerException");
  17. +            env->ThrowNew(newExc, "The native object does not exist.");
  18. +            return;
  19. +        }
  20. +
  21. +        btRigidBody* rigidBody = reinterpret_cast<btRigidBody*> (rigidBodyId);
  22. +        if (rigidBody == NULL) {
  23. +            jclass newExc = env->FindClass("java/lang/NullPointerException");
  24. +            env->ThrowNew(newExc, "The native object does not exist.");
  25. +            return;
  26. +        }
  27. +
  28. +        body->appendAnchor(node, rigidBody, collisionBetweenLinkedBodies, influence);
  29. +    }
  30. +
  31. +    /*
  32. +     * Class:     com_jme3_bullet_objects_PhysicsSoftBody
  33. +     * Method:    appendAnchor
  34. +     * Signature: (J)J
  35. +     */
  36. +    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsSoftBody_appendAnchor2
  37. +    (JNIEnv *env, jobject object, long bodyId, int node, long rigidBodyId, jobject localPivot, jboolean collisionBetweenLinkedBodies, float influence) {
  38. +        btSoftBody* body = reinterpret_cast<btSoftBody*> (bodyId);
  39. +        if (body == NULL) {
  40. +            jclass newExc = env->FindClass("java/lang/NullPointerException");
  41. +            env->ThrowNew(newExc, "The native object does not exist.");
  42. +            return;
  43. +        }
  44. +
  45. +        btRigidBody* rigidBody = reinterpret_cast<btRigidBody*> (rigidBodyId);
  46. +        if (rigidBody == NULL) {
  47. +            jclass newExc = env->FindClass("java/lang/NullPointerException");
  48. +            env->ThrowNew(newExc, "The native object does not exist.");
  49. +            return;
  50. +        }
  51. +
  52. +        btVector3 vec = btVector3();
  53. +        jmeBulletUtil::convert(env, localPivot, &vec);
  54. +        body->appendAnchor(node, rigidBody, vec, collisionBetweenLinkedBodies, influence);
  55. +    }
  56. +
  57. +    /*
  58. +     * Class:     com_jme3_bullet_objects_PhysicsSoftBody
  59. +     * Method:    appendAnchor
  60. +     * Signature: (J)J
  61. +     */
  62. +    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsSoftBody_appendAnchor3
  63. +    (JNIEnv *env, jobject object, long bodyId, int node, long rigidBodyId) {
  64. +        btSoftBody* body = reinterpret_cast<btSoftBody*> (bodyId);
  65. +        if (body == NULL) {
  66. +            jclass newExc = env->FindClass("java/lang/NullPointerException");
  67. +            env->ThrowNew(newExc, "The native object does not exist.");
  68. +            return;
  69. +        }
  70. +
  71. +        btRigidBody* rigidBody = reinterpret_cast<btRigidBody*> (rigidBodyId);
  72. +        if (rigidBody == NULL) {
  73. +            jclass newExc = env->FindClass("java/lang/NullPointerException");
  74. +            env->ThrowNew(newExc, "The native object does not exist.");
  75. +            return;
  76. +        }
  77. +
  78. +        body->appendAnchor(node, rigidBody);
  79. +    }
  80. +
  81. +    /*
  82. +     * Class:     com_jme3_bullet_objects_PhysicsSoftBody
  83.       * Method:    addForce
  84.       * Signature: (JLcom/jme3/math/Vector3f;)V
  85.       */
  86. diff --git a/jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsSoftBody.h b/jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsSoftBody.h
  87. index 7357864..9b95adb 100644
  88. --- a/jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsSoftBody.h
  89. +++ b/jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsSoftBody.h
  90. @@ -83,6 +83,30 @@ JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsSoftBody_getSoftBody
  91.  
  92.  /*
  93.   * Class:     com_jme3_bullet_objects_PhysicsSoftBody
  94. + * Method:    appendAnchor
  95. + * Signature: (J)J
  96. + */
  97. +JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsSoftBody_appendAnchor
  98. +  (JNIEnv *env, jobject object, long bodyId, int node, long rigidBodyId, jboolean collisionBetweenLinkedBodies, float influence);
  99. +
  100. +/*
  101. + * Class:     com_jme3_bullet_objects_PhysicsSoftBody
  102. + * Method:    appendAnchor
  103. + * Signature: (J)J
  104. + */
  105. +JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsSoftBody_appendAnchor2
  106. +  (JNIEnv *env, jobject object, long bodyId, int node, long rigidBodyId, jobject localPivot, jboolean collisionBetweenLinkedBodies, float influence);
  107. +
  108. +/*
  109. + * Class:     com_jme3_bullet_objects_PhysicsSoftBody
  110. + * Method:    appendAnchor
  111. + * Signature: (J)J
  112. + */
  113. +JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsSoftBody_appendAnchor3
  114. +  (JNIEnv *env, jobject object, long bodyId, int node, long rigidBodyId);
  115. +
  116. +/*
  117. + * Class:     com_jme3_bullet_objects_PhysicsSoftBody
  118.   * Method:    getMaterial
  119.   * Signature: (J)J
  120.   */
  121. diff --git a/jme3-bullet/src/main/java/com/jme3/bullet/objects/PhysicsSoftBody.java b/jme3-bullet/src/main/java/com/jme3/bullet/objects/PhysicsSoftBody.java
  122. index 88ac905..71d419f 100644
  123. --- a/jme3-bullet/src/main/java/com/jme3/bullet/objects/PhysicsSoftBody.java
  124. +++ b/jme3-bullet/src/main/java/com/jme3/bullet/objects/PhysicsSoftBody.java
  125. @@ -270,13 +270,21 @@ public class PhysicsSoftBody extends PhysicsCollisionObject implements Savable {
  126.  
  127.  
  128.      /* Append anchor */
  129. - /* public void appendAnchor(int node, PhysicsRigidBody rigidBody, boolean collisionBetweenLinkedBodies, float influence) {
  130. +    public void appendAnchor(int node, PhysicsRigidBody rigidBody, boolean collisionBetweenLinkedBodies, float influence) {
  131. +       appendAnchor(objectId, node, rigidBody.getObjectId(), collisionBetweenLinkedBodies, influence);
  132. +    }
  133.  
  134. -     }
  135. +    public void appendAnchor(int node, PhysicsRigidBody rigidBody, Vector3f localPivot, boolean collisionBetweenLinkedBodies, float influence) {
  136. +       appendAnchor2(objectId, node, rigidBody.getObjectId(), localPivot, collisionBetweenLinkedBodies, influence);
  137. +    }
  138.  
  139. -     public void appendAnchor(int node, PhysicsRigidBody rigidBody, Vector3f localPivot, boolean collisionBetweenLinkedBodies, float influence) {
  140. +    public void appendAnchor(int node, PhysicsRigidBody rigidBody) {
  141. +       appendAnchor3(objectId, node, rigidBody.getObjectId());
  142. +    }
  143.  
  144. -     }*/
  145. +    private native void appendAnchor(long bodyId, int node, long rigidBodyId, boolean collisionBetweenLinkedBodies, float influence);
  146. +    private native void appendAnchor2(long bodyId, int node, long rigidBodyId, Vector3f localPivot, boolean collisionBetweenLinkedBodies, float influence);
  147. +    private native void appendAnchor3(long bodyId, int node, long rigidBodyId);
  148.  
  149.   /* Append linear joint        */
  150.   /*public void appendLinearJoint(const LJoint::Specs& specs,Cluster* body0,Body body1){
Advertisement
Add Comment
Please, Sign In to add comment