浏览代码

- big refactoring of engine build and cleaning of sources, totally breaking SDK build for now
- separate jar files for engine components
- resolve dependencies between code parts
- remove Nifty dependency from Cinematics
- remove Physics dependency from TerrainGrid
- add public accessors to Natives Extraction
- remove RenderHint serialization from networking

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8838 75d07b2b-3a1a-0410-a2c5-0572b91ccdca

nor..67 14 年之前
父节点
当前提交
1cc957e7e9
共有 100 个文件被更改,包括 0 次插入15476 次删除
  1. 0 72
      engine/src/android/nbproject/project.xml
  2. 0 50
      engine/src/bullet/com/jme3/bullet/collision/shapes/infos/ChildCollisionShape.java
  3. 0 208
      engine/src/bullet/com/jme3/bullet/control/CharacterControl.java
  4. 0 178
      engine/src/bullet/com/jme3/bullet/control/GhostControl.java
  5. 0 873
      engine/src/bullet/com/jme3/bullet/control/KinematicRagdollControl.java
  6. 0 28
      engine/src/bullet/com/jme3/bullet/control/PhysicsControl.java
  7. 0 266
      engine/src/bullet/com/jme3/bullet/control/RigidBodyControl.java
  8. 0 270
      engine/src/bullet/com/jme3/bullet/control/VehicleControl.java
  9. 0 99
      engine/src/bullet/com/jme3/bullet/control/ragdoll/HumanoidRagdollPreset.java
  10. 0 106
      engine/src/bullet/com/jme3/bullet/control/ragdoll/RagdollPreset.java
  11. 0 273
      engine/src/bullet/com/jme3/bullet/control/ragdoll/RagdollUtils.java
  12. 0 259
      engine/src/bullet/native/android/Android.mk
  13. 0 2
      engine/src/bullet/native/android/Application.mk
  14. 0 273
      engine/src/bullet/native/android/jmePhysicsSpace.cpp
  15. 0 310
      engine/src/bullet/native/build.xml
  16. 0 169
      engine/src/bullet/native/bullet-native-build.txt
  17. 0 35
      engine/src/bullet/native/bullet.properties
  18. 0 450
      engine/src/bullet/native/com_jme3_bullet_PhysicsSpace.cpp
  19. 0 165
      engine/src/bullet/native/com_jme3_bullet_PhysicsSpace.h
  20. 0 308
      engine/src/bullet/native/com_jme3_bullet_collision_PhysicsCollisionEvent.cpp
  21. 0 173
      engine/src/bullet/native/com_jme3_bullet_collision_PhysicsCollisionEvent.h
  22. 0 148
      engine/src/bullet/native/com_jme3_bullet_collision_PhysicsCollisionObject.cpp
  23. 0 87
      engine/src/bullet/native/com_jme3_bullet_collision_PhysicsCollisionObject.h
  24. 0 59
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_BoxCollisionShape.cpp
  25. 0 21
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_BoxCollisionShape.h
  26. 0 68
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_CapsuleCollisionShape.cpp
  27. 0 21
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_CapsuleCollisionShape.h
  28. 0 110
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_CollisionShape.cpp
  29. 0 45
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_CollisionShape.h
  30. 0 107
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_CompoundCollisionShape.cpp
  31. 0 37
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_CompoundCollisionShape.h
  32. 0 68
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_ConeCollisionShape.cpp
  33. 0 21
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_ConeCollisionShape.h
  34. 0 70
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_CylinderCollisionShape.cpp
  35. 0 21
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_CylinderCollisionShape.h
  36. 0 70
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_GImpactCollisionShape.cpp
  37. 0 29
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_GImpactCollisionShape.h
  38. 0 59
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_HeightfieldCollisionShape.cpp
  39. 0 21
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_HeightfieldCollisionShape.h
  40. 0 69
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_HullCollisionShape.cpp
  41. 0 21
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_HullCollisionShape.h
  42. 0 70
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_MeshCollisionShape.cpp
  43. 0 29
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_MeshCollisionShape.h
  44. 0 60
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_PlaneCollisionShape.cpp
  45. 0 21
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_PlaneCollisionShape.h
  46. 0 110
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_SimplexCollisionShape.cpp
  47. 0 45
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_SimplexCollisionShape.h
  48. 0 57
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_SphereCollisionShape.cpp
  49. 0 21
      engine/src/bullet/native/com_jme3_bullet_collision_shapes_SphereCollisionShape.h
  50. 0 100
      engine/src/bullet/native/com_jme3_bullet_joints_ConeJoint.cpp
  51. 0 37
      engine/src/bullet/native/com_jme3_bullet_joints_ConeJoint.h
  52. 0 226
      engine/src/bullet/native/com_jme3_bullet_joints_HingeJoint.cpp
  53. 0 101
      engine/src/bullet/native/com_jme3_bullet_joints_HingeJoint.h
  54. 0 61
      engine/src/bullet/native/com_jme3_bullet_joints_PhysicsJoint.cpp
  55. 0 29
      engine/src/bullet/native/com_jme3_bullet_joints_PhysicsJoint.h
  56. 0 162
      engine/src/bullet/native/com_jme3_bullet_joints_Point2PointJoint.cpp
  57. 0 69
      engine/src/bullet/native/com_jme3_bullet_joints_Point2PointJoint.h
  58. 0 170
      engine/src/bullet/native/com_jme3_bullet_joints_SixDofJoint.cpp
  59. 0 69
      engine/src/bullet/native/com_jme3_bullet_joints_SixDofJoint.h
  60. 0 94
      engine/src/bullet/native/com_jme3_bullet_joints_SixDofSpringJoint.cpp
  61. 0 61
      engine/src/bullet/native/com_jme3_bullet_joints_SixDofSpringJoint.h
  62. 0 963
      engine/src/bullet/native/com_jme3_bullet_joints_SliderJoint.cpp
  63. 0 469
      engine/src/bullet/native/com_jme3_bullet_joints_SliderJoint.h
  64. 0 365
      engine/src/bullet/native/com_jme3_bullet_joints_motors_RotationalLimitMotor.cpp
  65. 0 173
      engine/src/bullet/native/com_jme3_bullet_joints_motors_RotationalLimitMotor.h
  66. 0 237
      engine/src/bullet/native/com_jme3_bullet_joints_motors_TranslationalLimitMotor.cpp
  67. 0 109
      engine/src/bullet/native/com_jme3_bullet_joints_motors_TranslationalLimitMotor.h
  68. 0 388
      engine/src/bullet/native/com_jme3_bullet_objects_PhysicsCharacter.cpp
  69. 0 215
      engine/src/bullet/native/com_jme3_bullet_objects_PhysicsCharacter.h
  70. 0 313
      engine/src/bullet/native/com_jme3_bullet_objects_PhysicsGhostObject.cpp
  71. 0 167
      engine/src/bullet/native/com_jme3_bullet_objects_PhysicsGhostObject.h
  72. 0 849
      engine/src/bullet/native/com_jme3_bullet_objects_PhysicsRigidBody.cpp
  73. 0 415
      engine/src/bullet/native/com_jme3_bullet_objects_PhysicsRigidBody.h
  74. 0 272
      engine/src/bullet/native/com_jme3_bullet_objects_PhysicsVehicle.cpp
  75. 0 143
      engine/src/bullet/native/com_jme3_bullet_objects_PhysicsVehicle.h
  76. 0 147
      engine/src/bullet/native/com_jme3_bullet_objects_VehicleWheel.cpp
  77. 0 61
      engine/src/bullet/native/com_jme3_bullet_objects_VehicleWheel.h
  78. 0 138
      engine/src/bullet/native/com_jme3_bullet_objects_infos_RigidBodyMotionState.cpp
  79. 0 61
      engine/src/bullet/native/com_jme3_bullet_objects_infos_RigidBodyMotionState.h
  80. 0 152
      engine/src/bullet/native/com_jme3_bullet_util_DebugShapeFactory.cpp
  81. 0 21
      engine/src/bullet/native/com_jme3_bullet_util_DebugShapeFactory.h
  82. 0 59
      engine/src/bullet/native/com_jme3_bullet_util_NativeMeshUtil.cpp
  83. 0 21
      engine/src/bullet/native/com_jme3_bullet_util_NativeMeshUtil.h
  84. 0 327
      engine/src/bullet/native/jmeBulletUtil.cpp
  85. 0 61
      engine/src/bullet/native/jmeBulletUtil.h
  86. 0 250
      engine/src/bullet/native/jmeClasses.cpp
  87. 0 99
      engine/src/bullet/native/jmeClasses.h
  88. 0 89
      engine/src/bullet/native/jmeMotionState.cpp
  89. 0 57
      engine/src/bullet/native/jmeMotionState.h
  90. 0 273
      engine/src/bullet/native/jmePhysicsSpace.cpp
  91. 0 76
      engine/src/bullet/native/jmePhysicsSpace.h
  92. 0 6
      engine/src/bullet/native/nativeclasses.txt
  93. 0 68
      engine/src/bullet/nbproject/project.xml
  94. 0 131
      engine/src/desktop/com/jme3/asset/AssetCache.java
  95. 0 22
      engine/src/desktop/com/jme3/asset/Desktop.cfg
  96. 0 421
      engine/src/desktop/com/jme3/asset/DesktopAssetManager.java
  97. 0 209
      engine/src/desktop/com/jme3/asset/ImplHandler.java
  98. 0 103
      engine/src/desktop/com/jme3/asset/ThreadingManager.java
  99. 0 122
      engine/src/desktop/com/jme3/asset/plugins/ClasspathLocator.java
  100. 0 113
      engine/src/desktop/com/jme3/asset/plugins/FileLocator.java

+ 0 - 72
engine/src/android/nbproject/project.xml

@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.ant.freeform</type>
-    <configuration>
-        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
-            <name>jMonkeyEngine3 - Android</name>
-        </general-data>
-        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/2">
-            <!-- Do not use Project Properties customizer when editing this file manually. -->
-            <name>jMonkeyEngine3 - Android</name>
-            <properties>
-                <property name="ant.script">../../build.xml</property>
-            </properties>
-            <folders>
-                <source-folder>
-                    <label>Source Packages</label>
-                    <type>java</type>
-                    <location>.</location>
-                    <encoding>MacRoman</encoding>
-                </source-folder>
-            </folders>
-            <ide-actions>
-                <action name="build">
-                    <script>${ant.script}</script>
-                    <target>jar</target>
-                </action>
-                <action name="clean">
-                    <script>${ant.script}</script>
-                    <target>clean</target>
-                </action>
-                <action name="javadoc">
-                    <script>${ant.script}</script>
-                    <target>javadoc</target>
-                </action>
-                <action name="run">
-                    <script>${ant.script}</script>
-                    <target>run</target>
-                </action>
-                <action name="rebuild">
-                    <script>${ant.script}</script>
-                    <target>clean</target>
-                    <target>jar</target>
-                </action>
-            </ide-actions>
-            <view>
-                <items>
-                    <source-folder style="packages">
-                        <label>Source Packages</label>
-                        <location>.</location>
-                    </source-folder>
-                    <source-file>
-                        <location>${ant.script}</location>
-                    </source-file>
-                </items>
-                <context-menu>
-                    <ide-action name="build"/>
-                    <ide-action name="rebuild"/>
-                    <ide-action name="clean"/>
-                    <ide-action name="javadoc"/>
-                    <ide-action name="run"/>
-                </context-menu>
-            </view>
-        </general-data>
-        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/1">
-            <compilation-unit>
-                <package-root>.</package-root>
-                <classpath mode="compile">../../lib/android/android.jar:../../dist/jMonkeyEngine3.jar</classpath>
-                <source-level>1.5</source-level>
-            </compilation-unit>
-        </java-data>
-    </configuration>
-</project>

+ 0 - 50
engine/src/bullet/com/jme3/bullet/collision/shapes/infos/ChildCollisionShape.java

@@ -1,50 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.bullet.collision.shapes.infos;
-
-import com.jme3.bullet.collision.shapes.BoxCollisionShape;
-import com.jme3.bullet.collision.shapes.CollisionShape;
-import com.jme3.export.InputCapsule;
-import com.jme3.export.JmeExporter;
-import com.jme3.export.JmeImporter;
-import com.jme3.export.OutputCapsule;
-import com.jme3.export.Savable;
-import com.jme3.math.Matrix3f;
-import com.jme3.math.Vector3f;
-import java.io.IOException;
-
-/**
- *
- * @author normenhansen
- */
-public class ChildCollisionShape implements Savable {
-
-    public Vector3f location;
-    public Matrix3f rotation;
-    public CollisionShape shape;
-
-    public ChildCollisionShape() {
-    }
-
-    public ChildCollisionShape(Vector3f location, Matrix3f rotation, CollisionShape shape) {
-        this.location = location;
-        this.rotation = rotation;
-        this.shape = shape;
-    }
-
-    public void write(JmeExporter ex) throws IOException {
-        OutputCapsule capsule = ex.getCapsule(this);
-        capsule.write(location, "location", new Vector3f());
-        capsule.write(rotation, "rotation", new Matrix3f());
-        capsule.write(shape, "shape", new BoxCollisionShape(new Vector3f(1, 1, 1)));
-    }
-
-    public void read(JmeImporter im) throws IOException {
-        InputCapsule capsule = im.getCapsule(this);
-        location = (Vector3f) capsule.readSavable("location", new Vector3f());
-        rotation = (Matrix3f) capsule.readSavable("rotation", new Matrix3f());
-        shape = (CollisionShape) capsule.readSavable("shape", new BoxCollisionShape(new Vector3f(1, 1, 1)));
-    }
-}

+ 0 - 208
engine/src/bullet/com/jme3/bullet/control/CharacterControl.java

@@ -1,208 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.bullet.control;
-
-import com.jme3.bullet.PhysicsSpace;
-import com.jme3.bullet.collision.shapes.CollisionShape;
-import com.jme3.bullet.objects.PhysicsCharacter;
-import com.jme3.export.InputCapsule;
-import com.jme3.export.JmeExporter;
-import com.jme3.export.JmeImporter;
-import com.jme3.export.OutputCapsule;
-import com.jme3.math.Quaternion;
-import com.jme3.math.Vector3f;
-import com.jme3.renderer.RenderManager;
-import com.jme3.renderer.ViewPort;
-import com.jme3.scene.Spatial;
-import com.jme3.scene.control.Control;
-import java.io.IOException;
-
-/**
- *
- * @author normenhansen
- */
-public class CharacterControl extends PhysicsCharacter implements PhysicsControl {
-
-    protected Spatial spatial;
-    protected boolean enabled = true;
-    protected boolean added = false;
-    protected PhysicsSpace space = null;
-    protected Vector3f viewDirection = new Vector3f(Vector3f.UNIT_Z);
-    protected boolean useViewDirection = true;
-    protected boolean applyLocal = false;
-
-    public CharacterControl() {
-    }
-
-    public CharacterControl(CollisionShape shape, float stepHeight) {
-        super(shape, stepHeight);
-    }
-
-    public boolean isApplyPhysicsLocal() {
-        return applyLocal;
-    }
-
-    /**
-     * When set to true, the physics coordinates will be applied to the local
-     * translation of the Spatial
-     * @param applyPhysicsLocal
-     */
-    public void setApplyPhysicsLocal(boolean applyPhysicsLocal) {
-        applyLocal = applyPhysicsLocal;
-    }
-
-    private Vector3f getSpatialTranslation() {
-        if (applyLocal) {
-            return spatial.getLocalTranslation();
-        }
-        return spatial.getWorldTranslation();
-    }
-
-    public Control cloneForSpatial(Spatial spatial) {
-        CharacterControl control = new CharacterControl(collisionShape, stepHeight);
-        control.setCcdMotionThreshold(getCcdMotionThreshold());
-        control.setCcdSweptSphereRadius(getCcdSweptSphereRadius());
-        control.setCollideWithGroups(getCollideWithGroups());
-        control.setCollisionGroup(getCollisionGroup());
-        control.setFallSpeed(getFallSpeed());
-        control.setGravity(getGravity());
-        control.setJumpSpeed(getJumpSpeed());
-        control.setMaxSlope(getMaxSlope());
-        control.setPhysicsLocation(getPhysicsLocation());
-        control.setUpAxis(getUpAxis());
-        control.setApplyPhysicsLocal(isApplyPhysicsLocal());
-
-        control.setSpatial(spatial);
-        return control;
-    }
-
-    public void setSpatial(Spatial spatial) {
-        if (getUserObject() == null || getUserObject() == this.spatial) {
-            setUserObject(spatial);
-        }
-        this.spatial = spatial;
-        if (spatial == null) {
-            if (getUserObject() == spatial) {
-                setUserObject(null);
-            }
-            return;
-        }
-        setPhysicsLocation(getSpatialTranslation());
-    }
-
-    public void setEnabled(boolean enabled) {
-        this.enabled = enabled;
-        if (space != null) {
-            if (enabled && !added) {
-                if (spatial != null) {
-                    warp(getSpatialTranslation());
-                }
-                space.addCollisionObject(this);
-                added = true;
-            } else if (!enabled && added) {
-                space.removeCollisionObject(this);
-                added = false;
-            }
-        }
-    }
-
-    public boolean isEnabled() {
-        return enabled;
-    }
-
-    public void setViewDirection(Vector3f vec) {
-        viewDirection.set(vec);
-    }
-
-    public Vector3f getViewDirection() {
-        return viewDirection;
-    }
-
-    public boolean isUseViewDirection() {
-        return useViewDirection;
-    }
-
-    public void setUseViewDirection(boolean viewDirectionEnabled) {
-        this.useViewDirection = viewDirectionEnabled;
-    }
-
-    public void update(float tpf) {
-        if (enabled && spatial != null) {
-            Quaternion localRotationQuat = spatial.getLocalRotation();
-            Vector3f localLocation = spatial.getLocalTranslation();
-            if (!applyLocal && spatial.getParent() != null) {
-                getPhysicsLocation(localLocation);
-                localLocation.subtractLocal(spatial.getParent().getWorldTranslation());
-                localLocation.divideLocal(spatial.getParent().getWorldScale());
-                tmp_inverseWorldRotation.set(spatial.getParent().getWorldRotation()).inverseLocal().multLocal(localLocation);
-                spatial.setLocalTranslation(localLocation);
-
-                if (useViewDirection) {
-                    localRotationQuat.lookAt(viewDirection, Vector3f.UNIT_Y);
-                    spatial.setLocalRotation(localRotationQuat);
-                }
-            } else {
-                spatial.setLocalTranslation(getPhysicsLocation());
-                localRotationQuat.lookAt(viewDirection, Vector3f.UNIT_Y);
-                spatial.setLocalRotation(localRotationQuat);
-            }
-        }
-    }
-
-    public void render(RenderManager rm, ViewPort vp) {
-        if (enabled && space != null && space.getDebugManager() != null) {
-            if (debugShape == null) {
-                attachDebugShape(space.getDebugManager());
-            }
-            debugShape.setLocalTranslation(getPhysicsLocation());
-            debugShape.updateLogicalState(0);
-            debugShape.updateGeometricState();
-            rm.renderScene(debugShape, vp);
-        }
-    }
-
-    public void setPhysicsSpace(PhysicsSpace space) {
-        if (space == null) {
-            if (this.space != null) {
-                this.space.removeCollisionObject(this);
-                added = false;
-            }
-        } else {
-            if (this.space == space) {
-                return;
-            }
-            space.addCollisionObject(this);
-            added = true;
-        }
-        this.space = space;
-    }
-
-    public PhysicsSpace getPhysicsSpace() {
-        return space;
-    }
-
-    @Override
-    public void write(JmeExporter ex) throws IOException {
-        super.write(ex);
-        OutputCapsule oc = ex.getCapsule(this);
-        oc.write(enabled, "enabled", true);
-        oc.write(applyLocal, "applyLocalPhysics", false);
-        oc.write(useViewDirection, "viewDirectionEnabled", true);
-        oc.write(viewDirection, "viewDirection", new Vector3f(Vector3f.UNIT_Z));
-        oc.write(spatial, "spatial", null);
-    }
-
-    @Override
-    public void read(JmeImporter im) throws IOException {
-        super.read(im);
-        InputCapsule ic = im.getCapsule(this);
-        enabled = ic.readBoolean("enabled", true);
-        useViewDirection = ic.readBoolean("viewDirectionEnabled", true);
-        viewDirection = (Vector3f) ic.readSavable("viewDirection", new Vector3f(Vector3f.UNIT_Z));
-        applyLocal = ic.readBoolean("applyLocalPhysics", false);
-        spatial = (Spatial) ic.readSavable("spatial", null);
-        setUserObject(spatial);
-    }
-}

+ 0 - 178
engine/src/bullet/com/jme3/bullet/control/GhostControl.java

@@ -1,178 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.bullet.control;
-
-import com.jme3.bullet.PhysicsSpace;
-import com.jme3.bullet.collision.shapes.CollisionShape;
-import com.jme3.bullet.objects.PhysicsGhostObject;
-import com.jme3.export.InputCapsule;
-import com.jme3.export.JmeExporter;
-import com.jme3.export.JmeImporter;
-import com.jme3.export.OutputCapsule;
-import com.jme3.math.Quaternion;
-import com.jme3.math.Vector3f;
-import com.jme3.renderer.RenderManager;
-import com.jme3.renderer.ViewPort;
-import com.jme3.scene.Spatial;
-import com.jme3.scene.control.Control;
-import java.io.IOException;
-
-/**
- * A GhostControl moves with the spatial it is attached to and can be used to check
- * overlaps with other physics objects (e.g. aggro radius).
- * @author normenhansen
- */
-public class GhostControl extends PhysicsGhostObject implements PhysicsControl {
-
-    protected Spatial spatial;
-    protected boolean enabled = true;
-    protected boolean added = false;
-    protected PhysicsSpace space = null;
-    protected boolean applyLocal = false;
-
-    public GhostControl() {
-    }
-
-    public GhostControl(CollisionShape shape) {
-        super(shape);
-    }
-
-    public boolean isApplyPhysicsLocal() {
-        return applyLocal;
-    }
-
-    /**
-     * When set to true, the physics coordinates will be applied to the local
-     * translation of the Spatial
-     * @param applyPhysicsLocal
-     */
-    public void setApplyPhysicsLocal(boolean applyPhysicsLocal) {
-        applyLocal = applyPhysicsLocal;
-    }
-
-    private Vector3f getSpatialTranslation() {
-        if (applyLocal) {
-            return spatial.getLocalTranslation();
-        }
-        return spatial.getWorldTranslation();
-    }
-
-    private Quaternion getSpatialRotation() {
-        if (applyLocal) {
-            return spatial.getLocalRotation();
-        }
-        return spatial.getWorldRotation();
-    }
-
-    public Control cloneForSpatial(Spatial spatial) {
-        GhostControl control = new GhostControl(collisionShape);
-        control.setCcdMotionThreshold(getCcdMotionThreshold());
-        control.setCcdSweptSphereRadius(getCcdSweptSphereRadius());
-        control.setCollideWithGroups(getCollideWithGroups());
-        control.setCollisionGroup(getCollisionGroup());
-        control.setPhysicsLocation(getPhysicsLocation());
-        control.setPhysicsRotation(getPhysicsRotationMatrix());
-        control.setApplyPhysicsLocal(isApplyPhysicsLocal());
-
-        control.setSpatial(spatial);
-        return control;
-    }
-
-    public void setSpatial(Spatial spatial) {
-        if (getUserObject() == null || getUserObject() == this.spatial) {
-            setUserObject(spatial);
-        }
-        this.spatial = spatial;
-        if (spatial == null) {
-            if (getUserObject() == spatial) {
-                setUserObject(null);
-            }
-            return;
-        }
-        setPhysicsLocation(getSpatialTranslation());
-        setPhysicsRotation(getSpatialRotation());
-    }
-
-    public void setEnabled(boolean enabled) {
-        this.enabled = enabled;
-        if (space != null) {
-            if (enabled && !added) {
-                if (spatial != null) {
-                    setPhysicsLocation(getSpatialTranslation());
-                    setPhysicsRotation(getSpatialRotation());
-                }
-                space.addCollisionObject(this);
-                added = true;
-            } else if (!enabled && added) {
-                space.removeCollisionObject(this);
-                added = false;
-            }
-        }
-    }
-
-    public boolean isEnabled() {
-        return enabled;
-    }
-
-    public void update(float tpf) {
-        if (!enabled) {
-            return;
-        }
-        setPhysicsLocation(getSpatialTranslation());
-        setPhysicsRotation(getSpatialRotation());
-    }
-
-    public void render(RenderManager rm, ViewPort vp) {
-        if (enabled && space != null && space.getDebugManager() != null) {
-            if (debugShape == null) {
-                attachDebugShape(space.getDebugManager());
-            }
-            debugShape.setLocalTranslation(spatial.getWorldTranslation());
-            debugShape.setLocalRotation(spatial.getWorldRotation());
-            debugShape.updateLogicalState(0);
-            debugShape.updateGeometricState();
-            rm.renderScene(debugShape, vp);
-        }
-    }
-
-    public void setPhysicsSpace(PhysicsSpace space) {
-        if (space == null) {
-            if (this.space != null) {
-                this.space.removeCollisionObject(this);
-                added = false;
-            }
-        } else {
-            if (this.space == space) {
-                return;
-            }
-            space.addCollisionObject(this);
-            added = true;
-        }
-        this.space = space;
-    }
-
-    public PhysicsSpace getPhysicsSpace() {
-        return space;
-    }
-
-    @Override
-    public void write(JmeExporter ex) throws IOException {
-        super.write(ex);
-        OutputCapsule oc = ex.getCapsule(this);
-        oc.write(enabled, "enabled", true);
-        oc.write(applyLocal, "applyLocalPhysics", false);
-        oc.write(spatial, "spatial", null);
-    }
-
-    @Override
-    public void read(JmeImporter im) throws IOException {
-        super.read(im);
-        InputCapsule ic = im.getCapsule(this);
-        enabled = ic.readBoolean("enabled", true);
-        spatial = (Spatial) ic.readSavable("spatial", null);
-        applyLocal = ic.readBoolean("applyLocalPhysics", false);
-        setUserObject(spatial);
-    }
-}

+ 0 - 873
engine/src/bullet/com/jme3/bullet/control/KinematicRagdollControl.java

@@ -1,873 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-package com.jme3.bullet.control;
-
-import com.jme3.bullet.control.ragdoll.RagdollPreset;
-import com.jme3.bullet.control.ragdoll.HumanoidRagdollPreset;
-import com.jme3.animation.AnimControl;
-import com.jme3.animation.Bone;
-import com.jme3.animation.Skeleton;
-import com.jme3.animation.SkeletonControl;
-import com.jme3.asset.AssetManager;
-import com.jme3.bullet.PhysicsSpace;
-import com.jme3.bullet.collision.PhysicsCollisionEvent;
-import com.jme3.bullet.collision.PhysicsCollisionListener;
-import com.jme3.bullet.collision.PhysicsCollisionObject;
-import com.jme3.bullet.collision.RagdollCollisionListener;
-import com.jme3.bullet.collision.shapes.BoxCollisionShape;
-import com.jme3.bullet.collision.shapes.HullCollisionShape;
-import com.jme3.bullet.control.ragdoll.RagdollUtils;
-import com.jme3.bullet.joints.SixDofJoint;
-import com.jme3.bullet.objects.PhysicsRigidBody;
-import com.jme3.export.JmeExporter;
-import com.jme3.export.JmeImporter;
-import com.jme3.math.Quaternion;
-import com.jme3.math.Vector3f;
-import com.jme3.renderer.RenderManager;
-import com.jme3.renderer.ViewPort;
-import com.jme3.scene.Node;
-import com.jme3.scene.Spatial;
-import com.jme3.scene.control.Control;
-import com.jme3.util.TempVars;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**<strong>This control is still a WIP, use it at your own risk</strong><br>
- * To use this control you need a model with an AnimControl and a SkeletonControl.<br>
- * This should be the case if you imported an animated model from Ogre or blender.<br>
- * Note enabling/disabling the control add/removes it from the physic space<br>
- * <p>
- * This control creates collision shapes for each bones of the skeleton when you call spatial.addControl(ragdollControl).
- * <ul>
- *     <li>The shape is HullCollision shape based on the vertices associated with each bone and based on a tweakable weight threshold (see setWeightThreshold)</li>
- *     <li>If you don't want each bone to be a collision shape, you can specify what bone to use by using the addBoneName method<br>
- *         By using this method, bone that are not used to create a shape, are "merged" to their parent to create the collision shape.
- *     </li>
- * </ul>
- *</p>
- *<p>
- *There are 2 modes for this control : 
- * <ul>
- *     <li><strong>The kinematic modes :</strong><br>
- *        this is the default behavior, this means that the collision shapes of the body are able to interact with physics enabled objects.
- *        in this mode physic shapes follow the moovements of the animated skeleton (for example animated by a key framed animation)
- *        this mode is enabled by calling setKinematicMode();                
- *     </li>
- *     <li><strong>The ragdoll modes :</strong><br>
- *        To enable this behavior, you need to call setRagdollMode() method.
- *        In this mode the charater is entirely controled by physics, so it will fall under the gravity and move if any force is applied to it.
- *     </li>
- * </ul>
- *</p>
- *
- * @author Normen Hansen and Rémy Bouquet (Nehon)
- */
-public class KinematicRagdollControl implements PhysicsControl, PhysicsCollisionListener {
-
-    protected static final Logger logger = Logger.getLogger(KinematicRagdollControl.class.getName());
-    protected Map<String, PhysicsBoneLink> boneLinks = new HashMap<String, PhysicsBoneLink>();
-    protected Skeleton skeleton;
-    protected PhysicsSpace space;
-    protected boolean enabled = true;
-    protected boolean debug = false;
-    protected PhysicsRigidBody baseRigidBody;
-    protected float weightThreshold = -1.0f;
-    protected Spatial targetModel;
-    protected Vector3f initScale;
-    protected Mode mode = Mode.Kinetmatic;
-    protected boolean blendedControl = false;
-    protected float blendTime = 1.0f;
-    protected float blendStart = 0.0f;
-    protected List<RagdollCollisionListener> listeners;
-    protected float eventDispatchImpulseThreshold = 10;
-    protected RagdollPreset preset = new HumanoidRagdollPreset();
-    protected Set<String> boneList = new TreeSet<String>();
-    protected Vector3f modelPosition = new Vector3f();
-    protected Quaternion modelRotation = new Quaternion();
-    protected float rootMass = 15;
-    protected float totalMass = 0;
-    protected boolean added = false;
-
-    public static enum Mode {
-
-        Kinetmatic,
-        Ragdoll
-    }
-
-    protected class PhysicsBoneLink {
-
-        protected Bone bone;
-        protected Quaternion initalWorldRotation;
-        protected SixDofJoint joint;
-        protected PhysicsRigidBody rigidBody;
-        protected Quaternion startBlendingRot = new Quaternion();
-        protected Vector3f startBlendingPos = new Vector3f();
-    }
-
-    /**
-     * contruct a KinematicRagdollControl
-     */
-    public KinematicRagdollControl() {
-    }
-
-    public KinematicRagdollControl(float weightThreshold) {
-        this.weightThreshold = weightThreshold;
-    }
-
-    public KinematicRagdollControl(RagdollPreset preset, float weightThreshold) {
-        this.preset = preset;
-        this.weightThreshold = weightThreshold;
-    }
-
-    public KinematicRagdollControl(RagdollPreset preset) {
-        this.preset = preset;
-    }
-
-    public void update(float tpf) {
-        if (!enabled) {
-            return;
-        }
-        TempVars vars = TempVars.get();
-        
-        Quaternion tmpRot1 = vars.quat1;
-        Quaternion tmpRot2 = vars.quat2;
-
-        //if the ragdoll has the control of the skeleton, we update each bone with its position in physic world space.
-        if (mode == mode.Ragdoll && targetModel.getLocalTranslation().equals(modelPosition)) {
-            for (PhysicsBoneLink link : boneLinks.values()) {
-
-                Vector3f position = vars.vect1;
-
-                //retrieving bone position in physic world space
-                Vector3f p = link.rigidBody.getMotionState().getWorldLocation();
-                //transforming this position with inverse transforms of the model
-                targetModel.getWorldTransform().transformInverseVector(p, position);
-
-                //retrieving bone rotation in physic world space
-                Quaternion q = link.rigidBody.getMotionState().getWorldRotationQuat();
-
-                //multiplying this rotation by the initialWorld rotation of the bone, 
-                //then transforming it with the inverse world rotation of the model
-                tmpRot1.set(q).multLocal(link.initalWorldRotation);
-                tmpRot2.set(targetModel.getWorldRotation()).inverseLocal().mult(tmpRot1, tmpRot1);
-                tmpRot1.normalizeLocal();
-
-                //if the bone is the root bone, we apply the physic's transform to the model, so its position and rotation are correctly updated
-                if (link.bone.getParent() == null) {
-
-                    //offsetting the physic's position/rotation by the root bone inverse model space position/rotaion
-                    modelPosition.set(p).subtractLocal(link.bone.getWorldBindPosition());
-                    targetModel.getParent().getWorldTransform().transformInverseVector(modelPosition, modelPosition);
-                    modelRotation.set(q).multLocal(tmpRot2.set(link.bone.getWorldBindRotation()).inverseLocal());
-
-
-                    //applying transforms to the model
-                    targetModel.setLocalTranslation(modelPosition);
-
-                    targetModel.setLocalRotation(modelRotation);
-
-                    //Applying computed transforms to the bone
-                    link.bone.setUserTransformsWorld(position, tmpRot1);
-
-                } else {
-                    //if boneList is empty, this means that every bone in the ragdoll has a collision shape,
-                    //so we just update the bone position
-                    if (boneList.isEmpty()) {
-                        link.bone.setUserTransformsWorld(position, tmpRot1);
-                    } else {
-                        //boneList is not empty, this means some bones of the skeleton might not be associated with a collision shape.
-                        //So we update them recusively
-                        RagdollUtils.setTransform(link.bone, position, tmpRot1, false, boneList);
-                    }
-                }
-            }
-        } else {
-            //the ragdoll does not have the controll, so the keyframed animation updates the physic position of the physic bonces
-            for (PhysicsBoneLink link : boneLinks.values()) {
-
-                Vector3f position = vars.vect1;
-
-                //if blended control this means, keyframed animation is updating the skeleton, 
-                //but to allow smooth transition, we blend this transformation with the saved position of the ragdoll
-                if (blendedControl) {
-                    Vector3f position2 = vars.vect2;
-                    //initializing tmp vars with the start position/rotation of the ragdoll
-                    position.set(link.startBlendingPos);
-                    tmpRot1.set(link.startBlendingRot);
-
-                    //interpolating between ragdoll position/rotation and keyframed position/rotation
-                    tmpRot2.set(tmpRot1).nlerp(link.bone.getModelSpaceRotation(), blendStart / blendTime);
-                    position2.set(position).interpolate(link.bone.getModelSpacePosition(), blendStart / blendTime);
-                    tmpRot1.set(tmpRot2);
-                    position.set(position2);
-
-                    //updating bones transforms
-                    if (boneList.isEmpty()) {
-                        //we ensure we have the control to update the bone
-                        link.bone.setUserControl(true);
-                        link.bone.setUserTransformsWorld(position, tmpRot1);
-                        //we give control back to the key framed animation.
-                        link.bone.setUserControl(false);
-                    } else {
-                        RagdollUtils.setTransform(link.bone, position, tmpRot1, true, boneList);
-                    }
-
-                }
-                //setting skeleton transforms to the ragdoll
-                matchPhysicObjectToBone(link, position, tmpRot1);
-                modelPosition.set(targetModel.getLocalTranslation());
-
-            }
-
-            //time control for blending
-            if (blendedControl) {
-                blendStart += tpf;
-                if (blendStart > blendTime) {
-                    blendedControl = false;
-                }
-            }
-        }
-        vars.release();
-
-    }
-
-    /**
-     * Set the transforms of a rigidBody to match the transforms of a bone.
-     * this is used to make the ragdoll follow the skeleton motion while in Kinematic mode
-     * @param link the link containing the bone and the rigidBody
-     * @param position just a temp vector for position
-     * @param tmpRot1  just a temp quaternion for rotation
-     */
-    private void matchPhysicObjectToBone(PhysicsBoneLink link, Vector3f position, Quaternion tmpRot1) {
-        //computing position from rotation and scale
-        targetModel.getWorldTransform().transformVector(link.bone.getModelSpacePosition(), position);
-
-        //computing rotation
-        tmpRot1.set(link.bone.getModelSpaceRotation()).multLocal(link.bone.getWorldBindInverseRotation());
-        targetModel.getWorldRotation().mult(tmpRot1, tmpRot1);
-        tmpRot1.normalizeLocal();
-
-        //updating physic location/rotation of the physic bone
-        link.rigidBody.setPhysicsLocation(position);
-        link.rigidBody.setPhysicsRotation(tmpRot1);
-
-    }
-
-    public Control cloneForSpatial(Spatial spatial) {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    /**
-     * rebuild the ragdoll
-     * this is useful if you applied scale on the ragdoll after it's been initialized
-     */
-    public void reBuild() {
-        setSpatial(targetModel);
-        addToPhysicsSpace();
-    }
-
-    public void setSpatial(Spatial model) {
-        if (model == null) {
-            removeFromPhysicsSpace();
-            clearData();
-            return;
-        }
-        targetModel = model;
-        Node parent = model.getParent();
-
-
-        Vector3f initPosition = model.getLocalTranslation().clone();
-        Quaternion initRotation = model.getLocalRotation().clone();
-        initScale = model.getLocalScale().clone();
-
-        model.removeFromParent();
-        model.setLocalTranslation(Vector3f.ZERO);
-        model.setLocalRotation(Quaternion.IDENTITY);
-        model.setLocalScale(1);
-        //HACK ALERT change this
-        //I remove the skeletonControl and readd it to the spatial to make sure it's after the ragdollControl in the stack
-        //Find a proper way to order the controls.
-        SkeletonControl sc = model.getControl(SkeletonControl.class);
-        model.removeControl(sc);
-        model.addControl(sc);
-        //---- 
-
-        removeFromPhysicsSpace();
-        clearData();
-        // put into bind pose and compute bone transforms in model space
-        // maybe dont reset to ragdoll out of animations?
-        scanSpatial(model);
-
-
-        if (parent != null) {
-            parent.attachChild(model);
-
-        }
-        model.setLocalTranslation(initPosition);
-        model.setLocalRotation(initRotation);
-        model.setLocalScale(initScale);
-
-        logger.log(Level.INFO, "Created physics ragdoll for skeleton {0}", skeleton);
-    }
-
-    /**
-     * Add a bone name to this control
-     * Using this method you can specify which bones of the skeleton will be used to build the collision shapes.
-     * @param name 
-     */
-    public void addBoneName(String name) {
-        boneList.add(name);
-    }
-
-    private void scanSpatial(Spatial model) {
-        AnimControl animControl = model.getControl(AnimControl.class);
-        Map<Integer, List<Float>> pointsMap = null;
-        if (weightThreshold == -1.0f) {
-            pointsMap = RagdollUtils.buildPointMap(model);
-        }
-
-        skeleton = animControl.getSkeleton();
-        skeleton.resetAndUpdate();
-        for (int i = 0; i < skeleton.getRoots().length; i++) {
-            Bone childBone = skeleton.getRoots()[i];
-            if (childBone.getParent() == null) {
-                logger.log(Level.INFO, "Found root bone in skeleton {0}", skeleton);
-                baseRigidBody = new PhysicsRigidBody(new BoxCollisionShape(Vector3f.UNIT_XYZ.mult(0.1f)), 1);
-                baseRigidBody.setKinematic(mode == Mode.Kinetmatic);
-                boneRecursion(model, childBone, baseRigidBody, 1, pointsMap);
-            }
-        }
-    }
-
-    private void boneRecursion(Spatial model, Bone bone, PhysicsRigidBody parent, int reccount, Map<Integer, List<Float>> pointsMap) {
-        PhysicsRigidBody parentShape = parent;
-        if (boneList.isEmpty() || boneList.contains(bone.getName())) {
-
-            PhysicsBoneLink link = new PhysicsBoneLink();
-            link.bone = bone;
-
-            //creating the collision shape 
-            HullCollisionShape shape = null;
-            if (pointsMap != null) {
-                //build a shape for the bone, using the vertices that are most influenced by this bone
-                shape = RagdollUtils.makeShapeFromPointMap(pointsMap, RagdollUtils.getBoneIndices(link.bone, skeleton, boneList), initScale, link.bone.getModelSpacePosition());
-            } else {
-                //build a shape for the bone, using the vertices associated with this bone with a weight above the threshold
-                shape = RagdollUtils.makeShapeFromVerticeWeights(model, RagdollUtils.getBoneIndices(link.bone, skeleton, boneList), initScale, link.bone.getModelSpacePosition(), weightThreshold);
-            }
-
-            PhysicsRigidBody shapeNode = new PhysicsRigidBody(shape, rootMass / (float) reccount);
-
-            shapeNode.setKinematic(mode == Mode.Kinetmatic);
-            totalMass += rootMass / (float) reccount;
-
-            link.rigidBody = shapeNode;
-            link.initalWorldRotation = bone.getModelSpaceRotation().clone();
-
-            if (parent != null) {
-                //get joint position for parent
-                Vector3f posToParent = new Vector3f();
-                if (bone.getParent() != null) {
-                    bone.getModelSpacePosition().subtract(bone.getParent().getModelSpacePosition(), posToParent).multLocal(initScale);
-                }
-
-                SixDofJoint joint = new SixDofJoint(parent, shapeNode, posToParent, new Vector3f(0, 0, 0f), true);
-                preset.setupJointForBone(bone.getName(), joint);
-
-                link.joint = joint;
-                joint.setCollisionBetweenLinkedBodys(false);
-            }
-            boneLinks.put(bone.getName(), link);
-            shapeNode.setUserObject(link);
-            parentShape = shapeNode;
-        }
-
-        for (Iterator<Bone> it = bone.getChildren().iterator(); it.hasNext();) {
-            Bone childBone = it.next();
-            boneRecursion(model, childBone, parentShape, reccount + 1, pointsMap);
-        }
-    }
-
-    /**
-     * Set the joint limits for the joint between the given bone and its parent.
-     * This method can't work before attaching the control to a spatial
-     * @param boneName the name of the bone
-     * @param maxX the maximum rotation on the x axis (in radians)
-     * @param minX the minimum rotation on the x axis (in radians)
-     * @param maxY the maximum rotation on the y axis (in radians)
-     * @param minY the minimum rotation on the z axis (in radians)
-     * @param maxZ the maximum rotation on the z axis (in radians)
-     * @param minZ the minimum rotation on the z axis (in radians)
-     */
-    public void setJointLimit(String boneName, float maxX, float minX, float maxY, float minY, float maxZ, float minZ) {
-        PhysicsBoneLink link = boneLinks.get(boneName);
-        if (link != null) {
-            RagdollUtils.setJointLimit(link.joint, maxX, minX, maxY, minY, maxZ, minZ);
-        } else {
-            logger.log(Level.WARNING, "Not joint was found for bone {0}. make sure you call spatial.addControl(ragdoll) before setting joints limit", boneName);
-        }
-    }
-
-    /**
-     * Return the joint between the given bone and its parent.
-     * This return null if it's called before attaching the control to a spatial
-     * @param boneName the name of the bone
-     * @return the joint between the given bone and its parent
-     */
-    public SixDofJoint getJoint(String boneName) {
-        PhysicsBoneLink link = boneLinks.get(boneName);
-        if (link != null) {
-            return link.joint;
-        } else {
-            logger.log(Level.WARNING, "Not joint was found for bone {0}. make sure you call spatial.addControl(ragdoll) before setting joints limit", boneName);
-            return null;
-        }
-    }
-
-    private void clearData() {
-        boneLinks.clear();
-        baseRigidBody = null;
-    }
-
-    private void addToPhysicsSpace() {
-        if (space == null) {
-            return;
-        }
-        if (baseRigidBody != null) {
-            space.add(baseRigidBody);
-            added = true;
-        }
-        for (Iterator<PhysicsBoneLink> it = boneLinks.values().iterator(); it.hasNext();) {
-            PhysicsBoneLink physicsBoneLink = it.next();
-            if (physicsBoneLink.rigidBody != null) {
-                space.add(physicsBoneLink.rigidBody);
-                if (physicsBoneLink.joint != null) {
-                    space.add(physicsBoneLink.joint);
-
-                }
-                added = true;
-            }
-        }
-    }
-
-    protected void removeFromPhysicsSpace() {
-        if (space == null) {
-            return;
-        }
-        if (baseRigidBody != null) {
-            space.remove(baseRigidBody);
-        }
-        for (Iterator<PhysicsBoneLink> it = boneLinks.values().iterator(); it.hasNext();) {
-            PhysicsBoneLink physicsBoneLink = it.next();
-            if (physicsBoneLink.joint != null) {
-                space.remove(physicsBoneLink.joint);
-                if (physicsBoneLink.rigidBody != null) {
-                    space.remove(physicsBoneLink.rigidBody);
-                }
-            }
-        }
-        added = false;
-    }
-
-    /**
-     * enable or disable the control
-     * note that if enabled is true and that the physic space has been set on the ragdoll, the ragdoll is added to the physic space     
-     * if enabled is false the ragdoll is removed from physic space.
-     * @param enabled 
-     */
-    public void setEnabled(boolean enabled) {
-        if (this.enabled == enabled) {
-            return;
-        }
-        this.enabled = enabled;
-        if (!enabled && space != null) {
-            removeFromPhysicsSpace();
-        } else if (enabled && space != null) {
-            addToPhysicsSpace();
-        }
-    }
-
-    /**
-     * returns true if the control is enabled
-     * @return 
-     */
-    public boolean isEnabled() {
-        return enabled;
-    }
-
-    protected void attachDebugShape(AssetManager manager) {
-        for (Iterator<PhysicsBoneLink> it = boneLinks.values().iterator(); it.hasNext();) {
-            PhysicsBoneLink physicsBoneLink = it.next();
-            physicsBoneLink.rigidBody.createDebugShape(manager);
-        }
-        debug = true;
-    }
-
-    protected void detachDebugShape() {
-        for (Iterator<PhysicsBoneLink> it = boneLinks.values().iterator(); it.hasNext();) {
-            PhysicsBoneLink physicsBoneLink = it.next();
-            physicsBoneLink.rigidBody.detachDebugShape();
-        }
-        debug = false;
-    }
-
-    /**
-     * For internal use only
-     * specific render for the ragdoll(if debugging)      
-     * @param rm
-     * @param vp 
-     */
-    public void render(RenderManager rm, ViewPort vp) {
-        if (enabled && space != null && space.getDebugManager() != null) {
-            if (!debug) {
-                attachDebugShape(space.getDebugManager());
-            }
-            for (Iterator<PhysicsBoneLink> it = boneLinks.values().iterator(); it.hasNext();) {
-                PhysicsBoneLink physicsBoneLink = it.next();
-                Spatial debugShape = physicsBoneLink.rigidBody.debugShape();
-                if (debugShape != null) {
-                    debugShape.setLocalTranslation(physicsBoneLink.rigidBody.getMotionState().getWorldLocation());
-                    debugShape.setLocalRotation(physicsBoneLink.rigidBody.getMotionState().getWorldRotationQuat());
-                    debugShape.updateGeometricState();
-                    rm.renderScene(debugShape, vp);
-                }
-            }
-        }
-    }
-
-    /**
-     * set the physic space to this ragdoll
-     * @param space 
-     */
-    public void setPhysicsSpace(PhysicsSpace space) {
-        if (space == null) {
-            removeFromPhysicsSpace();
-            this.space = space;
-        } else {
-            if (this.space == space) {
-                return;
-            }
-            this.space = space;
-            addToPhysicsSpace();
-            this.space.addCollisionListener(this);
-        }
-    }
-
-    /**
-     * returns the physic space
-     * @return 
-     */
-    public PhysicsSpace getPhysicsSpace() {
-        return space;
-    }
-
-    /**
-     * serialize this control
-     * @param ex
-     * @throws IOException 
-     */
-    public void write(JmeExporter ex) throws IOException {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    /**
-     * de-serialize this control
-     * @param im
-     * @throws IOException 
-     */
-    public void read(JmeImporter im) throws IOException {
-        throw new UnsupportedOperationException("Not supported yet.");
-    }
-
-    /**
-     * For internal use only
-     * callback for collisionevent
-     * @param event 
-     */
-    public void collision(PhysicsCollisionEvent event) {
-        PhysicsCollisionObject objA = event.getObjectA();
-        PhysicsCollisionObject objB = event.getObjectB();
-
-        //excluding collisions that involve 2 parts of the ragdoll
-        if (event.getNodeA() == null && event.getNodeB() == null) {
-            return;
-        }
-
-        //discarding low impulse collision
-        if (event.getAppliedImpulse() < eventDispatchImpulseThreshold) {
-            return;
-        }
-
-        boolean hit = false;
-        Bone hitBone = null;
-        PhysicsCollisionObject hitObject = null;
-
-        //Computing which bone has been hit
-        if (objA.getUserObject() instanceof PhysicsBoneLink) {
-            PhysicsBoneLink link = (PhysicsBoneLink) objA.getUserObject();
-            if (link != null) {
-                hit = true;
-                hitBone = link.bone;
-                hitObject = objB;
-            }
-        }
-
-        if (objB.getUserObject() instanceof PhysicsBoneLink) {
-            PhysicsBoneLink link = (PhysicsBoneLink) objB.getUserObject();
-            if (link != null) {
-                hit = true;
-                hitBone = link.bone;
-                hitObject = objA;
-
-            }
-        }
-
-        //dispatching the event if the ragdoll has been hit
-        if (hit && listeners != null) {
-            for (RagdollCollisionListener listener : listeners) {
-                listener.collide(hitBone, hitObject, event);
-            }
-        }
-
-    }
-
-    /**
-     * Enable or disable the ragdoll behaviour.
-     * if ragdollEnabled is true, the character motion will only be powerd by physics
-     * else, the characted will be animated by the keyframe animation, 
-     * but will be able to physically interact with its physic environnement
-     * @param ragdollEnabled 
-     */
-    protected void setMode(Mode mode) {
-        this.mode = mode;
-        AnimControl animControl = targetModel.getControl(AnimControl.class);
-        animControl.setEnabled(mode == Mode.Kinetmatic);
-
-        baseRigidBody.setKinematic(mode == Mode.Kinetmatic);
-        TempVars vars = TempVars.get();
-        
-        for (PhysicsBoneLink link : boneLinks.values()) {
-            link.rigidBody.setKinematic(mode == Mode.Kinetmatic);
-            if (mode == Mode.Ragdoll) {
-                Quaternion tmpRot1 = vars.quat1;
-                Vector3f position = vars.vect1;
-                //making sure that the ragdoll is at the correct place.
-                matchPhysicObjectToBone(link, position, tmpRot1);
-            }
-
-        }
-        vars.release();
-
-        for (Bone bone : skeleton.getRoots()) {
-            RagdollUtils.setUserControl(bone, mode == Mode.Ragdoll);
-        }
-    }
-
-    /**
-     * Smoothly blend from Ragdoll mode to Kinematic mode
-     * This is useful to blend ragdoll actual position to a keyframe animation for example
-     * @param blendTime the blending time between ragdoll to anim.
-     */
-    public void blendToKinematicMode(float blendTime) {
-        if (mode == Mode.Kinetmatic) {
-            return;
-        }
-        blendedControl = true;
-        this.blendTime = blendTime;
-        mode = Mode.Kinetmatic;
-        AnimControl animControl = targetModel.getControl(AnimControl.class);
-        animControl.setEnabled(true);
-
-
-        TempVars vars = TempVars.get();        
-        for (PhysicsBoneLink link : boneLinks.values()) {
-
-            Vector3f p = link.rigidBody.getMotionState().getWorldLocation();
-            Vector3f position = vars.vect1;
-
-            targetModel.getWorldTransform().transformInverseVector(p, position);
-
-            Quaternion q = link.rigidBody.getMotionState().getWorldRotationQuat();
-            Quaternion q2 = vars.quat1;
-            Quaternion q3 = vars.quat2;
-
-            q2.set(q).multLocal(link.initalWorldRotation).normalizeLocal();
-            q3.set(targetModel.getWorldRotation()).inverseLocal().mult(q2, q2);
-            q2.normalizeLocal();
-            link.startBlendingPos.set(position);
-            link.startBlendingRot.set(q2);
-            link.rigidBody.setKinematic(true);
-        }
-        vars.release();
-
-        for (Bone bone : skeleton.getRoots()) {
-            RagdollUtils.setUserControl(bone, false);
-        }
-
-        blendStart = 0;
-    }
-
-    /**
-     * Set the control into Kinematic mode
-     * In theis mode, the collision shapes follow the movements of the skeleton,
-     * and can interact with physical environement
-     */
-    public void setKinematicMode() {
-        if (mode != Mode.Kinetmatic) {
-            setMode(Mode.Kinetmatic);
-        }
-    }
-
-    /**
-     * Sets the control into Ragdoll mode
-     * The skeleton is entirely controlled by physics.
-     */
-    public void setRagdollMode() {
-        if (mode != Mode.Ragdoll) {
-            setMode(Mode.Ragdoll);
-        }
-    }
-
-    /**
-     * retruns the mode of this control
-     * @return 
-     */
-    public Mode getMode() {
-        return mode;
-    }
-
-    /**
-     * add a 
-     * @param listener 
-     */
-    public void addCollisionListener(RagdollCollisionListener listener) {
-        if (listeners == null) {
-            listeners = new ArrayList<RagdollCollisionListener>();
-        }
-        listeners.add(listener);
-    }
-
-    public void setRootMass(float rootMass) {
-        this.rootMass = rootMass;
-    }
-
-    public float getTotalMass() {
-        return totalMass;
-    }
-
-    public float getWeightThreshold() {
-        return weightThreshold;
-    }
-
-    public void setWeightThreshold(float weightThreshold) {
-        this.weightThreshold = weightThreshold;
-    }
-
-    public float getEventDispatchImpulseThreshold() {
-        return eventDispatchImpulseThreshold;
-    }
-
-    public void setEventDispatchImpulseThreshold(float eventDispatchImpulseThreshold) {
-        this.eventDispatchImpulseThreshold = eventDispatchImpulseThreshold;
-    }
-
-    /**
-     * Set the CcdMotionThreshold of all the bone's rigidBodies of the ragdoll
-     * @see PhysicsRigidBody#setCcdMotionThreshold(float) 
-     * @param value 
-     */
-    public void setCcdMotionThreshold(float value) {
-        for (PhysicsBoneLink link : boneLinks.values()) {
-            link.rigidBody.setCcdMotionThreshold(value);
-        }
-    }
-
-    /**
-     * Set the CcdSweptSphereRadius of all the bone's rigidBodies of the ragdoll
-     * @see PhysicsRigidBody#setCcdSweptSphereRadius(float) 
-     * @param value 
-     */
-    public void setCcdSweptSphereRadius(float value) {
-        for (PhysicsBoneLink link : boneLinks.values()) {
-            link.rigidBody.setCcdSweptSphereRadius(value);
-        }
-    }
-
-    /**
-     * Set the CcdMotionThreshold of the given bone's rigidBodies of the ragdoll
-     * @see PhysicsRigidBody#setCcdMotionThreshold(float) 
-     * @param value 
-     * @deprecated use getBoneRigidBody(String BoneName).setCcdMotionThreshold(float) instead
-     */
-    @Deprecated
-    public void setBoneCcdMotionThreshold(String boneName, float value) {
-        PhysicsBoneLink link = boneLinks.get(boneName);
-        if (link != null) {
-            link.rigidBody.setCcdMotionThreshold(value);
-        }
-    }
-
-    /**
-     * Set the CcdSweptSphereRadius of the given bone's rigidBodies of the ragdoll
-     * @see PhysicsRigidBody#setCcdSweptSphereRadius(float) 
-     * @param value 
-     * @deprecated use getBoneRigidBody(String BoneName).setCcdSweptSphereRadius(float) instead
-     */
-    @Deprecated
-    public void setBoneCcdSweptSphereRadius(String boneName, float value) {
-        PhysicsBoneLink link = boneLinks.get(boneName);
-        if (link != null) {
-            link.rigidBody.setCcdSweptSphereRadius(value);
-        }
-    }
-
-    /**
-     * return the rigidBody associated to the given bone
-     * @param boneName the name of the bone
-     * @return the associated rigidBody.
-     */
-    public PhysicsRigidBody getBoneRigidBody(String boneName) {
-        PhysicsBoneLink link = boneLinks.get(boneName);
-        if (link != null) {
-            return link.rigidBody;
-        }
-        return null;
-    }
-}

+ 0 - 28
engine/src/bullet/com/jme3/bullet/control/PhysicsControl.java

@@ -1,28 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.bullet.control;
-
-import com.jme3.bullet.PhysicsSpace;
-import com.jme3.scene.control.Control;
-
-/**
- *
- * @author normenhansen
- */
-public interface PhysicsControl extends Control {
-
-    public void setPhysicsSpace(PhysicsSpace space);
-
-    public PhysicsSpace getPhysicsSpace();
-
-    /**
-     * The physics object is removed from the physics space when the control
-     * is disabled. When the control is enabled  again the physics object is
-     * moved to the current location of the spatial and then added to the physics
-     * space. This allows disabling/enabling physics to move the spatial freely.
-     * @param state
-     */
-    public void setEnabled(boolean state);
-}

+ 0 - 266
engine/src/bullet/com/jme3/bullet/control/RigidBodyControl.java

@@ -1,266 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.bullet.control;
-
-import com.jme3.bullet.PhysicsSpace;
-import com.jme3.bullet.collision.shapes.BoxCollisionShape;
-import com.jme3.bullet.collision.shapes.CollisionShape;
-import com.jme3.bullet.collision.shapes.SphereCollisionShape;
-import com.jme3.bullet.objects.PhysicsRigidBody;
-import com.jme3.bullet.util.CollisionShapeFactory;
-import com.jme3.export.InputCapsule;
-import com.jme3.export.JmeExporter;
-import com.jme3.export.JmeImporter;
-import com.jme3.export.OutputCapsule;
-import com.jme3.math.Quaternion;
-import com.jme3.math.Vector3f;
-import com.jme3.renderer.RenderManager;
-import com.jme3.renderer.ViewPort;
-import com.jme3.scene.Geometry;
-import com.jme3.scene.Mesh;
-import com.jme3.scene.Node;
-import com.jme3.scene.Spatial;
-import com.jme3.scene.control.Control;
-import com.jme3.scene.shape.Box;
-import com.jme3.scene.shape.Sphere;
-import java.io.IOException;
-
-/**
- *
- * @author normenhansen
- */
-public class RigidBodyControl extends PhysicsRigidBody implements PhysicsControl {
-
-    protected Spatial spatial;
-    protected boolean enabled = true;
-    protected boolean added = false;
-    protected PhysicsSpace space = null;
-    protected boolean kinematicSpatial = true;
-
-    public RigidBodyControl() {
-    }
-
-    /**
-     * When using this constructor, the CollisionShape for the RigidBody is generated
-     * automatically when the Control is added to a Spatial.
-     * @param mass When not 0, a HullCollisionShape is generated, otherwise a MeshCollisionShape is used. For geometries with box or sphere meshes the proper box or sphere collision shape is used.
-     */
-    public RigidBodyControl(float mass) {
-        this.mass = mass;
-    }
-
-    /**
-     * Creates a new PhysicsNode with the supplied collision shape and mass 1
-     * @param child
-     * @param shape
-     */
-    public RigidBodyControl(CollisionShape shape) {
-        super(shape);
-    }
-
-    public RigidBodyControl(CollisionShape shape, float mass) {
-        super(shape, mass);
-    }
-
-    public Control cloneForSpatial(Spatial spatial) {
-        RigidBodyControl control = new RigidBodyControl(collisionShape, mass);
-        control.setAngularFactor(getAngularFactor());
-        control.setAngularSleepingThreshold(getAngularSleepingThreshold());
-        control.setCcdMotionThreshold(getCcdMotionThreshold());
-        control.setCcdSweptSphereRadius(getCcdSweptSphereRadius());
-        control.setCollideWithGroups(getCollideWithGroups());
-        control.setCollisionGroup(getCollisionGroup());
-        control.setDamping(getLinearDamping(), getAngularDamping());
-        control.setFriction(getFriction());
-        control.setGravity(getGravity());
-        control.setKinematic(isKinematic());
-        control.setKinematicSpatial(isKinematicSpatial());
-        control.setLinearSleepingThreshold(getLinearSleepingThreshold());
-        control.setPhysicsLocation(getPhysicsLocation(null));
-        control.setPhysicsRotation(getPhysicsRotationMatrix(null));
-        control.setRestitution(getRestitution());
-
-        if (mass > 0) {
-            control.setAngularVelocity(getAngularVelocity());
-            control.setLinearVelocity(getLinearVelocity());
-        }
-        control.setApplyPhysicsLocal(isApplyPhysicsLocal());
-
-        control.setSpatial(spatial);
-        return control;
-    }
-
-    public void setSpatial(Spatial spatial) {
-        if (getUserObject() == null || getUserObject() == this.spatial) {
-            setUserObject(spatial);
-        }
-        this.spatial = spatial;
-        if (spatial == null) {
-            if (getUserObject() == spatial) {
-                setUserObject(null);
-            }
-            spatial = null;
-            collisionShape = null;
-            return;
-        }
-        if (collisionShape == null) {
-            createCollisionShape();
-            rebuildRigidBody();
-        }
-        setPhysicsLocation(getSpatialTranslation());
-        setPhysicsRotation(getSpatialRotation());
-    }
-
-    protected void createCollisionShape() {
-        if (spatial == null) {
-            return;
-        }
-        if (spatial instanceof Geometry) {
-            Geometry geom = (Geometry) spatial;
-            Mesh mesh = geom.getMesh();
-            if (mesh instanceof Sphere) {
-                collisionShape = new SphereCollisionShape(((Sphere) mesh).getRadius());
-                return;
-            } else if (mesh instanceof Box) {
-                collisionShape = new BoxCollisionShape(new Vector3f(((Box) mesh).getXExtent(), ((Box) mesh).getYExtent(), ((Box) mesh).getZExtent()));
-                return;
-            }
-        }
-        if (mass > 0) {
-            collisionShape = CollisionShapeFactory.createDynamicMeshShape(spatial);
-        } else {
-            collisionShape = CollisionShapeFactory.createMeshShape(spatial);
-        }
-    }
-
-    public void setEnabled(boolean enabled) {
-        this.enabled = enabled;
-        if (space != null) {
-            if (enabled && !added) {
-                if (spatial != null) {
-                    setPhysicsLocation(getSpatialTranslation());
-                    setPhysicsRotation(getSpatialRotation());
-                }
-                space.addCollisionObject(this);
-                added = true;
-            } else if (!enabled && added) {
-                space.removeCollisionObject(this);
-                added = false;
-            }
-        }
-    }
-
-    public boolean isEnabled() {
-        return enabled;
-    }
-
-    /**
-     * Checks if this control is in kinematic spatial mode.
-     * @return true if the spatial location is applied to this kinematic rigidbody
-     */
-    public boolean isKinematicSpatial() {
-        return kinematicSpatial;
-    }
-
-    /**
-     * Sets this control to kinematic spatial mode so that the spatials transform will
-     * be applied to the rigidbody in kinematic mode, defaults to true.
-     * @param kinematicSpatial
-     */
-    public void setKinematicSpatial(boolean kinematicSpatial) {
-        this.kinematicSpatial = kinematicSpatial;
-    }
-
-    public boolean isApplyPhysicsLocal() {
-        return motionState.isApplyPhysicsLocal();
-    }
-
-    /**
-     * When set to true, the physics coordinates will be applied to the local
-     * translation of the Spatial instead of the world traslation.
-     * @param applyPhysicsLocal
-     */
-    public void setApplyPhysicsLocal(boolean applyPhysicsLocal) {
-        motionState.setApplyPhysicsLocal(applyPhysicsLocal);
-    }
-
-    private Vector3f getSpatialTranslation(){
-        if(motionState.isApplyPhysicsLocal()){
-            return spatial.getLocalTranslation();
-        }
-        return spatial.getWorldTranslation();
-    }
-
-    private Quaternion getSpatialRotation(){
-        if(motionState.isApplyPhysicsLocal()){
-            return spatial.getLocalRotation();
-        }
-        return spatial.getWorldRotation();
-    }
-
-    public void update(float tpf) {
-        if (enabled && spatial != null) {
-            if (isKinematic() && kinematicSpatial) {
-                super.setPhysicsLocation(getSpatialTranslation());
-                super.setPhysicsRotation(getSpatialRotation());
-            } else {
-                getMotionState().applyTransform(spatial);
-            }
-        }
-    }
-
-    public void render(RenderManager rm, ViewPort vp) {
-        if (enabled && space != null && space.getDebugManager() != null) {
-            if (debugShape == null) {
-                attachDebugShape(space.getDebugManager());
-            }
-            //TODO: using spatial traslation/rotation..
-            debugShape.setLocalTranslation(spatial.getWorldTranslation());
-            debugShape.setLocalRotation(spatial.getWorldRotation());
-            debugShape.updateLogicalState(0);
-            debugShape.updateGeometricState();
-            rm.renderScene(debugShape, vp);
-        }
-    }
-
-    public void setPhysicsSpace(PhysicsSpace space) {
-        if (space == null) {
-            if (this.space != null) {
-                this.space.removeCollisionObject(this);
-                added = false;
-            }
-        } else {
-            if(this.space==space) return;
-            space.addCollisionObject(this);
-            added = true;
-        }
-        this.space = space;
-    }
-
-    public PhysicsSpace getPhysicsSpace() {
-        return space;
-    }
-
-    @Override
-    public void write(JmeExporter ex) throws IOException {
-        super.write(ex);
-        OutputCapsule oc = ex.getCapsule(this);
-        oc.write(enabled, "enabled", true);
-        oc.write(motionState.isApplyPhysicsLocal(), "applyLocalPhysics", false);
-        oc.write(kinematicSpatial, "kinematicSpatial", true);
-        oc.write(spatial, "spatial", null);
-    }
-
-    @Override
-    public void read(JmeImporter im) throws IOException {
-        super.read(im);
-        InputCapsule ic = im.getCapsule(this);
-        enabled = ic.readBoolean("enabled", true);
-        kinematicSpatial = ic.readBoolean("kinematicSpatial", true);
-        spatial = (Spatial) ic.readSavable("spatial", null);
-        motionState.setApplyPhysicsLocal(ic.readBoolean("applyLocalPhysics", false));
-        setUserObject(spatial);
-    }
-}

+ 0 - 270
engine/src/bullet/com/jme3/bullet/control/VehicleControl.java

@@ -1,270 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.bullet.control;
-
-import com.jme3.bullet.PhysicsSpace;
-import com.jme3.bullet.collision.shapes.CollisionShape;
-import com.jme3.bullet.joints.PhysicsJoint;
-import com.jme3.bullet.objects.PhysicsVehicle;
-import com.jme3.bullet.objects.VehicleWheel;
-import com.jme3.export.InputCapsule;
-import com.jme3.export.JmeExporter;
-import com.jme3.export.JmeImporter;
-import com.jme3.export.OutputCapsule;
-import com.jme3.math.Quaternion;
-import com.jme3.math.Vector3f;
-import com.jme3.renderer.RenderManager;
-import com.jme3.renderer.ViewPort;
-import com.jme3.scene.Geometry;
-import com.jme3.scene.Node;
-import com.jme3.scene.Spatial;
-import com.jme3.scene.control.Control;
-import com.jme3.scene.debug.Arrow;
-import java.io.IOException;
-import java.util.Iterator;
-
-/**
- *
- * @author normenhansen
- */
-public class VehicleControl extends PhysicsVehicle implements PhysicsControl {
-
-    protected Spatial spatial;
-    protected boolean enabled = true;
-    protected PhysicsSpace space = null;
-    protected boolean added = false;
-
-    public VehicleControl() {
-    }
-
-    /**
-     * Creates a new PhysicsNode with the supplied collision shape
-     * @param child
-     * @param shape
-     */
-    public VehicleControl(CollisionShape shape) {
-        super(shape);
-    }
-
-    public VehicleControl(CollisionShape shape, float mass) {
-        super(shape, mass);
-    }
-
-    public boolean isApplyPhysicsLocal() {
-        return motionState.isApplyPhysicsLocal();
-    }
-
-    /**
-     * When set to true, the physics coordinates will be applied to the local
-     * translation of the Spatial
-     * @param applyPhysicsLocal
-     */
-    public void setApplyPhysicsLocal(boolean applyPhysicsLocal) {
-        motionState.setApplyPhysicsLocal(applyPhysicsLocal);
-        for (Iterator<VehicleWheel> it = wheels.iterator(); it.hasNext();) {
-            VehicleWheel vehicleWheel = it.next();
-            vehicleWheel.setApplyLocal(applyPhysicsLocal);
-        }
-    }
-
-    private Vector3f getSpatialTranslation(){
-        if(motionState.isApplyPhysicsLocal()){
-            return spatial.getLocalTranslation();
-        }
-        return spatial.getWorldTranslation();
-    }
-
-    private Quaternion getSpatialRotation(){
-        if(motionState.isApplyPhysicsLocal()){
-            return spatial.getLocalRotation();
-        }
-        return spatial.getWorldRotation();
-    }
-
-    public Control cloneForSpatial(Spatial spatial) {
-        VehicleControl control = new VehicleControl(collisionShape, mass);
-        control.setAngularFactor(getAngularFactor());
-        control.setAngularSleepingThreshold(getAngularSleepingThreshold());
-        control.setAngularVelocity(getAngularVelocity());
-        control.setCcdMotionThreshold(getCcdMotionThreshold());
-        control.setCcdSweptSphereRadius(getCcdSweptSphereRadius());
-        control.setCollideWithGroups(getCollideWithGroups());
-        control.setCollisionGroup(getCollisionGroup());
-        control.setDamping(getLinearDamping(), getAngularDamping());
-        control.setFriction(getFriction());
-        control.setGravity(getGravity());
-        control.setKinematic(isKinematic());
-        control.setLinearSleepingThreshold(getLinearSleepingThreshold());
-        control.setLinearVelocity(getLinearVelocity());
-        control.setPhysicsLocation(getPhysicsLocation());
-        control.setPhysicsRotation(getPhysicsRotationMatrix());
-        control.setRestitution(getRestitution());
-
-        control.setFrictionSlip(getFrictionSlip());
-        control.setMaxSuspensionTravelCm(getMaxSuspensionTravelCm());
-        control.setSuspensionStiffness(getSuspensionStiffness());
-        control.setSuspensionCompression(tuning.suspensionCompression);
-        control.setSuspensionDamping(tuning.suspensionDamping);
-        control.setMaxSuspensionForce(getMaxSuspensionForce());
-
-        for (Iterator<VehicleWheel> it = wheels.iterator(); it.hasNext();) {
-            VehicleWheel wheel = it.next();
-            VehicleWheel newWheel = control.addWheel(wheel.getLocation(), wheel.getDirection(), wheel.getAxle(), wheel.getRestLength(), wheel.getRadius(), wheel.isFrontWheel());
-            newWheel.setFrictionSlip(wheel.getFrictionSlip());
-            newWheel.setMaxSuspensionTravelCm(wheel.getMaxSuspensionTravelCm());
-            newWheel.setSuspensionStiffness(wheel.getSuspensionStiffness());
-            newWheel.setWheelsDampingCompression(wheel.getWheelsDampingCompression());
-            newWheel.setWheelsDampingRelaxation(wheel.getWheelsDampingRelaxation());
-            newWheel.setMaxSuspensionForce(wheel.getMaxSuspensionForce());
-
-            //TODO: bad way finding children!
-            if (spatial instanceof Node) {
-                Node node = (Node) spatial;
-                Spatial wheelSpat = node.getChild(wheel.getWheelSpatial().getName());
-                if (wheelSpat != null) {
-                    newWheel.setWheelSpatial(wheelSpat);
-                }
-            }
-        }
-        control.setApplyPhysicsLocal(isApplyPhysicsLocal());
-
-        control.setSpatial(spatial);
-        return control;
-    }
-
-    public void setSpatial(Spatial spatial) {
-        if (getUserObject() == null || getUserObject() == this.spatial) {
-            setUserObject(spatial);
-        }
-        this.spatial = spatial;
-        if (spatial == null) {
-            if (getUserObject() == spatial) {
-                setUserObject(null);
-            }
-            this.spatial = null;
-            this.collisionShape = null;
-            return;
-        }
-        setPhysicsLocation(getSpatialTranslation());
-        setPhysicsRotation(getSpatialRotation());
-    }
-
-    public void setEnabled(boolean enabled) {
-        this.enabled = enabled;
-        if (space != null) {
-            if (enabled && !added) {
-                if(spatial!=null){
-                    setPhysicsLocation(getSpatialTranslation());
-                    setPhysicsRotation(getSpatialRotation());
-                }
-                space.addCollisionObject(this);
-                added = true;
-            } else if (!enabled && added) {
-                space.removeCollisionObject(this);
-                added = false;
-            }
-        }
-    }
-
-    public boolean isEnabled() {
-        return enabled;
-    }
-
-    public void update(float tpf) {
-        if (enabled && spatial != null) {
-            if (getMotionState().applyTransform(spatial)) {
-                spatial.getWorldTransform();
-                applyWheelTransforms();
-            }
-        } else if (enabled) {
-            applyWheelTransforms();
-        }
-    }
-
-    @Override
-    protected Spatial getDebugShape() {
-        return super.getDebugShape();
-    }
-
-    public void render(RenderManager rm, ViewPort vp) {
-        if (enabled && space != null && space.getDebugManager() != null) {
-            if (debugShape == null) {
-                attachDebugShape(space.getDebugManager());
-            }
-            Node debugNode = (Node) debugShape;
-            debugShape.setLocalTranslation(spatial.getWorldTranslation());
-            debugShape.setLocalRotation(spatial.getWorldRotation());
-            int i = 0;
-            for (Iterator<VehicleWheel> it = wheels.iterator(); it.hasNext();) {
-                VehicleWheel physicsVehicleWheel = it.next();
-                Vector3f location = physicsVehicleWheel.getLocation().clone();
-                Vector3f direction = physicsVehicleWheel.getDirection().clone();
-                Vector3f axle = physicsVehicleWheel.getAxle().clone();
-                float restLength = physicsVehicleWheel.getRestLength();
-                float radius = physicsVehicleWheel.getRadius();
-
-                Geometry locGeom = (Geometry) debugNode.getChild("WheelLocationDebugShape" + i);
-                Geometry dirGeom = (Geometry) debugNode.getChild("WheelDirectionDebugShape" + i);
-                Geometry axleGeom = (Geometry) debugNode.getChild("WheelAxleDebugShape" + i);
-                Geometry wheelGeom = (Geometry) debugNode.getChild("WheelRadiusDebugShape" + i);
-
-                Arrow locArrow = (Arrow) locGeom.getMesh();
-                locArrow.setArrowExtent(location);
-                Arrow axleArrow = (Arrow) axleGeom.getMesh();
-                axleArrow.setArrowExtent(axle.normalizeLocal().multLocal(0.3f));
-                Arrow wheelArrow = (Arrow) wheelGeom.getMesh();
-                wheelArrow.setArrowExtent(direction.normalizeLocal().multLocal(radius));
-                Arrow dirArrow = (Arrow) dirGeom.getMesh();
-                dirArrow.setArrowExtent(direction.normalizeLocal().multLocal(restLength));
-
-                dirGeom.setLocalTranslation(location);
-                axleGeom.setLocalTranslation(location.addLocal(direction));
-                wheelGeom.setLocalTranslation(location);
-                i++;
-            }
-            debugShape.updateLogicalState(0);
-            debugShape.updateGeometricState();
-            rm.renderScene(debugShape, vp);
-        }
-    }
-
-    public void setPhysicsSpace(PhysicsSpace space) {
-        createVehicle(space);
-        if (space == null) {
-            if (this.space != null) {
-                this.space.removeCollisionObject(this);
-                added = false;
-            }
-        } else {
-            if(this.space==space) return;
-            space.addCollisionObject(this);
-            added = true;
-        }
-        this.space = space;
-    }
-
-    public PhysicsSpace getPhysicsSpace() {
-        return space;
-    }
-
-    @Override
-    public void write(JmeExporter ex) throws IOException {
-        super.write(ex);
-        OutputCapsule oc = ex.getCapsule(this);
-        oc.write(enabled, "enabled", true);
-        oc.write(motionState.isApplyPhysicsLocal(), "applyLocalPhysics", false);
-        oc.write(spatial, "spatial", null);
-    }
-
-    @Override
-    public void read(JmeImporter im) throws IOException {
-        super.read(im);
-        InputCapsule ic = im.getCapsule(this);
-        enabled = ic.readBoolean("enabled", true);
-        spatial = (Spatial) ic.readSavable("spatial", null);
-        motionState.setApplyPhysicsLocal(ic.readBoolean("applyLocalPhysics", false));
-        setUserObject(spatial);
-    }
-}

+ 0 - 99
engine/src/bullet/com/jme3/bullet/control/ragdoll/HumanoidRagdollPreset.java

@@ -1,99 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.bullet.control.ragdoll;
-
-import com.jme3.math.FastMath;
-
-/**
- *
- * @author Nehon
- */
-public class HumanoidRagdollPreset extends RagdollPreset {
-
-    @Override
-    protected void initBoneMap() {
-        boneMap.put("head", new JointPreset(FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI));
-
-        boneMap.put("torso", new JointPreset(FastMath.QUARTER_PI, -FastMath.QUARTER_PI, 0, 0, FastMath.QUARTER_PI, -FastMath.QUARTER_PI));
-
-        boneMap.put("upperleg", new JointPreset(FastMath.PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI/2, -FastMath.QUARTER_PI/2, FastMath.QUARTER_PI, -FastMath.QUARTER_PI));
-
-        boneMap.put("lowerleg", new JointPreset(0, -FastMath.PI, 0, 0, 0, 0));
-
-        boneMap.put("foot", new JointPreset(0, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI));
-
-        boneMap.put("upperarm", new JointPreset(FastMath.HALF_PI, -FastMath.QUARTER_PI, 0, 0, FastMath.HALF_PI, -FastMath.QUARTER_PI));
-
-        boneMap.put("lowerarm", new JointPreset(FastMath.HALF_PI, 0, 0, 0, 0, 0));
-
-        boneMap.put("hand", new JointPreset(FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI, FastMath.QUARTER_PI, -FastMath.QUARTER_PI));
-
-    }
-
-    @Override
-    protected void initLexicon() {
-        LexiconEntry entry = new LexiconEntry();
-        entry.addSynonym("head", 100);        
-        lexicon.put("head", entry);
-
-        entry = new LexiconEntry();
-        entry.addSynonym("torso", 100);
-        entry.addSynonym("chest", 100);
-        entry.addSynonym("spine", 45);
-        entry.addSynonym("high", 25);
-        lexicon.put("torso", entry);
-
-        entry = new LexiconEntry();
-        entry.addSynonym("upperleg", 100);
-        entry.addSynonym("thigh", 100);
-        entry.addSynonym("hip", 75);
-        entry.addSynonym("leg", 40);
-        entry.addSynonym("high", 10);
-        entry.addSynonym("up", 15);
-        entry.addSynonym("upper", 15);
-        lexicon.put("upperleg", entry);
-
-        entry = new LexiconEntry();
-        entry.addSynonym("lowerleg", 100);
-        entry.addSynonym("calf", 100);
-        entry.addSynonym("knee", 75);
-        entry.addSynonym("leg", 50);
-        entry.addSynonym("low", 10);
-        entry.addSynonym("lower", 10);
-        lexicon.put("lowerleg", entry);
-        
-        entry = new LexiconEntry();
-        entry.addSynonym("foot", 100);
-        entry.addSynonym("ankle", 75);   
-        lexicon.put("foot", entry);
-        
-        
-        entry = new LexiconEntry();
-        entry.addSynonym("upperarm", 100);
-        entry.addSynonym("humerus", 100); 
-        entry.addSynonym("shoulder", 50);
-        entry.addSynonym("arm", 40);
-        entry.addSynonym("high", 10);
-        entry.addSynonym("up", 15);
-        entry.addSynonym("upper", 15);
-        lexicon.put("upperarm", entry);
-
-        entry = new LexiconEntry();
-        entry.addSynonym("lowerarm", 100);
-        entry.addSynonym("ulna", 100);
-        entry.addSynonym("elbow", 75);
-        entry.addSynonym("arm", 50);
-        entry.addSynonym("low", 10);
-        entry.addSynonym("lower", 10);
-        lexicon.put("lowerarm", entry);
-        
-        entry = new LexiconEntry();
-        entry.addSynonym("hand", 100);
-        entry.addSynonym("fist", 100);   
-        entry.addSynonym("wrist", 75);           
-        lexicon.put("hand", entry);
-
-    }
-}

+ 0 - 106
engine/src/bullet/com/jme3/bullet/control/ragdoll/RagdollPreset.java

@@ -1,106 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.bullet.control.ragdoll;
-
-import com.jme3.bullet.joints.SixDofJoint;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- *
- * @author Nehon
- */
-public abstract class RagdollPreset {
-
-    protected static final Logger logger = Logger.getLogger(RagdollPreset.class.getName());
-    protected Map<String, JointPreset> boneMap = new HashMap<String, JointPreset>();
-    protected Map<String, LexiconEntry> lexicon = new HashMap<String, LexiconEntry>();
-
-    protected abstract void initBoneMap();
-
-    protected abstract void initLexicon();
-
-    public void setupJointForBone(String boneName, SixDofJoint joint) {
-
-        if (boneMap.isEmpty()) {
-            initBoneMap();
-        }
-        if (lexicon.isEmpty()) {
-            initLexicon();
-        }
-        String resultName = "";
-        int resultScore = 0;
-
-        for (String key : lexicon.keySet()) {
-        
-            int score = lexicon.get(key).getScore(boneName);        
-            if (score > resultScore) {
-                resultScore = score;
-                resultName = key;
-            }
-            
-        }
-        
-        JointPreset preset = boneMap.get(resultName);
-
-        if (preset != null && resultScore >= 50) {
-            logger.log(Level.INFO, "Found matching joint for bone {0} : {1} with score {2}", new Object[]{boneName, resultName, resultScore});
-            preset.setupJoint(joint);
-        } else {
-            logger.log(Level.INFO, "No joint match found for bone {0}", boneName);
-            if (resultScore > 0) {
-                logger.log(Level.INFO, "Best match found is {0} with score {1}", new Object[]{resultName, resultScore});
-            }
-            new JointPreset().setupJoint(joint);
-        }
-
-    }
-
-    protected class JointPreset {
-
-        private float maxX, minX, maxY, minY, maxZ, minZ;
-
-        public JointPreset() {
-        }
-
-        public JointPreset(float maxX, float minX, float maxY, float minY, float maxZ, float minZ) {
-            this.maxX = maxX;
-            this.minX = minX;
-            this.maxY = maxY;
-            this.minY = minY;
-            this.maxZ = maxZ;
-            this.minZ = minZ;
-        }
-
-        public void setupJoint(SixDofJoint joint) {
-            joint.getRotationalLimitMotor(0).setHiLimit(maxX);
-            joint.getRotationalLimitMotor(0).setLoLimit(minX);
-            joint.getRotationalLimitMotor(1).setHiLimit(maxY);
-            joint.getRotationalLimitMotor(1).setLoLimit(minY);
-            joint.getRotationalLimitMotor(2).setHiLimit(maxZ);
-            joint.getRotationalLimitMotor(2).setLoLimit(minZ);
-        }
-    }
-
-    protected class LexiconEntry extends HashMap<String, Integer> {
-
-        public void addSynonym(String word, int score) {
-            put(word.toLowerCase(), score);
-        }
-
-        public int getScore(String word) {
-            int score = 0;
-            String searchWord = word.toLowerCase();
-            for (String key : this.keySet()) {
-                if (searchWord.indexOf(key) >= 0) {
-                    score += get(key);
-                }
-            }
-            return score;
-        }
-    }
-}

+ 0 - 273
engine/src/bullet/com/jme3/bullet/control/ragdoll/RagdollUtils.java

@@ -1,273 +0,0 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-package com.jme3.bullet.control.ragdoll;
-
-import com.jme3.animation.Bone;
-import com.jme3.animation.Skeleton;
-import com.jme3.bullet.collision.shapes.HullCollisionShape;
-import com.jme3.bullet.joints.SixDofJoint;
-import com.jme3.math.Quaternion;
-import com.jme3.math.Transform;
-import com.jme3.math.Vector3f;
-import com.jme3.scene.Geometry;
-import com.jme3.scene.Mesh;
-import com.jme3.scene.Node;
-import com.jme3.scene.Spatial;
-import com.jme3.scene.VertexBuffer.Type;
-import java.nio.ByteBuffer;
-import java.nio.FloatBuffer;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- *
- * @author Nehon
- */
-public class RagdollUtils {
-
-    public static void setJointLimit(SixDofJoint joint, float maxX, float minX, float maxY, float minY, float maxZ, float minZ) {
-
-        joint.getRotationalLimitMotor(0).setHiLimit(maxX);
-        joint.getRotationalLimitMotor(0).setLoLimit(minX);
-        joint.getRotationalLimitMotor(1).setHiLimit(maxY);
-        joint.getRotationalLimitMotor(1).setLoLimit(minY);
-        joint.getRotationalLimitMotor(2).setHiLimit(maxZ);
-        joint.getRotationalLimitMotor(2).setLoLimit(minZ);
-    }
-
-    public static Map<Integer, List<Float>> buildPointMap(Spatial model) {
-
-
-        Map<Integer, List<Float>> map = new HashMap<Integer, List<Float>>();
-        if (model instanceof Geometry) {
-            Geometry g = (Geometry) model;
-            buildPointMapForMesh(g.getMesh(), map);
-        } else if (model instanceof Node) {
-            Node node = (Node) model;
-            for (Spatial s : node.getChildren()) {
-                if (s instanceof Geometry) {
-                    Geometry g = (Geometry) s;
-                    buildPointMapForMesh(g.getMesh(), map);
-                }
-            }
-        }
-        return map;
-    }
-
-    private static Map<Integer, List<Float>> buildPointMapForMesh(Mesh mesh, Map<Integer, List<Float>> map) {
-
-        FloatBuffer vertices = mesh.getFloatBuffer(Type.Position);
-        ByteBuffer boneIndices = (ByteBuffer) mesh.getBuffer(Type.BoneIndex).getData();
-        FloatBuffer boneWeight = (FloatBuffer) mesh.getBuffer(Type.BoneWeight).getData();
-
-        vertices.rewind();
-        boneIndices.rewind();
-        boneWeight.rewind();
-
-        int vertexComponents = mesh.getVertexCount() * 3;
-        int k, start, index;
-        float maxWeight = 0;
-
-        for (int i = 0; i < vertexComponents; i += 3) {
-
-
-            start = i / 3 * 4;
-            index = 0;
-            maxWeight = -1;
-            for (k = start; k < start + 4; k++) {
-                float weight = boneWeight.get(k);
-                if (weight > maxWeight) {
-                    maxWeight = weight;
-                    index = boneIndices.get(k);
-                }
-            }
-            List<Float> points = map.get(index);
-            if (points == null) {
-                points = new ArrayList<Float>();
-                map.put(index, points);
-            }
-            points.add(vertices.get(i));
-            points.add(vertices.get(i + 1));
-            points.add(vertices.get(i + 2));
-        }
-        return map;
-    }
-
-    /**
-     * Create a hull collision shape from linked vertices to this bone.
-     * Vertices have to be previoulsly gathered in a map using buildPointMap method
-     * @param link
-     * @param model
-     * @return 
-     */
-    public static HullCollisionShape makeShapeFromPointMap(Map<Integer, List<Float>> pointsMap, List<Integer> boneIndices, Vector3f initialScale, Vector3f initialPosition) {
-
-        ArrayList<Float> points = new ArrayList<Float>();
-        for (Integer index : boneIndices) {
-            List<Float> l = pointsMap.get(index);
-            if (l != null) {
-
-                for (int i = 0; i < l.size(); i += 3) {
-                    Vector3f pos = new Vector3f();
-                    pos.x = l.get(i);
-                    pos.y = l.get(i + 1);
-                    pos.z = l.get(i + 2);
-                    pos.subtractLocal(initialPosition).multLocal(initialScale);
-                    points.add(pos.x);
-                    points.add(pos.y);
-                    points.add(pos.z);
-                }
-            }
-        }
-
-        float[] p = new float[points.size()];
-        for (int i = 0; i < points.size(); i++) {
-            p[i] = points.get(i);
-        }
-
-
-        return new HullCollisionShape(p);
-    }
-
-    //retruns the list of bone indices of the given bone and its child(if they are not in the boneList)
-    public static List<Integer> getBoneIndices(Bone bone, Skeleton skeleton, Set<String> boneList) {
-        List<Integer> list = new LinkedList<Integer>();
-        if (boneList.isEmpty()) {
-            list.add(skeleton.getBoneIndex(bone));
-        } else {
-            list.add(skeleton.getBoneIndex(bone));
-            for (Bone chilBone : bone.getChildren()) {
-                if (!boneList.contains(chilBone.getName())) {
-                    list.addAll(getBoneIndices(chilBone, skeleton, boneList));
-                }
-            }
-        }
-        return list;
-    }
-
-    /**
-     * Create a hull collision shape from linked vertices to this bone.
-     * 
-     * @param link
-     * @param model
-     * @return 
-     */
-    public static HullCollisionShape makeShapeFromVerticeWeights(Spatial model, List<Integer> boneIndices, Vector3f initialScale, Vector3f initialPosition, float weightThreshold) {
-
-        ArrayList<Float> points = new ArrayList<Float>();
-        if (model instanceof Geometry) {
-            Geometry g = (Geometry) model;
-            for (Integer index : boneIndices) {
-                points.addAll(getPoints(g.getMesh(), index, initialScale, initialPosition, weightThreshold));
-            }
-        } else if (model instanceof Node) {
-            Node node = (Node) model;
-            for (Spatial s : node.getChildren()) {
-                if (s instanceof Geometry) {
-                    Geometry g = (Geometry) s;
-                    for (Integer index : boneIndices) {
-                        points.addAll(getPoints(g.getMesh(), index, initialScale, initialPosition, weightThreshold));
-                    }
-
-                }
-            }
-        }
-        float[] p = new float[points.size()];
-        for (int i = 0; i < points.size(); i++) {
-            p[i] = points.get(i);
-        }
-
-
-        return new HullCollisionShape(p);
-    }
-
-    /**
-     * returns a list of points for the given bone
-     * @param mesh
-     * @param boneIndex
-     * @param offset
-     * @param link
-     * @return 
-     */
-    private static List<Float> getPoints(Mesh mesh, int boneIndex, Vector3f initialScale, Vector3f offset, float weightThreshold) {
-
-        FloatBuffer vertices = mesh.getFloatBuffer(Type.Position);
-        ByteBuffer boneIndices = (ByteBuffer) mesh.getBuffer(Type.BoneIndex).getData();
-        FloatBuffer boneWeight = (FloatBuffer) mesh.getBuffer(Type.BoneWeight).getData();
-
-        vertices.rewind();
-        boneIndices.rewind();
-        boneWeight.rewind();
-
-        ArrayList<Float> results = new ArrayList<Float>();
-
-        int vertexComponents = mesh.getVertexCount() * 3;
-
-        for (int i = 0; i < vertexComponents; i += 3) {
-            int k;
-            boolean add = false;
-            int start = i / 3 * 4;
-            for (k = start; k < start + 4; k++) {
-                if (boneIndices.get(k) == boneIndex && boneWeight.get(k) >= weightThreshold) {
-                    add = true;
-                    break;
-                }
-            }
-            if (add) {
-
-                Vector3f pos = new Vector3f();
-                pos.x = vertices.get(i);
-                pos.y = vertices.get(i + 1);
-                pos.z = vertices.get(i + 2);
-                pos.subtractLocal(offset).multLocal(initialScale);
-                results.add(pos.x);
-                results.add(pos.y);
-                results.add(pos.z);
-
-            }
-        }
-
-        return results;
-    }
-
-    /**
-     * Updates a bone position and rotation.
-     * if the child bones are not in the bone list this means, they are not associated with a physic shape.
-     * So they have to be updated
-     * @param bone the bone
-     * @param pos the position
-     * @param rot the rotation
-     */
-    public static void setTransform(Bone bone, Vector3f pos, Quaternion rot, boolean restoreBoneControl, Set<String> boneList) {
-        //we ensure that we have the control
-        if (restoreBoneControl) {
-            bone.setUserControl(true);
-        }
-        //we set te user transforms of the bone
-        bone.setUserTransformsWorld(pos, rot);
-        for (Bone childBone : bone.getChildren()) {
-            //each child bone that is not in the list is updated
-            if (!boneList.contains(childBone.getName())) {
-                Transform t = childBone.getCombinedTransform(pos, rot);
-                setTransform(childBone, t.getTranslation(), t.getRotation(), restoreBoneControl, boneList);
-            }
-        }
-        //we give back the control to the keyframed animation
-        if (restoreBoneControl) {
-            bone.setUserControl(false);
-        }
-    }
-
-    public static void setUserControl(Bone bone, boolean bool) {
-        bone.setUserControl(bool);
-        for (Bone child : bone.getChildren()) {
-            setUserControl(child, bool);
-        }
-    }
-}

+ 0 - 259
engine/src/bullet/native/android/Android.mk

@@ -1,259 +0,0 @@
-# /*
-# Bullet Continuous Collision Detection and Physics Library for Android NDK
-# Copyright (c) 2006-2009 Noritsuna Imamura  <a href="http://www.siprop.org/" rel="nofollow">http://www.siprop.org/</a>
-#
-# This software is provided 'as-is', without any express or implied warranty.
-# In no event will the authors be held liable for any damages arising from the use of this software.
-# Permission is granted to anyone to use this software for any purpose,
-# including commercial applications, and to alter it and redistribute it freely,
-# subject to the following restrictions:
-#
-# 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
-# 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
-# 3. This notice may not be removed or altered from any source distribution.
-# */
-LOCAL_PATH:= $(call my-dir)
-JME3_PATH:=
-BULLET_PATH:=
- 
-include $(CLEAR_VARS)
- 
-LOCAL_MODULE    := bulletjme
-LOCAL_C_INCLUDES := $(BULLET_PATH)/\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver\
-    $(BULLET_PATH)/BulletDynamics/Dynamics\
-    $(BULLET_PATH)/BulletDynamics/Vehicle\
-    $(BULLET_PATH)/LinearMath\
-    $(BULLET_PATH)/BulletCollision\
-    $(BULLET_PATH)/BulletDynamics\
-    $(BULLET_PATH)/BulletMultiThreaded\
-    $(BULLET_PATH)/BulletSoftBody\
-    $(BULLET_PATH)/ibmsdk\
-    $(BULLET_PATH)/LinearMath\
-    $(BULLET_PATH)/MiniCL\
-    $(BULLET_PATH)/vectormath\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes\
-    $(BULLET_PATH)/BulletCollision/Gimpact\
-    $(BULLET_PATH)/BulletCollision/ibmsdk\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision\
-    $(BULLET_PATH)/BulletDynamics/Character\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver\
-    $(BULLET_PATH)/BulletDynamics/Dynamics\
-    $(BULLET_PATH)/BulletDynamics/ibmsdk\
-    $(BULLET_PATH)/BulletDynamics/Vehicle\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers\
-    $(BULLET_PATH)/BulletMultiThreaded/out\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuNarrowPhaseCollisionTask\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuSampleTask\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/CPU\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/DX11\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/DX11/HLSL\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/AMD\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/Apple\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/MiniCL\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/NVidia\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/OpenCLC\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/OpenCLC10\
-    $(BULLET_PATH)/LinearMath/ibmsdk\
-    $(BULLET_PATH)/MiniCL/MiniCLTask\
-    $(BULLET_PATH)/vectormath/scalar\
-    $(BULLET_PATH)/vectormath/sse
- 
-LOCAL_CFLAGS := $(LOCAL_C_INCLUDES:%=-I%)
-LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -ldl -lm -llog
- 
-LOCAL_SRC_FILES := $(JME3_PATH)/com_jme3_bullet_collision_PhysicsCollisionEvent.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_PhysicsCollisionObject.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_BoxCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_CapsuleCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_CollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_CompoundCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_ConeCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_CylinderCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_GImpactCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_HeightfieldCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_HullCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_MeshCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_PlaneCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_SimplexCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_collision_shapes_SphereCollisionShape.cpp\
-    $(JME3_PATH)/com_jme3_bullet_joints_ConeJoint.cpp\
-    $(JME3_PATH)/com_jme3_bullet_joints_HingeJoint.cpp\
-    $(JME3_PATH)/com_jme3_bullet_joints_motors_RotationalLimitMotor.cpp\
-    $(JME3_PATH)/com_jme3_bullet_joints_motors_TranslationalLimitMotor.cpp\
-    $(JME3_PATH)/com_jme3_bullet_joints_PhysicsJoint.cpp\
-    $(JME3_PATH)/com_jme3_bullet_joints_Point2PointJoint.cpp\
-    $(JME3_PATH)/com_jme3_bullet_joints_SixDofJoint.cpp\
-    $(JME3_PATH)/com_jme3_bullet_joints_SixDofSpringJoint.cpp\
-    $(JME3_PATH)/com_jme3_bullet_joints_SliderJoint.cpp\
-    $(JME3_PATH)/com_jme3_bullet_objects_infos_RigidBodyMotionState.cpp\
-    $(JME3_PATH)/com_jme3_bullet_objects_PhysicsCharacter.cpp\
-    $(JME3_PATH)/com_jme3_bullet_objects_PhysicsGhostObject.cpp\
-    $(JME3_PATH)/com_jme3_bullet_objects_PhysicsRigidBody.cpp\
-    $(JME3_PATH)/com_jme3_bullet_objects_PhysicsVehicle.cpp\
-    $(JME3_PATH)/com_jme3_bullet_objects_VehicleWheel.cpp\
-    $(JME3_PATH)/com_jme3_bullet_PhysicsSpace.cpp\
-    $(JME3_PATH)/com_jme3_bullet_util_DebugShapeFactory.cpp\
-    $(JME3_PATH)/com_jme3_bullet_util_NativeMeshUtil.cpp\
-    $(JME3_PATH)/jmeBulletUtil.cpp\
-    $(JME3_PATH)/jmeClasses.cpp\
-    $(JME3_PATH)/jmeMotionState.cpp\
-    $(JME3_PATH)/jmePhysicsSpace.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btDbvt.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btDispatcher.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp\
-    $(BULLET_PATH)/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btCollisionObject.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btCollisionWorld.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btGhostObject.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btManifoldResult.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/btUnionFind.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btBox2dShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btBoxShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btCapsuleShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btCollisionShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btCompoundShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btConcaveShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btConeShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btConvex2dShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btConvexHullShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btConvexInternalShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btConvexPolyhedron.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btConvexShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btCylinderShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btEmptyShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btMultiSphereShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btOptimizedBvh.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btShapeHull.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btSphereShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btTetrahedronShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btTriangleBuffer.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btTriangleCallback.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btTriangleMesh.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp\
-    $(BULLET_PATH)/BulletCollision/CollisionShapes/btUniformScalingShape.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/btContactProcessing.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/btGenericPoolAllocator.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/btGImpactBvh.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/btGImpactShape.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/btTriangleShapeEx.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/gim_box_set.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/gim_contact.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/gim_memory.cpp\
-    $(BULLET_PATH)/BulletCollision/Gimpact/gim_tri_collision.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btPolyhedralContactClipping.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp\
-    $(BULLET_PATH)/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp\
-    $(BULLET_PATH)/BulletDynamics/Character/btKinematicCharacterController.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btContactConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btGeneric6DofSpringConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp\
-    $(BULLET_PATH)/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp\
-    $(BULLET_PATH)/BulletDynamics/Dynamics/btRigidBody.cpp\
-    $(BULLET_PATH)/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp\
-    $(BULLET_PATH)/BulletDynamics/Dynamics/Bullet-C-API.cpp\
-    $(BULLET_PATH)/BulletDynamics/Vehicle/btRaycastVehicle.cpp\
-    $(BULLET_PATH)/BulletDynamics/Vehicle/btWheelInfo.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/btGpu3DGridBroadphase.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/btParallelConstraintSolver.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/btThreadSupportInterface.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/PosixThreadSupport.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SequentialThreadSupport.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuCollisionObjectWrapper.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuCollisionTaskProcess.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuContactManifoldCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuFakeDma.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuGatheringCollisionDispatcher.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuLibspe2Support.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuSampleTaskProcess.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/Win32ThreadSupport.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/CPU/btSoftBodySolver_CPU.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/GpuSoftBodySolvers/OpenCL/MiniCL/MiniCLTaskWrap.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/boxBoxDistance.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuContactResult.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.cpp\
-    $(BULLET_PATH)/BulletMultiThreaded/SpuSampleTask/SpuSampleTask.cpp\
-    $(BULLET_PATH)/BulletSoftBody/btDefaultSoftBodySolver.cpp\
-    $(BULLET_PATH)/BulletSoftBody/btSoftBody.cpp\
-    $(BULLET_PATH)/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletSoftBody/btSoftBodyHelpers.cpp\
-    $(BULLET_PATH)/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp\
-    $(BULLET_PATH)/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/BulletSoftBody/btSoftRigidDynamicsWorld.cpp\
-    $(BULLET_PATH)/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp\
-    $(BULLET_PATH)/LinearMath/btAlignedAllocator.cpp\
-    $(BULLET_PATH)/LinearMath/btConvexHull.cpp\
-    $(BULLET_PATH)/LinearMath/btConvexHullComputer.cpp\
-    $(BULLET_PATH)/LinearMath/btGeometryUtil.cpp\
-    $(BULLET_PATH)/LinearMath/btQuickprof.cpp\
-    $(BULLET_PATH)/LinearMath/btSerializer.cpp\
-    $(BULLET_PATH)/MiniCL/MiniCL.cpp\
-    $(BULLET_PATH)/MiniCL/MiniCLTaskScheduler.cpp\
-    $(BULLET_PATH)/MiniCL/MiniCLTask/MiniCLTask.cpp
- 
-include $(BUILD_SHARED_LIBRARY)

+ 0 - 2
engine/src/bullet/native/android/Application.mk

@@ -1,2 +0,0 @@
-APP_MODULES      := bulletjme
-APP_ABI          := all

+ 0 - 273
engine/src/bullet/native/android/jmePhysicsSpace.cpp

@@ -1,273 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "jmePhysicsSpace.h"
-#include "jmeBulletUtil.h"
-#include <stdio.h>
-
-/**
- * Author: Normen Hansen
- */
-jmePhysicsSpace::jmePhysicsSpace(JNIEnv* env, jobject javaSpace) {
-    //TODO: global ref? maybe not -> cleaning, rather callback class?
-    this->javaPhysicsSpace = env->NewWeakGlobalRef(javaSpace);
-    this->env = env;
-    env->GetJavaVM(&vm);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-}
-
-void jmePhysicsSpace::attachThread() {
-#ifdef JNI_VERSION_1_2
-    vm->AttachCurrentThread((JNIEnv**) &env, NULL);
-#else
-    vm->AttachCurrentThread(&env, NULL);
-#endif
-}
-
-JNIEnv* jmePhysicsSpace::getEnv() {
-    attachThread();
-    return this->env;
-}
-
-void jmePhysicsSpace::stepSimulation(jfloat tpf, jint maxSteps, jfloat accuracy) {
-    dynamicsWorld->stepSimulation(tpf, maxSteps, accuracy);
-}
-
-btThreadSupportInterface* jmePhysicsSpace::createSolverThreadSupport(int maxNumThreads) {
-#ifdef _WIN32
-    Win32ThreadSupport::Win32ThreadConstructionInfo threadConstructionInfo("solverThreads", SolverThreadFunc, SolverlsMemoryFunc, maxNumThreads);
-    Win32ThreadSupport* threadSupport = new Win32ThreadSupport(threadConstructionInfo);
-    threadSupport->startSPU();
-#elif defined (USE_PTHREADS)
-    PosixThreadSupport::ThreadConstructionInfo constructionInfo("collision", SolverThreadFunc,
-            SolverlsMemoryFunc, maxNumThreads);
-    PosixThreadSupport* threadSupport = new PosixThreadSupport(constructionInfo);
-    threadSupport->startSPU();
-#else
-    SequentialThreadSupport::SequentialThreadConstructionInfo tci("solverThreads", SolverThreadFunc, SolverlsMemoryFunc);
-    SequentialThreadSupport* threadSupport = new SequentialThreadSupport(tci);
-    threadSupport->startSPU();
-#endif
-    return threadSupport;
-}
-
-btThreadSupportInterface* jmePhysicsSpace::createDispatchThreadSupport(int maxNumThreads) {
-#ifdef _WIN32
-    Win32ThreadSupport::Win32ThreadConstructionInfo threadConstructionInfo("solverThreads", processCollisionTask, createCollisionLocalStoreMemory, maxNumThreads);
-    Win32ThreadSupport* threadSupport = new Win32ThreadSupport(threadConstructionInfo);
-    threadSupport->startSPU();
-#elif defined (USE_PTHREADS)
-    PosixThreadSupport::ThreadConstructionInfo solverConstructionInfo("solver", processCollisionTask,
-            createCollisionLocalStoreMemory, maxNumThreads);
-    PosixThreadSupport* threadSupport = new PosixThreadSupport(solverConstructionInfo);
-    threadSupport->startSPU();
-#else
-    SequentialThreadSupport::SequentialThreadConstructionInfo tci("solverThreads", processCollisionTask, createCollisionLocalStoreMemory);
-    SequentialThreadSupport* threadSupport = new SequentialThreadSupport(tci);
-    threadSupport->startSPU();
-#endif
-    return threadSupport;
-}
-
-void jmePhysicsSpace::createPhysicsSpace(jfloat minX, jfloat minY, jfloat minZ, jfloat maxX, jfloat maxY, jfloat maxZ, jint broadphaseId, jboolean threading) {
-    // collision configuration contains default setup for memory, collision setup
-    btDefaultCollisionConstructionInfo cci;
-    //    if(threading){
-    //        cci.m_defaultMaxPersistentManifoldPoolSize = 32768;
-    //    }
-    btCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration(cci);
-
-    btVector3 min = btVector3(minX, minY, minZ);
-    btVector3 max = btVector3(maxX, maxY, maxZ);
-
-    btBroadphaseInterface* broadphase;
-
-    switch (broadphaseId) {
-        case 0:
-            broadphase = new btSimpleBroadphase();
-            break;
-        case 1:
-            broadphase = new btAxisSweep3(min, max);
-            break;
-        case 2:
-            //TODO: 32bit!
-            broadphase = new btAxisSweep3(min, max);
-            break;
-        case 3:
-            broadphase = new btDbvtBroadphase();
-            break;
-        case 4:
-            //            broadphase = new btGpu3DGridBroadphase(
-            //                    min, max,
-            //                    20, 20, 20,
-            //                    10000, 1000, 25);
-            break;
-    }
-
-    btCollisionDispatcher* dispatcher;
-    btConstraintSolver* solver;
-    // use the default collision dispatcher. For parallel processing you can use a diffent dispatcher (see Extras/BulletMultiThreaded)
-    if (threading) {
-        btThreadSupportInterface* dispatchThreads = createDispatchThreadSupport(4);
-        dispatcher = new SpuGatheringCollisionDispatcher(dispatchThreads, 4, collisionConfiguration);
-        dispatcher->setDispatcherFlags(btCollisionDispatcher::CD_DISABLE_CONTACTPOOL_DYNAMIC_ALLOCATION);
-    } else {
-        dispatcher = new btCollisionDispatcher(collisionConfiguration);
-    }
-
-    // the default constraint solver. For parallel processing you can use a different solver (see Extras/BulletMultiThreaded)
-    if (threading) {
-        btThreadSupportInterface* solverThreads = createSolverThreadSupport(4);
-        solver = new btParallelConstraintSolver(solverThreads);
-    } else {
-        solver = new btSequentialImpulseConstraintSolver;
-    }
-
-    //create dynamics world
-    btDiscreteDynamicsWorld* world = new btDiscreteDynamicsWorld(dispatcher, broadphase, solver, collisionConfiguration);
-    dynamicsWorld = world;
-    dynamicsWorld->setWorldUserInfo(this);
-
-    //parallel solver requires the contacts to be in a contiguous pool, so avoid dynamic allocation
-    if (threading) {
-        world->getSimulationIslandManager()->setSplitIslands(false);
-        world->getSolverInfo().m_numIterations = 4;
-        world->getSolverInfo().m_solverMode = SOLVER_SIMD + SOLVER_USE_WARMSTARTING; //+SOLVER_RANDMIZE_ORDER;
-        world->getDispatchInfo().m_enableSPU = true;
-    }
-
-    broadphase->getOverlappingPairCache()->setInternalGhostPairCallback(new btGhostPairCallback());
-
-    dynamicsWorld->setGravity(btVector3(0, -9.81f, 0));
-
-    struct jmeFilterCallback : public btOverlapFilterCallback {
-        // return true when pairs need collision
-
-        virtual bool needBroadphaseCollision(btBroadphaseProxy* proxy0, btBroadphaseProxy * proxy1) const {
-            //            bool collides = (proxy0->m_collisionFilterGroup & proxy1->m_collisionFilterMask) != 0;
-            //            collides = collides && (proxy1->m_collisionFilterGroup & proxy0->m_collisionFilterMask);
-            bool collides = (proxy0->m_collisionFilterGroup & proxy1->m_collisionFilterMask) != 0;
-            collides = collides && (proxy1->m_collisionFilterGroup & proxy0->m_collisionFilterMask);
-            if (collides) {
-                btCollisionObject* co0 = (btCollisionObject*) proxy0->m_clientObject;
-                btCollisionObject* co1 = (btCollisionObject*) proxy1->m_clientObject;
-                jmeUserPointer *up0 = (jmeUserPointer*) co0 -> getUserPointer();
-                jmeUserPointer *up1 = (jmeUserPointer*) co1 -> getUserPointer();
-                if (up0 != NULL && up1 != NULL) {
-                    collides = (up0->group & up1->groups) != 0;
-                    collides = collides && (up1->group & up0->groups);
-
-                    //add some additional logic here that modified 'collides'
-                    return collides;
-                }
-                return false;
-            }
-            return collides;
-        }
-    };
-    dynamicsWorld->getPairCache()->setOverlapFilterCallback(new jmeFilterCallback());
-    dynamicsWorld->setInternalTickCallback(&jmePhysicsSpace::preTickCallback, static_cast<void *> (this), true);
-    dynamicsWorld->setInternalTickCallback(&jmePhysicsSpace::postTickCallback, static_cast<void *> (this));
-    if (gContactProcessedCallback == NULL) {
-        gContactProcessedCallback = &jmePhysicsSpace::contactProcessedCallback;
-    }
-}
-
-void jmePhysicsSpace::preTickCallback(btDynamicsWorld *world, btScalar timeStep) {
-    jmePhysicsSpace* dynamicsWorld = (jmePhysicsSpace*) world->getWorldUserInfo();
-    JNIEnv* env = dynamicsWorld->getEnv();
-    jobject javaPhysicsSpace = env->NewLocalRef(dynamicsWorld->getJavaPhysicsSpace());
-    if (javaPhysicsSpace != NULL) {
-        env->CallVoidMethod(javaPhysicsSpace, jmeClasses::PhysicsSpace_preTick, timeStep);
-        env->DeleteLocalRef(javaPhysicsSpace);
-        if (env->ExceptionCheck()) {
-            env->Throw(env->ExceptionOccurred());
-            return;
-        }
-    }
-}
-
-void jmePhysicsSpace::postTickCallback(btDynamicsWorld *world, btScalar timeStep) {
-    jmePhysicsSpace* dynamicsWorld = (jmePhysicsSpace*) world->getWorldUserInfo();
-    JNIEnv* env = dynamicsWorld->getEnv();
-    jobject javaPhysicsSpace = env->NewLocalRef(dynamicsWorld->getJavaPhysicsSpace());
-    if (javaPhysicsSpace != NULL) {
-        env->CallVoidMethod(javaPhysicsSpace, jmeClasses::PhysicsSpace_postTick, timeStep);
-        env->DeleteLocalRef(javaPhysicsSpace);
-        if (env->ExceptionCheck()) {
-            env->Throw(env->ExceptionOccurred());
-            return;
-        }
-    }
-}
-
-bool jmePhysicsSpace::contactProcessedCallback(btManifoldPoint &cp, void *body0, void *body1) {
-    //    printf("contactProcessedCallback %d %dn", body0, body1);
-    btCollisionObject* co0 = (btCollisionObject*) body0;
-    jmeUserPointer *up0 = (jmeUserPointer*) co0 -> getUserPointer();
-    btCollisionObject* co1 = (btCollisionObject*) body1;
-    jmeUserPointer *up1 = (jmeUserPointer*) co1 -> getUserPointer();
-    if (up0 != NULL) {
-        jmePhysicsSpace *dynamicsWorld = (jmePhysicsSpace *)up0->space;
-        if (dynamicsWorld != NULL) {
-            JNIEnv* env = dynamicsWorld->getEnv();
-            jobject javaPhysicsSpace = env->NewLocalRef(dynamicsWorld->getJavaPhysicsSpace());
-            if (javaPhysicsSpace != NULL) {
-                jobject javaCollisionObject0 = env->NewLocalRef(up0->javaCollisionObject);
-                jobject javaCollisionObject1 = env->NewLocalRef(up1->javaCollisionObject);
-                env->CallVoidMethod(javaPhysicsSpace, jmeClasses::PhysicsSpace_addCollisionEvent, javaCollisionObject0, javaCollisionObject1, (jlong) & cp);
-                env->DeleteLocalRef(javaPhysicsSpace);
-                env->DeleteLocalRef(javaCollisionObject0);
-                env->DeleteLocalRef(javaCollisionObject1);
-                if (env->ExceptionCheck()) {
-                    env->Throw(env->ExceptionOccurred());
-                    return true;
-                }
-            }
-        }
-    }
-    return true;
-}
-
-btDynamicsWorld* jmePhysicsSpace::getDynamicsWorld() {
-    return dynamicsWorld;
-}
-
-jobject jmePhysicsSpace::getJavaPhysicsSpace() {
-    return javaPhysicsSpace;
-}
-
-jmePhysicsSpace::~jmePhysicsSpace() {
-    delete(dynamicsWorld);
-}

+ 0 - 310
engine/src/bullet/native/build.xml

@@ -1,310 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="build bullet natives" default="all" basedir="../../../">
-    <!-- load cpp compiler ant task -->
-    <taskdef resource="cpptasks.tasks" classpath="lib/antlibs/cpptasks.jar"/>
-    <!-- load properties -->
-    <property file="src/bullet/native/bullet.properties"/>
-    <!-- condition for mac platform check -->
-    <condition property="isSolaris">
-        <os name="SunOS"/>
-    </condition>
-    <condition property="isMac">
-        <and>
-            <os family="mac" />
-            <os family="unix" />
-        </and>
-    </condition>
-    <!-- condition for windows platform check -->
-    <condition property="isWindows">
-        <os family="windows" />
-    </condition>
-    <!-- condition for linux platform check -->
-    <condition property="isLinux">
-        <and>
-            <os family="unix"/>
-            <not>
-                <os family="mac"/>
-            </not>
-            <not>
-                <os name="SunOS"/>
-            </not>
-        </and>
-    </condition>
-    <!-- condition for x86_64 check -->
-    <condition property="isx86_64">
-        <os arch="x86_64" />
-    </condition>
-    
-    <condition property="ndk-build-name" value="ndk-build.cmd" else="ndk-build">
-        <os family="windows" />
-    </condition>
-    
-    <fileset id="lib.jars" dir="${bullet.lib.dir}">
-        <include name="**/*.jar"/>
-    </fileset>
-    <fileset id="lib.jme.jars" dir="${bullet.jme.dir}">
-        <include name="**/*.jar"/>
-    </fileset>
-    
-    <pathconvert property="lib.importpath">
-        <fileset refid="lib.jars"/>
-        <fileset refid="lib.jme.jars"/>
-    </pathconvert>
-
-    <target name="build-bullet-natives" description="builds the native bullet library for the platform being run on" depends="-create-folders, create-native-headers, -nativelib-osx, -nativelib-windows, -nativelib-linux, -nativelib-solaris, -nativelib-android">
-        <echo message="Updating native jME3-bullet-natives.jar"/>
-        <zip basedir="${bullet.output.base}/jarcontent" file="${bullet.output.base}/jME3-bullet-natives.jar" compress="true"/>
-        <zip basedir="${bullet.output.base}/android" file="${bullet.output.base}/jME3-bullet-natives-android.jar" compress="true"/>
-        <copy file="${bullet.output.base}/jME3-bullet-natives.jar" todir="dist/opt/native-bullet/lib/"/>
-        <copy file="${bullet.output.base}/jME3-bullet-natives-android.jar" todir="dist/opt/native-bullet/lib/"/>
-    </target>
-    
-    <target name="create-native-headers" description="creates the native headers">
-        <javah destdir="${bullet.source.dir}" classpath="${bullet.build.dir}${path.separator}${lib.importpath}" force="yes">
-            <class name="com.jme3.bullet.PhysicsSpace"/>
-
-            <class name="com.jme3.bullet.collision.PhysicsCollisionEvent"/>
-            <class name="com.jme3.bullet.collision.PhysicsCollisionObject"/>
-            <class name="com.jme3.bullet.objects.PhysicsCharacter"/>
-            <class name="com.jme3.bullet.objects.PhysicsGhostObject"/>
-            <class name="com.jme3.bullet.objects.PhysicsRigidBody"/>
-            <class name="com.jme3.bullet.objects.PhysicsVehicle"/>
-            <class name="com.jme3.bullet.objects.VehicleWheel"/>
-            <class name="com.jme3.bullet.objects.infos.RigidBodyMotionState"/>
-            
-            <class name="com.jme3.bullet.collision.shapes.CollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.BoxCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.CapsuleCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.CompoundCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.ConeCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.CylinderCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.GImpactCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.HeightfieldCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.HullCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.MeshCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.PlaneCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.SimplexCollisionShape"/>
-            <class name="com.jme3.bullet.collision.shapes.SphereCollisionShape"/>
-
-            <class name="com.jme3.bullet.joints.PhysicsJoint"/>
-            <class name="com.jme3.bullet.joints.ConeJoint"/>
-            <class name="com.jme3.bullet.joints.HingeJoint"/>
-            <class name="com.jme3.bullet.joints.Point2PointJoint"/>
-            <class name="com.jme3.bullet.joints.SixDofJoint"/>
-            <class name="com.jme3.bullet.joints.SixDofSpringJoint"/>
-            <class name="com.jme3.bullet.joints.SliderJoint"/>
-            <class name="com.jme3.bullet.joints.motors.RotationalLimitMotor"/>
-            <class name="com.jme3.bullet.joints.motors.TranslationalLimitMotor"/>
-
-            <class name="com.jme3.bullet.util.NativeMeshUtil"/>
-            <class name="com.jme3.bullet.util.DebugShapeFactory"/>
-        </javah>
-    </target>
-
-    <!-- compares the API of native bullet and java version-->
-    <target name="bullet-api-diff">
-        <echo message="Comparing bullet and jbullet API"/>
-        <property name="dependencyfinder.home" value="lib/antlibs/depfinder"/>
-        <path id="dependencyfinder">
-            <pathelement location="${dependencyfinder.home}/classes"/>
-            <pathelement location="${dependencyfinder.home}/lib/DependencyFinder.jar"/>
-            <pathelement location="${dependencyfinder.home}/lib/jakarta-oro.jar"/>
-            <pathelement location="${dependencyfinder.home}/lib/log4j.jar"/>
-            <pathelement location="${dependencyfinder.home}/lib/guava.jar"/>
-        </path>
-        <taskdef resource="dependencyfindertasks.properties">
-            <classpath refid="dependencyfinder"/>
-        </taskdef>
-        <jarjardiff destfile="bullet-api-diff.xml"
-              name="jMonkeyEngine3 Bullet Physics API Comparison"
-              oldlabel="Java Version"
-              newlabel="Native Version"
-              level="incompatible">
-            <old>
-                <pathelement location="build/jME3-jbullet.jar"/>
-            </old>
-            <new>
-                <pathelement location="build/jME3-bullet.jar"/>
-            </new>
-        </jarjardiff>    
-        <xslt style="${dependencyfinder.home}/etc/DiffToHTML.xsl"
-        in="bullet-api-diff.xml"
-        out="bullet-api-diff.html" force="true"/>
-        <delete file="bullet-api-diff.xml"/>
-    </target>
-
-    <target name="-create-folders" description="creates the native headers">
-        <mkdir dir="${bullet.source.dir}"/>
-        <mkdir dir="${bullet.build.dir}"/>
-        <mkdir dir="${bullet.output.dir}"/>
-        <mkdir dir="build/bullet-native"/>
-    </target>
-    
-    <target name="-nativelib-osx" if="isMac">
-        <echo message="Building MacOSX version of native bullet"/>
-        <mkdir dir="${bullet.output.dir}/macosx"/>
-        <cc name="${bullet.osx.compiler}" warnings="none" debug="${bullet.compile.debug}" link="shared" outfile="${bullet.output.dir}/macosx/${bullet.library.name}" objdir="build/bullet-native">
-            <fileset dir="${bullet.source.dir}">
-                <include name="*.cpp">
-                </include>
-            </fileset>
-            <includepath path="${bullet.osx.java.include}"/>
-            <includepath path="${bullet.bullet.include}"/>
-            <compilerarg value="-syslibroot ${bullet.osx.syslibroot}"/>
-            <!--compilerarg value="-arch"/>
-            <compilerarg value="ppc"/-->
-            <compilerarg value="-arch"/>
-            <compilerarg value="i386"/>
-            <compilerarg value="-arch"/>
-            <compilerarg value="x86_64"/>
-            <linker name="${bullet.osx.compiler}">
-                <!--libset dir="${bullet.folder}/src/BulletSoftBody" libs="BulletSoftBody"/-->
-                <libset dir="${bullet.folder}/src/BulletMultiThreaded" libs="BulletMultiThreaded"/>
-                <libset dir="${bullet.folder}/src/BulletDynamics" libs="BulletDynamics"/>
-                <libset dir="${bullet.folder}/src/BulletCollision" libs="BulletCollision"/>
-                <libset dir="${bullet.folder}/src/LinearMath" libs="LinearMath"/>
-                <!--linkerarg value="-arch"/>
-                <linkerarg value="ppc"/-->
-                <linkerarg value="-arch"/>
-                <linkerarg value="i386"/>
-                <linkerarg value="-arch"/>
-                <linkerarg value="x86_64"/>
-            </linker>
-        </cc>
-        <move file="${bullet.output.dir}/macosx/lib${bullet.library.name}.dylib" tofile="${bullet.output.dir}/macosx/lib${bullet.library.name}.jnilib" failonerror="true" verbose="true"/>
-        <delete file="${bullet.output.dir}/macosx/history.xml"/>
-    </target>
-    
-    <target name="-nativelib-linux" if="isLinux">
-        <echo message="Building Linux version of native bullet"/>
-        <mkdir dir="${bullet.output.dir}/linux"/>
-        <cc name="${bullet.linux.compiler}" warnings="severe" debug="${bullet.compile.debug}" link="shared" outfile="${bullet.output.dir}/linux/${bullet.library.name}" objdir="build/bullet-native">
-            <fileset dir="${bullet.source.dir}">
-                <include name="*.cpp">
-                </include>
-            </fileset>
-            <includepath path="${bullet.java.include}"/>
-            <includepath path="${bullet.java.include}/linux"/>
-            <includepath path="${bullet.bullet.include}"/>
-            <!--compilerarg value="-m32"/-->
-            <!--compilerarg value="-static-libgcc"/>
-            <compilerarg value="-fPIC"/-->
-            <linker name="${bullet.linux.compiler}">
-                <!-- linkerarg value="-static-libgcc"/ -->
-                <libset dir="${bullet.folder}/src/BulletMultiThreaded" libs="BulletMultiThreaded"/>
-                <libset dir="${bullet.folder}/src/BulletDynamics" libs="BulletDynamics"/>
-                <libset dir="${bullet.folder}/src/BulletCollision" libs="BulletCollision"/>
-                <libset dir="${bullet.folder}/src/LinearMath" libs="LinearMath"/>
-            </linker>
-        </cc>
-        <delete file="${bullet.output.dir}/linux/history.xml"/>
-    </target>
-    
-    <target name="-nativelib-solaris" if="isSolaris">
-        <echo message="Building Solaris version of native bullet"/>
-        <mkdir dir="${bullet.output.dir}/linux"/>
-        <cc name="${bullet.solaris.compiler}" warnings="severe" debug="${bullet.compile.debug}" link="shared" outfile="${bullet.output.dir}/solaris/${bullet.library.name}" objdir="build/bullet-native">
-            <fileset dir="${bullet.source.dir}">
-                <include name="*.cpp">
-                </include>
-            </fileset>
-            <includepath path="${bullet.java.include}"/>
-            <includepath path="${bullet.java.include}/solaris"/>
-            <includepath path="${bullet.bullet.include}"/>
-            <!--compilerarg value="-m32"/-->
-            <compilerarg value="-m32"/>
-            <compilerarg value="-fno-strict-aliasing"/>
-            <compilerarg value="-pthread"/>
-            <compilerarg value="-fPIC"/>
-            <compilerarg value="-D_REENTRANT"/>
-            <compilerarg value="-static-libstdc++"/>
-            <compilerarg value="-static-libgcc"/>
-            <compilerarg value="-D_REENTRANT"/>
-            <linker name="${bullet.solaris.compiler}">
-                <linkerarg value="-R/usr/sfw/lib"/>
-                <libset dir="${bullet.folder}/src/BulletMultiThreaded" libs="BulletMultiThreaded"/>
-                <libset dir="${bullet.folder}/src/BulletDynamics" libs="BulletDynamics"/>
-                <libset dir="${bullet.folder}/src/BulletCollision" libs="BulletCollision"/>
-                <libset dir="${bullet.folder}/src/LinearMath" libs="LinearMath"/>
-            </linker>
-        </cc>
-        <delete file="${bullet.output.dir}/solaris/history.xml"/>
-    </target>
-
-    <target name="-nativelib-windows" if="isWindows">
-        <echo message="Building Windows version of native bullet"/>
-        <mkdir dir="${bullet.output.dir}/windows"/>
-        <cc multithreaded="" name="${bullet.windows.compiler}" warnings="none" debug="${bullet.compile.debug}" outtype="shared" outfile="${bullet.output.dir}/windows/${bullet.library.name}" objdir="build/bullet-native">
-            <fileset dir="${bullet.source.dir}">
-                <include name="*.cpp">
-                </include>
-            </fileset>
-            <includepath path="${bullet.java.include}"/>
-            <includepath path="${bullet.java.include}/win32"/>
-            <includepath path="${bullet.bullet.include}"/>
-            <!--compilerarg value="-m32"/-->
-            <linker name="${bullet.windows.compiler}" debug="${bullet.compile.debug}" >
-                <linkerarg value="-o${bullet.library.name}.dll" />
-                <linkerarg value="--kill-at" />
-                <linkerarg value="-static"/>
-                <libset dir="${bullet.folder}/lib" libs="BulletMultiThreaded,BulletDynamics,BulletCollision,LinearMath"/> 
-            </linker>
-        </cc>
-        <delete file="${bullet.output.dir}/windows/history.xml"/>
-    </target>
-
-    <target name="-nativelib-android" depends="-check-android-ndk" if="haveAndoidNdk">
-        <!-- delete previous android jni, libs, and obj subdirectories for a clean start -->
-        <delete dir="build/bullet-android/jni" failonerror="false"/>
-        <delete dir="build/bullet-android/libs" failonerror="false"/>
-        <delete dir="build/bullet-android/obj" failonerror="false"/>
-        <!-- create the android subdirectory in jarcontent for the libbulletjme.so shared library -->
-        <mkdir dir="${bullet.output.base}/android"/>
-        <!-- create the jni subdirectory -->
-        <mkdir dir="build/bullet-android/jni" />
-        <!-- copy Android.mk and Application.mk files into jni directory -->
-        <copy file="${bullet.source.dir}/android/Android.mk" todir="build/bullet-android/jni" verbose="true"/>
-        <copy file="${bullet.source.dir}/android/Application.mk" todir="build/bullet-android/jni" verbose="true"/>
-
-        <!-- copy edited version of jmePhysicsSpace to remove NDK compile error -->
-        <copy file="${bullet.source.dir}/android/jmePhysicsSpace.cpp" todir="build/bullet-android/jni" verbose="true"/>
-
-        <!-- copy jME3 Native Bullet files into jni directory -->
-        <copy todir="build/bullet-android/jni" verbose="true" flatten="false">
-            <fileset dir="${bullet.source.dir}">
-                <include name="*.cpp" />
-                <include name="*.h" />
-               <!-- skip jmePhysicsSpace (use edited one) to remove NDK compile error -->
-                <exclude name="jmePhysicsSpace.cpp" />
-            </fileset>
-        </copy>
-
-        <!-- copy Bullet-2.79 files into jni directory -->
-        <copy todir="build/bullet-android/jni" verbose="true" flatten="false">
-            <fileset dir="${bullet.bullet.include}">
-                <include name="**/*.cpp"/>
-                <include name="**/*.h"/>
-                <include name="**/*.cl"/>
-            </fileset>
-        </copy>
-
-        <exec executable="${ndk.dir}/${ndk-build-name}" failonerror="true" >
-            <arg line="-C build/bullet-android/"/>
-        </exec>
-
-        <!-- copy resulting library directories to jarcontent directory -->
-        <copy todir="${bullet.output.base}/android" verbose="true" flatten="false">
-            <fileset dir="build/bullet-android/libs">
-                <include name="**/*.*"/>
-                <include name="**/*.*"/>
-                <!--exclude name="**/x86/*.*"/-->
-            </fileset>
-        </copy>
-
-    </target>
-    
-    <target name="-check-android-ndk">
-        <available file="${ndk.dir}/${ndk-build-name}" property="haveAndoidNdk"/>
-    </target>
-    
-</project>

+ 0 - 169
engine/src/bullet/native/bullet-native-build.txt

@@ -1,169 +0,0 @@
-***********************************
-* Build info for bulletjme       *
-* (c) 2011 Normen Hansen          *
-***********************************
-
-This document outlines the process of building bullet-jme on different platforms.
-Since bullet-jme is a native java library and bullet gets included statically,
-building requires you to download and build the bullet source first.
-
-
-
-***********************************
-* Building bullet                 *
-***********************************
-
------------------------------------
-General info
------------------------------------
-Note that the compilation of bullet should not produce dll / so / dylib files
-but static *.a libraries which can later be compiled into the binary of bullet-jme.
-
------------------------------------
-Downloading and extracting bullet
------------------------------------
-Requirements:
-- Bullet source: http://bullet.googlecode.com/
-
-Extract bullet source and build bullet (see below)
-
------------------------------------
-Building on Mac OSX
------------------------------------
-Requirements:
-- Apple Developer tools: http://developer.apple.com/
-- CMake: http://www.cmake.org/ (or via http://www.macports.org)
-
-Commands:
-> cd bullet-trunk
-> cmake -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON \
-              -DCMAKE_OSX_ARCHITECTURES='ppc;i386;x86_64' \
-              -DBUILD_EXTRAS=off -DBUILD_DEMOS=off -DCMAKE_BUILD_TYPE=Release
-> make
-
------------------------------------
-Building on WINDOWS (MinGW/GCC, Recommended)
------------------------------------
-Requirements:
-- GNU C++ Compiler: http://www.mingw.org/
-                    http://mingw-w64.sourceforge.net/
-- CMake: http://www.cmake.org/
-
-Commands:
-> cd bullet-trunk
-> cmake . -DBUILD_SHARED_LIBS=OFF -DBUILD_DEMOS:BOOL=OFF -DBUILD_EXTRAS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release . -G "MinGW Makefiles"
-> mingw32-make
-
------------------------------------
-Building on WINDOWS (VisualStudio, untested)
------------------------------------
-Requirements:
-- Microsoft Visual Studio http://msdn.microsoft.com/
-
-Bullet comes with autogenerated Project Files for Microsoft Visual Studio 6, 7, 7.1 and 8.
-The main Workspace/Solution is located in Bullet/msvc/8/wksbullet.sln (replace 8 with your version).
-
-Build the project to create static libraries.
-
-
------------------------------------
-Building bullet on LINUX
------------------------------------
-Requirements:
-- Gnu C++ Compiler: http://gcc.gnu.org/
-- CMake: http://www.cmake.org/ (or via your package manager of choice)
-
-Commands:
-> cd bullet-trunk
-> cmake -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON -DCMAKE_C_FLAGS="-fPIC" -DCMAKE_CXX_FLAGS="-fPIC"\
-              -DBUILD_EXTRAS=off -DBUILD_DEMOS=off -DCMAKE_BUILD_TYPE=Release
-> make
-
------------------------------------
-More info on building bullet
------------------------------------
-http://www.bulletphysics.org/mediawiki-1.5.8/index.php?title=Installation
-
-
-
-***********************************
-* Building bulletjme             *
-***********************************
-
------------------------------------
-Requirements
------------------------------------
-- Java SDK 1.5+: http://java.sun.com
-- Apache ANT: http://ant.apache.org
-- C++ Compiler: (see below)
-- jme3 Source: http://jmonkeyengine.googlecode.com/
-- Statically compiled bullet source (see above)
-
------------------------------------
-Preparation
------------------------------------
-- copy/link bullet-trunk folder into the same folder where the bullet-jme folder is:
-
-disk
- |
- +-root folder
-    |
-    +-engine
-    |
-    +-sdk
-    |
-    +-bullet-trunk
-
-- You can alter options in the "src/bullet/native/bullet.properties" file, such as the used bullet
-  version, native compilation options etc. (see below)
-
------------------------------------
-Building bulletjme native
------------------------------------
-Commands:
-> cd engine
-> ant jar
-> ant build-bullet-natives
-
-Thats all. ANT takes care building native binaries and copies them to th elib directory.
-
-If you get compilation errors, try setting "native.java.include" in the build.properties file to your
-JDK include directory, e.g. /opt/java/include or "c:\Program Files\Java\jdk1.6.0_20\include".
-
------------------------------------
-Altering the native build process
------------------------------------
-bullet-jme uses cpptasks to compile native code.
-
-To change the used compiler, edit the "native.platform.compiler" entry in the
-"build.properties" file. The following c++ compilers work with cpptasks:
-
-gcc     GCC C++ compiler
-g++     GCC C++ compiler
-c++     GCC C++ compiler
-msvc    Microsoft Visual C++
-bcc     Borland C++ Compiler
-icl     Intel C++ compiler for Windows (IA-32)
-ecl     Intel C++ compiler for Windows (IA-64)
-icc     Intel C++ compiler for Linux (IA-32)
-ecc     Intel C++ compiler for Linux (IA-64)
-CC      Sun ONE C++ compiler
-aCC     HP aC++ C++ Compiler
-wcl     OpenWatcom C/C++ compiler
-
-In the "nbproject" folder you can find "build-native-platform.xml" files containing the commands
-to compile bullet-jme on different platforms. If you want to alter the process,
-you can copy and modify one of the files and import it in the "build.xml" file instead
-of the old one.
-
------------------------------------
-Netbeans Project
------------------------------------
-The project also includes a Netbeans project to edit and build
-the source in the Netbeans IDE in the /src/bullet/ subfolder.
-
-To have correct syntax highlighting in .cpp/.h files:
-
-- in Netbeans Settings -> C/C++ -> Code Assistance -> C++
-  - add bullet-2.77/src as include directories for c++
-  - add JAVA_HOME/include as include directories for c++

+ 0 - 35
engine/src/bullet/native/bullet.properties

@@ -1,35 +0,0 @@
-#####################################################
-# these are the ant build properties for bullet-jme #
-#####################################################
-bullet.library.name=bulletjme
-bullet.library.version=0.9
-
-# change if bullet folder has different location
-bullet.folder=../bullet-2.79
-
-# compile options
-bullet.compile.debug=false
-
-# native library compilation options
-bullet.osx.compiler=g++
-bullet.osx.syslibroot=/Developer/SDKs/MacOSX10.6.sdk
-# change this to msvc for MS Visual Studio compiler
-bullet.windows.compiler=g++
-bullet.linux.compiler=g++
-bullet.solaris.compiler=g++
-# native header include directories
-bullet.java.include=${java.home}/../include
-# OSX has no JRE, only JDK
-bullet.osx.java.include=/System/Library/Frameworks/JavaVM.framework/Headers
-
-# location of Android NDK
-ndk.dir=/opt/android-ndk-r7
-
-# dont change these..
-bullet.bullet.include=${bullet.folder}/src
-bullet.build.dir=build/bullet/
-bullet.source.dir=src/bullet/native
-bullet.output.base=lib/bullet
-bullet.output.dir=${bullet.output.base}/jarcontent/native
-bullet.jme.dir=dist
-bullet.lib.dir=dist/lib

+ 0 - 450
engine/src/bullet/native/com_jme3_bullet_PhysicsSpace.cpp

@@ -1,450 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "com_jme3_bullet_PhysicsSpace.h"
-#include "jmePhysicsSpace.h"
-#include "jmeBulletUtil.h"
-
-/**
- * Author: Normen Hansen
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    createPhysicsSpace
-     * Signature: (FFFFFFI)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_PhysicsSpace_createPhysicsSpace
-    (JNIEnv * env, jobject object, jfloat minX, jfloat minY, jfloat minZ, jfloat maxX, jfloat maxY, jfloat maxZ, jint broadphase, jboolean threading) {
-        jmeClasses::initJavaClasses(env);
-        jmePhysicsSpace* space = new jmePhysicsSpace(env, object);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space has not been created.");
-            return 0;
-        }
-        space->createPhysicsSpace(minX, minY, minZ, maxX, maxY, maxZ, broadphase, threading);
-        return reinterpret_cast<jlong>(space);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    stepSimulation
-     * Signature: (JFIF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_stepSimulation
-    (JNIEnv * env, jobject object, jlong spaceId, jfloat tpf, jint maxSteps, jfloat accuracy) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        space->stepSimulation(tpf, maxSteps, accuracy);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    addCollisionObject
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addCollisionObject
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The collision object does not exist.");
-            return;
-        }
-        jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-        userPointer -> space = space;
-
-        space->getDynamicsWorld()->addCollisionObject(collisionObject);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    removeCollisionObject
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeCollisionObject
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The collision object does not exist.");
-            return;
-        }
-        space->getDynamicsWorld()->removeCollisionObject(collisionObject);
-        jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-        userPointer -> space = NULL;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    addRigidBody
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addRigidBody
-    (JNIEnv * env, jobject object, jlong spaceId, jlong rigidBodyId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btRigidBody* collisionObject = reinterpret_cast<btRigidBody*>(rigidBodyId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The collision object does not exist.");
-            return;
-        }
-        jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-        userPointer -> space = space;
-        space->getDynamicsWorld()->addRigidBody(collisionObject);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    removeRigidBody
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeRigidBody
-    (JNIEnv * env, jobject object, jlong spaceId, jlong rigidBodyId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btRigidBody* collisionObject = reinterpret_cast<btRigidBody*>(rigidBodyId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The collision object does not exist.");
-            return;
-        }
-        jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-        userPointer -> space = NULL;
-        space->getDynamicsWorld()->removeRigidBody(collisionObject);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    addCharacterObject
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addCharacterObject
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The collision object does not exist.");
-            return;
-        }
-        jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-        userPointer -> space = space;
-        space->getDynamicsWorld()->addCollisionObject(collisionObject,
-                btBroadphaseProxy::CharacterFilter,
-                btBroadphaseProxy::StaticFilter | btBroadphaseProxy::DefaultFilter
-        );
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    removeCharacterObject
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeCharacterObject
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The collision object does not exist.");
-            return;
-        }
-        jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-        userPointer -> space = NULL;
-        space->getDynamicsWorld()->removeCollisionObject(collisionObject);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    addAction
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addAction
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btActionInterface* actionObject = reinterpret_cast<btActionInterface*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (actionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The action object does not exist.");
-            return;
-        }
-        space->getDynamicsWorld()->addAction(actionObject);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    removeAction
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeAction
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btActionInterface* actionObject = reinterpret_cast<btActionInterface*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (actionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The action object does not exist.");
-            return;
-        }
-        space->getDynamicsWorld()->removeAction(actionObject);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    addVehicle
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addVehicle
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btActionInterface* actionObject = reinterpret_cast<btActionInterface*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (actionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The vehicle object does not exist.");
-            return;
-        }
-        space->getDynamicsWorld()->addVehicle(actionObject);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    removeVehicle
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeVehicle
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btActionInterface* actionObject = reinterpret_cast<btActionInterface*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (actionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The action object does not exist.");
-            return;
-        }
-        space->getDynamicsWorld()->removeVehicle(actionObject);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    addConstraint
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addConstraint
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btTypedConstraint* constraint = reinterpret_cast<btTypedConstraint*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (constraint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The constraint object does not exist.");
-            return;
-        }
-        space->getDynamicsWorld()->addConstraint(constraint);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    removeConstraint
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeConstraint
-    (JNIEnv * env, jobject object, jlong spaceId, jlong objectId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        btTypedConstraint* constraint = reinterpret_cast<btTypedConstraint*>(objectId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        if (constraint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The constraint object does not exist.");
-            return;
-        }
-        space->getDynamicsWorld()->removeConstraint(constraint);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    setGravity
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_setGravity
-    (JNIEnv * env, jobject object, jlong spaceId, jobject vector) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-        btVector3 gravity = btVector3();
-        jmeBulletUtil::convert(env, vector, &gravity);
-        space->getDynamicsWorld()->setGravity(gravity);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    initNativePhysics
-     * Signature: ()V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_initNativePhysics
-    (JNIEnv * env, jclass clazz) {
-        jmeClasses::initJavaClasses(env);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_PhysicsSpace
-     * Method:    finalizeNative
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_finalizeNative
-    (JNIEnv * env, jobject object, jlong spaceId) {
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        if (space == NULL) {
-            return;
-        }
-        delete(space);
-    }
-    
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_rayTest_1native
-    (JNIEnv * env, jobject object, jobject to, jobject from, jlong spaceId, jobject resultlist) {
-
-        jmePhysicsSpace* space = reinterpret_cast<jmePhysicsSpace*> (spaceId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The physics space does not exist.");
-            return;
-        }
-
-        struct AllRayResultCallback : public btCollisionWorld::RayResultCallback {
-
-            AllRayResultCallback(const btVector3& rayFromWorld, const btVector3 & rayToWorld) : m_rayFromWorld(rayFromWorld), m_rayToWorld(rayToWorld) {
-            }
-            jobject resultlist;
-            JNIEnv* env;
-            btVector3 m_rayFromWorld; //used to calculate hitPointWorld from hitFraction
-            btVector3 m_rayToWorld;
-
-            btVector3 m_hitNormalWorld;
-            btVector3 m_hitPointWorld;
-
-            virtual btScalar addSingleResult(btCollisionWorld::LocalRayResult& rayResult, bool normalInWorldSpace) {
-                if (normalInWorldSpace) {
-                    m_hitNormalWorld = rayResult.m_hitNormalLocal;
-                } else {
-                    m_hitNormalWorld = m_collisionObject->getWorldTransform().getBasis() * rayResult.m_hitNormalLocal;
-                }
-                m_hitPointWorld.setInterpolate3(m_rayFromWorld, m_rayToWorld, rayResult.m_hitFraction);
-
-                jmeBulletUtil::addResult(env, resultlist, m_hitNormalWorld, m_hitPointWorld, rayResult.m_hitFraction, rayResult.m_collisionObject);
-
-                return 1.f;
-            }
-        };
-
-        btVector3 native_to = btVector3();
-        jmeBulletUtil::convert(env, to, &native_to);
-
-        btVector3 native_from = btVector3();
-        jmeBulletUtil::convert(env, from, &native_from);
-
-        AllRayResultCallback resultCallback(native_from, native_to);
-        resultCallback.env = env;
-        resultCallback.resultlist = resultlist;
-        space->getDynamicsWorld()->rayTest(native_from, native_to, resultCallback);
-        return;
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 165
engine/src/bullet/native/com_jme3_bullet_PhysicsSpace.h

@@ -1,165 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_PhysicsSpace */
-
-#ifndef _Included_com_jme3_bullet_PhysicsSpace
-#define _Included_com_jme3_bullet_PhysicsSpace
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef com_jme3_bullet_PhysicsSpace_AXIS_X
-#define com_jme3_bullet_PhysicsSpace_AXIS_X 0L
-#undef com_jme3_bullet_PhysicsSpace_AXIS_Y
-#define com_jme3_bullet_PhysicsSpace_AXIS_Y 1L
-#undef com_jme3_bullet_PhysicsSpace_AXIS_Z
-#define com_jme3_bullet_PhysicsSpace_AXIS_Z 2L
-/* Inaccessible static: pQueueTL */
-/* Inaccessible static: physicsSpaceTL */
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    createPhysicsSpace
- * Signature: (FFFFFFIZ)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_PhysicsSpace_createPhysicsSpace
-  (JNIEnv *, jobject, jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jint, jboolean);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    stepSimulation
- * Signature: (JFIF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_stepSimulation
-  (JNIEnv *, jobject, jlong, jfloat, jint, jfloat);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    addCollisionObject
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addCollisionObject
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    removeCollisionObject
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeCollisionObject
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    addRigidBody
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addRigidBody
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    removeRigidBody
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeRigidBody
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    addCharacterObject
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addCharacterObject
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    removeCharacterObject
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeCharacterObject
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    addAction
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addAction
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    removeAction
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeAction
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    addVehicle
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addVehicle
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    removeVehicle
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeVehicle
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    addConstraint
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_addConstraint
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    removeConstraint
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_removeConstraint
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    setGravity
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_setGravity
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    rayTest_native
- * Signature: (Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;JLjava/util/List;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_rayTest_1native
-  (JNIEnv *, jobject, jobject, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    initNativePhysics
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_initNativePhysics
-  (JNIEnv *, jclass);
-
-/*
- * Class:     com_jme3_bullet_PhysicsSpace
- * Method:    finalizeNative
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_PhysicsSpace_finalizeNative
-  (JNIEnv *, jobject, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 308
engine/src/bullet/native/com_jme3_bullet_collision_PhysicsCollisionEvent.cpp

@@ -1,308 +0,0 @@
-#include "jmeBulletUtil.h"
-#include "BulletCollision/NarrowPhaseCollision/btManifoldPoint.h"
-#include "com_jme3_bullet_collision_PhysicsCollisionEvent.h"
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getAppliedImpulse
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getAppliedImpulse
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_appliedImpulse;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getAppliedImpulseLateral1
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getAppliedImpulseLateral1
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_appliedImpulseLateral1;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getAppliedImpulseLateral2
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getAppliedImpulseLateral2
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_appliedImpulseLateral2;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getCombinedFriction
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getCombinedFriction
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_combinedFriction;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getCombinedRestitution
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getCombinedRestitution
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_combinedRestitution;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getDistance1
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getDistance1
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_distance1;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getIndex0
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getIndex0
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_index0;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getIndex1
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getIndex1
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_index1;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLateralFrictionDir1
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLateralFrictionDir1
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId, jobject lateralFrictionDir1) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return;
-    }
-    jmeBulletUtil::convert(env, &mp -> m_lateralFrictionDir1, lateralFrictionDir1);
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLateralFrictionDir2
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLateralFrictionDir2
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId, jobject lateralFrictionDir2) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return;
-    }
-    jmeBulletUtil::convert(env, &mp -> m_lateralFrictionDir2, lateralFrictionDir2);
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    isLateralFrictionInitialized
- * Signature: (J)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_isLateralFrictionInitialized
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_lateralFrictionInitialized;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLifeTime
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLifeTime
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_lifeTime;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLocalPointA
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLocalPointA
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId, jobject localPointA) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return;
-    }
-    jmeBulletUtil::convert(env, &mp -> m_localPointA, localPointA);
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLocalPointB
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLocalPointB
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId, jobject localPointB) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return;
-    }
-    jmeBulletUtil::convert(env, &mp -> m_localPointB, localPointB);
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getNormalWorldOnB
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getNormalWorldOnB
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId, jobject normalWorldOnB) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return;
-    }
-    jmeBulletUtil::convert(env, &mp -> m_normalWorldOnB, normalWorldOnB);
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getPartId0
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getPartId0
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_partId0;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getPartId1
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getPartId1
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return 0;
-    }
-    return mp -> m_partId1;
-}
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getPositionWorldOnA
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getPositionWorldOnA
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId, jobject positionWorldOnA) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return;
-    }
-    jmeBulletUtil::convert(env, &mp -> m_positionWorldOnA, positionWorldOnA);
-}
-
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getPositionWorldOnB
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getPositionWorldOnB
-  (JNIEnv * env, jobject object, jlong manifoldPointObjectId, jobject positionWorldOnB) {
-    btManifoldPoint* mp = reinterpret_cast<btManifoldPoint*>(manifoldPointObjectId);
-    if (mp == NULL) {
-        jclass newExc = env->FindClass("java/lang/NullPointerException");
-        env->ThrowNew(newExc, "The manifoldPoint does not exist.");
-        return;
-    }
-    jmeBulletUtil::convert(env, &mp -> m_positionWorldOnB, positionWorldOnB);
-}

+ 0 - 173
engine/src/bullet/native/com_jme3_bullet_collision_PhysicsCollisionEvent.h

@@ -1,173 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_PhysicsCollisionEvent */
-
-#ifndef _Included_com_jme3_bullet_collision_PhysicsCollisionEvent
-#define _Included_com_jme3_bullet_collision_PhysicsCollisionEvent
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef com_jme3_bullet_collision_PhysicsCollisionEvent_serialVersionUID
-#define com_jme3_bullet_collision_PhysicsCollisionEvent_serialVersionUID 5516075349620653480LL
-#undef com_jme3_bullet_collision_PhysicsCollisionEvent_TYPE_ADDED
-#define com_jme3_bullet_collision_PhysicsCollisionEvent_TYPE_ADDED 0L
-#undef com_jme3_bullet_collision_PhysicsCollisionEvent_TYPE_PROCESSED
-#define com_jme3_bullet_collision_PhysicsCollisionEvent_TYPE_PROCESSED 1L
-#undef com_jme3_bullet_collision_PhysicsCollisionEvent_TYPE_DESTROYED
-#define com_jme3_bullet_collision_PhysicsCollisionEvent_TYPE_DESTROYED 2L
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getAppliedImpulse
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getAppliedImpulse
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getAppliedImpulseLateral1
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getAppliedImpulseLateral1
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getAppliedImpulseLateral2
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getAppliedImpulseLateral2
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getCombinedFriction
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getCombinedFriction
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getCombinedRestitution
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getCombinedRestitution
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getDistance1
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getDistance1
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getIndex0
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getIndex0
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getIndex1
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getIndex1
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLateralFrictionDir1
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLateralFrictionDir1
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLateralFrictionDir2
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLateralFrictionDir2
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    isLateralFrictionInitialized
- * Signature: (J)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_isLateralFrictionInitialized
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLifeTime
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLifeTime
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLocalPointA
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLocalPointA
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getLocalPointB
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getLocalPointB
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getNormalWorldOnB
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getNormalWorldOnB
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getPartId0
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getPartId0
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getPartId1
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getPartId1
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getPositionWorldOnA
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getPositionWorldOnA
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionEvent
- * Method:    getPositionWorldOnB
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionEvent_getPositionWorldOnB
-  (JNIEnv *, jobject, jlong, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 148
engine/src/bullet/native/com_jme3_bullet_collision_PhysicsCollisionObject.cpp

@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_PhysicsCollisionObject.h"
-#include "jmeBulletUtil.h"
-#include "jmePhysicsSpace.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
-     * Method:    attachCollisionShape
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_attachCollisionShape
-    (JNIEnv * env, jobject object, jlong objectId, jlong shapeId) {
-        btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/IllegalStateException");
-            env->ThrowNew(newExc, "The collision object does not exist.");
-            return;
-        }
-        btCollisionShape* collisionShape = reinterpret_cast<btCollisionShape*>(shapeId);
-        if (collisionShape == NULL) {
-            jclass newExc = env->FindClass("java/lang/IllegalStateException");
-            env->ThrowNew(newExc, "The collision shape does not exist.");
-            return;
-        }
-        collisionObject->setCollisionShape(collisionShape);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
-     * Method:    finalizeNative
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_finalizeNative
-    (JNIEnv * env, jobject object, jlong objectId) {
-        btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        if (collisionObject -> getUserPointer() != NULL){
-            jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-            delete(userPointer);
-        }
-        delete(collisionObject);
-    }
-    /*
-     * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
-     * Method:    initUserPointer
-     * Signature: (JII)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_initUserPointer
-      (JNIEnv *env, jobject object, jlong objectId, jint group, jint groups) {
-        btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-        if (userPointer != NULL) {
-//            delete(userPointer);
-        }
-        userPointer = new jmeUserPointer();
-        userPointer -> javaCollisionObject = env->NewWeakGlobalRef(object);
-        userPointer -> group = group;
-        userPointer -> groups = groups;
-        userPointer -> space = NULL;
-        collisionObject -> setUserPointer(userPointer);
-    }
-    /*
-     * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
-     * Method:    setCollisionGroup
-     * Signature: (JI)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_setCollisionGroup
-      (JNIEnv *env, jobject object, jlong objectId, jint group) {
-        btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-        if (userPointer != NULL){
-            userPointer -> group = group;
-        }
-    }
-    /*
-     * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
-     * Method:    setCollideWithGroups
-     * Signature: (JI)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_setCollideWithGroups
-      (JNIEnv *env, jobject object, jlong objectId, jint groups) {
-        btCollisionObject* collisionObject = reinterpret_cast<btCollisionObject*>(objectId);
-        if (collisionObject == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeUserPointer *userPointer = (jmeUserPointer*)collisionObject->getUserPointer();
-        if (userPointer != NULL){
-            userPointer -> groups = groups;
-        }
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 87
engine/src/bullet/native/com_jme3_bullet_collision_PhysicsCollisionObject.h

@@ -1,87 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_PhysicsCollisionObject */
-
-#ifndef _Included_com_jme3_bullet_collision_PhysicsCollisionObject
-#define _Included_com_jme3_bullet_collision_PhysicsCollisionObject
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_NONE
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_NONE 0L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_01
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_01 1L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_02
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_02 2L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_03
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_03 4L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_04
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_04 8L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_05
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_05 16L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_06
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_06 32L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_07
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_07 64L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_08
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_08 128L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_09
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_09 256L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_10
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_10 512L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_11
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_11 1024L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_12
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_12 2048L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_13
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_13 4096L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_14
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_14 8192L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_15
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_15 16384L
-#undef com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_16
-#define com_jme3_bullet_collision_PhysicsCollisionObject_COLLISION_GROUP_16 32768L
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
- * Method:    initUserPointer
- * Signature: (JII)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_initUserPointer
-  (JNIEnv *, jobject, jlong, jint, jint);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
- * Method:    attachCollisionShape
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_attachCollisionShape
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
- * Method:    setCollisionGroup
- * Signature: (JI)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_setCollisionGroup
-  (JNIEnv *, jobject, jlong, jint);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
- * Method:    setCollideWithGroups
- * Signature: (JI)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_setCollideWithGroups
-  (JNIEnv *, jobject, jlong, jint);
-
-/*
- * Class:     com_jme3_bullet_collision_PhysicsCollisionObject
- * Method:    finalizeNative
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_PhysicsCollisionObject_finalizeNative
-  (JNIEnv *, jobject, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 59
engine/src/bullet/native/com_jme3_bullet_collision_shapes_BoxCollisionShape.cpp

@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_BoxCollisionShape.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_BoxCollisionShape
-     * Method:    createShape
-     * Signature: (Lcom/jme3/math/Vector3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_BoxCollisionShape_createShape
-    (JNIEnv *env, jobject object, jobject halfExtents) {
-        jmeClasses::initJavaClasses(env);
-        btVector3 extents =  btVector3();
-        jmeBulletUtil::convert(env, halfExtents, &extents);
-        btBoxShape* shape = new btBoxShape(extents);
-        return reinterpret_cast<jlong>(shape);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_collision_shapes_BoxCollisionShape.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_BoxCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_BoxCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_BoxCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_BoxCollisionShape
- * Method:    createShape
- * Signature: (Lcom/jme3/math/Vector3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_BoxCollisionShape_createShape
-  (JNIEnv *, jobject, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 68
engine/src/bullet/native/com_jme3_bullet_collision_shapes_CapsuleCollisionShape.cpp

@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_CapsuleCollisionShape.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_CapsuleCollisionShape
-     * Method:    createShape
-     * Signature: (IFF)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CapsuleCollisionShape_createShape
-    (JNIEnv * env, jobject object, jint axis, jfloat radius, jfloat height) {
-        jmeClasses::initJavaClasses(env);
-        btCollisionShape* shape;
-        switch(axis){
-            case 0:
-                shape = new btCapsuleShapeX(radius, height);
-                break;
-            case 1:
-                shape = new btCapsuleShape(radius, height);
-                break;
-            case 2:
-                shape = new btCapsuleShapeZ(radius, height);
-                break;
-        }
-        return reinterpret_cast<jlong>(shape);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_collision_shapes_CapsuleCollisionShape.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_CapsuleCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_CapsuleCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_CapsuleCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_CapsuleCollisionShape
- * Method:    createShape
- * Signature: (IFF)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CapsuleCollisionShape_createShape
-  (JNIEnv *, jobject, jint, jfloat, jfloat);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 110
engine/src/bullet/native/com_jme3_bullet_collision_shapes_CollisionShape.cpp

@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_CollisionShape.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_CollisionShape
-     * Method:    getMargin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_shapes_CollisionShape_getMargin
-    (JNIEnv * env, jobject object, jlong shapeId) {
-        btCollisionShape* shape = reinterpret_cast<btCollisionShape*>(shapeId);
-        if (shape == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return shape->getMargin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_CollisionShape
-     * Method:    setLocalScaling
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_CollisionShape_setLocalScaling
-    (JNIEnv * env, jobject object, jlong shapeId, jobject scale) {
-        btCollisionShape* shape = reinterpret_cast<btCollisionShape*>(shapeId);
-        if (shape == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 scl = btVector3();
-        jmeBulletUtil::convert(env, scale, &scl);
-        shape->setLocalScaling(scl);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_CollisionShape
-     * Method:    setMargin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_CollisionShape_setMargin
-    (JNIEnv * env, jobject object, jlong shapeId, jfloat newMargin) {
-        btCollisionShape* shape = reinterpret_cast<btCollisionShape*>(shapeId);
-        if (shape == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        shape->setMargin(newMargin);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_CollisionShape
-     * Method:    finalizeNative
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_CollisionShape_finalizeNative
-    (JNIEnv * env, jobject object, jlong shapeId) {
-        btCollisionShape* shape = reinterpret_cast<btCollisionShape*>(shapeId);
-        if (shape == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        delete(shape);
-    }
-#ifdef __cplusplus
-}
-#endif

+ 0 - 45
engine/src/bullet/native/com_jme3_bullet_collision_shapes_CollisionShape.h

@@ -1,45 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_CollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_CollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_CollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_CollisionShape
- * Method:    getMargin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_collision_shapes_CollisionShape_getMargin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_CollisionShape
- * Method:    setLocalScaling
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_CollisionShape_setLocalScaling
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_CollisionShape
- * Method:    setMargin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_CollisionShape_setMargin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_CollisionShape
- * Method:    finalizeNative
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_CollisionShape_finalizeNative
-  (JNIEnv *, jobject, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 107
engine/src/bullet/native/com_jme3_bullet_collision_shapes_CompoundCollisionShape.cpp

@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_CompoundCollisionShape.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-     * Class:     com_jme3_bullet_collision_shapes_CompoundCollisionShape
-     * Method:    createShape
-     * Signature: ()J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CompoundCollisionShape_createShape
-    (JNIEnv *env, jobject object) {
-        jmeClasses::initJavaClasses(env);
-        btCompoundShape* shape = new btCompoundShape();
-        return reinterpret_cast<jlong>(shape);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_CompoundCollisionShape
-     * Method:    addChildShape
-     * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CompoundCollisionShape_addChildShape
-    (JNIEnv *env, jobject object, jlong compoundId, jlong childId, jobject childLocation, jobject childRotation) {
-        btCompoundShape* shape = reinterpret_cast<btCompoundShape*>(compoundId);
-        if (shape == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        btCollisionShape* child = reinterpret_cast<btCollisionShape*>(childId);
-        if (shape == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        btMatrix3x3 mtx = btMatrix3x3();
-        btTransform trans = btTransform(mtx);
-        jmeBulletUtil::convert(env, childLocation, &trans.getOrigin());
-        jmeBulletUtil::convert(env, childRotation, &trans.getBasis());
-        shape->addChildShape(trans, child);
-        return 0;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_CompoundCollisionShape
-     * Method:    removeChildShape
-     * Signature: (JJ)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CompoundCollisionShape_removeChildShape
-    (JNIEnv * env, jobject object, jlong compoundId, jlong childId) {
-        btCompoundShape* shape = reinterpret_cast<btCompoundShape*>(compoundId);
-        if (shape == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        btCollisionShape* child = reinterpret_cast<btCollisionShape*>(childId);
-        if (shape == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        shape->removeChildShape(child);
-        return 0;
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 37
engine/src/bullet/native/com_jme3_bullet_collision_shapes_CompoundCollisionShape.h

@@ -1,37 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_CompoundCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_CompoundCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_CompoundCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_CompoundCollisionShape
- * Method:    createShape
- * Signature: ()J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CompoundCollisionShape_createShape
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_CompoundCollisionShape
- * Method:    addChildShape
- * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CompoundCollisionShape_addChildShape
-  (JNIEnv *, jobject, jlong, jlong, jobject, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_CompoundCollisionShape
- * Method:    removeChildShape
- * Signature: (JJ)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CompoundCollisionShape_removeChildShape
-  (JNIEnv *, jobject, jlong, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 68
engine/src/bullet/native/com_jme3_bullet_collision_shapes_ConeCollisionShape.cpp

@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_ConeCollisionShape.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_ConeCollisionShape
-     * Method:    createShape
-     * Signature: (IFF)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_ConeCollisionShape_createShape
-    (JNIEnv * env, jobject object, jint axis, jfloat radius, jfloat height) {
-        jmeClasses::initJavaClasses(env);
-        btCollisionShape* shape;
-        switch (axis) {
-            case 0:
-                shape = new btConeShapeX(radius, height);
-                break;
-            case 1:
-                shape = new btConeShape(radius, height);
-                break;
-            case 2:
-                shape = new btConeShapeZ(radius, height);
-                break;
-        }
-        return reinterpret_cast<jlong>(shape);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_collision_shapes_ConeCollisionShape.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_ConeCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_ConeCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_ConeCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_ConeCollisionShape
- * Method:    createShape
- * Signature: (IFF)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_ConeCollisionShape_createShape
-  (JNIEnv *, jobject, jint, jfloat, jfloat);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 70
engine/src/bullet/native/com_jme3_bullet_collision_shapes_CylinderCollisionShape.cpp

@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_CylinderCollisionShape.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_CylinderCollisionShape
-     * Method:    createShape
-     * Signature: (ILcom/jme3/math/Vector3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CylinderCollisionShape_createShape
-    (JNIEnv * env, jobject object, jint axis, jobject halfExtents) {
-        jmeClasses::initJavaClasses(env);
-        btVector3 extents = btVector3();
-        jmeBulletUtil::convert(env, halfExtents, &extents);
-        btCollisionShape* shape;
-        switch (axis) {
-            case 0:
-                shape = new btCylinderShapeX(extents);
-                break;
-            case 1:
-                shape = new btCylinderShape(extents);
-                break;
-            case 2:
-                shape = new btCylinderShapeZ(extents);
-                break;
-        }
-        return reinterpret_cast<jlong>(shape);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_collision_shapes_CylinderCollisionShape.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_CylinderCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_CylinderCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_CylinderCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_CylinderCollisionShape
- * Method:    createShape
- * Signature: (ILcom/jme3/math/Vector3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_CylinderCollisionShape_createShape
-  (JNIEnv *, jobject, jint, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 70
engine/src/bullet/native/com_jme3_bullet_collision_shapes_GImpactCollisionShape.cpp

@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_GImpactCollisionShape.h"
-#include "jmeBulletUtil.h"
-#include <BulletCollision/Gimpact/btGImpactShape.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_GImpactCollisionShape
-     * Method:    createShape
-     * Signature: (J)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_GImpactCollisionShape_createShape
-    (JNIEnv * env, jobject object, jlong meshId) {
-        jmeClasses::initJavaClasses(env);
-        btTriangleIndexVertexArray* array = reinterpret_cast<btTriangleIndexVertexArray*>(meshId);
-        btGImpactMeshShape* shape = new btGImpactMeshShape(array);
-        return reinterpret_cast<jlong>(shape);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_GImpactCollisionShape
-     * Method:    finalizeNative
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_GImpactCollisionShape_finalizeNative
-    (JNIEnv * env, jobject object, jlong meshId) {
-        btTriangleIndexVertexArray* array = reinterpret_cast<btTriangleIndexVertexArray*> (meshId);
-        delete(array);
-    }
-    
-#ifdef __cplusplus
-}
-#endif

+ 0 - 29
engine/src/bullet/native/com_jme3_bullet_collision_shapes_GImpactCollisionShape.h

@@ -1,29 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_GImpactCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_GImpactCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_GImpactCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_GImpactCollisionShape
- * Method:    createShape
- * Signature: (J)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_GImpactCollisionShape_createShape
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_GImpactCollisionShape
- * Method:    finalizeNative
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_GImpactCollisionShape_finalizeNative
-  (JNIEnv *, jobject, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 59
engine/src/bullet/native/com_jme3_bullet_collision_shapes_HeightfieldCollisionShape.cpp

@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_HeightfieldCollisionShape.h"
-#include "jmeBulletUtil.h"
-#include "BulletCollision/CollisionShapes/btHeightfieldTerrainShape.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_HeightfieldCollisionShape
-     * Method:    createShape
-     * Signature: (II[FFFFIZ)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_HeightfieldCollisionShape_createShape
-    (JNIEnv * env, jobject object, jint heightStickWidth, jint heightStickLength, jobject heightfieldData, jfloat heightScale, jfloat minHeight, jfloat maxHeight, jint upAxis, jboolean flipQuadEdges) {
-        jmeClasses::initJavaClasses(env);
-        void* data = env->GetDirectBufferAddress(heightfieldData);
-        btHeightfieldTerrainShape* shape=new btHeightfieldTerrainShape(heightStickWidth, heightStickLength, data, heightScale, minHeight, maxHeight, upAxis, PHY_FLOAT, flipQuadEdges);
-        return reinterpret_cast<jlong>(shape);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_collision_shapes_HeightfieldCollisionShape.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_HeightfieldCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_HeightfieldCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_HeightfieldCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_HeightfieldCollisionShape
- * Method:    createShape
- * Signature: (IILjava/nio/ByteBuffer;FFFIZ)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_HeightfieldCollisionShape_createShape
-  (JNIEnv *, jobject, jint, jint, jobject, jfloat, jfloat, jfloat, jint, jboolean);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 69
engine/src/bullet/native/com_jme3_bullet_collision_shapes_HullCollisionShape.cpp

@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_HullCollisionShape.h"
-#include "jmeBulletUtil.h"
-#include "BulletCollision/CollisionShapes/btConvexHullShape.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_HullCollisionShape
-     * Method:    createShape
-     * Signature: ([F)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_HullCollisionShape_createShape
-    (JNIEnv *env, jobject object, jobject array) {
-        jmeClasses::initJavaClasses(env);
-        float* data = (float*) env->GetDirectBufferAddress(array);
-        //TODO: capacity will not always be length!
-        int length = env->GetDirectBufferCapacity(array)/4;
-        btConvexHullShape* shape = new btConvexHullShape();
-        for (int i = 0; i < length; i+=3) {
-            btVector3 vect = btVector3(data[i],
-                    data[i + 1],
-                    data[i + 2]);
-            
-            shape->addPoint(vect);
-        }
-
-        return reinterpret_cast<jlong>(shape);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_collision_shapes_HullCollisionShape.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_HullCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_HullCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_HullCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_HullCollisionShape
- * Method:    createShape
- * Signature: (Ljava/nio/ByteBuffer;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_HullCollisionShape_createShape
-  (JNIEnv *, jobject, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 70
engine/src/bullet/native/com_jme3_bullet_collision_shapes_MeshCollisionShape.cpp

@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_MeshCollisionShape.h"
-#include "jmeBulletUtil.h"
-#include "BulletCollision/CollisionShapes/btBvhTriangleMeshShape.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_MeshCollisionShape
-     * Method:    createShape
-     * Signature: (J)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_MeshCollisionShape_createShape
-    (JNIEnv * env, jobject object, jlong arrayId) {
-        jmeClasses::initJavaClasses(env);
-        btTriangleIndexVertexArray* array = reinterpret_cast<btTriangleIndexVertexArray*>(arrayId);
-        btBvhTriangleMeshShape* shape = new btBvhTriangleMeshShape(array, true, true);
-        return reinterpret_cast<jlong>(shape);
-    }
-    
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_MeshCollisionShape
-     * Method:    finalizeNative
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_MeshCollisionShape_finalizeNative
-    (JNIEnv * env, jobject object, jlong arrayId){
-        btTriangleIndexVertexArray* array = reinterpret_cast<btTriangleIndexVertexArray*>(arrayId);
-        delete(array);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 29
engine/src/bullet/native/com_jme3_bullet_collision_shapes_MeshCollisionShape.h

@@ -1,29 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_MeshCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_MeshCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_MeshCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_MeshCollisionShape
- * Method:    createShape
- * Signature: (J)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_MeshCollisionShape_createShape
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_MeshCollisionShape
- * Method:    finalizeNative
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_collision_shapes_MeshCollisionShape_finalizeNative
-  (JNIEnv *, jobject, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 60
engine/src/bullet/native/com_jme3_bullet_collision_shapes_PlaneCollisionShape.cpp

@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_PlaneCollisionShape.h"
-#include "jmeBulletUtil.h"
-#include "BulletCollision/CollisionShapes/btStaticPlaneShape.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_PlaneCollisionShape
-     * Method:    createShape
-     * Signature: (Lcom/jme3/math/Vector3f;F)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_PlaneCollisionShape_createShape
-    (JNIEnv * env, jobject object, jobject normal, jfloat constant) {
-        jmeClasses::initJavaClasses(env);
-        btVector3 norm = btVector3();
-        jmeBulletUtil::convert(env, normal, &norm);
-        btStaticPlaneShape* shape = new btStaticPlaneShape(norm, constant);
-        return reinterpret_cast<jlong>(shape);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_collision_shapes_PlaneCollisionShape.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_PlaneCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_PlaneCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_PlaneCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_PlaneCollisionShape
- * Method:    createShape
- * Signature: (Lcom/jme3/math/Vector3f;F)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_PlaneCollisionShape_createShape
-  (JNIEnv *, jobject, jobject, jfloat);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 110
engine/src/bullet/native/com_jme3_bullet_collision_shapes_SimplexCollisionShape.cpp

@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_SimplexCollisionShape.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_SimplexCollisionShape
-     * Method:    createShape
-     * Signature: (Lcom/jme3/math/Vector3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SimplexCollisionShape_createShape__Lcom_jme3_math_Vector3f_2
-    (JNIEnv *env, jobject object, jobject vector1) {
-        jmeClasses::initJavaClasses(env);
-        btVector3 vec1 = btVector3();
-        jmeBulletUtil::convert(env, vector1, &vec1);
-        btBU_Simplex1to4* simplexShape = new btBU_Simplex1to4(vec1);
-        return reinterpret_cast<jlong>(simplexShape);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_SimplexCollisionShape
-     * Method:    createShape
-     * Signature: (Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SimplexCollisionShape_createShape__Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2
-    (JNIEnv *env, jobject object, jobject vector1, jobject vector2) {
-        jmeClasses::initJavaClasses(env);
-        btVector3 vec1 = btVector3();
-        jmeBulletUtil::convert(env, vector1, &vec1);
-        btVector3 vec2 = btVector3();
-        jmeBulletUtil::convert(env, vector2, &vec2);
-        btBU_Simplex1to4* simplexShape = new btBU_Simplex1to4(vec1, vec2);
-        return reinterpret_cast<jlong>(simplexShape);
-    }
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_SimplexCollisionShape
-     * Method:    createShape
-     * Signature: (Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SimplexCollisionShape_createShape__Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2
-    (JNIEnv * env, jobject object, jobject vector1, jobject vector2, jobject vector3) {
-        jmeClasses::initJavaClasses(env);
-        btVector3 vec1 = btVector3();
-        jmeBulletUtil::convert(env, vector1, &vec1);
-        btVector3 vec2 = btVector3();
-        jmeBulletUtil::convert(env, vector2, &vec2);
-        btVector3 vec3 = btVector3();
-        jmeBulletUtil::convert(env, vector3, &vec3);
-        btBU_Simplex1to4* simplexShape = new btBU_Simplex1to4(vec1, vec2, vec3);
-        return reinterpret_cast<jlong>(simplexShape);
-    }
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_SimplexCollisionShape
-     * Method:    createShape
-     * Signature: (Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SimplexCollisionShape_createShape__Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2
-    (JNIEnv * env, jobject object, jobject vector1, jobject vector2, jobject vector3, jobject vector4) {
-        jmeClasses::initJavaClasses(env);
-        btVector3 vec1 = btVector3();
-        jmeBulletUtil::convert(env, vector1, &vec1);
-        btVector3 vec2 = btVector3();
-        jmeBulletUtil::convert(env, vector2, &vec2);
-        btVector3 vec3 = btVector3();
-        jmeBulletUtil::convert(env, vector3, &vec3);
-        btVector3 vec4 = btVector3();
-        jmeBulletUtil::convert(env, vector4, &vec4);
-        btBU_Simplex1to4* simplexShape = new btBU_Simplex1to4(vec1, vec2, vec3, vec4);
-        return reinterpret_cast<jlong>(simplexShape);
-    }
-#ifdef __cplusplus
-}
-#endif

+ 0 - 45
engine/src/bullet/native/com_jme3_bullet_collision_shapes_SimplexCollisionShape.h

@@ -1,45 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_SimplexCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_SimplexCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_SimplexCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_SimplexCollisionShape
- * Method:    createShape
- * Signature: (Lcom/jme3/math/Vector3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SimplexCollisionShape_createShape__Lcom_jme3_math_Vector3f_2
-  (JNIEnv *, jobject, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_SimplexCollisionShape
- * Method:    createShape
- * Signature: (Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SimplexCollisionShape_createShape__Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2
-  (JNIEnv *, jobject, jobject, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_SimplexCollisionShape
- * Method:    createShape
- * Signature: (Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SimplexCollisionShape_createShape__Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2
-  (JNIEnv *, jobject, jobject, jobject, jobject);
-
-/*
- * Class:     com_jme3_bullet_collision_shapes_SimplexCollisionShape
- * Method:    createShape
- * Signature: (Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SimplexCollisionShape_createShape__Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2Lcom_jme3_math_Vector3f_2
-  (JNIEnv *, jobject, jobject, jobject, jobject, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 57
engine/src/bullet/native/com_jme3_bullet_collision_shapes_SphereCollisionShape.cpp

@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_collision_shapes_SphereCollisionShape.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_collision_shapes_SphereCollisionShape
-     * Method:    createShape
-     * Signature: (F)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SphereCollisionShape_createShape
-    (JNIEnv *env, jobject object, jfloat radius) {
-        jmeClasses::initJavaClasses(env);
-        btSphereShape* shape=new btSphereShape(radius);
-        return reinterpret_cast<jlong>(shape);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_collision_shapes_SphereCollisionShape.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_collision_shapes_SphereCollisionShape */
-
-#ifndef _Included_com_jme3_bullet_collision_shapes_SphereCollisionShape
-#define _Included_com_jme3_bullet_collision_shapes_SphereCollisionShape
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_collision_shapes_SphereCollisionShape
- * Method:    createShape
- * Signature: (F)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_collision_shapes_SphereCollisionShape_createShape
-  (JNIEnv *, jobject, jfloat);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 100
engine/src/bullet/native/com_jme3_bullet_joints_ConeJoint.cpp

@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_joints_ConeJoint.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_joints_ConeJoint
-     * Method:    setLimit
-     * Signature: (JFFF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_ConeJoint_setLimit
-    (JNIEnv * env, jobject object, jlong jointId, jfloat swingSpan1, jfloat swingSpan2, jfloat twistSpan) {
-        btConeTwistConstraint* joint = reinterpret_cast<btConeTwistConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        //TODO: extended setLimit!
-        joint->setLimit(swingSpan1, swingSpan2, twistSpan);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_ConeJoint
-     * Method:    setAngularOnly
-     * Signature: (JZ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_ConeJoint_setAngularOnly
-    (JNIEnv * env, jobject object, jlong jointId, jboolean angularOnly) {
-        btConeTwistConstraint* joint = reinterpret_cast<btConeTwistConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setAngularOnly(angularOnly);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_ConeJoint
-     * Method:    createJoint
-     * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_ConeJoint_createJoint
-    (JNIEnv * env, jobject object, jlong bodyIdA, jlong bodyIdB, jobject pivotA, jobject rotA, jobject pivotB, jobject rotB) {
-        jmeClasses::initJavaClasses(env);
-        btRigidBody* bodyA = reinterpret_cast<btRigidBody*>(bodyIdA);
-        btRigidBody* bodyB = reinterpret_cast<btRigidBody*>(bodyIdB);
-        btMatrix3x3 mtx1 = btMatrix3x3();
-        btMatrix3x3 mtx2 = btMatrix3x3();
-        btTransform transA = btTransform(mtx1);
-        jmeBulletUtil::convert(env, pivotA, &transA.getOrigin());
-        jmeBulletUtil::convert(env, rotA, &transA.getBasis());
-        btTransform transB = btTransform(mtx2);
-        jmeBulletUtil::convert(env, pivotB, &transB.getOrigin());
-        jmeBulletUtil::convert(env, rotB, &transB.getBasis());
-        btConeTwistConstraint* joint = new btConeTwistConstraint(*bodyA, *bodyB, transA, transB);
-        return reinterpret_cast<jlong>(joint);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 37
engine/src/bullet/native/com_jme3_bullet_joints_ConeJoint.h

@@ -1,37 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_joints_ConeJoint */
-
-#ifndef _Included_com_jme3_bullet_joints_ConeJoint
-#define _Included_com_jme3_bullet_joints_ConeJoint
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_joints_ConeJoint
- * Method:    setLimit
- * Signature: (JFFF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_ConeJoint_setLimit
-  (JNIEnv *, jobject, jlong, jfloat, jfloat, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_ConeJoint
- * Method:    setAngularOnly
- * Signature: (JZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_ConeJoint_setAngularOnly
-  (JNIEnv *, jobject, jlong, jboolean);
-
-/*
- * Class:     com_jme3_bullet_joints_ConeJoint
- * Method:    createJoint
- * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_ConeJoint_createJoint
-  (JNIEnv *, jobject, jlong, jlong, jobject, jobject, jobject, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 226
engine/src/bullet/native/com_jme3_bullet_joints_HingeJoint.cpp

@@ -1,226 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_joints_HingeJoint.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    enableMotor
-     * Signature: (JZFF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_HingeJoint_enableMotor
-    (JNIEnv * env, jobject object, jlong jointId, jboolean enable, jfloat targetVelocity, jfloat maxMotorImpulse) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->enableAngularMotor(enable, targetVelocity, maxMotorImpulse);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    getEnableAngularMotor
-     * Signature: (J)Z
-     */
-    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_HingeJoint_getEnableAngularMotor
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return false;
-        }
-        return joint->getEnableAngularMotor();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    getMotorTargetVelocity
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getMotorTargetVelocity
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getMotorTargetVelosity();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    getMaxMotorImpulse
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getMaxMotorImpulse
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getMaxMotorImpulse();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    setLimit
-     * Signature: (JFF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_HingeJoint_setLimit__JFF
-    (JNIEnv * env, jobject object, jlong jointId, jfloat low, jfloat high) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        return joint->setLimit(low, high);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    setLimit
-     * Signature: (JFFFFF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_HingeJoint_setLimit__JFFFFF
-    (JNIEnv * env, jobject object, jlong jointId, jfloat low, jfloat high, jfloat softness, jfloat biasFactor, jfloat relaxationFactor) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        return joint->setLimit(low, high, softness, biasFactor, relaxationFactor);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    getUpperLimit
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getUpperLimit
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getUpperLimit();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    getLowerLimit
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getLowerLimit
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getLowerLimit();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    setAngularOnly
-     * Signature: (JZ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_HingeJoint_setAngularOnly
-    (JNIEnv * env, jobject object, jlong jointId, jboolean angular) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setAngularOnly(angular);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    getHingeAngle
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getHingeAngle
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btHingeConstraint* joint = reinterpret_cast<btHingeConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getHingeAngle();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_HingeJoint
-     * Method:    createJoint
-     * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_HingeJoint_createJoint
-    (JNIEnv * env, jobject object, jlong bodyIdA, jlong bodyIdB, jobject pivotA, jobject axisA, jobject pivotB, jobject axisB) {
-        jmeClasses::initJavaClasses(env);
-        btRigidBody* bodyA = reinterpret_cast<btRigidBody*>(bodyIdA);
-        btRigidBody* bodyB = reinterpret_cast<btRigidBody*>(bodyIdB);
-        btVector3 vec1 = btVector3();
-        btVector3 vec2 = btVector3();
-        btVector3 vec3 = btVector3();
-        btVector3 vec4 = btVector3();
-        jmeBulletUtil::convert(env, pivotA, &vec1);
-        jmeBulletUtil::convert(env, pivotB, &vec2);
-        jmeBulletUtil::convert(env, axisA, &vec3);
-        jmeBulletUtil::convert(env, axisB, &vec4);
-        btHingeConstraint* joint = new btHingeConstraint(*bodyA, *bodyB, vec1, vec2, vec3, vec4);
-        return reinterpret_cast<jlong>(joint);
-    }
-#ifdef __cplusplus
-}
-#endif

+ 0 - 101
engine/src/bullet/native/com_jme3_bullet_joints_HingeJoint.h

@@ -1,101 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_joints_HingeJoint */
-
-#ifndef _Included_com_jme3_bullet_joints_HingeJoint
-#define _Included_com_jme3_bullet_joints_HingeJoint
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    enableMotor
- * Signature: (JZFF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_HingeJoint_enableMotor
-  (JNIEnv *, jobject, jlong, jboolean, jfloat, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    getEnableAngularMotor
- * Signature: (J)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_HingeJoint_getEnableAngularMotor
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    getMotorTargetVelocity
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getMotorTargetVelocity
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    getMaxMotorImpulse
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getMaxMotorImpulse
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    setLimit
- * Signature: (JFF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_HingeJoint_setLimit__JFF
-  (JNIEnv *, jobject, jlong, jfloat, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    setLimit
- * Signature: (JFFFFF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_HingeJoint_setLimit__JFFFFF
-  (JNIEnv *, jobject, jlong, jfloat, jfloat, jfloat, jfloat, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    getUpperLimit
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getUpperLimit
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    getLowerLimit
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getLowerLimit
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    setAngularOnly
- * Signature: (JZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_HingeJoint_setAngularOnly
-  (JNIEnv *, jobject, jlong, jboolean);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    getHingeAngle
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_HingeJoint_getHingeAngle
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_HingeJoint
- * Method:    createJoint
- * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_HingeJoint_createJoint
-  (JNIEnv *, jobject, jlong, jlong, jobject, jobject, jobject, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 61
engine/src/bullet/native/com_jme3_bullet_joints_PhysicsJoint.cpp

@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_joints_PhysicsJoint.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_joints_PhysicsJoint
-     * Method:    getAppliedImpulse
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_PhysicsJoint_getAppliedImpulse
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btTypedConstraint* joint = reinterpret_cast<btTypedConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getAppliedImpulse();
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 29
engine/src/bullet/native/com_jme3_bullet_joints_PhysicsJoint.h

@@ -1,29 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_joints_PhysicsJoint */
-
-#ifndef _Included_com_jme3_bullet_joints_PhysicsJoint
-#define _Included_com_jme3_bullet_joints_PhysicsJoint
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_joints_PhysicsJoint
- * Method:    getAppliedImpulse
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_PhysicsJoint_getAppliedImpulse
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_PhysicsJoint
- * Method:    finalizeNative
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_PhysicsJoint_finalizeNative
-  (JNIEnv *, jobject, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 162
engine/src/bullet/native/com_jme3_bullet_joints_Point2PointJoint.cpp

@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_joints_Point2PointJoint.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_joints_Point2PointJoint
-     * Method:    setDamping
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_setDamping
-    (JNIEnv * env, jobject object, jlong jointId, jfloat damping) {
-        btPoint2PointConstraint* joint = reinterpret_cast<btPoint2PointConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->m_setting.m_damping = damping;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_Point2PointJoint
-     * Method:    setImpulseClamp
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_setImpulseClamp
-    (JNIEnv * env, jobject object, jlong jointId, jfloat clamp) {
-        btPoint2PointConstraint* joint = reinterpret_cast<btPoint2PointConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->m_setting.m_impulseClamp = clamp;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_Point2PointJoint
-     * Method:    setTau
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_setTau
-    (JNIEnv * env, jobject object, jlong jointId, jfloat tau) {
-        btPoint2PointConstraint* joint = reinterpret_cast<btPoint2PointConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->m_setting.m_tau = tau;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_Point2PointJoint
-     * Method:    getDamping
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_getDamping
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btPoint2PointConstraint* joint = reinterpret_cast<btPoint2PointConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->m_setting.m_damping;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_Point2PointJoint
-     * Method:    getImpulseClamp
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_getImpulseClamp
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btPoint2PointConstraint* joint = reinterpret_cast<btPoint2PointConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->m_setting.m_damping;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_Point2PointJoint
-     * Method:    getTau
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_getTau
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btPoint2PointConstraint* joint = reinterpret_cast<btPoint2PointConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->m_setting.m_damping;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_Point2PointJoint
-     * Method:    createJoint
-     * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_createJoint
-    (JNIEnv * env, jobject object, jlong bodyIdA, jlong bodyIdB, jobject pivotA, jobject pivotB) {
-        jmeClasses::initJavaClasses(env);
-        btRigidBody* bodyA = reinterpret_cast<btRigidBody*>(bodyIdA);
-        btRigidBody* bodyB = reinterpret_cast<btRigidBody*>(bodyIdB);
-        //TODO: matrix not needed?
-        btMatrix3x3 mtx1 = btMatrix3x3();
-        btMatrix3x3 mtx2 = btMatrix3x3();
-        btTransform transA = btTransform(mtx1);
-        jmeBulletUtil::convert(env, pivotA, &transA.getOrigin());
-        btTransform transB = btTransform(mtx2);
-        jmeBulletUtil::convert(env, pivotB, &transB.getOrigin());
-        btHingeConstraint* joint = new btHingeConstraint(*bodyA, *bodyB, transA, transB);
-        return reinterpret_cast<jlong>(joint);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 69
engine/src/bullet/native/com_jme3_bullet_joints_Point2PointJoint.h

@@ -1,69 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_joints_Point2PointJoint */
-
-#ifndef _Included_com_jme3_bullet_joints_Point2PointJoint
-#define _Included_com_jme3_bullet_joints_Point2PointJoint
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_joints_Point2PointJoint
- * Method:    setDamping
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_setDamping
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_Point2PointJoint
- * Method:    setImpulseClamp
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_setImpulseClamp
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_Point2PointJoint
- * Method:    setTau
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_setTau
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_Point2PointJoint
- * Method:    getDamping
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_getDamping
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_Point2PointJoint
- * Method:    getImpulseClamp
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_getImpulseClamp
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_Point2PointJoint
- * Method:    getTau
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_getTau
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_Point2PointJoint
- * Method:    createJoint
- * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_Point2PointJoint_createJoint
-  (JNIEnv *, jobject, jlong, jlong, jobject, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 170
engine/src/bullet/native/com_jme3_bullet_joints_SixDofJoint.cpp

@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_joints_SixDofJoint.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_joints_SixDofJoint
-     * Method:    getRotationalLimitMotor
-     * Signature: (JI)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SixDofJoint_getRotationalLimitMotor
-    (JNIEnv * env, jobject object, jlong jointId, jint index) {
-        btGeneric6DofConstraint* joint = reinterpret_cast<btGeneric6DofConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return reinterpret_cast<jlong>(joint->getRotationalLimitMotor(index));
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SixDofJoint
-     * Method:    getTranslationalLimitMotor
-     * Signature: (J)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SixDofJoint_getTranslationalLimitMotor
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btGeneric6DofConstraint* joint = reinterpret_cast<btGeneric6DofConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return reinterpret_cast<jlong>(joint->getTranslationalLimitMotor());
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SixDofJoint
-     * Method:    setLinearUpperLimit
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofJoint_setLinearUpperLimit
-    (JNIEnv * env, jobject object, jlong jointId, jobject vector) {
-        btGeneric6DofConstraint* joint = reinterpret_cast<btGeneric6DofConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec = btVector3();
-        jmeBulletUtil::convert(env, vector, &vec);
-        joint->setLinearUpperLimit(vec);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SixDofJoint
-     * Method:    setLinearLowerLimit
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofJoint_setLinearLowerLimit
-    (JNIEnv * env, jobject object, jlong jointId, jobject vector) {
-        btGeneric6DofConstraint* joint = reinterpret_cast<btGeneric6DofConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec = btVector3();
-        jmeBulletUtil::convert(env, vector, &vec);
-        joint->setLinearLowerLimit(vec);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SixDofJoint
-     * Method:    setAngularUpperLimit
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofJoint_setAngularUpperLimit
-    (JNIEnv * env, jobject object, jlong jointId, jobject vector) {
-        btGeneric6DofConstraint* joint = reinterpret_cast<btGeneric6DofConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec = btVector3();
-        jmeBulletUtil::convert(env, vector, &vec);
-        joint->setAngularUpperLimit(vec);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SixDofJoint
-     * Method:    setAngularLowerLimit
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofJoint_setAngularLowerLimit
-    (JNIEnv * env, jobject object, jlong jointId, jobject vector) {
-        btGeneric6DofConstraint* joint = reinterpret_cast<btGeneric6DofConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec = btVector3();
-        jmeBulletUtil::convert(env, vector, &vec);
-        joint->setAngularLowerLimit(vec);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SixDofJoint
-     * Method:    createJoint
-     * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Z)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SixDofJoint_createJoint
-    (JNIEnv * env, jobject object, jlong bodyIdA, jlong bodyIdB, jobject pivotA, jobject rotA, jobject pivotB, jobject rotB, jboolean useLinearReferenceFrameA) {
-        jmeClasses::initJavaClasses(env);
-        btRigidBody* bodyA = reinterpret_cast<btRigidBody*>(bodyIdA);
-        btRigidBody* bodyB = reinterpret_cast<btRigidBody*>(bodyIdB);
-        btMatrix3x3 mtx1 = btMatrix3x3();
-        btMatrix3x3 mtx2 = btMatrix3x3();
-        btTransform transA = btTransform(mtx1);
-        jmeBulletUtil::convert(env, pivotA, &transA.getOrigin());
-        jmeBulletUtil::convert(env, rotA, &transA.getBasis());
-        btTransform transB = btTransform(mtx2);
-        jmeBulletUtil::convert(env, pivotB, &transB.getOrigin());
-        jmeBulletUtil::convert(env, rotB, &transB.getBasis());
-        btGeneric6DofConstraint* joint = new btGeneric6DofConstraint(*bodyA, *bodyB, transA, transB, useLinearReferenceFrameA);
-        return reinterpret_cast<jlong>(joint);
-    }
-#ifdef __cplusplus
-}
-#endif

+ 0 - 69
engine/src/bullet/native/com_jme3_bullet_joints_SixDofJoint.h

@@ -1,69 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_joints_SixDofJoint */
-
-#ifndef _Included_com_jme3_bullet_joints_SixDofJoint
-#define _Included_com_jme3_bullet_joints_SixDofJoint
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_joints_SixDofJoint
- * Method:    getRotationalLimitMotor
- * Signature: (JI)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SixDofJoint_getRotationalLimitMotor
-  (JNIEnv *, jobject, jlong, jint);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofJoint
- * Method:    getTranslationalLimitMotor
- * Signature: (J)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SixDofJoint_getTranslationalLimitMotor
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofJoint
- * Method:    setLinearUpperLimit
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofJoint_setLinearUpperLimit
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofJoint
- * Method:    setLinearLowerLimit
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofJoint_setLinearLowerLimit
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofJoint
- * Method:    setAngularUpperLimit
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofJoint_setAngularUpperLimit
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofJoint
- * Method:    setAngularLowerLimit
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofJoint_setAngularLowerLimit
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofJoint
- * Method:    createJoint
- * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Z)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SixDofJoint_createJoint
-  (JNIEnv *, jobject, jlong, jlong, jobject, jobject, jobject, jobject, jboolean);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 94
engine/src/bullet/native/com_jme3_bullet_joints_SixDofSpringJoint.cpp

@@ -1,94 +0,0 @@
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_joints_SixDofSpringJoint.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    enableString
- * Signature: (JIZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_enableSpring
-  (JNIEnv *env, jobject object, jlong jointId, jint index, jboolean onOff) {
-    btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId);
-    joint -> enableSpring(index, onOff);
-}
-
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    setStiffness
- * Signature: (JIF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setStiffness
-  (JNIEnv *env, jobject object, jlong jointId, jint index, jfloat stiffness) {
-    btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId);
-    joint -> setStiffness(index, stiffness);
-}
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    setDamping
- * Signature: (JIF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setDamping
-  (JNIEnv *env, jobject object, jlong jointId, jint index, jfloat damping) {
-    btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId);
-    joint -> setDamping(index, damping);
-}
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    setEquilibriumPoint
- * Signature: (JIF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setEquilibriumPoint__J
-  (JNIEnv *env, jobject object, jlong jointId) {
-    btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId);
-    joint -> setEquilibriumPoint();
-}
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    setEquilibriumPoint
- * Signature: (JI)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setEquilibriumPoint__JI
-  (JNIEnv *env, jobject object, jlong jointId, jint index) {
-    btGeneric6DofSpringConstraint* joint = reinterpret_cast<btGeneric6DofSpringConstraint*>(jointId);
-    joint -> setEquilibriumPoint(index);
-}
-
-
-
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    createJoint
- * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Z)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_createJoint
-    (JNIEnv * env, jobject object, jlong bodyIdA, jlong bodyIdB, jobject pivotA, jobject rotA, jobject pivotB, jobject rotB, jboolean useLinearReferenceFrameA) {
-        jmeClasses::initJavaClasses(env);
-        btRigidBody* bodyA = reinterpret_cast<btRigidBody*>(bodyIdA);
-        btRigidBody* bodyB = reinterpret_cast<btRigidBody*>(bodyIdB);
-        btTransform transA;
-        jmeBulletUtil::convert(env, pivotA, &transA.getOrigin());
-        jmeBulletUtil::convert(env, rotA, &transA.getBasis());
-        btTransform transB;
-        jmeBulletUtil::convert(env, pivotB, &transB.getOrigin());
-        jmeBulletUtil::convert(env, rotB, &transB.getBasis());
-
-        btGeneric6DofSpringConstraint* joint = new btGeneric6DofSpringConstraint(*bodyA, *bodyB, transA, transB, useLinearReferenceFrameA);
-        return reinterpret_cast<jlong>(joint);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 61
engine/src/bullet/native/com_jme3_bullet_joints_SixDofSpringJoint.h

@@ -1,61 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_joints_SixDofSpringJoint */
-
-#ifndef _Included_com_jme3_bullet_joints_SixDofSpringJoint
-#define _Included_com_jme3_bullet_joints_SixDofSpringJoint
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    enableSpring
- * Signature: (JIZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_enableSpring
-  (JNIEnv *, jobject, jlong, jint, jboolean);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    setStiffness
- * Signature: (JIF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setStiffness
-  (JNIEnv *, jobject, jlong, jint, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    setDamping
- * Signature: (JIF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setDamping
-  (JNIEnv *, jobject, jlong, jint, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    setEquilibriumPoint
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setEquilibriumPoint__J
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    setEquilibriumPoint
- * Signature: (JI)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_setEquilibriumPoint__JI
-  (JNIEnv *, jobject, jlong, jint);
-
-/*
- * Class:     com_jme3_bullet_joints_SixDofSpringJoint
- * Method:    createJoint
- * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Z)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SixDofSpringJoint_createJoint
-  (JNIEnv *, jobject, jlong, jlong, jobject, jobject, jobject, jobject, jboolean);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 963
engine/src/bullet/native/com_jme3_bullet_joints_SliderJoint.cpp

@@ -1,963 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_joints_SliderJoint.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getLowerLinLimit
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getLowerLinLimit
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getLowerLinLimit();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setLowerLinLimit
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setLowerLinLimit
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setLowerLinLimit(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getUpperLinLimit
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getUpperLinLimit
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getUpperLinLimit();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setUpperLinLimit
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setUpperLinLimit
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setUpperLinLimit(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getLowerAngLimit
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getLowerAngLimit
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getLowerAngLimit();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setLowerAngLimit
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setLowerAngLimit
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setLowerAngLimit(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getUpperAngLimit
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getUpperAngLimit
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getUpperAngLimit();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setUpperAngLimit
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setUpperAngLimit
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setUpperAngLimit(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getSoftnessDirLin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessDirLin
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getSoftnessDirLin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setSoftnessDirLin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessDirLin
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setSoftnessDirLin(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getRestitutionDirLin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionDirLin
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getRestitutionDirLin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setRestitutionDirLin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionDirLin
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setRestitutionDirLin(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getDampingDirLin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingDirLin
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getDampingDirLin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setDampingDirLin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingDirLin
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setDampingDirLin(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getSoftnessDirAng
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessDirAng
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getSoftnessDirAng();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setSoftnessDirAng
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessDirAng
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setSoftnessDirAng(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getRestitutionDirAng
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionDirAng
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getRestitutionDirAng();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setRestitutionDirAng
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionDirAng
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setRestitutionDirAng(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getDampingDirAng
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingDirAng
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getDampingDirAng();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setDampingDirAng
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingDirAng
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setDampingDirAng(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getSoftnessLimLin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessLimLin
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getSoftnessLimLin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setSoftnessLimLin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessLimLin
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setSoftnessLimLin(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getRestitutionLimLin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionLimLin
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getRestitutionLimLin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setRestitutionLimLin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionLimLin
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setRestitutionLimLin(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getDampingLimLin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingLimLin
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getDampingLimLin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setDampingLimLin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingLimLin
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setDampingLimLin(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getSoftnessLimAng
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessLimAng
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getSoftnessLimAng();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setSoftnessLimAng
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessLimAng
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setSoftnessLimAng(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getRestitutionLimAng
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionLimAng
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getRestitutionLimAng();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setRestitutionLimAng
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionLimAng
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setRestitutionLimAng(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getDampingLimAng
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingLimAng
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getDampingLimAng();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setDampingLimAng
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingLimAng
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setDampingLimAng(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getSoftnessOrthoLin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessOrthoLin
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getSoftnessOrthoLin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setSoftnessOrthoLin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessOrthoLin
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setSoftnessOrthoLin(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getRestitutionOrthoLin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionOrthoLin
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getRestitutionOrthoLin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setRestitutionOrthoLin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionOrthoLin
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setRestitutionOrthoLin(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getDampingOrthoLin
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingOrthoLin
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getDampingOrthoLin();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setDampingOrthoLin
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingOrthoLin
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setDampingOrthoLin(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getSoftnessOrthoAng
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessOrthoAng
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getSoftnessOrthoAng();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setSoftnessOrthoAng
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessOrthoAng
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setSoftnessOrthoAng(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getRestitutionOrthoAng
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionOrthoAng
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getRestitutionOrthoAng();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setRestitutionOrthoAng
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionOrthoAng
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setRestitutionOrthoAng(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getDampingOrthoAng
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingOrthoAng
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getDampingOrthoAng();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setDampingOrthoAng
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingOrthoAng
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setDampingOrthoAng(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    isPoweredLinMotor
-     * Signature: (J)Z
-     */
-    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_SliderJoint_isPoweredLinMotor
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return false;
-        }
-        return joint->getPoweredLinMotor();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setPoweredLinMotor
-     * Signature: (JZ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setPoweredLinMotor
-    (JNIEnv * env, jobject object, jlong jointId, jboolean value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setPoweredLinMotor(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getTargetLinMotorVelocity
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getTargetLinMotorVelocity
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getTargetLinMotorVelocity();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setTargetLinMotorVelocity
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setTargetLinMotorVelocity
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setTargetLinMotorVelocity(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getMaxLinMotorForce
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getMaxLinMotorForce
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getMaxLinMotorForce();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setMaxLinMotorForce
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setMaxLinMotorForce
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setMaxLinMotorForce(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    isPoweredAngMotor
-     * Signature: (J)Z
-     */
-    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_SliderJoint_isPoweredAngMotor
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return false;
-        }
-        return joint->getPoweredAngMotor();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setPoweredAngMotor
-     * Signature: (JZ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setPoweredAngMotor
-    (JNIEnv * env, jobject object, jlong jointId, jboolean value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setPoweredAngMotor(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getTargetAngMotorVelocity
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getTargetAngMotorVelocity
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getTargetAngMotorVelocity();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setTargetAngMotorVelocity
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setTargetAngMotorVelocity
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setTargetAngMotorVelocity(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    getMaxAngMotorForce
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getMaxAngMotorForce
-    (JNIEnv * env, jobject object, jlong jointId) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return joint->getMaxAngMotorForce();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    setMaxAngMotorForce
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setMaxAngMotorForce
-    (JNIEnv * env, jobject object, jlong jointId, jfloat value) {
-        btSliderConstraint* joint = reinterpret_cast<btSliderConstraint*>(jointId);
-        if (joint == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        joint->setMaxAngMotorForce(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_SliderJoint
-     * Method:    createJoint
-     * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Z)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SliderJoint_createJoint
-    (JNIEnv * env, jobject object, jlong bodyIdA, jlong bodyIdB, jobject pivotA, jobject rotA, jobject pivotB, jobject rotB, jboolean useLinearReferenceFrameA) {
-        jmeClasses::initJavaClasses(env);
-        btRigidBody* bodyA = reinterpret_cast<btRigidBody*>(bodyIdA);
-        btRigidBody* bodyB = reinterpret_cast<btRigidBody*>(bodyIdB);
-        btMatrix3x3 mtx1 = btMatrix3x3();
-        btMatrix3x3 mtx2 = btMatrix3x3();
-        btTransform transA = btTransform(mtx1);
-        jmeBulletUtil::convert(env, pivotA, &transA.getOrigin());
-        jmeBulletUtil::convert(env, rotA, &transA.getBasis());
-        btTransform transB = btTransform(mtx2);
-        jmeBulletUtil::convert(env, pivotB, &transB.getOrigin());
-        jmeBulletUtil::convert(env, rotB, &transB.getBasis());
-        btSliderConstraint* joint = new btSliderConstraint(*bodyA, *bodyB, transA, transB, useLinearReferenceFrameA);
-        return reinterpret_cast<jlong>(joint);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 469
engine/src/bullet/native/com_jme3_bullet_joints_SliderJoint.h

@@ -1,469 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_joints_SliderJoint */
-
-#ifndef _Included_com_jme3_bullet_joints_SliderJoint
-#define _Included_com_jme3_bullet_joints_SliderJoint
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getLowerLinLimit
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getLowerLinLimit
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setLowerLinLimit
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setLowerLinLimit
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getUpperLinLimit
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getUpperLinLimit
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setUpperLinLimit
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setUpperLinLimit
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getLowerAngLimit
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getLowerAngLimit
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setLowerAngLimit
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setLowerAngLimit
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getUpperAngLimit
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getUpperAngLimit
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setUpperAngLimit
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setUpperAngLimit
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getSoftnessDirLin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessDirLin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setSoftnessDirLin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessDirLin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getRestitutionDirLin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionDirLin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setRestitutionDirLin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionDirLin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getDampingDirLin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingDirLin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setDampingDirLin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingDirLin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getSoftnessDirAng
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessDirAng
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setSoftnessDirAng
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessDirAng
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getRestitutionDirAng
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionDirAng
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setRestitutionDirAng
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionDirAng
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getDampingDirAng
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingDirAng
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setDampingDirAng
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingDirAng
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getSoftnessLimLin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessLimLin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setSoftnessLimLin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessLimLin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getRestitutionLimLin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionLimLin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setRestitutionLimLin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionLimLin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getDampingLimLin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingLimLin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setDampingLimLin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingLimLin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getSoftnessLimAng
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessLimAng
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setSoftnessLimAng
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessLimAng
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getRestitutionLimAng
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionLimAng
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setRestitutionLimAng
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionLimAng
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getDampingLimAng
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingLimAng
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setDampingLimAng
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingLimAng
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getSoftnessOrthoLin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessOrthoLin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setSoftnessOrthoLin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessOrthoLin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getRestitutionOrthoLin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionOrthoLin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setRestitutionOrthoLin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionOrthoLin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getDampingOrthoLin
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingOrthoLin
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setDampingOrthoLin
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingOrthoLin
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getSoftnessOrthoAng
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getSoftnessOrthoAng
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setSoftnessOrthoAng
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setSoftnessOrthoAng
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getRestitutionOrthoAng
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getRestitutionOrthoAng
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setRestitutionOrthoAng
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setRestitutionOrthoAng
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getDampingOrthoAng
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getDampingOrthoAng
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setDampingOrthoAng
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setDampingOrthoAng
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    isPoweredLinMotor
- * Signature: (J)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_SliderJoint_isPoweredLinMotor
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setPoweredLinMotor
- * Signature: (JZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setPoweredLinMotor
-  (JNIEnv *, jobject, jlong, jboolean);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getTargetLinMotorVelocity
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getTargetLinMotorVelocity
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setTargetLinMotorVelocity
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setTargetLinMotorVelocity
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getMaxLinMotorForce
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getMaxLinMotorForce
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setMaxLinMotorForce
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setMaxLinMotorForce
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    isPoweredAngMotor
- * Signature: (J)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_SliderJoint_isPoweredAngMotor
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setPoweredAngMotor
- * Signature: (JZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setPoweredAngMotor
-  (JNIEnv *, jobject, jlong, jboolean);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getTargetAngMotorVelocity
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getTargetAngMotorVelocity
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setTargetAngMotorVelocity
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setTargetAngMotorVelocity
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    getMaxAngMotorForce
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_SliderJoint_getMaxAngMotorForce
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    setMaxAngMotorForce
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_SliderJoint_setMaxAngMotorForce
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_SliderJoint
- * Method:    createJoint
- * Signature: (JJLcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Matrix3f;Z)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_joints_SliderJoint_createJoint
-  (JNIEnv *, jobject, jlong, jlong, jobject, jobject, jobject, jobject, jboolean);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 365
engine/src/bullet/native/com_jme3_bullet_joints_motors_RotationalLimitMotor.cpp

@@ -1,365 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_joints_motors_RotationalLimitMotor.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    getLoLimit
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getLoLimit
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_loLimit;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setLoLimit
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setLoLimit
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_loLimit = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    getHiLimit
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getHiLimit
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_hiLimit;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setHiLimit
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setHiLimit
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_hiLimit = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    getTargetVelocity
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getTargetVelocity
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_targetVelocity;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setTargetVelocity
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setTargetVelocity
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_targetVelocity = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    getMaxMotorForce
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getMaxMotorForce
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_maxMotorForce;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setMaxMotorForce
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setMaxMotorForce
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_maxMotorForce = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    getMaxLimitForce
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getMaxLimitForce
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_maxLimitForce;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setMaxLimitForce
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setMaxLimitForce
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_maxLimitForce = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    getDamping
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getDamping
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_damping;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setDamping
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setDamping
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_damping = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    getLimitSoftness
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getLimitSoftness
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_limitSoftness;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setLimitSoftness
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setLimitSoftness
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_limitSoftness = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    getERP
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getERP
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_stopERP;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setERP
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setERP
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_stopERP = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    getBounce
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getBounce
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_bounce;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setBounce
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setBounce
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_bounce = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    isEnableMotor
-     * Signature: (J)Z
-     */
-    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_isEnableMotor
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return false;
-        }
-        return motor->m_enableMotor;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
-     * Method:    setEnableMotor
-     * Signature: (JZ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setEnableMotor
-    (JNIEnv *env, jobject object, jlong motorId, jboolean value) {
-        btRotationalLimitMotor* motor = reinterpret_cast<btRotationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_enableMotor = value;
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 173
engine/src/bullet/native/com_jme3_bullet_joints_motors_RotationalLimitMotor.h

@@ -1,173 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_joints_motors_RotationalLimitMotor */
-
-#ifndef _Included_com_jme3_bullet_joints_motors_RotationalLimitMotor
-#define _Included_com_jme3_bullet_joints_motors_RotationalLimitMotor
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    getLoLimit
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getLoLimit
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setLoLimit
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setLoLimit
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    getHiLimit
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getHiLimit
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setHiLimit
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setHiLimit
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    getTargetVelocity
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getTargetVelocity
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setTargetVelocity
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setTargetVelocity
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    getMaxMotorForce
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getMaxMotorForce
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setMaxMotorForce
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setMaxMotorForce
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    getMaxLimitForce
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getMaxLimitForce
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setMaxLimitForce
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setMaxLimitForce
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    getDamping
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getDamping
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setDamping
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setDamping
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    getLimitSoftness
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getLimitSoftness
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setLimitSoftness
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setLimitSoftness
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    getERP
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getERP
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setERP
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setERP
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    getBounce
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_getBounce
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setBounce
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setBounce
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    isEnableMotor
- * Signature: (J)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_isEnableMotor
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_RotationalLimitMotor
- * Method:    setEnableMotor
- * Signature: (JZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_RotationalLimitMotor_setEnableMotor
-  (JNIEnv *, jobject, jlong, jboolean);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 237
engine/src/bullet/native/com_jme3_bullet_joints_motors_TranslationalLimitMotor.cpp

@@ -1,237 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_joints_motors_TranslationalLimitMotor.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    getLowerLimit
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getLowerLimit
-    (JNIEnv *env, jobject object, jlong motorId, jobject vector) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &motor->m_lowerLimit, vector);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    setLowerLimit
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setLowerLimit
-    (JNIEnv *env, jobject object, jlong motorId, jobject vector) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, vector, &motor->m_lowerLimit);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    getUpperLimit
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getUpperLimit
-    (JNIEnv *env, jobject object, jlong motorId, jobject vector) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &motor->m_upperLimit, vector);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    setUpperLimit
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setUpperLimit
-    (JNIEnv *env, jobject object, jlong motorId, jobject vector) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, vector, &motor->m_upperLimit);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    getAccumulatedImpulse
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getAccumulatedImpulse
-    (JNIEnv *env, jobject object, jlong motorId, jobject vector) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &motor->m_accumulatedImpulse, vector);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    setAccumulatedImpulse
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setAccumulatedImpulse
-    (JNIEnv *env, jobject object, jlong motorId, jobject vector) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, vector, &motor->m_accumulatedImpulse);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    getLimitSoftness
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getLetLimitSoftness
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_limitSoftness;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    setLimitSoftness
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setLimitSoftness
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_limitSoftness = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    getDamping
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getDamping
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_damping;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    setDamping
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setDamping
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_damping = value;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    getRestitution
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getRestitution
-    (JNIEnv *env, jobject object, jlong motorId) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return motor->m_restitution;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
-     * Method:    setRestitution
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setRestitution
-    (JNIEnv *env, jobject object, jlong motorId, jfloat value) {
-        btTranslationalLimitMotor* motor = reinterpret_cast<btTranslationalLimitMotor*>(motorId);
-        if (motor == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        motor->m_restitution = value;
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 109
engine/src/bullet/native/com_jme3_bullet_joints_motors_TranslationalLimitMotor.h

@@ -1,109 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_joints_motors_TranslationalLimitMotor */
-
-#ifndef _Included_com_jme3_bullet_joints_motors_TranslationalLimitMotor
-#define _Included_com_jme3_bullet_joints_motors_TranslationalLimitMotor
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    getLowerLimit
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getLowerLimit
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    setLowerLimit
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setLowerLimit
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    getUpperLimit
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getUpperLimit
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    setUpperLimit
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setUpperLimit
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    getAccumulatedImpulse
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getAccumulatedImpulse
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    setAccumulatedImpulse
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setAccumulatedImpulse
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    getLimitSoftness
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getLimitSoftness
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    setLimitSoftness
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setLimitSoftness
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    getDamping
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getDamping
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    setDamping
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setDamping
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    getRestitution
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_getRestitution
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_joints_motors_TranslationalLimitMotor
- * Method:    setRestitution
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_joints_motors_TranslationalLimitMotor_setRestitution
-  (JNIEnv *, jobject, jlong, jfloat);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 388
engine/src/bullet/native/com_jme3_bullet_objects_PhysicsCharacter.cpp

@@ -1,388 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-
-#include "com_jme3_bullet_objects_PhysicsCharacter.h"
-#include "jmeBulletUtil.h"
-#include "BulletCollision/CollisionDispatch/btGhostObject.h"
-#include "BulletDynamics/Character/btKinematicCharacterController.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    createGhostObject
-     * Signature: ()J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_createGhostObject
-    (JNIEnv * env, jobject object) {
-        jmeClasses::initJavaClasses(env);
-        btPairCachingGhostObject* ghost = new btPairCachingGhostObject();
-        return reinterpret_cast<jlong>(ghost);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    setCharacterFlags
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setCharacterFlags
-    (JNIEnv *env, jobject object, jlong ghostId) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(ghostId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        ghost->setCollisionFlags(/*ghost->getCollisionFlags() |*/ btCollisionObject::CF_CHARACTER_OBJECT);
-        ghost->setCollisionFlags(ghost->getCollisionFlags() & ~btCollisionObject::CF_NO_CONTACT_RESPONSE);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    createCharacterObject
-     * Signature: (JJF)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_createCharacterObject
-    (JNIEnv *env, jobject object, jlong objectId, jlong shapeId, jfloat stepHeight) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        //TODO: check convexshape!
-        btConvexShape* shape = reinterpret_cast<btConvexShape*>(shapeId);
-        btKinematicCharacterController* character = new btKinematicCharacterController(ghost, shape, stepHeight);
-        return reinterpret_cast<jlong>(character);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    warp
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_warp
-    (JNIEnv *env, jobject object, jlong objectId, jobject vector) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec = btVector3();
-        jmeBulletUtil::convert(env, vector, &vec);
-        character->warp(vec);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    setWalkDirection
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setWalkDirection
-    (JNIEnv *env, jobject object, jlong objectId, jobject vector) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec = btVector3();
-        jmeBulletUtil::convert(env, vector, &vec);
-        character->setWalkDirection(vec);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    setUpAxis
-     * Signature: (JI)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setUpAxis
-    (JNIEnv *env, jobject object, jlong objectId, jint value) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        character->setUpAxis(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    setFallSpeed
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setFallSpeed
-    (JNIEnv *env, jobject object, jlong objectId, jfloat value) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        character->setFallSpeed(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    setJumpSpeed
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setJumpSpeed
-    (JNIEnv *env, jobject object, jlong objectId, jfloat value) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        character->setJumpSpeed(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    setGravity
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setGravity
-    (JNIEnv *env, jobject object, jlong objectId, jfloat value) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        character->setGravity(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    getGravity
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getGravity
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return character->getGravity();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    setMaxSlope
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setMaxSlope
-    (JNIEnv *env, jobject object, jlong objectId, jfloat value) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        character->setMaxSlope(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    getMaxSlope
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getMaxSlope
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return character->getMaxSlope();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    onGround
-     * Signature: (J)Z
-     */
-    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_onGround
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return false;
-        }
-        return character->onGround();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    jump
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_jump
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        character->jump();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    getPhysicsLocation
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getPhysicsLocation
-    (JNIEnv *env, jobject object, jlong objectId, jobject value) {
-        btGhostObject* ghost = reinterpret_cast<btGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &ghost->getWorldTransform().getOrigin(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    setCcdSweptSphereRadius
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setCcdSweptSphereRadius
-    (JNIEnv *env, jobject object, jlong objectId, jfloat value) {
-        btGhostObject* ghost = reinterpret_cast<btGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        ghost->setCcdSweptSphereRadius(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    setCcdMotionThreshold
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setCcdMotionThreshold
-    (JNIEnv *env, jobject object, jlong objectId, jfloat value) {
-        btGhostObject* ghost = reinterpret_cast<btGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        ghost->setCcdMotionThreshold(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    getCcdSweptSphereRadius
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getCcdSweptSphereRadius
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btGhostObject* ghost = reinterpret_cast<btGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return ghost->getCcdSweptSphereRadius();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    getCcdMotionThreshold
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getCcdMotionThreshold
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btGhostObject* ghost = reinterpret_cast<btGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return ghost->getCcdMotionThreshold();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    getCcdSquareMotionThreshold
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getCcdSquareMotionThreshold
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btGhostObject* ghost = reinterpret_cast<btGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return ghost->getCcdSquareMotionThreshold();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsCharacter
-     * Method:    finalizeNativeCharacter
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_finalizeNativeCharacter
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btKinematicCharacterController* character = reinterpret_cast<btKinematicCharacterController*>(objectId);
-        if (character == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        delete(character);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 215
engine/src/bullet/native/com_jme3_bullet_objects_PhysicsCharacter.h

@@ -1,215 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_objects_PhysicsCharacter */
-
-#ifndef _Included_com_jme3_bullet_objects_PhysicsCharacter
-#define _Included_com_jme3_bullet_objects_PhysicsCharacter
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_NONE
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_NONE 0L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_01
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_01 1L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_02
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_02 2L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_03
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_03 4L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_04
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_04 8L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_05
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_05 16L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_06
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_06 32L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_07
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_07 64L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_08
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_08 128L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_09
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_09 256L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_10
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_10 512L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_11
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_11 1024L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_12
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_12 2048L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_13
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_13 4096L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_14
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_14 8192L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_15
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_15 16384L
-#undef com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_16
-#define com_jme3_bullet_objects_PhysicsCharacter_COLLISION_GROUP_16 32768L
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    createGhostObject
- * Signature: ()J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_createGhostObject
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    setCharacterFlags
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setCharacterFlags
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    createCharacterObject
- * Signature: (JJF)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_createCharacterObject
-  (JNIEnv *, jobject, jlong, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    warp
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_warp
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    setWalkDirection
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setWalkDirection
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    setUpAxis
- * Signature: (JI)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setUpAxis
-  (JNIEnv *, jobject, jlong, jint);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    setFallSpeed
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setFallSpeed
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    setJumpSpeed
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setJumpSpeed
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    setGravity
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setGravity
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    getGravity
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getGravity
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    setMaxSlope
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setMaxSlope
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    getMaxSlope
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getMaxSlope
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    onGround
- * Signature: (J)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_onGround
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    jump
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_jump
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    getPhysicsLocation
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getPhysicsLocation
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    setCcdSweptSphereRadius
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setCcdSweptSphereRadius
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    setCcdMotionThreshold
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_setCcdMotionThreshold
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    getCcdSweptSphereRadius
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getCcdSweptSphereRadius
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    getCcdMotionThreshold
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getCcdMotionThreshold
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    getCcdSquareMotionThreshold
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_getCcdSquareMotionThreshold
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsCharacter
- * Method:    finalizeNativeCharacter
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsCharacter_finalizeNativeCharacter
-  (JNIEnv *, jobject, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 313
engine/src/bullet/native/com_jme3_bullet_objects_PhysicsGhostObject.cpp

@@ -1,313 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-
-#include <BulletCollision/CollisionDispatch/btGhostObject.h>
-
-#include "com_jme3_bullet_objects_PhysicsGhostObject.h"
-#include "BulletCollision/BroadphaseCollision/btOverlappingPairCache.h"
-#include "jmeBulletUtil.h"
-#include "jmePhysicsSpace.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    createGhostObject
-     * Signature: ()J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_createGhostObject
-    (JNIEnv * env, jobject object) {
-        jmeClasses::initJavaClasses(env);
-        btPairCachingGhostObject* ghost = new btPairCachingGhostObject();
-        return reinterpret_cast<jlong>(ghost);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    setGhostFlags
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setGhostFlags
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        ghost->setCollisionFlags(ghost->getCollisionFlags() | btCollisionObject::CF_NO_CONTACT_RESPONSE);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    setPhysicsLocation
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setPhysicsLocation
-    (JNIEnv *env, jobject object, jlong objectId, jobject value) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, value, &ghost->getWorldTransform().getOrigin());
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    setPhysicsRotation
-     * Signature: (JLcom/jme3/math/Matrix3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setPhysicsRotation__JLcom_jme3_math_Matrix3f_2
-    (JNIEnv *env, jobject object, jlong objectId, jobject value) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, value, &ghost->getWorldTransform().getBasis());
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    setPhysicsRotation
-     * Signature: (JLcom/jme3/math/Quaternion;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setPhysicsRotation__JLcom_jme3_math_Quaternion_2
-    (JNIEnv *env, jobject object, jlong objectId, jobject value) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convertQuat(env, value, &ghost->getWorldTransform().getBasis());
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    getPhysicsLocation
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getPhysicsLocation
-    (JNIEnv *env, jobject object, jlong objectId, jobject value) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &ghost->getWorldTransform().getOrigin(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    getPhysicsRotation
-     * Signature: (JLcom/jme3/math/Quaternion;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getPhysicsRotation
-    (JNIEnv *env, jobject object, jlong objectId, jobject value) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convertQuat(env, &ghost->getWorldTransform().getBasis(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    getPhysicsRotationMatrix
-     * Signature: (JLcom/jme3/math/Matrix3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getPhysicsRotationMatrix
-    (JNIEnv *env, jobject object, jlong objectId, jobject value) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &ghost->getWorldTransform().getBasis(), value);
-    }
-
-    class jmeGhostOverlapCallback : public btOverlapCallback {
-        JNIEnv* m_env;
-        jobject m_object;
-    public:
-        jmeGhostOverlapCallback(JNIEnv *env, jobject object)
-                :m_env(env),
-                 m_object(object)
-        {
-        }
-        virtual ~jmeGhostOverlapCallback() {}
-        virtual bool    processOverlap(btBroadphasePair& pair)
-        {
-            btCollisionObject *co1 = (btCollisionObject *)pair.m_pProxy0->m_clientObject;
-            jmeUserPointer *up1 = (jmeUserPointer*)co1 -> getUserPointer();
-            jobject javaCollisionObject1 = m_env->NewLocalRef(up1->javaCollisionObject);
-            m_env->CallVoidMethod(m_object, jmeClasses::PhysicsGhostObject_addOverlappingObject, javaCollisionObject1);
-            m_env->DeleteLocalRef(javaCollisionObject1);
-            if (m_env->ExceptionCheck()) {
-                m_env->Throw(m_env->ExceptionOccurred());
-                return false;
-            }
-
-            return false;
-        }
-    };
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    getOverlappingObjects
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getOverlappingObjects
-      (JNIEnv *env, jobject object, jlong objectId) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btHashedOverlappingPairCache * pc = ghost->getOverlappingPairCache();
-        jmeGhostOverlapCallback cb(env, object);
-        pc -> processAllOverlappingPairs(&cb, NULL);
-    }
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    getOverlappingCount
-     * Signature: (J)I
-     */
-    JNIEXPORT jint JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getOverlappingCount
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return ghost->getNumOverlappingObjects();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    setCcdSweptSphereRadius
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setCcdSweptSphereRadius
-    (JNIEnv *env, jobject object, jlong objectId, jfloat value) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        ghost->setCcdSweptSphereRadius(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    setCcdMotionThreshold
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setCcdMotionThreshold
-    (JNIEnv *env, jobject object, jlong objectId, jfloat value) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        ghost->setCcdMotionThreshold(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    getCcdSweptSphereRadius
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getCcdSweptSphereRadius
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return ghost->getCcdSweptSphereRadius();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    getCcdMotionThreshold
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getCcdMotionThreshold
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return ghost->getCcdMotionThreshold();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsGhostObject
-     * Method:    getCcdSquareMotionThreshold
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getCcdSquareMotionThreshold
-    (JNIEnv *env, jobject object, jlong objectId) {
-        btPairCachingGhostObject* ghost = reinterpret_cast<btPairCachingGhostObject*>(objectId);
-        if (ghost == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return ghost->getCcdSquareMotionThreshold();
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 167
engine/src/bullet/native/com_jme3_bullet_objects_PhysicsGhostObject.h

@@ -1,167 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_objects_PhysicsGhostObject */
-
-#ifndef _Included_com_jme3_bullet_objects_PhysicsGhostObject
-#define _Included_com_jme3_bullet_objects_PhysicsGhostObject
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_NONE
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_NONE 0L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_01
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_01 1L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_02
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_02 2L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_03
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_03 4L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_04
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_04 8L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_05
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_05 16L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_06
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_06 32L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_07
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_07 64L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_08
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_08 128L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_09
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_09 256L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_10
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_10 512L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_11
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_11 1024L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_12
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_12 2048L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_13
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_13 4096L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_14
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_14 8192L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_15
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_15 16384L
-#undef com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_16
-#define com_jme3_bullet_objects_PhysicsGhostObject_COLLISION_GROUP_16 32768L
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    createGhostObject
- * Signature: ()J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_createGhostObject
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    setGhostFlags
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setGhostFlags
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    setPhysicsLocation
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setPhysicsLocation
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    setPhysicsRotation
- * Signature: (JLcom/jme3/math/Matrix3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setPhysicsRotation__JLcom_jme3_math_Matrix3f_2
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    setPhysicsRotation
- * Signature: (JLcom/jme3/math/Quaternion;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setPhysicsRotation__JLcom_jme3_math_Quaternion_2
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    getPhysicsLocation
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getPhysicsLocation
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    getPhysicsRotation
- * Signature: (JLcom/jme3/math/Quaternion;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getPhysicsRotation
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    getPhysicsRotationMatrix
- * Signature: (JLcom/jme3/math/Matrix3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getPhysicsRotationMatrix
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    getOverlappingObjects
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getOverlappingObjects
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    getOverlappingCount
- * Signature: (J)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getOverlappingCount
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    setCcdSweptSphereRadius
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setCcdSweptSphereRadius
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    setCcdMotionThreshold
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_setCcdMotionThreshold
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    getCcdSweptSphereRadius
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getCcdSweptSphereRadius
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    getCcdMotionThreshold
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getCcdMotionThreshold
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsGhostObject
- * Method:    getCcdSquareMotionThreshold
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsGhostObject_getCcdSquareMotionThreshold
-  (JNIEnv *, jobject, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 849
engine/src/bullet/native/com_jme3_bullet_objects_PhysicsRigidBody.cpp

@@ -1,849 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_objects_PhysicsRigidBody.h"
-#include "jmeBulletUtil.h"
-#include "jmeMotionState.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    createRigidBody
-     * Signature: (FJJ)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_createRigidBody
-    (JNIEnv *env, jobject object, jfloat mass, jlong motionstatId, jlong shapeId) {
-        jmeClasses::initJavaClasses(env);
-        btMotionState* motionState = reinterpret_cast<btMotionState*>(motionstatId);
-        btCollisionShape* shape = reinterpret_cast<btCollisionShape*>(shapeId);
-        btVector3 localInertia = btVector3();
-        shape->calculateLocalInertia(mass, localInertia);
-        btRigidBody* body = new btRigidBody(mass, motionState, shape, localInertia);
-        body->setUserPointer(NULL);
-        return reinterpret_cast<jlong>(body);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    isInWorld
-     * Signature: (J)Z
-     */
-    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_isInWorld
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return false;
-        }
-        return body->isInWorld();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setPhysicsLocation
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setPhysicsLocation
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        //        if (body->isStaticOrKinematicObject() || !body->isInWorld())
-        ((jmeMotionState*) body->getMotionState())->setKinematicLocation(env, value);
-        body->setCenterOfMassTransform(((jmeMotionState*) body->getMotionState())->worldTransform);
-        //        else{
-        //            btMatrix3x3* mtx = &btMatrix3x3();
-        //            btTransform* trans = &btTransform(*mtx);
-        //            trans->setBasis(body->getCenterOfMassTransform().getBasis());
-        //            jmeBulletUtil::convert(env, value, &trans->getOrigin());
-        //            body->setCenterOfMassTransform(*trans);
-        //        }
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setPhysicsRotation
-     * Signature: (JLcom/jme3/math/Matrix3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setPhysicsRotation__JLcom_jme3_math_Matrix3f_2
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        //        if (body->isStaticOrKinematicObject() || !body->isInWorld())
-        ((jmeMotionState*) body->getMotionState())->setKinematicRotation(env, value);
-        body->setCenterOfMassTransform(((jmeMotionState*) body->getMotionState())->worldTransform);
-        //        else{
-        //            btMatrix3x3* mtx = &btMatrix3x3();
-        //            btTransform* trans = &btTransform(*mtx);
-        //            trans->setOrigin(body->getCenterOfMassTransform().getOrigin());
-        //            jmeBulletUtil::convert(env, value, &trans->getBasis());
-        //            body->setCenterOfMassTransform(*trans);
-        //        }
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setPhysicsRotation
-     * Signature: (JLcom/jme3/math/Quaternion;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setPhysicsRotation__JLcom_jme3_math_Quaternion_2
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        //        if (body->isStaticOrKinematicObject() || !body->isInWorld())
-        ((jmeMotionState*) body->getMotionState())->setKinematicRotationQuat(env, value);
-        body->setCenterOfMassTransform(((jmeMotionState*) body->getMotionState())->worldTransform);
-        //        else{
-        //            btMatrix3x3* mtx = &btMatrix3x3();
-        //            btTransform* trans = &btTransform(*mtx);
-        //            trans->setOrigin(body->getCenterOfMassTransform().getOrigin());
-        //            jmeBulletUtil::convertQuat(env, value, &trans->getBasis());
-        //            body->setCenterOfMassTransform(*trans);
-        //        }
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getPhysicsLocation
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getPhysicsLocation
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &body->getWorldTransform().getOrigin(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getPhysicsRotation
-     * Signature: (JLcom/jme3/math/Quaternion;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getPhysicsRotation
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convertQuat(env, &body->getWorldTransform().getBasis(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getPhysicsRotationMatrix
-     * Signature: (JLcom/jme3/math/Matrix3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getPhysicsRotationMatrix
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &body->getWorldTransform().getBasis(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setKinematic
-     * Signature: (JZ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setKinematic
-    (JNIEnv *env, jobject object, jlong bodyId, jboolean value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        if (value) {
-            body->setCollisionFlags(body->getCollisionFlags() | btCollisionObject::CF_KINEMATIC_OBJECT);
-            body->setActivationState(DISABLE_DEACTIVATION);
-        } else {
-            body->setCollisionFlags(body->getCollisionFlags() & ~btCollisionObject::CF_KINEMATIC_OBJECT);
-            body->setActivationState(ACTIVE_TAG);
-        }
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setCcdSweptSphereRadius
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setCcdSweptSphereRadius
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->setCcdSweptSphereRadius(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setCcdMotionThreshold
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setCcdMotionThreshold
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->setCcdMotionThreshold(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getCcdSweptSphereRadius
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getCcdSweptSphereRadius
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getCcdSweptSphereRadius();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getCcdMotionThreshold
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getCcdMotionThreshold
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getCcdMotionThreshold();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getCcdSquareMotionThreshold
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getCcdSquareMotionThreshold
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getCcdSquareMotionThreshold();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setStatic
-     * Signature: (JZ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setStatic
-    (JNIEnv *env, jobject object, jlong bodyId, jboolean value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        if (value) {
-            body->setCollisionFlags(body->getCollisionFlags() | btCollisionObject::CF_STATIC_OBJECT);
-        } else {
-            body->setCollisionFlags(body->getCollisionFlags() & ~btCollisionObject::CF_STATIC_OBJECT);
-        }
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    updateMassProps
-     * Signature: (JJF)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_updateMassProps
-    (JNIEnv *env, jobject object, jlong bodyId, jlong shapeId, jfloat mass) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        btCollisionShape* shape = reinterpret_cast<btCollisionShape*>(shapeId);
-        btVector3 localInertia = btVector3();
-        shape->calculateLocalInertia(mass, localInertia);
-        body->setMassProps(mass, localInertia);
-        return reinterpret_cast<jlong>(body);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getGravity
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getGravity
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &body->getGravity(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setGravity
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setGravity
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec = btVector3();
-        jmeBulletUtil::convert(env, value, &vec);
-        body->setGravity(vec);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getFriction
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getFriction
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getFriction();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setFriction
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setFriction
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->setFriction(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setDamping
-     * Signature: (JFF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setDamping
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat value1, jfloat value2) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->setDamping(value1, value2);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setAngularDamping
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularDamping
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->setDamping(body->getAngularDamping(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getLinearDamping
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getLinearDamping
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getLinearDamping();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getAngularDamping
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularDamping
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getAngularDamping();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getRestitution
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getRestitution
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getRestitution();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setRestitution
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setRestitution
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->setRestitution(value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getAngularVelocity
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularVelocity
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &body->getAngularVelocity(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setAngularVelocity
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularVelocity
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec = btVector3();
-        jmeBulletUtil::convert(env, value, &vec);
-        body->setAngularVelocity(vec);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getLinearVelocity
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getLinearVelocity
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &body->getLinearVelocity(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setLinearVelocity
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setLinearVelocity
-    (JNIEnv *env, jobject object, jlong bodyId, jobject value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec = btVector3();
-        jmeBulletUtil::convert(env, value, &vec);
-        body->setLinearVelocity(vec);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    applyForce
-     * Signature: (JLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyForce
-    (JNIEnv *env, jobject object, jlong bodyId, jobject force, jobject location) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec1 = btVector3();
-        btVector3 vec2 = btVector3();
-        jmeBulletUtil::convert(env, force, &vec1);
-        jmeBulletUtil::convert(env, location, &vec2);
-        body->applyForce(vec1, vec2);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    applyCentralForce
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyCentralForce
-    (JNIEnv *env, jobject object, jlong bodyId, jobject force) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec1 = btVector3();
-        jmeBulletUtil::convert(env, force, &vec1);
-        body->applyCentralForce(vec1);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    applyTorque
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyTorque
-    (JNIEnv *env, jobject object, jlong bodyId, jobject force) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec1 = btVector3();
-        jmeBulletUtil::convert(env, force, &vec1);
-        body->applyTorque(vec1);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    applyImpulse
-     * Signature: (JLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyImpulse
-    (JNIEnv *env, jobject object, jlong bodyId, jobject force, jobject location) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec1 = btVector3();
-        btVector3 vec2 = btVector3();
-        jmeBulletUtil::convert(env, force, &vec1);
-        jmeBulletUtil::convert(env, location, &vec2);
-        body->applyImpulse(vec1, vec2);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    applyTorqueImpulse
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyTorqueImpulse
-    (JNIEnv *env, jobject object, jlong bodyId, jobject force) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec1 = btVector3();
-        jmeBulletUtil::convert(env, force, &vec1);
-        body->applyTorqueImpulse(vec1);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    clearForces
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_clearForces
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->clearForces();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setCollisionShape
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setCollisionShape
-    (JNIEnv *env, jobject object, jlong bodyId, jlong shapeId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btCollisionShape* shape = reinterpret_cast<btCollisionShape*>(shapeId);
-        body->setCollisionShape(shape);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    activate
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_activate
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->activate(false);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    isActive
-     * Signature: (J)Z
-     */
-    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_isActive
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return false;
-        }
-        return body->isActive();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setSleepingThresholds
-     * Signature: (JFF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setSleepingThresholds
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat linear, jfloat angular) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->setSleepingThresholds(linear, angular);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setLinearSleepingThreshold
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setLinearSleepingThreshold
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->setSleepingThresholds(value, body->getLinearSleepingThreshold());
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setAngularSleepingThreshold
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularSleepingThreshold
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        body->setSleepingThresholds(body->getAngularSleepingThreshold(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getLinearSleepingThreshold
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getLinearSleepingThreshold
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getLinearSleepingThreshold();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getAngularSleepingThreshold
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularSleepingThreshold
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getAngularSleepingThreshold();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    getAngularFactor
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor
-    (JNIEnv *env, jobject object, jlong bodyId) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return body->getAngularFactor().getX();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsRigidBody
-     * Method:    setAngularFactor
-     * Signature: (JF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularFactor
-    (JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 vec1 = btVector3();
-        vec1.setX(value);
-        vec1.setY(value);
-        vec1.setZ(value);
-        body->setAngularFactor(vec1);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 415
engine/src/bullet/native/com_jme3_bullet_objects_PhysicsRigidBody.h

@@ -1,415 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_objects_PhysicsRigidBody */
-
-#ifndef _Included_com_jme3_bullet_objects_PhysicsRigidBody
-#define _Included_com_jme3_bullet_objects_PhysicsRigidBody
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_NONE
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_NONE 0L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_01
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_01 1L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_02
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_02 2L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_03
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_03 4L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_04
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_04 8L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_05
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_05 16L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_06
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_06 32L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_07
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_07 64L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_08
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_08 128L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_09
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_09 256L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_10
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_10 512L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_11
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_11 1024L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_12
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_12 2048L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_13
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_13 4096L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_14
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_14 8192L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_15
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_15 16384L
-#undef com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_16
-#define com_jme3_bullet_objects_PhysicsRigidBody_COLLISION_GROUP_16 32768L
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    createRigidBody
- * Signature: (FJJ)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_createRigidBody
-  (JNIEnv *, jobject, jfloat, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    isInWorld
- * Signature: (J)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_isInWorld
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setPhysicsLocation
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setPhysicsLocation
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setPhysicsRotation
- * Signature: (JLcom/jme3/math/Matrix3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setPhysicsRotation__JLcom_jme3_math_Matrix3f_2
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setPhysicsRotation
- * Signature: (JLcom/jme3/math/Quaternion;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setPhysicsRotation__JLcom_jme3_math_Quaternion_2
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getPhysicsLocation
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getPhysicsLocation
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getPhysicsRotation
- * Signature: (JLcom/jme3/math/Quaternion;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getPhysicsRotation
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getPhysicsRotationMatrix
- * Signature: (JLcom/jme3/math/Matrix3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getPhysicsRotationMatrix
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setKinematic
- * Signature: (JZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setKinematic
-  (JNIEnv *, jobject, jlong, jboolean);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setCcdSweptSphereRadius
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setCcdSweptSphereRadius
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setCcdMotionThreshold
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setCcdMotionThreshold
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getCcdSweptSphereRadius
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getCcdSweptSphereRadius
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getCcdMotionThreshold
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getCcdMotionThreshold
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getCcdSquareMotionThreshold
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getCcdSquareMotionThreshold
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setStatic
- * Signature: (JZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setStatic
-  (JNIEnv *, jobject, jlong, jboolean);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    updateMassProps
- * Signature: (JJF)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_updateMassProps
-  (JNIEnv *, jobject, jlong, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getGravity
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getGravity
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setGravity
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setGravity
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getFriction
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getFriction
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setFriction
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setFriction
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setDamping
- * Signature: (JFF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setDamping
-  (JNIEnv *, jobject, jlong, jfloat, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setAngularDamping
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularDamping
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getLinearDamping
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getLinearDamping
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getAngularDamping
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularDamping
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getRestitution
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getRestitution
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setRestitution
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setRestitution
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getAngularVelocity
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularVelocity
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setAngularVelocity
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularVelocity
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getLinearVelocity
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getLinearVelocity
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setLinearVelocity
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setLinearVelocity
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    applyForce
- * Signature: (JLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyForce
-  (JNIEnv *, jobject, jlong, jobject, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    applyCentralForce
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyCentralForce
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    applyTorque
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyTorque
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    applyImpulse
- * Signature: (JLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyImpulse
-  (JNIEnv *, jobject, jlong, jobject, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    applyTorqueImpulse
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_applyTorqueImpulse
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    clearForces
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_clearForces
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setCollisionShape
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setCollisionShape
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    activate
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_activate
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    isActive
- * Signature: (J)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_isActive
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setSleepingThresholds
- * Signature: (JFF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setSleepingThresholds
-  (JNIEnv *, jobject, jlong, jfloat, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setLinearSleepingThreshold
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setLinearSleepingThreshold
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setAngularSleepingThreshold
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularSleepingThreshold
-  (JNIEnv *, jobject, jlong, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getLinearSleepingThreshold
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getLinearSleepingThreshold
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getAngularSleepingThreshold
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularSleepingThreshold
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    getAngularFactor
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsRigidBody
- * Method:    setAngularFactor
- * Signature: (JF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularFactor
-  (JNIEnv *, jobject, jlong, jfloat);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 272
engine/src/bullet/native/com_jme3_bullet_objects_PhysicsVehicle.cpp

@@ -1,272 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-
-#include "com_jme3_bullet_objects_PhysicsVehicle.h"
-#include "jmeBulletUtil.h"
-#include "jmePhysicsSpace.h"
-#include "BulletDynamics/Vehicle/btRaycastVehicle.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    updateWheelTransform
-     * Signature: (JIZ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_updateWheelTransform
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheel, jboolean interpolated) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        vehicle->updateWheelTransform(wheel, interpolated);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    createVehicleRaycaster
-     * Signature: (JJ)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_createVehicleRaycaster
-    (JNIEnv *env, jobject object, jlong bodyId, jlong spaceId) {
-        //btRigidBody* body = reinterpret_cast<btRigidBody*> bodyId;
-        jmeClasses::initJavaClasses(env);
-        jmePhysicsSpace *space = reinterpret_cast<jmePhysicsSpace*>(spaceId);
-        if (space == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        btDefaultVehicleRaycaster* caster = new btDefaultVehicleRaycaster(space->getDynamicsWorld());
-        return reinterpret_cast<jlong>(caster);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    createRaycastVehicle
-     * Signature: (JJ)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_createRaycastVehicle
-    (JNIEnv *env, jobject object, jlong objectId, jlong casterId) {
-        jmeClasses::initJavaClasses(env);
-        btRigidBody* body = reinterpret_cast<btRigidBody*>(objectId);
-        if (body == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        body->setActivationState(DISABLE_DEACTIVATION);
-        btVehicleRaycaster* caster = reinterpret_cast<btDefaultVehicleRaycaster*>(casterId);
-        if (caster == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        btRaycastVehicle::btVehicleTuning tuning;
-        btRaycastVehicle* vehicle = new btRaycastVehicle(tuning, body, caster);
-        return reinterpret_cast<jlong>(vehicle);
-
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    setCoordinateSystem
-     * Signature: (JIII)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_setCoordinateSystem
-    (JNIEnv *env, jobject object, jlong vehicleId, jint right, jint up, jint forward) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        vehicle->setCoordinateSystem(right, up, forward);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    addWheel
-     * Signature: (JLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;FFLcom/jme3/bullet/objects/infos/VehicleTuning;Z)J
-     */
-    JNIEXPORT jint JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_addWheel
-    (JNIEnv *env, jobject object, jlong vehicleId, jobject location, jobject direction, jobject axle, jfloat restLength, jfloat radius, jobject tuning, jboolean frontWheel) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        btVector3 vec1 = btVector3();
-        btVector3 vec2 = btVector3();
-        btVector3 vec3 = btVector3();
-        jmeBulletUtil::convert(env, location, &vec1);
-        jmeBulletUtil::convert(env, direction, &vec2);
-        jmeBulletUtil::convert(env, axle, &vec3);
-        btRaycastVehicle::btVehicleTuning tune;
-        btWheelInfo* info = &vehicle->addWheel(vec1, vec2, vec3, restLength, radius, tune, frontWheel);
-        int idx = vehicle->getNumWheels();
-        return idx-1;
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    resetSuspension
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_resetSuspension
-    (JNIEnv *env, jobject object, jlong vehicleId) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        vehicle->resetSuspension();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    applyEngineForce
-     * Signature: (JIF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_applyEngineForce
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheel, jfloat force) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        vehicle->applyEngineForce(force, wheel);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    steer
-     * Signature: (JIF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_steer
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheel, jfloat value) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        vehicle->setSteeringValue(value, wheel);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    brake
-     * Signature: (JIF)F
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_brake
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheel, jfloat value) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        vehicle->setBrake(value, wheel);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    getCurrentVehicleSpeedKmHour
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_getCurrentVehicleSpeedKmHour
-    (JNIEnv *env, jobject object, jlong vehicleId) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return vehicle->getCurrentSpeedKmHour();
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    getForwardVector
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_getForwardVector
-    (JNIEnv *env, jobject object, jlong vehicleId, jobject out) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        btVector3 forwardVector = vehicle->getForwardVector();
-        jmeBulletUtil::convert(env, &forwardVector, out);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_PhysicsVehicle
-     * Method:    finalizeNative
-     * Signature: (JJ)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_finalizeNative
-    (JNIEnv *env, jobject object, jlong casterId, jlong vehicleId) {
-        btVehicleRaycaster* rayCaster = reinterpret_cast<btVehicleRaycaster*>(casterId);
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        delete(vehicle);
-        if (rayCaster == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        delete(rayCaster);
-    }
-
-#ifdef __cplusplus
-}
-#endif
-

+ 0 - 143
engine/src/bullet/native/com_jme3_bullet_objects_PhysicsVehicle.h

@@ -1,143 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_objects_PhysicsVehicle */
-
-#ifndef _Included_com_jme3_bullet_objects_PhysicsVehicle
-#define _Included_com_jme3_bullet_objects_PhysicsVehicle
-#ifdef __cplusplus
-extern "C" {
-#endif
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_NONE
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_NONE 0L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_01
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_01 1L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_02
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_02 2L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_03
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_03 4L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_04
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_04 8L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_05
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_05 16L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_06
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_06 32L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_07
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_07 64L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_08
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_08 128L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_09
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_09 256L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_10
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_10 512L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_11
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_11 1024L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_12
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_12 2048L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_13
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_13 4096L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_14
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_14 8192L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_15
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_15 16384L
-#undef com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_16
-#define com_jme3_bullet_objects_PhysicsVehicle_COLLISION_GROUP_16 32768L
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    updateWheelTransform
- * Signature: (JIZ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_updateWheelTransform
-  (JNIEnv *, jobject, jlong, jint, jboolean);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    createVehicleRaycaster
- * Signature: (JJ)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_createVehicleRaycaster
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    createRaycastVehicle
- * Signature: (JJ)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_createRaycastVehicle
-  (JNIEnv *, jobject, jlong, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    setCoordinateSystem
- * Signature: (JIII)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_setCoordinateSystem
-  (JNIEnv *, jobject, jlong, jint, jint, jint);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    addWheel
- * Signature: (JLcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;Lcom/jme3/math/Vector3f;FFLcom/jme3/bullet/objects/infos/VehicleTuning;Z)I
- */
-JNIEXPORT jint JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_addWheel
-  (JNIEnv *, jobject, jlong, jobject, jobject, jobject, jfloat, jfloat, jobject, jboolean);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    resetSuspension
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_resetSuspension
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    applyEngineForce
- * Signature: (JIF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_applyEngineForce
-  (JNIEnv *, jobject, jlong, jint, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    steer
- * Signature: (JIF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_steer
-  (JNIEnv *, jobject, jlong, jint, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    brake
- * Signature: (JIF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_brake
-  (JNIEnv *, jobject, jlong, jint, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    getCurrentVehicleSpeedKmHour
- * Signature: (J)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_getCurrentVehicleSpeedKmHour
-  (JNIEnv *, jobject, jlong);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    getForwardVector
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_getForwardVector
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_PhysicsVehicle
- * Method:    finalizeNative
- * Signature: (JJ)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsVehicle_finalizeNative
-  (JNIEnv *, jobject, jlong, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 147
engine/src/bullet/native/com_jme3_bullet_objects_VehicleWheel.cpp

@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-
-#include "com_jme3_bullet_objects_VehicleWheel.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_objects_VehicleWheel
-     * Method:    getWheelLocation
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getWheelLocation
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jobject out) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &vehicle->getWheelInfo(wheelIndex).m_worldTransform.getOrigin(), out);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_VehicleWheel
-     * Method:    getWheelRotation
-     * Signature: (JLcom/jme3/math/Matrix3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getWheelRotation
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jobject out) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &vehicle->getWheelInfo(wheelIndex).m_worldTransform.getBasis(), out);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_VehicleWheel
-     * Method:    applyInfo
-     * Signature: (JFFFFFFFFZF)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_applyInfo
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jfloat suspensionStiffness, jfloat wheelsDampingRelaxation, jfloat wheelsDampingCompression, jfloat frictionSlip, jfloat rollInfluence, jfloat maxSuspensionTravelCm, jfloat maxSuspensionForce, jfloat radius, jboolean frontWheel, jfloat restLength) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        vehicle->getWheelInfo(wheelIndex).m_suspensionStiffness = suspensionStiffness;
-        vehicle->getWheelInfo(wheelIndex).m_wheelsDampingRelaxation = wheelsDampingRelaxation;
-        vehicle->getWheelInfo(wheelIndex).m_wheelsDampingCompression = wheelsDampingCompression;
-        vehicle->getWheelInfo(wheelIndex).m_frictionSlip = frictionSlip;
-        vehicle->getWheelInfo(wheelIndex).m_rollInfluence = rollInfluence;
-        vehicle->getWheelInfo(wheelIndex).m_maxSuspensionTravelCm = maxSuspensionTravelCm;
-        vehicle->getWheelInfo(wheelIndex).m_maxSuspensionForce = maxSuspensionForce;
-        vehicle->getWheelInfo(wheelIndex).m_wheelsRadius = radius;
-        vehicle->getWheelInfo(wheelIndex).m_bIsFrontWheel = frontWheel;
-        vehicle->getWheelInfo(wheelIndex).m_suspensionRestLength1 = restLength;
-
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_VehicleWheel
-     * Method:    getCollisionLocation
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getCollisionLocation
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jobject out) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &vehicle->getWheelInfo(wheelIndex).m_raycastInfo.m_contactPointWS, out);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_VehicleWheel
-     * Method:    getCollisionNormal
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getCollisionNormal
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex, jobject out) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &vehicle->getWheelInfo(wheelIndex).m_raycastInfo.m_contactNormalWS, out);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_VehicleWheel
-     * Method:    getSkidInfo
-     * Signature: (J)F
-     */
-    JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getSkidInfo
-    (JNIEnv *env, jobject object, jlong vehicleId, jint wheelIndex) {
-        btRaycastVehicle* vehicle = reinterpret_cast<btRaycastVehicle*>(vehicleId);
-        if (vehicle == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return 0;
-        }
-        return vehicle->getWheelInfo(wheelIndex).m_skidInfo;
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 61
engine/src/bullet/native/com_jme3_bullet_objects_VehicleWheel.h

@@ -1,61 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_objects_VehicleWheel */
-
-#ifndef _Included_com_jme3_bullet_objects_VehicleWheel
-#define _Included_com_jme3_bullet_objects_VehicleWheel
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_objects_VehicleWheel
- * Method:    getWheelLocation
- * Signature: (JILcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getWheelLocation
-  (JNIEnv *, jobject, jlong, jint, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_VehicleWheel
- * Method:    getWheelRotation
- * Signature: (JILcom/jme3/math/Matrix3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getWheelRotation
-  (JNIEnv *, jobject, jlong, jint, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_VehicleWheel
- * Method:    applyInfo
- * Signature: (JIFFFFFFFFZF)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_applyInfo
-  (JNIEnv *, jobject, jlong, jint, jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jboolean, jfloat);
-
-/*
- * Class:     com_jme3_bullet_objects_VehicleWheel
- * Method:    getCollisionLocation
- * Signature: (JILcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getCollisionLocation
-  (JNIEnv *, jobject, jlong, jint, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_VehicleWheel
- * Method:    getCollisionNormal
- * Signature: (JILcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getCollisionNormal
-  (JNIEnv *, jobject, jlong, jint, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_VehicleWheel
- * Method:    getSkidInfo
- * Signature: (JI)F
- */
-JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_VehicleWheel_getSkidInfo
-  (JNIEnv *, jobject, jlong, jint);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 138
engine/src/bullet/native/com_jme3_bullet_objects_infos_RigidBodyMotionState.cpp

@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_objects_infos_RigidBodyMotionState.h"
-#include "jmeBulletUtil.h"
-#include "jmeMotionState.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
-     * Method:    createMotionState
-     * Signature: ()J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_createMotionState
-    (JNIEnv *env, jobject object) {
-        jmeClasses::initJavaClasses(env);
-        jmeMotionState* motionState = new jmeMotionState();
-        return reinterpret_cast<jlong>(motionState);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
-     * Method:    applyTransform
-     * Signature: (JLcom/jme3/math/Vector3f;Lcom/jme3/math/Quaternion;)Z
-     */
-    JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_applyTransform
-    (JNIEnv *env, jobject object, jlong stateId, jobject location, jobject rotation) {
-        jmeMotionState* motionState = reinterpret_cast<jmeMotionState*>(stateId);
-        if (motionState == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return false;
-        }
-        return motionState->applyTransform(env, location, rotation);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
-     * Method:    getWorldLocation
-     * Signature: (JLcom/jme3/math/Vector3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_getWorldLocation
-    (JNIEnv *env, jobject object, jlong stateId, jobject value) {
-        jmeMotionState* motionState = reinterpret_cast<jmeMotionState*>(stateId);
-        if (motionState == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &motionState->worldTransform.getOrigin(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
-     * Method:    getWorldRotation
-     * Signature: (JLcom/jme3/math/Matrix3f;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_getWorldRotation
-    (JNIEnv *env, jobject object, jlong stateId, jobject value) {
-        jmeMotionState* motionState = reinterpret_cast<jmeMotionState*>(stateId);
-        if (motionState == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convert(env, &motionState->worldTransform.getBasis(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
-     * Method:    getWorldRotationQuat
-     * Signature: (JLcom/jme3/math/Quaternion;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_getWorldRotationQuat
-    (JNIEnv *env, jobject object, jlong stateId, jobject value) {
-        jmeMotionState* motionState = reinterpret_cast<jmeMotionState*>(stateId);
-        if (motionState == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        jmeBulletUtil::convertQuat(env, &motionState->worldTransform.getBasis(), value);
-    }
-
-    /*
-     * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
-     * Method:    finalizeNative
-     * Signature: (J)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_finalizeNative
-    (JNIEnv *env, jobject object, jlong stateId) {
-        jmeMotionState* motionState = reinterpret_cast<jmeMotionState*>(stateId);
-        if (motionState == NULL) {
-            jclass newExc = env->FindClass("java/lang/NullPointerException");
-            env->ThrowNew(newExc, "The native object does not exist.");
-            return;
-        }
-        delete(motionState);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 61
engine/src/bullet/native/com_jme3_bullet_objects_infos_RigidBodyMotionState.h

@@ -1,61 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_objects_infos_RigidBodyMotionState */
-
-#ifndef _Included_com_jme3_bullet_objects_infos_RigidBodyMotionState
-#define _Included_com_jme3_bullet_objects_infos_RigidBodyMotionState
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
- * Method:    createMotionState
- * Signature: ()J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_createMotionState
-  (JNIEnv *, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
- * Method:    applyTransform
- * Signature: (JLcom/jme3/math/Vector3f;Lcom/jme3/math/Quaternion;)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_applyTransform
-  (JNIEnv *, jobject, jlong, jobject, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
- * Method:    getWorldLocation
- * Signature: (JLcom/jme3/math/Vector3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_getWorldLocation
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
- * Method:    getWorldRotation
- * Signature: (JLcom/jme3/math/Matrix3f;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_getWorldRotation
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
- * Method:    getWorldRotationQuat
- * Signature: (JLcom/jme3/math/Quaternion;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_getWorldRotationQuat
-  (JNIEnv *, jobject, jlong, jobject);
-
-/*
- * Class:     com_jme3_bullet_objects_infos_RigidBodyMotionState
- * Method:    finalizeNative
- * Signature: (J)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_infos_RigidBodyMotionState_finalizeNative
-  (JNIEnv *, jobject, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 152
engine/src/bullet/native/com_jme3_bullet_util_DebugShapeFactory.cpp

@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen, CJ Hare
- */
-#include "com_jme3_bullet_util_DebugShapeFactory.h"
-#include "jmeBulletUtil.h"
-#include "BulletCollision/CollisionShapes/btShapeHull.h"
-
-class DebugCallback : public btTriangleCallback, public btInternalTriangleIndexCallback {
-public:
-    JNIEnv* env;
-    jobject callback;
-
-    DebugCallback(JNIEnv* env, jobject object) {
-        this->env = env;
-        this->callback = object;
-    }
-
-    virtual void internalProcessTriangleIndex(btVector3* triangle, int partId, int triangleIndex) {
-        processTriangle(triangle, partId, triangleIndex);
-    }
-
-    virtual void processTriangle(btVector3* triangle, int partId, int triangleIndex) {
-        btVector3 vertexA, vertexB, vertexC;
-        vertexA = triangle[0];
-        vertexB = triangle[1];
-        vertexC = triangle[2];
-        env->CallVoidMethod(callback, jmeClasses::DebugMeshCallback_addVector, vertexA.getX(), vertexA.getY(), vertexA.getZ(), partId, triangleIndex);
-        if (env->ExceptionCheck()) {
-            env->Throw(env->ExceptionOccurred());
-            return;
-        }
-//        triangle = 
-        env->CallVoidMethod(callback, jmeClasses::DebugMeshCallback_addVector, vertexB.getX(), vertexB.getY(), vertexB.getZ(), partId, triangleIndex);
-        if (env->ExceptionCheck()) {
-            env->Throw(env->ExceptionOccurred());
-            return;
-        }
-        env->CallVoidMethod(callback, jmeClasses::DebugMeshCallback_addVector, vertexC.getX(), vertexC.getY(), vertexC.getZ(), partId, triangleIndex);
-        if (env->ExceptionCheck()) {
-            env->Throw(env->ExceptionOccurred());
-            return;
-        }
-    }
-};
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /* Inaccessible static: _00024assertionsDisabled */
-
-    /*
-     * Class:     com_jme3_bullet_util_DebugShapeFactory
-     * Method:    getVertices
-     * Signature: (JLcom/jme3/bullet/util/DebugMeshCallback;)V
-     */
-    JNIEXPORT void JNICALL Java_com_jme3_bullet_util_DebugShapeFactory_getVertices
-    (JNIEnv *env, jclass clazz, jlong shapeId, jobject callback) {
-        btCollisionShape* shape = reinterpret_cast<btCollisionShape*>(shapeId);
-        if (shape->isConcave()) {
-            btConcaveShape* concave = reinterpret_cast<btConcaveShape*>(shape);
-            DebugCallback* clb = new DebugCallback(env, callback);
-            btVector3 min = btVector3(-1e30, -1e30, -1e30);
-            btVector3 max = btVector3(1e30, 1e30, 1e30);
-            concave->processAllTriangles(clb, min, max);
-            delete(clb);
-        } else if (shape->isConvex()) {
-            btConvexShape* convexShape = reinterpret_cast<btConvexShape*>(shape);
-            // Check there is a hull shape to render
-            if (convexShape->getUserPointer() == NULL) {
-                // create a hull approximation
-                btShapeHull* hull = new btShapeHull(convexShape);
-                float margin = convexShape->getMargin();
-                hull->buildHull(margin);
-                convexShape->setUserPointer(hull);
-            }
-
-            btShapeHull* hull = (btShapeHull*) convexShape->getUserPointer();
-
-            int numberOfTriangles = hull->numTriangles();
-            int numberOfFloats = 3 * 3 * numberOfTriangles;
-            int byteBufferSize = numberOfFloats * 4;
-            
-            // Loop variables
-            const unsigned int* hullIndices = hull->getIndexPointer();
-            const btVector3* hullVertices = hull->getVertexPointer();
-            btVector3 vertexA, vertexB, vertexC;
-            int index = 0;
-
-            for (int i = 0; i < numberOfTriangles; i++) {
-                // Grab the data for this triangle from the hull
-                vertexA = hullVertices[hullIndices[index++]];
-                vertexB = hullVertices[hullIndices[index++]];
-                vertexC = hullVertices[hullIndices[index++]];
-
-                // Put the verticies into the vertex buffer
-                env->CallVoidMethod(callback, jmeClasses::DebugMeshCallback_addVector, vertexA.getX(), vertexA.getY(), vertexA.getZ());
-                if (env->ExceptionCheck()) {
-                    env->Throw(env->ExceptionOccurred());
-                    return;
-                }
-                env->CallVoidMethod(callback, jmeClasses::DebugMeshCallback_addVector, vertexB.getX(), vertexB.getY(), vertexB.getZ());
-                if (env->ExceptionCheck()) {
-                    env->Throw(env->ExceptionOccurred());
-                    return;
-                }
-                env->CallVoidMethod(callback, jmeClasses::DebugMeshCallback_addVector, vertexC.getX(), vertexC.getY(), vertexC.getZ());
-                if (env->ExceptionCheck()) {
-                    env->Throw(env->ExceptionOccurred());
-                    return;
-                }
-            }
-            delete hull;
-            convexShape->setUserPointer(NULL);
-        }
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_util_DebugShapeFactory.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_util_DebugShapeFactory */
-
-#ifndef _Included_com_jme3_bullet_util_DebugShapeFactory
-#define _Included_com_jme3_bullet_util_DebugShapeFactory
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_util_DebugShapeFactory
- * Method:    getVertices
- * Signature: (JLcom/jme3/bullet/util/DebugMeshCallback;)V
- */
-JNIEXPORT void JNICALL Java_com_jme3_bullet_util_DebugShapeFactory_getVertices
-  (JNIEnv *, jclass, jlong, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 59
engine/src/bullet/native/com_jme3_bullet_util_NativeMeshUtil.cpp

@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * Author: Normen Hansen
- */
-#include "com_jme3_bullet_util_NativeMeshUtil.h"
-#include "jmeBulletUtil.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-    /*
-     * Class:     com_jme3_bullet_util_NativeMeshUtil
-     * Method:    createTriangleIndexVertexArray
-     * Signature: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;IIII)J
-     */
-    JNIEXPORT jlong JNICALL Java_com_jme3_bullet_util_NativeMeshUtil_createTriangleIndexVertexArray
-    (JNIEnv * env, jclass cls, jobject triangleIndexBase, jobject vertexIndexBase, jint numTriangles, jint numVertices, jint vertexStride, jint triangleIndexStride) {
-        jmeClasses::initJavaClasses(env);
-        int* triangles = (int*) env->GetDirectBufferAddress(triangleIndexBase);
-        float* vertices = (float*) env->GetDirectBufferAddress(vertexIndexBase);
-        btTriangleIndexVertexArray* array = new btTriangleIndexVertexArray(numTriangles, triangles, triangleIndexStride, numVertices, vertices, vertexStride);
-        return reinterpret_cast<jlong>(array);
-    }
-
-#ifdef __cplusplus
-}
-#endif

+ 0 - 21
engine/src/bullet/native/com_jme3_bullet_util_NativeMeshUtil.h

@@ -1,21 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class com_jme3_bullet_util_NativeMeshUtil */
-
-#ifndef _Included_com_jme3_bullet_util_NativeMeshUtil
-#define _Included_com_jme3_bullet_util_NativeMeshUtil
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     com_jme3_bullet_util_NativeMeshUtil
- * Method:    createTriangleIndexVertexArray
- * Signature: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;IIII)J
- */
-JNIEXPORT jlong JNICALL Java_com_jme3_bullet_util_NativeMeshUtil_createTriangleIndexVertexArray
-  (JNIEnv *, jclass, jobject, jobject, jint, jint, jint, jint);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

+ 0 - 327
engine/src/bullet/native/jmeBulletUtil.cpp

@@ -1,327 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include <math.h>
-#include "jmeBulletUtil.h"
-
-/**
- * Author: Normen Hansen,Empire Phoenix, Lutherion
- */
-void jmeBulletUtil::convert(JNIEnv* env, jobject in, btVector3* out) {
-    if (in == NULL || out == NULL) {
-        jmeClasses::throwNPE(env);
-    }
-    float x = env->GetFloatField(in, jmeClasses::Vector3f_x); //env->CallFloatMethod(in, jmeClasses::Vector3f_getX);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float y = env->GetFloatField(in, jmeClasses::Vector3f_y); //env->CallFloatMethod(in, jmeClasses::Vector3f_getY);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float z = env->GetFloatField(in, jmeClasses::Vector3f_z); //env->CallFloatMethod(in, jmeClasses::Vector3f_getZ);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    out->setX(x);
-    out->setY(y);
-    out->setZ(z);
-}
-
-void jmeBulletUtil::convert(JNIEnv* env, const btVector3* in, jobject out) {
-    if (in == NULL || out == NULL) {
-        jmeClasses::throwNPE(env);
-    }
-    float x = in->getX();
-    float y = in->getY();
-    float z = in->getZ();
-    env->SetFloatField(out, jmeClasses::Vector3f_x, x);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Vector3f_y, y);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Vector3f_z, z);
-    //    env->CallObjectMethod(out, jmeClasses::Vector3f_set, x, y, z);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-}
-
-void jmeBulletUtil::convert(JNIEnv* env, jobject in, btMatrix3x3* out) {
-    if (in == NULL || out == NULL) {
-        jmeClasses::throwNPE(env);
-    }
-    float m00 = env->GetFloatField(in, jmeClasses::Matrix3f_m00);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float m01 = env->GetFloatField(in, jmeClasses::Matrix3f_m01);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float m02 = env->GetFloatField(in, jmeClasses::Matrix3f_m02);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float m10 = env->GetFloatField(in, jmeClasses::Matrix3f_m10);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float m11 = env->GetFloatField(in, jmeClasses::Matrix3f_m11);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float m12 = env->GetFloatField(in, jmeClasses::Matrix3f_m12);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float m20 = env->GetFloatField(in, jmeClasses::Matrix3f_m20);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float m21 = env->GetFloatField(in, jmeClasses::Matrix3f_m21);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float m22 = env->GetFloatField(in, jmeClasses::Matrix3f_m22);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    out->setValue(m00, m01, m02, m10, m11, m12, m20, m21, m22);
-}
-
-void jmeBulletUtil::convert(JNIEnv* env, const btMatrix3x3* in, jobject out) {
-    if (in == NULL || out == NULL) {
-        jmeClasses::throwNPE(env);
-    }
-    float m00 = in->getRow(0).m_floats[0];
-    float m01 = in->getRow(0).m_floats[1];
-    float m02 = in->getRow(0).m_floats[2];
-    float m10 = in->getRow(1).m_floats[0];
-    float m11 = in->getRow(1).m_floats[1];
-    float m12 = in->getRow(1).m_floats[2];
-    float m20 = in->getRow(2).m_floats[0];
-    float m21 = in->getRow(2).m_floats[1];
-    float m22 = in->getRow(2).m_floats[2];
-    env->SetFloatField(out, jmeClasses::Matrix3f_m00, m00);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Matrix3f_m01, m01);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Matrix3f_m02, m02);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Matrix3f_m10, m10);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Matrix3f_m11, m11);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Matrix3f_m12, m12);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Matrix3f_m20, m20);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Matrix3f_m21, m21);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Matrix3f_m22, m22);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-}
-
-void jmeBulletUtil::convertQuat(JNIEnv* env, jobject in, btMatrix3x3* out) {
-    if (in == NULL || out == NULL) {
-        jmeClasses::throwNPE(env);
-    }
-    float x = env->GetFloatField(in, jmeClasses::Quaternion_x);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float y = env->GetFloatField(in, jmeClasses::Quaternion_y);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float z = env->GetFloatField(in, jmeClasses::Quaternion_z);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    float w = env->GetFloatField(in, jmeClasses::Quaternion_w);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    float norm = w * w + x * x + y * y + z * z;
-    float s = (norm == 1.0) ? 2.0 : (norm > 0.1) ? 2.0 / norm : 0.0;
-
-    // compute xs/ys/zs first to save 6 multiplications, since xs/ys/zs
-    // will be used 2-4 times each.
-    float xs = x * s;
-    float ys = y * s;
-    float zs = z * s;
-    float xx = x * xs;
-    float xy = x * ys;
-    float xz = x * zs;
-    float xw = w * xs;
-    float yy = y * ys;
-    float yz = y * zs;
-    float yw = w * ys;
-    float zz = z * zs;
-    float zw = w * zs;
-
-    // using s=2/norm (instead of 1/norm) saves 9 multiplications by 2 here
-    out->setValue(1.0 - (yy + zz), (xy - zw), (xz + yw),
-            (xy + zw), 1 - (xx + zz), (yz - xw),
-            (xz - yw), (yz + xw), 1.0 - (xx + yy));
-}
-
-void jmeBulletUtil::convertQuat(JNIEnv* env, const btMatrix3x3* in, jobject out) {
-    if (in == NULL || out == NULL) {
-        jmeClasses::throwNPE(env);
-    }
-    // the trace is the sum of the diagonal elements; see
-    // http://mathworld.wolfram.com/MatrixTrace.html
-    float t = in->getRow(0).m_floats[0] + in->getRow(1).m_floats[1] + in->getRow(2).m_floats[2];
-    float w, x, y, z;
-    // we protect the division by s by ensuring that s>=1
-    if (t >= 0) { // |w| >= .5
-        float s = sqrt(t + 1); // |s|>=1 ...
-        w = 0.5f * s;
-        s = 0.5f / s; // so this division isn't bad
-        x = (in->getRow(2).m_floats[1] - in->getRow(1).m_floats[2]) * s;
-        y = (in->getRow(0).m_floats[2] - in->getRow(2).m_floats[0]) * s;
-        z = (in->getRow(1).m_floats[0] - in->getRow(0).m_floats[1]) * s;
-    } else if ((in->getRow(0).m_floats[0] > in->getRow(1).m_floats[1]) && (in->getRow(0).m_floats[0] > in->getRow(2).m_floats[2])) {
-        float s = sqrt(1.0f + in->getRow(0).m_floats[0] - in->getRow(1).m_floats[1] - in->getRow(2).m_floats[2]); // |s|>=1
-        x = s * 0.5f; // |x| >= .5
-        s = 0.5f / s;
-        y = (in->getRow(1).m_floats[0] + in->getRow(0).m_floats[1]) * s;
-        z = (in->getRow(0).m_floats[2] + in->getRow(2).m_floats[0]) * s;
-        w = (in->getRow(2).m_floats[1] - in->getRow(1).m_floats[2]) * s;
-    } else if (in->getRow(1).m_floats[1] > in->getRow(2).m_floats[2]) {
-        float s = sqrt(1.0f + in->getRow(1).m_floats[1] - in->getRow(0).m_floats[0] - in->getRow(2).m_floats[2]); // |s|>=1
-        y = s * 0.5f; // |y| >= .5
-        s = 0.5f / s;
-        x = (in->getRow(1).m_floats[0] + in->getRow(0).m_floats[1]) * s;
-        z = (in->getRow(2).m_floats[1] + in->getRow(1).m_floats[2]) * s;
-        w = (in->getRow(0).m_floats[2] - in->getRow(2).m_floats[0]) * s;
-    } else {
-        float s = sqrt(1.0f + in->getRow(2).m_floats[2] - in->getRow(0).m_floats[0] - in->getRow(1).m_floats[1]); // |s|>=1
-        z = s * 0.5f; // |z| >= .5
-        s = 0.5f / s;
-        x = (in->getRow(0).m_floats[2] + in->getRow(2).m_floats[0]) * s;
-        y = (in->getRow(2).m_floats[1] + in->getRow(1).m_floats[2]) * s;
-        w = (in->getRow(1).m_floats[0] - in->getRow(0).m_floats[1]) * s;
-    }
-
-    env->SetFloatField(out, jmeClasses::Quaternion_x, x);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Quaternion_y, y);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Quaternion_z, z);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    env->SetFloatField(out, jmeClasses::Quaternion_w, w);
-    //    env->CallObjectMethod(out, jmeClasses::Quaternion_set, x, y, z, w);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-}
-
-void jmeBulletUtil::addResult(JNIEnv* env, jobject resultlist, btVector3 hitnormal, btVector3 m_hitPointWorld, btScalar m_hitFraction, btCollisionObject* hitobject) {
-
-    jobject singleresult = env->AllocObject(jmeClasses::PhysicsRay_Class);
-    jobject hitnormalvec = env->AllocObject(jmeClasses::Vector3f);
-
-    convert(env, const_cast<btVector3*> (&hitnormal), hitnormalvec);
-    jmeUserPointer *up1 = (jmeUserPointer*) hitobject -> getUserPointer();
-
-    env->SetObjectField(singleresult, jmeClasses::PhysicsRay_normalInWorldSpace, hitnormalvec);
-    env->SetFloatField(singleresult, jmeClasses::PhysicsRay_hitfraction, m_hitFraction);
-
-    env->SetObjectField(singleresult, jmeClasses::PhysicsRay_collisionObject, up1->javaCollisionObject);
-    env->CallVoidMethod(resultlist, jmeClasses::PhysicsRay_addmethod, singleresult);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-}

+ 0 - 61
engine/src/bullet/native/jmeBulletUtil.h

@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "jmeClasses.h"
-#include "btBulletDynamicsCommon.h"
-#include "btBulletCollisionCommon.h"
-#include "LinearMath/btVector3.h"
-
-/**
- * Author: Normen Hansen
- */
-class jmeBulletUtil{
-public:
-    static void convert(JNIEnv* env, jobject in, btVector3* out);
-    static void convert(JNIEnv* env, const btVector3* in, jobject out);
-    static void convert(JNIEnv* env, jobject in, btMatrix3x3* out);
-    static void convert(JNIEnv* env, const btMatrix3x3* in, jobject out);
-    static void convertQuat(JNIEnv* env, jobject in, btMatrix3x3* out);
-    static void convertQuat(JNIEnv* env, const btMatrix3x3* in, jobject out);
-    static void addResult(JNIEnv* env, jobject resultlist, const btVector3 hitnormal,const btVector3 m_hitPointWorld,const btScalar  m_hitFraction,btCollisionObject* hitobject);
-private:
-    jmeBulletUtil(){};
-    ~jmeBulletUtil(){};
-    
-};
-
-class jmeUserPointer {
-public:
-    jobject javaCollisionObject;
-    jint group;
-    jint groups;
-    void *space;
-};

+ 0 - 250
engine/src/bullet/native/jmeClasses.cpp

@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "jmeClasses.h"
-#include <stdio.h>
-
-/**
- * Author: Normen Hansen,Empire Phoenix, Lutherion
- */
-//public fields
-jclass jmeClasses::PhysicsSpace;
-jmethodID jmeClasses::PhysicsSpace_preTick;
-jmethodID jmeClasses::PhysicsSpace_postTick;
-jmethodID jmeClasses::PhysicsSpace_addCollisionEvent;
-
-jclass jmeClasses::PhysicsGhostObject;
-jmethodID jmeClasses::PhysicsGhostObject_addOverlappingObject;
-
-jclass jmeClasses::Vector3f;
-jmethodID jmeClasses::Vector3f_set;
-jmethodID jmeClasses::Vector3f_toArray;
-jmethodID jmeClasses::Vector3f_getX;
-jmethodID jmeClasses::Vector3f_getY;
-jmethodID jmeClasses::Vector3f_getZ;
-jfieldID jmeClasses::Vector3f_x;
-jfieldID jmeClasses::Vector3f_y;
-jfieldID jmeClasses::Vector3f_z;
-
-jclass jmeClasses::Quaternion;
-jmethodID jmeClasses::Quaternion_set;
-jmethodID jmeClasses::Quaternion_getX;
-jmethodID jmeClasses::Quaternion_getY;
-jmethodID jmeClasses::Quaternion_getZ;
-jmethodID jmeClasses::Quaternion_getW;
-jfieldID jmeClasses::Quaternion_x;
-jfieldID jmeClasses::Quaternion_y;
-jfieldID jmeClasses::Quaternion_z;
-jfieldID jmeClasses::Quaternion_w;
-
-jclass jmeClasses::Matrix3f;
-jmethodID jmeClasses::Matrix3f_set;
-jmethodID jmeClasses::Matrix3f_get;
-jfieldID jmeClasses::Matrix3f_m00;
-jfieldID jmeClasses::Matrix3f_m01;
-jfieldID jmeClasses::Matrix3f_m02;
-jfieldID jmeClasses::Matrix3f_m10;
-jfieldID jmeClasses::Matrix3f_m11;
-jfieldID jmeClasses::Matrix3f_m12;
-jfieldID jmeClasses::Matrix3f_m20;
-jfieldID jmeClasses::Matrix3f_m21;
-jfieldID jmeClasses::Matrix3f_m22;
-
-jclass jmeClasses::DebugMeshCallback;
-jmethodID jmeClasses::DebugMeshCallback_addVector;
-
-jclass jmeClasses::PhysicsRay_Class;
-jmethodID jmeClasses::PhysicsRay_newSingleResult;
-
-jfieldID jmeClasses::PhysicsRay_normalInWorldSpace;
-jfieldID jmeClasses::PhysicsRay_hitfraction;
-jfieldID jmeClasses::PhysicsRay_collisionObject;
-
-jclass jmeClasses::PhysicsRay_listresult;
-jmethodID jmeClasses::PhysicsRay_addmethod;
-
-//private fields
-//JNIEnv* jmeClasses::env;
-JavaVM* jmeClasses::vm;
-
-void jmeClasses::initJavaClasses(JNIEnv* env) {
-//    if (env != NULL) {
-//        fprintf(stdout, "Check Java VM state\n");
-//        fflush(stdout);
-//        int res = vm->AttachCurrentThread((void**) &jmeClasses::env, NULL);
-//        if (res < 0) {
-//            fprintf(stdout, "** ERROR: getting Java env!\n");
-//            if (res == JNI_EVERSION) fprintf(stdout, "GetEnv Error because of different JNI Version!\n");
-//            fflush(stdout);
-//        }
-//        return;
-//    }
-    if(PhysicsSpace!=NULL) return;
-    fprintf(stdout, "Bullet-Native: Initializing java classes\n");
-    fflush(stdout);
-//    jmeClasses::env = env;
-    env->GetJavaVM(&vm);
-
-    PhysicsSpace = (jclass)env->NewGlobalRef(env->FindClass("com/jme3/bullet/PhysicsSpace"));
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    PhysicsSpace_preTick = env->GetMethodID(PhysicsSpace, "preTick_native", "(F)V");
-    PhysicsSpace_postTick = env->GetMethodID(PhysicsSpace, "postTick_native", "(F)V");
-    PhysicsSpace_addCollisionEvent = env->GetMethodID(PhysicsSpace, "addCollisionEvent_native","(Lcom/jme3/bullet/collision/PhysicsCollisionObject;Lcom/jme3/bullet/collision/PhysicsCollisionObject;J)V");
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    PhysicsGhostObject = (jclass)env->NewGlobalRef(env->FindClass("com/jme3/bullet/objects/PhysicsGhostObject"));
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    PhysicsGhostObject_addOverlappingObject = env->GetMethodID(PhysicsGhostObject, "addOverlappingObject_native","(Lcom/jme3/bullet/collision/PhysicsCollisionObject;)V");
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    Vector3f = (jclass)env->NewGlobalRef(env->FindClass("com/jme3/math/Vector3f"));
-    Vector3f_set = env->GetMethodID(Vector3f, "set", "(FFF)Lcom/jme3/math/Vector3f;");
-    Vector3f_toArray = env->GetMethodID(Vector3f, "toArray", "([F)[F");
-    Vector3f_getX = env->GetMethodID(Vector3f, "getX", "()F");
-    Vector3f_getY = env->GetMethodID(Vector3f, "getY", "()F");
-    Vector3f_getZ = env->GetMethodID(Vector3f, "getZ", "()F");
-    Vector3f_x = env->GetFieldID(Vector3f, "x", "F");
-    Vector3f_y = env->GetFieldID(Vector3f, "y", "F");
-    Vector3f_z = env->GetFieldID(Vector3f, "z", "F");
-
-    Quaternion = (jclass)env->NewGlobalRef(env->FindClass("com/jme3/math/Quaternion"));
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    Quaternion_set = env->GetMethodID(Quaternion, "set", "(FFFF)Lcom/jme3/math/Quaternion;");
-    Quaternion_getW = env->GetMethodID(Quaternion, "getW", "()F");
-    Quaternion_getX = env->GetMethodID(Quaternion, "getX", "()F");
-    Quaternion_getY = env->GetMethodID(Quaternion, "getY", "()F");
-    Quaternion_getZ = env->GetMethodID(Quaternion, "getZ", "()F");
-    Quaternion_x = env->GetFieldID(Quaternion, "x", "F");
-    Quaternion_y = env->GetFieldID(Quaternion, "y", "F");
-    Quaternion_z = env->GetFieldID(Quaternion, "z", "F");
-    Quaternion_w = env->GetFieldID(Quaternion, "w", "F");
-
-    Matrix3f = (jclass)env->NewGlobalRef(env->FindClass("com/jme3/math/Matrix3f"));
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    Matrix3f_set = env->GetMethodID(Matrix3f, "set", "(IIF)Lcom/jme3/math/Matrix3f;");
-    Matrix3f_get = env->GetMethodID(Matrix3f, "get", "(II)F");
-    Matrix3f_m00 = env->GetFieldID(Matrix3f, "m00", "F");
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-    Matrix3f_m01 = env->GetFieldID(Matrix3f, "m01", "F");
-    Matrix3f_m02 = env->GetFieldID(Matrix3f, "m02", "F");
-    Matrix3f_m10 = env->GetFieldID(Matrix3f, "m10", "F");
-    Matrix3f_m11 = env->GetFieldID(Matrix3f, "m11", "F");
-    Matrix3f_m12 = env->GetFieldID(Matrix3f, "m12", "F");
-    Matrix3f_m20 = env->GetFieldID(Matrix3f, "m20", "F");
-    Matrix3f_m21 = env->GetFieldID(Matrix3f, "m21", "F");
-    Matrix3f_m22 = env->GetFieldID(Matrix3f, "m22", "F");
-
-    DebugMeshCallback = (jclass)env->NewGlobalRef(env->FindClass("com/jme3/bullet/util/DebugMeshCallback"));
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    DebugMeshCallback_addVector = env->GetMethodID(DebugMeshCallback, "addVector", "(FFFII)V");
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    PhysicsRay_Class = (jclass)env->NewGlobalRef(env->FindClass("com/jme3/bullet/collision/PhysicsRayTestResult"));
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    PhysicsRay_newSingleResult = env->GetMethodID(PhysicsRay_Class,"<init>","()V");
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    PhysicsRay_normalInWorldSpace = env->GetFieldID(PhysicsRay_Class,"hitNormalLocal","Lcom/jme3/math/Vector3f;");
-        if (env->ExceptionCheck()) {
-            env->Throw(env->ExceptionOccurred());
-            return;
-        }
-
-
-    PhysicsRay_hitfraction = env->GetFieldID(PhysicsRay_Class,"hitFraction","F");
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-
-    PhysicsRay_collisionObject = env->GetFieldID(PhysicsRay_Class,"collisionObject","Lcom/jme3/bullet/collision/PhysicsCollisionObject;");
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    PhysicsRay_listresult = env->FindClass("java/util/List");
-    PhysicsRay_listresult = (jclass)env->NewGlobalRef(PhysicsRay_listresult);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-
-    PhysicsRay_addmethod = env->GetMethodID(PhysicsRay_listresult,"add","(Ljava/lang/Object;)Z");
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-}
-
-void jmeClasses::throwNPE(JNIEnv* env) {
-    if (env == NULL) return;
-    jclass newExc = env->FindClass("java/lang/NullPointerException");
-    env->ThrowNew(newExc, "");
-    return;
-}

+ 0 - 99
engine/src/bullet/native/jmeClasses.h

@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include <jni.h>
-
-/**
- * Author: Normen Hansen
- */
-
-class jmeClasses {
-public:
-    static void initJavaClasses(JNIEnv* env);
-//    static JNIEnv* env;
-    static JavaVM* vm;
-    static jclass PhysicsSpace;
-    static jmethodID PhysicsSpace_preTick;
-    static jmethodID PhysicsSpace_postTick;
-    static jmethodID PhysicsSpace_addCollisionEvent;
-    static jclass PhysicsGhostObject;
-    static jmethodID PhysicsGhostObject_addOverlappingObject;
-
-    static jclass Vector3f;
-    static jmethodID Vector3f_set;
-    static jmethodID Vector3f_getX;
-    static jmethodID Vector3f_getY;
-    static jmethodID Vector3f_getZ;
-    static jmethodID Vector3f_toArray;
-    static jfieldID Vector3f_x;
-    static jfieldID Vector3f_y;
-    static jfieldID Vector3f_z;
-    
-    static jclass Quaternion;
-    static jmethodID Quaternion_set;
-    static jmethodID Quaternion_getX;
-    static jmethodID Quaternion_getY;
-    static jmethodID Quaternion_getZ;
-    static jmethodID Quaternion_getW;
-    static jfieldID Quaternion_x;
-    static jfieldID Quaternion_y;
-    static jfieldID Quaternion_z;
-    static jfieldID Quaternion_w;
-
-    static jclass Matrix3f;
-    static jmethodID Matrix3f_get;
-    static jmethodID Matrix3f_set;
-    static jfieldID Matrix3f_m00;
-    static jfieldID Matrix3f_m01;
-    static jfieldID Matrix3f_m02;
-    static jfieldID Matrix3f_m10;
-    static jfieldID Matrix3f_m11;
-    static jfieldID Matrix3f_m12;
-    static jfieldID Matrix3f_m20;
-    static jfieldID Matrix3f_m21;
-    static jfieldID Matrix3f_m22;
-
-    static jclass PhysicsRay_Class;
-    static jmethodID PhysicsRay_newSingleResult;
-    static jfieldID PhysicsRay_normalInWorldSpace;
-    static jfieldID PhysicsRay_hitfraction;
-    static jfieldID PhysicsRay_collisionObject;
-    static jclass PhysicsRay_listresult;
-    static jmethodID PhysicsRay_addmethod;
-
-    static jclass DebugMeshCallback;
-    static jmethodID DebugMeshCallback_addVector;
-
-    static void throwNPE(JNIEnv* env);
-private:
-    jmeClasses(){};
-    ~jmeClasses(){};
-};

+ 0 - 89
engine/src/bullet/native/jmeMotionState.cpp

@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "jmeMotionState.h"
-#include "jmeBulletUtil.h"
-
-/**
- * Author: Normen Hansen
- */
-
-jmeMotionState::jmeMotionState() {
-    trans = new btTransform();
-    trans -> setIdentity();
-    worldTransform = *trans;
-    dirty = true;
-}
-
-void jmeMotionState::getWorldTransform(btTransform& worldTrans) const {
-    worldTrans = worldTransform;
-}
-
-void jmeMotionState::setWorldTransform(const btTransform& worldTrans) {
-    worldTransform = worldTrans;
-    dirty = true;
-}
-
-void jmeMotionState::setKinematicTransform(const btTransform& worldTrans) {
-    worldTransform = worldTrans;
-    dirty = true;
-}
-
-void jmeMotionState::setKinematicLocation(JNIEnv* env, jobject location) {
-    jmeBulletUtil::convert(env, location, &worldTransform.getOrigin());
-    dirty = true;
-}
-
-void jmeMotionState::setKinematicRotation(JNIEnv* env, jobject rotation) {
-    jmeBulletUtil::convert(env, rotation, &worldTransform.getBasis());
-    dirty = true;
-}
-
-void jmeMotionState::setKinematicRotationQuat(JNIEnv* env, jobject rotation) {
-    jmeBulletUtil::convertQuat(env, rotation, &worldTransform.getBasis());
-    dirty = true;
-}
-
-bool jmeMotionState::applyTransform(JNIEnv* env, jobject location, jobject rotation) {
-    if (dirty) {
-        //        fprintf(stdout, "Apply world translation\n");
-        //        fflush(stdout);
-        jmeBulletUtil::convert(env, &worldTransform.getOrigin(), location);
-        jmeBulletUtil::convertQuat(env, &worldTransform.getBasis(), rotation);
-        dirty = false;
-        return true;
-    }
-    return false;
-}
-
-jmeMotionState::~jmeMotionState() {
-    free(trans);
-}

+ 0 - 57
engine/src/bullet/native/jmeMotionState.h

@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include <jni.h>
-
-/**
- * Author: Normen Hansen
- */
-
-#include "btBulletDynamicsCommon.h"
-//#include "btBulletCollisionCommon.h"
-
-class jmeMotionState : public btMotionState {
-private:
-    bool dirty;
-    btTransform* trans;
-public:
-    jmeMotionState();
-    virtual ~jmeMotionState();
-
-    btTransform worldTransform;
-    virtual void getWorldTransform(btTransform& worldTrans) const;
-    virtual void setWorldTransform(const btTransform& worldTrans);
-    void setKinematicTransform(const btTransform& worldTrans);
-    void setKinematicLocation(JNIEnv*, jobject);
-    void setKinematicRotation(JNIEnv*, jobject);
-    void setKinematicRotationQuat(JNIEnv*, jobject);
-    bool applyTransform(JNIEnv* env, jobject location, jobject rotation);
-};

+ 0 - 273
engine/src/bullet/native/jmePhysicsSpace.cpp

@@ -1,273 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include "jmePhysicsSpace.h"
-#include "jmeBulletUtil.h"
-#include <stdio.h>
-
-/**
- * Author: Normen Hansen
- */
-jmePhysicsSpace::jmePhysicsSpace(JNIEnv* env, jobject javaSpace) {
-    //TODO: global ref? maybe not -> cleaning, rather callback class?
-    this->javaPhysicsSpace = env->NewWeakGlobalRef(javaSpace);
-    this->env = env;
-    env->GetJavaVM(&vm);
-    if (env->ExceptionCheck()) {
-        env->Throw(env->ExceptionOccurred());
-        return;
-    }
-}
-
-void jmePhysicsSpace::attachThread() {
-#ifdef JNI_VERSION_1_2
-    vm->AttachCurrentThread((void**) &env, NULL);
-#else
-    vm->AttachCurrentThread(&env, NULL);
-#endif
-}
-
-JNIEnv* jmePhysicsSpace::getEnv() {
-    attachThread();
-    return this->env;
-}
-
-void jmePhysicsSpace::stepSimulation(jfloat tpf, jint maxSteps, jfloat accuracy) {
-    dynamicsWorld->stepSimulation(tpf, maxSteps, accuracy);
-}
-
-btThreadSupportInterface* jmePhysicsSpace::createSolverThreadSupport(int maxNumThreads) {
-#ifdef _WIN32
-    Win32ThreadSupport::Win32ThreadConstructionInfo threadConstructionInfo("solverThreads", SolverThreadFunc, SolverlsMemoryFunc, maxNumThreads);
-    Win32ThreadSupport* threadSupport = new Win32ThreadSupport(threadConstructionInfo);
-    threadSupport->startSPU();
-#elif defined (USE_PTHREADS)
-    PosixThreadSupport::ThreadConstructionInfo constructionInfo("collision", SolverThreadFunc,
-            SolverlsMemoryFunc, maxNumThreads);
-    PosixThreadSupport* threadSupport = new PosixThreadSupport(constructionInfo);
-    threadSupport->startSPU();
-#else
-    SequentialThreadSupport::SequentialThreadConstructionInfo tci("solverThreads", SolverThreadFunc, SolverlsMemoryFunc);
-    SequentialThreadSupport* threadSupport = new SequentialThreadSupport(tci);
-    threadSupport->startSPU();
-#endif
-    return threadSupport;
-}
-
-btThreadSupportInterface* jmePhysicsSpace::createDispatchThreadSupport(int maxNumThreads) {
-#ifdef _WIN32
-    Win32ThreadSupport::Win32ThreadConstructionInfo threadConstructionInfo("solverThreads", processCollisionTask, createCollisionLocalStoreMemory, maxNumThreads);
-    Win32ThreadSupport* threadSupport = new Win32ThreadSupport(threadConstructionInfo);
-    threadSupport->startSPU();
-#elif defined (USE_PTHREADS)
-    PosixThreadSupport::ThreadConstructionInfo solverConstructionInfo("solver", processCollisionTask,
-            createCollisionLocalStoreMemory, maxNumThreads);
-    PosixThreadSupport* threadSupport = new PosixThreadSupport(solverConstructionInfo);
-    threadSupport->startSPU();
-#else
-    SequentialThreadSupport::SequentialThreadConstructionInfo tci("solverThreads", processCollisionTask, createCollisionLocalStoreMemory);
-    SequentialThreadSupport* threadSupport = new SequentialThreadSupport(tci);
-    threadSupport->startSPU();
-#endif
-    return threadSupport;
-}
-
-void jmePhysicsSpace::createPhysicsSpace(jfloat minX, jfloat minY, jfloat minZ, jfloat maxX, jfloat maxY, jfloat maxZ, jint broadphaseId, jboolean threading) {
-    // collision configuration contains default setup for memory, collision setup
-    btDefaultCollisionConstructionInfo cci;
-    //    if(threading){
-    //        cci.m_defaultMaxPersistentManifoldPoolSize = 32768;
-    //    }
-    btCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration(cci);
-
-    btVector3 min = btVector3(minX, minY, minZ);
-    btVector3 max = btVector3(maxX, maxY, maxZ);
-
-    btBroadphaseInterface* broadphase;
-
-    switch (broadphaseId) {
-        case 0:
-            broadphase = new btSimpleBroadphase();
-            break;
-        case 1:
-            broadphase = new btAxisSweep3(min, max);
-            break;
-        case 2:
-            //TODO: 32bit!
-            broadphase = new btAxisSweep3(min, max);
-            break;
-        case 3:
-            broadphase = new btDbvtBroadphase();
-            break;
-        case 4:
-            //            broadphase = new btGpu3DGridBroadphase(
-            //                    min, max,
-            //                    20, 20, 20,
-            //                    10000, 1000, 25);
-            break;
-    }
-
-    btCollisionDispatcher* dispatcher;
-    btConstraintSolver* solver;
-    // use the default collision dispatcher. For parallel processing you can use a diffent dispatcher (see Extras/BulletMultiThreaded)
-    if (threading) {
-        btThreadSupportInterface* dispatchThreads = createDispatchThreadSupport(4);
-        dispatcher = new SpuGatheringCollisionDispatcher(dispatchThreads, 4, collisionConfiguration);
-        dispatcher->setDispatcherFlags(btCollisionDispatcher::CD_DISABLE_CONTACTPOOL_DYNAMIC_ALLOCATION);
-    } else {
-        dispatcher = new btCollisionDispatcher(collisionConfiguration);
-    }
-
-    // the default constraint solver. For parallel processing you can use a different solver (see Extras/BulletMultiThreaded)
-    if (threading) {
-        btThreadSupportInterface* solverThreads = createSolverThreadSupport(4);
-        solver = new btParallelConstraintSolver(solverThreads);
-    } else {
-        solver = new btSequentialImpulseConstraintSolver;
-    }
-
-    //create dynamics world
-    btDiscreteDynamicsWorld* world = new btDiscreteDynamicsWorld(dispatcher, broadphase, solver, collisionConfiguration);
-    dynamicsWorld = world;
-    dynamicsWorld->setWorldUserInfo(this);
-
-    //parallel solver requires the contacts to be in a contiguous pool, so avoid dynamic allocation
-    if (threading) {
-        world->getSimulationIslandManager()->setSplitIslands(false);
-        world->getSolverInfo().m_numIterations = 4;
-        world->getSolverInfo().m_solverMode = SOLVER_SIMD + SOLVER_USE_WARMSTARTING; //+SOLVER_RANDMIZE_ORDER;
-        world->getDispatchInfo().m_enableSPU = true;
-    }
-
-    broadphase->getOverlappingPairCache()->setInternalGhostPairCallback(new btGhostPairCallback());
-
-    dynamicsWorld->setGravity(btVector3(0, -9.81f, 0));
-
-    struct jmeFilterCallback : public btOverlapFilterCallback {
-        // return true when pairs need collision
-
-        virtual bool needBroadphaseCollision(btBroadphaseProxy* proxy0, btBroadphaseProxy * proxy1) const {
-            //            bool collides = (proxy0->m_collisionFilterGroup & proxy1->m_collisionFilterMask) != 0;
-            //            collides = collides && (proxy1->m_collisionFilterGroup & proxy0->m_collisionFilterMask);
-            bool collides = (proxy0->m_collisionFilterGroup & proxy1->m_collisionFilterMask) != 0;
-            collides = collides && (proxy1->m_collisionFilterGroup & proxy0->m_collisionFilterMask);
-            if (collides) {
-                btCollisionObject* co0 = (btCollisionObject*) proxy0->m_clientObject;
-                btCollisionObject* co1 = (btCollisionObject*) proxy1->m_clientObject;
-                jmeUserPointer *up0 = (jmeUserPointer*) co0 -> getUserPointer();
-                jmeUserPointer *up1 = (jmeUserPointer*) co1 -> getUserPointer();
-                if (up0 != NULL && up1 != NULL) {
-                    collides = (up0->group & up1->groups) != 0;
-                    collides = collides && (up1->group & up0->groups);
-
-                    //add some additional logic here that modified 'collides'
-                    return collides;
-                }
-                return false;
-            }
-            return collides;
-        }
-    };
-    dynamicsWorld->getPairCache()->setOverlapFilterCallback(new jmeFilterCallback());
-    dynamicsWorld->setInternalTickCallback(&jmePhysicsSpace::preTickCallback, static_cast<void *> (this), true);
-    dynamicsWorld->setInternalTickCallback(&jmePhysicsSpace::postTickCallback, static_cast<void *> (this));
-    if (gContactProcessedCallback == NULL) {
-        gContactProcessedCallback = &jmePhysicsSpace::contactProcessedCallback;
-    }
-}
-
-void jmePhysicsSpace::preTickCallback(btDynamicsWorld *world, btScalar timeStep) {
-    jmePhysicsSpace* dynamicsWorld = (jmePhysicsSpace*) world->getWorldUserInfo();
-    JNIEnv* env = dynamicsWorld->getEnv();
-    jobject javaPhysicsSpace = env->NewLocalRef(dynamicsWorld->getJavaPhysicsSpace());
-    if (javaPhysicsSpace != NULL) {
-        env->CallVoidMethod(javaPhysicsSpace, jmeClasses::PhysicsSpace_preTick, timeStep);
-        env->DeleteLocalRef(javaPhysicsSpace);
-        if (env->ExceptionCheck()) {
-            env->Throw(env->ExceptionOccurred());
-            return;
-        }
-    }
-}
-
-void jmePhysicsSpace::postTickCallback(btDynamicsWorld *world, btScalar timeStep) {
-    jmePhysicsSpace* dynamicsWorld = (jmePhysicsSpace*) world->getWorldUserInfo();
-    JNIEnv* env = dynamicsWorld->getEnv();
-    jobject javaPhysicsSpace = env->NewLocalRef(dynamicsWorld->getJavaPhysicsSpace());
-    if (javaPhysicsSpace != NULL) {
-        env->CallVoidMethod(javaPhysicsSpace, jmeClasses::PhysicsSpace_postTick, timeStep);
-        env->DeleteLocalRef(javaPhysicsSpace);
-        if (env->ExceptionCheck()) {
-            env->Throw(env->ExceptionOccurred());
-            return;
-        }
-    }
-}
-
-bool jmePhysicsSpace::contactProcessedCallback(btManifoldPoint &cp, void *body0, void *body1) {
-    //    printf("contactProcessedCallback %d %dn", body0, body1);
-    btCollisionObject* co0 = (btCollisionObject*) body0;
-    jmeUserPointer *up0 = (jmeUserPointer*) co0 -> getUserPointer();
-    btCollisionObject* co1 = (btCollisionObject*) body1;
-    jmeUserPointer *up1 = (jmeUserPointer*) co1 -> getUserPointer();
-    if (up0 != NULL) {
-        jmePhysicsSpace *dynamicsWorld = (jmePhysicsSpace *)up0->space;
-        if (dynamicsWorld != NULL) {
-            JNIEnv* env = dynamicsWorld->getEnv();
-            jobject javaPhysicsSpace = env->NewLocalRef(dynamicsWorld->getJavaPhysicsSpace());
-            if (javaPhysicsSpace != NULL) {
-                jobject javaCollisionObject0 = env->NewLocalRef(up0->javaCollisionObject);
-                jobject javaCollisionObject1 = env->NewLocalRef(up1->javaCollisionObject);
-                env->CallVoidMethod(javaPhysicsSpace, jmeClasses::PhysicsSpace_addCollisionEvent, javaCollisionObject0, javaCollisionObject1, (jlong) & cp);
-                env->DeleteLocalRef(javaPhysicsSpace);
-                env->DeleteLocalRef(javaCollisionObject0);
-                env->DeleteLocalRef(javaCollisionObject1);
-                if (env->ExceptionCheck()) {
-                    env->Throw(env->ExceptionOccurred());
-                    return true;
-                }
-            }
-        }
-    }
-    return true;
-}
-
-btDynamicsWorld* jmePhysicsSpace::getDynamicsWorld() {
-    return dynamicsWorld;
-}
-
-jobject jmePhysicsSpace::getJavaPhysicsSpace() {
-    return javaPhysicsSpace;
-}
-
-jmePhysicsSpace::~jmePhysicsSpace() {
-    delete(dynamicsWorld);
-}

+ 0 - 76
engine/src/bullet/native/jmePhysicsSpace.h

@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#include <jni.h>
-#include "btBulletDynamicsCommon.h"
-#include "btBulletCollisionCommon.h"
-#include "BulletCollision/CollisionDispatch/btCollisionDispatcher.h"
-#include "BulletCollision/CollisionDispatch/btCollisionObject.h"
-#include "BulletCollision/CollisionDispatch/btGhostObject.h"
-#include "BulletDynamics/Character/btKinematicCharacterController.h"
-#ifdef _WIN32
-#include "BulletMultiThreaded/Win32ThreadSupport.h"
-#else
-#include "BulletMultiThreaded/PosixThreadSupport.h"
-#endif
-#include "BulletMultiThreaded/btParallelConstraintSolver.h"
-#include "BulletMultiThreaded/SpuGatheringCollisionDispatcher.h"
-#include "BulletMultiThreaded/SpuCollisionTaskProcess.h"
-#include "BulletMultiThreaded/SequentialThreadSupport.h"
-#include "BulletCollision/CollisionDispatch/btSimulationIslandManager.h"
-#include "BulletCollision/NarrowPhaseCollision/btManifoldPoint.h"
-#include "BulletCollision/NarrowPhaseCollision/btPersistentManifold.h"
-
-/**
- * Author: Normen Hansen
- */
-class jmePhysicsSpace {
-private:
-	JNIEnv* env;
-	JavaVM* vm;
-	btDynamicsWorld* dynamicsWorld;
-	jobject javaPhysicsSpace;
-        btThreadSupportInterface* createSolverThreadSupport(int);
-        btThreadSupportInterface* createDispatchThreadSupport(int);
-        void attachThread();
-public:
-	jmePhysicsSpace(){};
-	~jmePhysicsSpace();
-        jmePhysicsSpace(JNIEnv*, jobject);
-	void stepSimulation(jfloat, jint, jfloat);
-        void createPhysicsSpace(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat, jint, jboolean);
-        btDynamicsWorld* getDynamicsWorld();
-        jobject getJavaPhysicsSpace();
-        JNIEnv* getEnv();
-        static void preTickCallback(btDynamicsWorld*, btScalar);
-        static void postTickCallback(btDynamicsWorld*, btScalar);
-        static bool contactProcessedCallback(btManifoldPoint &, void *, void *);
-};

+ 0 - 6
engine/src/bullet/native/nativeclasses.txt

@@ -1,6 +0,0 @@
-Classes that differ from the jbullet implementation:
-- com.jme3.bullet.PhysicsSpace
-- com.jme3.bullet.collision.PhysicsCollisionObject
-- All classes in com.jme3.bullet.objects
-- All classes in com.jme3.bullet.joints
-- All classes in com.jme3.bullet.collision.shapes

+ 0 - 68
engine/src/bullet/nbproject/project.xml

@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.ant.freeform</type>
-    <configuration>
-        <general-data xmlns="http://www.netbeans.org/ns/freeform-project/1">
-            <!-- Do not use Project Properties customizer when editing this file manually. -->
-            <name>Bullet Native</name>
-            <properties>
-                <property name="ant.script">../../build.xml</property>
-            </properties>
-            <folders>
-                <source-folder>
-                    <label>Source Packages</label>
-                    <location>.</location>
-                </source-folder>
-                <source-folder>
-                    <label>Source Packages</label>
-                    <type>java</type>
-                    <location>.</location>
-                </source-folder>
-            </folders>
-            <ide-actions>
-                <action name="build">
-                    <script>${ant.script}</script>
-                    <target>build-bullet-natives</target>
-                </action>
-                <action name="clean">
-                    <script>${ant.script}</script>
-                    <target>clean</target>
-                </action>
-                <action name="rebuild">
-                    <script>${ant.script}</script>
-                    <target>clean</target>
-                    <target>build-bullet-natives</target>
-                </action>
-                <action name="run">
-                    <script>${ant.script}</script>
-                    <target>run-bullet-native</target>
-                </action>
-            </ide-actions>
-            <view>
-                <items>
-                    <source-folder style="packages">
-                        <label>Source Packages</label>
-                        <location>.</location>
-                    </source-folder>
-                    <source-file>
-                        <location>${ant.script}</location>
-                    </source-file>
-                </items>
-                <context-menu>
-                    <ide-action name="build"/>
-                    <ide-action name="rebuild"/>
-                    <ide-action name="clean"/>
-                    <ide-action name="run"/>
-                </context-menu>
-            </view>
-            <subprojects/>
-        </general-data>
-        <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/1">
-            <compilation-unit>
-                <package-root>.</package-root>
-                <classpath mode="compile">../../dist/jMonkeyEngine3.jar</classpath>
-                <source-level>1.5</source-level>
-            </compilation-unit>
-        </java-data>
-    </configuration>
-</project>

+ 0 - 131
engine/src/desktop/com/jme3/asset/AssetCache.java

@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package com.jme3.asset;
-
-import java.lang.ref.WeakReference;
-import java.util.HashMap;
-import java.util.WeakHashMap;
-
-/**
- * An <code>AssetCache</code> allows storage of loaded resources in order
- * to improve their access time if they are requested again in a short period
- * of time. The AssetCache stores weak references to the resources, allowing
- * Java's garbage collector to request deletion of rarely used resources
- * when heap memory is low.
- */
-public class AssetCache {
-
-    public static final class SmartAssetInfo {
-        public WeakReference<AssetKey> smartKey;
-        public Asset asset;
-    }
-
-    private final WeakHashMap<AssetKey, SmartAssetInfo> smartCache
-            = new WeakHashMap<AssetKey, SmartAssetInfo>();
-    private final HashMap<AssetKey, Object> regularCache = new HashMap<AssetKey, Object>();
-
-    /**
-     * Adds a resource to the cache.
-     * <br/><br/>
-     * <font color="red">Thread-safe.</font>
-     * @see #getFromCache(java.lang.String)
-     */
-    public void addToCache(AssetKey key, Object obj){
-        synchronized (regularCache){
-            if (obj instanceof Asset && key.useSmartCache()){
-                // put in smart cache
-                Asset asset = (Asset) obj;
-                asset.setKey(null); // no circular references
-                SmartAssetInfo smartInfo = new SmartAssetInfo();
-                smartInfo.asset = asset;
-                // use the original key as smart key
-                smartInfo.smartKey = new WeakReference<AssetKey>(key); 
-                smartCache.put(key, smartInfo);
-            }else{
-                // put in regular cache
-                regularCache.put(key, obj);
-            }
-        }
-    }
-
-    /**
-     * Delete an asset from the cache, returns true if it was deleted successfuly.
-     * <br/><br/>
-     * <font color="red">Thread-safe.</font>
-     */
-    public boolean deleteFromCache(AssetKey key){
-        synchronized (regularCache){
-            if (key.useSmartCache()){
-                return smartCache.remove(key) != null;
-            }else{
-                return regularCache.remove(key) != null;
-            }
-        }
-    }
-
-    /**
-     * Gets an object from the cache given an asset key.
-     * <br/><br/>
-     * <font color="red">Thread-safe.</font>
-     * @param key
-     * @return
-     */
-    public Object getFromCache(AssetKey key){
-        synchronized (regularCache){
-            if (key.useSmartCache()) {
-                return smartCache.get(key).asset;
-            } else {
-                return regularCache.get(key);
-            }
-        }
-    }
-
-    /**
-     * Retrieves smart asset info from the cache.
-     * @param key
-     * @return
-     */
-    public SmartAssetInfo getFromSmartCache(AssetKey key){
-        return smartCache.get(key);
-    }
-
-    /**
-     * Deletes all the assets in the regular cache.
-     */
-    public void deleteAllAssets(){
-        synchronized (regularCache){
-            regularCache.clear();
-            smartCache.clear();
-        }
-    }
-}

+ 0 - 22
engine/src/desktop/com/jme3/asset/Desktop.cfg

@@ -1,22 +0,0 @@
-LOCATOR / com.jme3.asset.plugins.ClasspathLocator
-
-LOADER com.jme3.texture.plugins.AWTLoader : jpg, bmp, gif, png, jpeg
-LOADER com.jme3.audio.plugins.WAVLoader : wav
-LOADER com.jme3.audio.plugins.OGGLoader : ogg
-LOADER com.jme3.material.plugins.J3MLoader : j3m
-LOADER com.jme3.material.plugins.J3MLoader : j3md
-LOADER com.jme3.font.plugins.BitmapFontLoader : fnt
-LOADER com.jme3.texture.plugins.DDSLoader : dds
-LOADER com.jme3.texture.plugins.PFMLoader : pfm
-LOADER com.jme3.texture.plugins.HDRLoader : hdr
-LOADER com.jme3.texture.plugins.TGALoader : tga
-LOADER com.jme3.export.binary.BinaryImporter : j3o
-LOADER com.jme3.export.binary.BinaryImporter : j3f
-LOADER com.jme3.scene.plugins.OBJLoader : obj
-LOADER com.jme3.scene.plugins.MTLLoader : mtl
-LOADER com.jme3.scene.plugins.ogre.MeshLoader : meshxml, mesh.xml
-LOADER com.jme3.scene.plugins.ogre.SkeletonLoader : skeletonxml, skeleton.xml
-LOADER com.jme3.scene.plugins.ogre.MaterialLoader : material
-LOADER com.jme3.scene.plugins.ogre.SceneLoader : scene
-LOADER com.jme3.scene.plugins.blender.BlenderModelLoader : blend
-LOADER com.jme3.shader.plugins.GLSLLoader : vert, frag, glsl, glsllib

+ 0 - 421
engine/src/desktop/com/jme3/asset/DesktopAssetManager.java

@@ -1,421 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package com.jme3.asset;
-
-import com.jme3.asset.AssetCache.SmartAssetInfo;
-import com.jme3.audio.AudioKey;
-import com.jme3.audio.AudioData;
-import com.jme3.font.BitmapFont;
-import com.jme3.material.Material;
-import com.jme3.scene.Spatial;
-import com.jme3.shader.Shader;
-import com.jme3.shader.ShaderKey;
-import com.jme3.texture.Texture;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * <code>AssetManager</code> is the primary method for managing and loading
- * assets inside jME.
- *
- * @author Kirill Vainer
- */
-public class DesktopAssetManager implements AssetManager {
-
-    private static final Logger logger = Logger.getLogger(AssetManager.class.getName());
-
-    private final AssetCache cache = new AssetCache();
-    private final ImplHandler handler = new ImplHandler(this);
-
-    private AssetEventListener eventListener = null;
-    private List<ClassLoader> classLoaders;
-
-//    private final ThreadingManager threadingMan = new ThreadingManager(this);
-//    private final Set<AssetKey> alreadyLoadingSet = new HashSet<AssetKey>();
-
-    public DesktopAssetManager(){
-        this(null);
-    }
-
-    @Deprecated
-    public DesktopAssetManager(boolean loadDefaults){
-        this(Thread.currentThread().getContextClassLoader().getResource("com/jme3/asset/Desktop.cfg"));
-    }
-
-    public DesktopAssetManager(URL configFile){
-        if (configFile != null){
-            InputStream stream = null;
-            try{
-                AssetConfig cfg = new AssetConfig(this);
-                stream = configFile.openStream();
-                cfg.loadText(stream);
-            }catch (IOException ex){
-                logger.log(Level.SEVERE, "Failed to load asset config", ex);
-            }finally{
-                if (stream != null)
-                    try{
-                        stream.close();
-                    }catch (IOException ex){
-                    }
-            }
-        }
-        logger.info("DesktopAssetManager created.");
-    }
-
-    public void addClassLoader(ClassLoader loader){
-        if(classLoaders == null)
-            classLoaders = Collections.synchronizedList(new ArrayList<ClassLoader>());
-        synchronized(classLoaders) {
-            classLoaders.add(loader);
-        }
-    }
-    
-    public void removeClassLoader(ClassLoader loader){
-        if(classLoaders != null) synchronized(classLoaders) {
-                classLoaders.remove(loader);
-            }
-    }
-
-    public List<ClassLoader> getClassLoaders(){
-        return classLoaders;
-    }
-    
-    public void setAssetEventListener(AssetEventListener listener){
-        eventListener = listener;
-    }
-
-    public void registerLoader(Class<? extends AssetLoader> loader, String ... extensions){
-        handler.addLoader(loader, extensions);
-        if (logger.isLoggable(Level.FINER)){
-            logger.log(Level.FINER, "Registered loader: {0} for extensions {1}",
-              new Object[]{loader.getSimpleName(), Arrays.toString(extensions)});
-        }
-    }
-
-    public void registerLoader(String clsName, String ... extensions){
-        Class<? extends AssetLoader> clazz = null;
-        try{
-            clazz = (Class<? extends AssetLoader>) Class.forName(clsName);
-        }catch (ClassNotFoundException ex){
-            logger.log(Level.WARNING, "Failed to find loader: "+clsName, ex);
-        }catch (NoClassDefFoundError ex){
-            logger.log(Level.WARNING, "Failed to find loader: "+clsName, ex);
-        }
-        if (clazz != null){
-            registerLoader(clazz, extensions);
-        }
-    }
-
-    public void registerLocator(String rootPath, Class<? extends AssetLocator> locatorClass){
-        handler.addLocator(locatorClass, rootPath);
-        if (logger.isLoggable(Level.FINER)){
-            logger.log(Level.FINER, "Registered locator: {0}",
-                    locatorClass.getSimpleName());
-        }
-    }
-
-    public void registerLocator(String rootPath, String clsName){
-        Class<? extends AssetLocator> clazz = null;
-        try{
-            clazz = (Class<? extends AssetLocator>) Class.forName(clsName);
-        }catch (ClassNotFoundException ex){
-            logger.log(Level.WARNING, "Failed to find locator: "+clsName, ex);
-        }catch (NoClassDefFoundError ex){
-            logger.log(Level.WARNING, "Failed to find loader: "+clsName, ex);
-        }
-        if (clazz != null){
-            registerLocator(rootPath, clazz);
-        }
-    }
-    
-    public void unregisterLocator(String rootPath, Class<? extends AssetLocator> clazz){
-        handler.removeLocator(clazz, rootPath);
-        if (logger.isLoggable(Level.FINER)){
-            logger.log(Level.FINER, "Unregistered locator: {0}",
-                    clazz.getSimpleName());
-        }
-    }
-
-    public void clearCache(){
-        cache.deleteAllAssets();
-    }
-
-    /**
-     * Delete an asset from the cache, returns true if it was deleted
-     * successfully.
-     * <br/><br/>
-     * <font color="red">Thread-safe.</font>
-     */
-    public boolean deleteFromCache(AssetKey key){
-        return cache.deleteFromCache(key);
-    }
-
-    /**
-     * Adds a resource to the cache.
-     * <br/><br/>
-     * <font color="red">Thread-safe.</font>
-     */
-    public void addToCache(AssetKey key, Object asset){
-        cache.addToCache(key, asset);
-    }
-
-    public AssetInfo locateAsset(AssetKey<?> key){
-        if (handler.getLocatorCount() == 0){
-            logger.warning("There are no locators currently"+
-                           " registered. Use AssetManager."+
-                           "registerLocator() to register a"+
-                           " locator.");
-            return null;
-        }
-
-        AssetInfo info = handler.tryLocate(key);
-        if (info == null){
-            logger.log(Level.WARNING, "Cannot locate resource: {0}", key);
-        }
-
-        return info;
-    }
-
-    /**
-     * <font color="red">Thread-safe.</font>
-     *
-     * @param <T>
-     * @param key
-     * @return
-     */
-      public <T> T loadAsset(AssetKey<T> key){
-        if (key == null)
-            throw new IllegalArgumentException("key cannot be null");
-        
-        if (eventListener != null)
-            eventListener.assetRequested(key);
-
-        AssetKey smartKey = null;
-        Object o = null;
-        if (key.shouldCache()){
-            if (key.useSmartCache()){
-                SmartAssetInfo smartInfo = cache.getFromSmartCache(key);
-                if (smartInfo != null){
-                    smartKey = smartInfo.smartKey.get();
-                    if (smartKey != null){
-                        o = smartInfo.asset;
-                    }
-                }
-            }else{
-                o = cache.getFromCache(key);
-            }
-        }
-        if (o == null){
-            AssetLoader loader = handler.aquireLoader(key);
-            if (loader == null){
-                throw new IllegalStateException("No loader registered for type \"" +
-                                                key.getExtension() + "\"");
-            }
-
-            if (handler.getLocatorCount() == 0){
-                throw new IllegalStateException("There are no locators currently"+
-                                                " registered. Use AssetManager."+
-                                                "registerLocator() to register a"+
-                                                " locator.");
-            }
-
-            AssetInfo info = handler.tryLocate(key);
-            if (info == null){
-                if (handler.getParentKey() != null && eventListener != null){
-                    // Inform event listener that an asset has failed to load.
-                    // If the parent AssetLoader chooses not to propagate
-                    // the exception, this is the only means of finding
-                    // that something went wrong.
-                    eventListener.assetDependencyNotFound(handler.getParentKey(), key);
-                }
-                throw new AssetNotFoundException(key.toString());
-            }
-
-            try {
-                handler.establishParentKey(key);
-                o = loader.load(info);
-            } catch (IOException ex) {
-                throw new AssetLoadException("An exception has occured while loading asset: " + key, ex);
-            } finally {
-                handler.releaseParentKey(key);
-            }
-            if (o == null){
-                throw new AssetLoadException("Error occured while loading asset \"" + key + "\" using" + loader.getClass().getSimpleName());
-            }else{
-                if (logger.isLoggable(Level.FINER)){
-                    logger.log(Level.FINER, "Loaded {0} with {1}",
-                            new Object[]{key, loader.getClass().getSimpleName()});
-                }
-                
-                // do processing on asset before caching
-                o = key.postProcess(o);
-
-                if (key.shouldCache())
-                    cache.addToCache(key, o);
-
-                if (eventListener != null)
-                    eventListener.assetLoaded(key);
-            }
-        }
-
-        // object o is the asset
-        // create an instance for user
-        T clone = (T) key.createClonedInstance(o);
-
-        if (key.useSmartCache()){
-            if (smartKey != null){
-                // smart asset was already cached, use original key
-                ((Asset)clone).setKey(smartKey);
-            }else{
-                // smart asset was cached on this call, use our key
-                ((Asset)clone).setKey(key);
-            }
-        }
-        
-        return clone;
-    }
-
-    public Object loadAsset(String name){
-        return loadAsset(new AssetKey(name));
-    }
-
-    /**
-     * Loads a texture.
-     *
-     * @return
-     */
-    public Texture loadTexture(TextureKey key){
-        return (Texture) loadAsset(key);
-    }
-
-    public Material loadMaterial(String name){
-        return (Material) loadAsset(new MaterialKey(name));
-    }
-
-    /**
-     * Loads a texture.
-     *
-     * @param name
-     * @param generateMipmaps Enable if applying texture to 3D objects, disable
-     * for GUI/HUD elements.
-     * @return
-     */
-    public Texture loadTexture(String name, boolean generateMipmaps){
-        TextureKey key = new TextureKey(name, true);
-        key.setGenerateMips(generateMipmaps);
-        key.setAsCube(false);
-        return loadTexture(key);
-    }
-
-    public Texture loadTexture(String name, boolean generateMipmaps, boolean flipY, boolean asCube, int aniso){
-        TextureKey key = new TextureKey(name, flipY);
-        key.setGenerateMips(generateMipmaps);
-        key.setAsCube(asCube);
-        key.setAnisotropy(aniso);
-        return loadTexture(key);
-    }
-
-    public Texture loadTexture(String name){
-        return loadTexture(name, true);
-    }
-
-    public AudioData loadAudio(AudioKey key){
-        return (AudioData) loadAsset(key);
-    }
-
-    public AudioData loadAudio(String name){
-        return loadAudio(new AudioKey(name, false));
-    }
-
-    /**
-     * Loads a bitmap font with the given name.
-     *
-     * @param name
-     * @return
-     */
-    public BitmapFont loadFont(String name){
-        return (BitmapFont) loadAsset(new AssetKey(name));
-    }
-
-    public InputStream loadGLSLLibrary(AssetKey key){
-        return (InputStream) loadAsset(key);
-    }
-
-    /**
-     * Load a vertex/fragment shader combo.
-     *
-     * @param key
-     * @return
-     */
-    public Shader loadShader(ShaderKey key){
-        // cache abuse in method
-        // that doesn't use loaders/locators
-        Shader s = (Shader) cache.getFromCache(key);
-        if (s == null){
-            String vertName = key.getVertName();
-            String fragName = key.getFragName();
-
-            String vertSource = (String) loadAsset(new AssetKey(vertName));
-            String fragSource = (String) loadAsset(new AssetKey(fragName));
-
-            s = new Shader(key.getLanguage());
-            s.addSource(Shader.ShaderType.Vertex,   vertName, vertSource, key.getDefines().getCompiled());
-            s.addSource(Shader.ShaderType.Fragment, fragName, fragSource, key.getDefines().getCompiled());
-
-            cache.addToCache(key, s);
-        }
-        return s;
-    }
-
-    public Spatial loadModel(ModelKey key){
-        return (Spatial) loadAsset(key);
-    }
-
-    /**
-     * Load a model.
-     *
-     * @param name
-     * @return
-     */
-    public Spatial loadModel(String name){
-        return loadModel(new ModelKey(name));
-    }
-    
-}

+ 0 - 209
engine/src/desktop/com/jme3/asset/ImplHandler.java

@@ -1,209 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package com.jme3.asset;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * <code>ImplHandler</code> manages the asset loader and asset locator
- * implementations in a thread safe way. This allows implementations
- * which store local persistent data to operate with a multi-threaded system.
- * This is done by keeping an instance of each asset loader and asset
- * locator object in a thread local.
- */
-public class ImplHandler {
-
-    private static final Logger logger = Logger.getLogger(ImplHandler.class.getName());
-
-    private final AssetManager owner;
-    
-    private final ThreadLocal<AssetKey> parentAssetKey 
-            = new ThreadLocal<AssetKey>();
-    
-    private final ArrayList<ImplThreadLocal> genericLocators =
-                new ArrayList<ImplThreadLocal>();
-
-    private final HashMap<String, ImplThreadLocal> loaders =
-                new HashMap<String, ImplThreadLocal>();
-
-    public ImplHandler(AssetManager owner){
-        this.owner = owner;
-    }
-
-    protected class ImplThreadLocal extends ThreadLocal {
-
-        private final Class<?> type;
-        private final String path;
-
-        public ImplThreadLocal(Class<?> type){
-            this.type = type;
-            path = null;
-        }
-
-        public ImplThreadLocal(Class<?> type, String path){
-            this.type = type;
-            this.path = path;
-        }
-
-        public String getPath() {
-            return path;
-        }
-
-        public Class<?> getTypeClass(){
-            return type;
-        }
-
-        @Override
-        protected Object initialValue(){
-            try {
-                return type.newInstance();
-            } catch (InstantiationException ex) {
-                logger.log(Level.SEVERE,"Cannot create locator of type {0}, does"
-                            + " the class have an empty and publically accessible"+
-                              " constructor?", type.getName());
-                logger.throwing(type.getName(), "<init>", ex);
-            } catch (IllegalAccessException ex) {
-                logger.log(Level.SEVERE,"Cannot create locator of type {0}, "
-                            + "does the class have an empty and publically "
-                            + "accessible constructor?", type.getName());
-                logger.throwing(type.getName(), "<init>", ex);
-            }
-            return null;
-        }
-    }
-
-    /**
-     * Establishes the asset key that is used for tracking dependent assets
-     * that have failed to load. When set, the {@link DesktopAssetManager}
-     * gets a hint that it should suppress {@link AssetNotFoundException}s
-     * and instead call the listener callback (if set).
-     * 
-     * @param key The parent key  
-     */
-    public void establishParentKey(AssetKey parentKey){
-        if (parentAssetKey.get() == null){
-            parentAssetKey.set(parentKey);
-        }
-    }
-    
-    public void releaseParentKey(AssetKey parentKey){
-        if (parentAssetKey.get() == parentKey){
-            parentAssetKey.set(null);
-        }
-    }
-    
-    public AssetKey getParentKey(){
-        return parentAssetKey.get();
-    }
-    
-    /**
-     * Attempts to locate the given resource name.
-     * @param name The full name of the resource.
-     * @return The AssetInfo containing resource information required for
-     * access, or null if not found.
-     */
-    public AssetInfo tryLocate(AssetKey key){
-        synchronized (genericLocators){
-            if (genericLocators.isEmpty())
-                return null;
-
-            for (ImplThreadLocal local : genericLocators){
-                AssetLocator locator = (AssetLocator) local.get();
-                if (local.getPath() != null){
-                    locator.setRootPath((String) local.getPath());
-                }
-                AssetInfo info = locator.locate(owner, key);
-                if (info != null)
-                    return info;
-            }
-        }
-        return null;
-    }
-
-    public int getLocatorCount(){
-        synchronized (genericLocators){
-            return genericLocators.size();
-        }
-    }
-
-    /**
-     * Returns the AssetLoader registered for the given extension
-     * of the current thread.
-     * @return AssetLoader registered with addLoader.
-     */
-    public AssetLoader aquireLoader(AssetKey key){
-        synchronized (loaders){
-            ImplThreadLocal local = loaders.get(key.getExtension());
-            if (local != null){
-                AssetLoader loader = (AssetLoader) local.get();
-                return loader;
-            }
-            return null;
-        }
-    }
-
-    public void addLoader(final Class<?> loaderType, String ... extensions){
-        ImplThreadLocal local = new ImplThreadLocal(loaderType);
-        for (String extension : extensions){
-            extension = extension.toLowerCase();
-            synchronized (loaders){
-                loaders.put(extension, local);
-            }
-        }
-    }
-
-    public void addLocator(final Class<?> locatorType, String rootPath){
-        ImplThreadLocal local = new ImplThreadLocal(locatorType, rootPath);
-        synchronized (genericLocators){
-            genericLocators.add(local);
-        }
-    }
-
-    public void removeLocator(final Class<?> locatorType, String rootPath){
-        synchronized (genericLocators){
-            Iterator<ImplThreadLocal> it = genericLocators.iterator();
-            while (it.hasNext()){
-                ImplThreadLocal locator = it.next();
-                if (locator.getPath().equals(rootPath) &&
-                    locator.getTypeClass().equals(locatorType)){
-                    it.remove();
-                }
-            }
-        }
-    }
-
-}

+ 0 - 103
engine/src/desktop/com/jme3/asset/ThreadingManager.java

@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package com.jme3.asset;
-
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ThreadFactory;
-
-/**
- * <code>ThreadingManager</code> manages the threads used to load content
- * within the Content Manager system. A pool of threads and a task queue
- * is used to load resource data and perform I/O while the application's
- * render thread is active. 
- */
-public class ThreadingManager {
-
-    protected final ExecutorService executor =
-            Executors.newFixedThreadPool(2,
-                                         new LoadingThreadFactory());
-
-    protected final AssetManager owner;
-
-    protected int nextThreadId = 0;
-
-    public ThreadingManager(AssetManager owner){
-        this.owner = owner;
-    }
-
-    protected class LoadingThreadFactory implements ThreadFactory {
-        public Thread newThread(Runnable r) {
-            Thread t = new Thread(r, "pool" + (nextThreadId++));
-            t.setDaemon(true);
-            t.setPriority(Thread.MIN_PRIORITY);
-            return t;
-        }
-    }
-
-    protected class LoadingTask implements Callable<Object> {
-        private final String resourceName;
-        public LoadingTask(String resourceName){
-            this.resourceName = resourceName;
-        }
-        public Object call() throws Exception {
-            return owner.loadAsset(new AssetKey(resourceName));
-        }
-    }
-
-//    protected class MultiLoadingTask implements Callable<Void> {
-//        private final String[] resourceNames;
-//        public MultiLoadingTask(String[] resourceNames){
-//            this.resourceNames = resourceNames;
-//        }
-//        public Void call(){
-//            owner.loadContents(resourceNames);
-//            return null;
-//        }
-//    }
-
-//    public Future<Void> loadContents(String ... names){
-//        return executor.submit(new MultiLoadingTask(names));
-//    }
-
-//    public Future<Object> loadContent(String name) {
-//        return executor.submit(new LoadingTask(name));
-//    }
-
-    public static boolean isLoadingThread() {
-        return Thread.currentThread().getName().startsWith("pool");
-    }
-
-
-}

+ 0 - 122
engine/src/desktop/com/jme3/asset/plugins/ClasspathLocator.java

@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package com.jme3.asset.plugins;
-
-import com.jme3.asset.AssetInfo;
-import com.jme3.asset.AssetKey;
-import com.jme3.asset.AssetLoadException;
-import com.jme3.asset.AssetLocator;
-import com.jme3.asset.AssetManager;
-import com.jme3.asset.AssetNotFoundException;
-import com.jme3.system.JmeSystem;
-import java.io.File;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.logging.Logger;
-
-/**
- * The <code>ClasspathLocator</code> looks up an asset in the classpath.
- * @author Kirill Vainer
- */
-public class ClasspathLocator implements AssetLocator {
-
-    private static final Logger logger = Logger.getLogger(ClasspathLocator.class.getName());
-    private String root = "";
-
-    public ClasspathLocator(){
-    }
-
-    public void setRootPath(String rootPath) {
-        this.root = rootPath;
-        if (root.equals("/"))
-            root = "";
-        else if (root.length() > 1){
-            if (root.startsWith("/")){
-                root = root.substring(1);
-            }
-            if (!root.endsWith("/"))
-                root += "/";
-        }
-    }
-    
-    public AssetInfo locate(AssetManager manager, AssetKey key) {
-        URL url;
-        String name = key.getName();
-        if (name.startsWith("/"))
-            name = name.substring(1);
-
-        name = root + name;
-//        if (!name.startsWith(root)){
-//            name = root + name;
-//        }
-
-        if (JmeSystem.isLowPermissions()){
-            url = ClasspathLocator.class.getResource("/" + name);
-        }else{
-            url = Thread.currentThread().getContextClassLoader().getResource(name);
-        }
-        if (url == null)
-            return null;
-        
-        if (url.getProtocol().equals("file")){
-            try {
-                String path = new File(url.toURI()).getCanonicalPath();
-                
-                // convert to / for windows
-                if (File.separatorChar == '\\'){
-                    path = path.replace('\\', '/');
-                }
-                
-                // compare path
-                if (!path.endsWith(name)){
-                    throw new AssetNotFoundException("Asset name doesn't match requirements.\n"+
-                                                     "\"" + path + "\" doesn't match \"" + name + "\"");
-                }
-            } catch (URISyntaxException ex) {
-                throw new AssetLoadException("Error converting URL to URI", ex);
-            } catch (IOException ex){
-                throw new AssetLoadException("Failed to get canonical path for " + url, ex);
-            }
-        }
-        
-        try{
-            return UrlAssetInfo.create(manager, key, url);
-        }catch (IOException ex){
-            // This is different handling than URL locator
-            // since classpath locating would return null at the getResource() 
-            // call, otherwise there's a more critical error...
-            throw new AssetLoadException("Failed to read URL " + url, ex);
-        }
-    }
-}

+ 0 - 113
engine/src/desktop/com/jme3/asset/plugins/FileLocator.java

@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2009-2010 jMonkeyEngine
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of 'jMonkeyEngine' nor the names of its contributors
- *   may be used to endorse or promote products derived from this software
- *   without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package com.jme3.asset.plugins;
-
-import com.jme3.asset.AssetInfo;
-import com.jme3.asset.AssetKey;
-import com.jme3.asset.AssetLoadException;
-import com.jme3.asset.AssetLocator;
-import com.jme3.asset.AssetManager;
-import com.jme3.asset.AssetNotFoundException;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * <code>FileLocator</code> allows you to specify a folder where to
- * look for assets. 
- * @author Kirill Vainer
- */
-public class FileLocator implements AssetLocator {
-
-    private File root;
-
-    public void setRootPath(String rootPath) {
-        if (rootPath == null)
-            throw new NullPointerException();
-        
-        try {
-            root = new File(rootPath).getCanonicalFile();
-            if (!root.isDirectory()){
-                throw new IllegalArgumentException("Given root path \"" + root + "\" not a directory");
-            }
-        } catch (IOException ex) {
-            throw new AssetLoadException("Root path is invalid", ex);
-        }
-    }
-
-    private static class AssetInfoFile extends AssetInfo {
-
-        private File file;
-
-        public AssetInfoFile(AssetManager manager, AssetKey key, File file){
-            super(manager, key);
-            this.file = file;
-        }
-
-        @Override
-        public InputStream openStream() {
-            try{
-                return new FileInputStream(file);
-            }catch (FileNotFoundException ex){
-                // NOTE: Can still happen even if file.exists() is true, e.g.
-                // permissions issue and similar
-                throw new AssetLoadException("Failed to open file: " + file, ex);
-            }
-        }
-    }
-
-    public AssetInfo locate(AssetManager manager, AssetKey key) {
-        String name = key.getName();
-        File file = new File(root, name);
-        if (file.exists() && file.isFile()){
-            try {
-                // Now, check asset name requirements
-                String canonical = file.getCanonicalPath();
-                String absolute = file.getAbsolutePath();
-                if (!canonical.endsWith(absolute)){
-                    throw new AssetNotFoundException("Asset name doesn't match requirements.\n"+
-                                                     "\"" + canonical + "\" doesn't match \"" + absolute + "\"");
-                }
-            } catch (IOException ex) {
-                throw new AssetLoadException("Failed to get file canonical path " + file, ex);
-            }
-            
-            return new AssetInfoFile(manager, key, file);
-        }else{
-            return null;
-        }
-    }
-
-}

部分文件因为文件数量过多而无法显示