public SWIGTYPE_p_btDiscreteDynamicsWorld getDiscreteDynamicsWorld()
        {
            IntPtr cPtr = BulletSoftBodyPINVOKE.btSoftRigidDynamicsWorld_getDiscreteDynamicsWorld(swigCPtr);
            SWIGTYPE_p_btDiscreteDynamicsWorld ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_btDiscreteDynamicsWorld(cPtr, false);

            return(ret);
        }
        // convert swigtype to object , linyuan add
        public static btDiscreteDynamicsWorld GetObjectFromSwigPtr(SWIGTYPE_p_btDiscreteDynamicsWorld ptr)
        {
            HandleRef handle = SWIGTYPE_p_btDiscreteDynamicsWorld.getCPtr(ptr);
              if (handle.Wrapper == null || handle.Handle == IntPtr.Zero)
              {
              return null;
              }

              return new btDiscreteDynamicsWorld(handle.Handle, false);
        }
 internal static HandleRef getCPtr(SWIGTYPE_p_btDiscreteDynamicsWorld obj)
 {
     return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }
 internal static HandleRef getCPtr(SWIGTYPE_p_btDiscreteDynamicsWorld obj)
 {
     return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr);
 }