public btHingeConstraint createHingeConstraint(
     btRigidBody rbA, Matrix4 rbAFrame, boolean useReferenceFrameA) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createHingeConstraint__SWIG_2(
           swigCPtr, this, btRigidBody.getCPtr(rbA), rbA, rbAFrame, useReferenceFrameA);
   return (cPtr == 0) ? null : new btHingeConstraint(cPtr, false);
 }
 public btSliderConstraint createSliderConstraint(
     btRigidBody rbB, Matrix4 frameInB, boolean useLinearReferenceFrameA) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createSliderConstraint__SWIG_1(
           swigCPtr, this, btRigidBody.getCPtr(rbB), rbB, frameInB, useLinearReferenceFrameA);
   return (cPtr == 0) ? null : new btSliderConstraint(cPtr, false);
 }
 public btCollisionObject createCollisionObject(
     Matrix4 startTransform, btCollisionShape shape, String bodyName) {
   return btCollisionObject.getInstance(
       ExtrasJNI.btWorldImporter_createCollisionObject(
           swigCPtr, this, startTransform, btCollisionShape.getCPtr(shape), shape, bodyName),
       false);
 }
 public btStridingMeshInterfaceData createStridingMeshInterfaceData(
     btStridingMeshInterfaceData interfaceData) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createStridingMeshInterfaceData(
           swigCPtr, this, btStridingMeshInterfaceData.getCPtr(interfaceData), interfaceData);
   return (cPtr == 0) ? null : new btStridingMeshInterfaceData(cPtr, false);
 }
 public btMultiSphereShape createMultiSphereShape(
     btVector3 positions, java.nio.FloatBuffer radi, int numSpheres) {
   assert radi.isDirect() : "Buffer must be allocated direct.";
   {
     long cPtr =
         ExtrasJNI.btWorldImporter_createMultiSphereShape(
             swigCPtr, this, btVector3.getCPtr(positions), positions, radi, numSpheres);
     return (cPtr == 0) ? null : new btMultiSphereShape(cPtr, false);
   }
 }
 public btScaledBvhTriangleMeshShape createScaledTrangleMeshShape(
     btBvhTriangleMeshShape meshShape, Vector3 localScalingbtBvhTriangleMeshShape) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createScaledTrangleMeshShape(
           swigCPtr,
           this,
           btBvhTriangleMeshShape.getCPtr(meshShape),
           meshShape,
           localScalingbtBvhTriangleMeshShape);
   return (cPtr == 0) ? null : new btScaledBvhTriangleMeshShape(cPtr, false);
 }
 @Override
 protected synchronized void delete() {
   if (swigCPtr != 0) {
     if (swigCMemOwn) {
       swigCMemOwn = false;
       ExtrasJNI.delete_btWorldImporter(swigCPtr);
     }
     swigCPtr = 0;
   }
   super.delete();
 }
 public btBvhTriangleMeshShape createBvhTriangleMeshShape(
     btStridingMeshInterface trimesh, btOptimizedBvh bvh) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createBvhTriangleMeshShape(
           swigCPtr,
           this,
           btStridingMeshInterface.getCPtr(trimesh),
           trimesh,
           btOptimizedBvh.getCPtr(bvh),
           bvh);
   return (cPtr == 0) ? null : new btBvhTriangleMeshShape(cPtr, false);
 }
 public btPoint2PointConstraint createPoint2PointConstraint(
     btRigidBody rbA, btRigidBody rbB, Vector3 pivotInA, Vector3 pivotInB) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createPoint2PointConstraint__SWIG_0(
           swigCPtr,
           this,
           btRigidBody.getCPtr(rbA),
           rbA,
           btRigidBody.getCPtr(rbB),
           rbB,
           pivotInA,
           pivotInB);
   return (cPtr == 0) ? null : new btPoint2PointConstraint(cPtr, false);
 }
 public btConeTwistConstraint createConeTwistConstraint(
     btRigidBody rbA, btRigidBody rbB, Matrix4 rbAFrame, Matrix4 rbBFrame) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createConeTwistConstraint__SWIG_0(
           swigCPtr,
           this,
           btRigidBody.getCPtr(rbA),
           rbA,
           btRigidBody.getCPtr(rbB),
           rbB,
           rbAFrame,
           rbBFrame);
   return (cPtr == 0) ? null : new btConeTwistConstraint(cPtr, false);
 }
 public btGeneric6DofSpring2Constraint createGeneric6DofSpring2Constraint(
     btRigidBody rbA, btRigidBody rbB, Matrix4 frameInA, Matrix4 frameInB, int rotateOrder) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createGeneric6DofSpring2Constraint(
           swigCPtr,
           this,
           btRigidBody.getCPtr(rbA),
           rbA,
           btRigidBody.getCPtr(rbB),
           rbB,
           frameInA,
           frameInB,
           rotateOrder);
   return (cPtr == 0) ? null : new btGeneric6DofSpring2Constraint(cPtr, false);
 }
 public SWIGTYPE_p_btGearConstraint createGearConstraint(
     btRigidBody rbA, btRigidBody rbB, Vector3 axisInA, Vector3 axisInB, float ratio) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createGearConstraint(
           swigCPtr,
           this,
           btRigidBody.getCPtr(rbA),
           rbA,
           btRigidBody.getCPtr(rbB),
           rbB,
           axisInA,
           axisInB,
           ratio);
   return (cPtr == 0) ? null : new SWIGTYPE_p_btGearConstraint(cPtr, false);
 }
 public btRigidBody createRigidBody(
     boolean isDynamic,
     float mass,
     Matrix4 startTransform,
     btCollisionShape shape,
     String bodyName) {
   return btRigidBody.getInstance(
       ExtrasJNI.btWorldImporter_createRigidBody(
           swigCPtr,
           this,
           isDynamic,
           mass,
           startTransform,
           btCollisionShape.getCPtr(shape),
           shape,
           bodyName),
       false);
 }
 public btGeneric6DofSpringConstraint createGeneric6DofSpringConstraint(
     btRigidBody rbA,
     btRigidBody rbB,
     Matrix4 frameInA,
     Matrix4 frameInB,
     boolean useLinearReferenceFrameA) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createGeneric6DofSpringConstraint(
           swigCPtr,
           this,
           btRigidBody.getCPtr(rbA),
           rbA,
           btRigidBody.getCPtr(rbB),
           rbB,
           frameInA,
           frameInB,
           useLinearReferenceFrameA);
   return (cPtr == 0) ? null : new btGeneric6DofSpringConstraint(cPtr, false);
 }
 public int getNumRigidBodies() {
   return ExtrasJNI.btWorldImporter_getNumRigidBodies(swigCPtr, this);
 }
 public btCollisionShape getCollisionShapeByIndex(int index) {
   long cPtr = ExtrasJNI.btWorldImporter_getCollisionShapeByIndex(swigCPtr, this, index);
   return (cPtr == 0) ? null : btCollisionShape.newDerivedObject(cPtr, false);
 }
 public int getNumCollisionShapes() {
   return ExtrasJNI.btWorldImporter_getNumCollisionShapes(swigCPtr, this);
 }
 public int getVerboseMode() {
   return ExtrasJNI.btWorldImporter_getVerboseMode(swigCPtr, this);
 }
 public void setVerboseMode(int verboseMode) {
   ExtrasJNI.btWorldImporter_setVerboseMode(swigCPtr, this, verboseMode);
 }
 public void deleteAllData() {
   ExtrasJNI.btWorldImporter_deleteAllData(swigCPtr, this);
 }
 public btOptimizedBvh createOptimizedBvh() {
   long cPtr = ExtrasJNI.btWorldImporter_createOptimizedBvh(swigCPtr, this);
   return (cPtr == 0) ? null : new btOptimizedBvh(cPtr, false);
 }
 public btTriangleIndexVertexArray createTriangleMeshContainer() {
   long cPtr = ExtrasJNI.btWorldImporter_createTriangleMeshContainer(swigCPtr, this);
   return (cPtr == 0) ? null : new btTriangleIndexVertexArray(cPtr, false);
 }
 public btCollisionShape createConvexTriangleMeshShape(btStridingMeshInterface trimesh) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createConvexTriangleMeshShape(
           swigCPtr, this, btStridingMeshInterface.getCPtr(trimesh), trimesh);
   return (cPtr == 0) ? null : btCollisionShape.newDerivedObject(cPtr, false);
 }
 public btGImpactMeshShape createGimpactShape(btStridingMeshInterface trimesh) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createGimpactShape(
           swigCPtr, this, btStridingMeshInterface.getCPtr(trimesh), trimesh);
   return (cPtr == 0) ? null : new btGImpactMeshShape(cPtr, false);
 }
 public btCompoundShape createCompoundShape() {
   long cPtr = ExtrasJNI.btWorldImporter_createCompoundShape(swigCPtr, this);
   return (cPtr == 0) ? null : new btCompoundShape(cPtr, false);
 }
 public btTriangleIndexVertexArray createMeshInterface(btStridingMeshInterfaceData meshData) {
   long cPtr =
       ExtrasJNI.btWorldImporter_createMeshInterface(
           swigCPtr, this, btStridingMeshInterfaceData.getCPtr(meshData), meshData);
   return (cPtr == 0) ? null : new btTriangleIndexVertexArray(cPtr, false);
 }
 public btCollisionObject getRigidBodyByIndex(int index) {
   return btCollisionObject.getInstance(
       ExtrasJNI.btWorldImporter_getRigidBodyByIndex(swigCPtr, this, index), false);
 }
 public btWorldImporter(btDynamicsWorld world) {
   this(ExtrasJNI.new_btWorldImporter(btDynamicsWorld.getCPtr(world), world), true);
 }
 public int getNumConstraints() {
   return ExtrasJNI.btWorldImporter_getNumConstraints(swigCPtr, this);
 }
 public btTriangleInfoMap createTriangleInfoMap() {
   long cPtr = ExtrasJNI.btWorldImporter_createTriangleInfoMap(swigCPtr, this);
   return (cPtr == 0) ? null : new btTriangleInfoMap(cPtr, false);
 }