Libbulletjme Versions Save

A JNI interface to Bullet Physics and V-HACD

18.5.2

9 months ago
  • Added a MyMath.clamp() method with int arguments.
  • Exposed the IndexBuffer wrap constructor to subclasses.
  • Modified MinkowskiSum.createShape() to avoid generating a warning message.

18.4.0

11 months ago
  • Added support for btMinkowskiSumShape via new class MinkowskiSum.
  • Added the protected nativeMargin() method to the CollisionShape class.
  • Changed the return type of the getBaseShape() method in the Convex2dShape class.

18.3.0

11 months ago
  • Bugfix: MyQuaternion.isRotationIdentity() accepts NaNs
  • New capability to dump physics objects for debug purposes, which entailed addition of the following classes/methods from Heart/Minie:
    • Describer
    • Dumper
    • DumpFlags
    • MyBuffer.frequency()
    • MyPco
    • MyQuaternion.describe()
    • MyString.axisName()
    • MyString.describe()
    • MyString.describeFraction()
    • MyString.describeMatrix()
    • MyVector3f.describe()
    • MyVector3f.describeDirection()
    • PhysicsDescriber
    • PhysicsDumper
  • Better 3-D rotations and transformations by adding 5 methods from Heart:
    • MyQuaternion.rotate()
    • MyQuaternion.rotateInverse()
    • MyMath.combine()
    • MyMath.transform()
    • MyMath.transformInverse()
  • Deprecated the corresponding math methods:
    • Quaternion.multLocal(Vector3f)
    • Quaternion.mult(Vector3f, Vector3f)
    • Transform.combineWithParent()
    • Transform.transformInverseVector()
    • Transform.transformVector()
  • Other methods added:
    • GImpactCollisionShape.countMeshTriangles()
    • Transform.setScale(Vector3f)
    • Validate.standardAngle()

18.2.1

1 year ago

18.1.0

1 year ago
  • Bugfix: ignored collision objects get garbage-collected prematurely
  • Added the isForceUpdateAllAabbs() and setForceUpdateAllAabbs() methods to the CollisionSpace class, to provide an (optional) optimization.
  • Added the listIgnoredPcos() and setIgnoreList(PhysicsCollisionObject[]) methods to the PhysicsCollisionObject class and deprecated the listIgnoredIds() and setIgnoreList(long[]) methods.
  • Deprecated the isFinite(Vec3d) method in the MyMath class.
  • Added various checks, including a few for the threading model.

18.0.0

1 year ago
  • Renamed 6 methods in the Java-native interface, to avoid underscores:
    • CollisionSpace.notifyCollisionGroupListeners_native()
    • CollisionSpace.rayTest_native()
    • CollisionSpace.sweepTest_native()
    • PhysicsGhostObject.addOverlappingObject_native()
    • PhysicsSpace.postTick_native()
    • PhysicsSpace.preTick_native()
  • Changed the Java API:
    • Added a static qualifier to the listPointIds() method in the PersistentManifolds class.
    • Privatized the getCollisionFlags() method in the PhysicsCollisionObject class.
  • Bugfix: jmeCollisionSpace::m_pEnv gets modified during callbacks
  • Publicized another constructor of the IndexedMesh class.

17.5.4

1 year ago
  • Build MacOSX_ARM64 natives for release using Xcode 12.3 .
  • Build MacOSX64 natives for release using Xcode 9.4.1 .

17.5.2

1 year ago

NOTE: something is wrong with the MacOS native libraries for this release. Use the 17.5.4 release instead.

  • Bugfix: PhysicsCollisionObject.findInstance() creates a weak global reference that's never deleted.
  • Bugfix: weak global references in PhysicsCollisionObject and MultiBody are never deleted.
  • Bugfix: assertion failure when toString() is invoked on an unassigned joint
  • Added 5 new methods:
    • CollisionSpace.jniEnvId()
    • CompoundCollisionShape.connectivityMatrix()
    • CompoundCollisionShape.countGroups()
    • NativeLibrary.jniEnvId()
    • New6Dof.getRotationMatrix()
  • Build Windows natives for release using Visual Studio 2022 .
  • Build 64-bit MacOSX natives for release using Xcode 14.2 .
  • Throw Java exceptions (instead of crashing the JVM with btAssert()) in the JNI glue code.
  • Improved handling of Java exceptions in the JNI glue code.

17.4.0

1 year ago
  • Bugfix: transforms not updated for the getCalculatedOriginA() and getCalculatedOriginB() methods in the New6Dof class
  • Bugfix: Quatd.isRotationIdentity() accepts NaNs
  • Bugfix: toString() fails for an unassigned PhysicsCollisionObject
  • Bugfix: PhysicsCollisionObject.copyPcoProperties() results in different collision flags
  • Added 4 new methods:
    • New6Dof.calculatedBasisA()
    • New6Dof.calculatedBasisB()
    • PhysicsCollisionObject.collisionFlags()
    • Vec3d.isFinite()
  • Reduced the likelihood of hash collisions in Matrix3d.
  • Made the result of PhysicsCollisionObject.toString() more concise.

17.3.0

1 year ago
  • Bugfix: getPhysicsRotationDp() returns wrong rotation for a soft body
  • Overrode the equals() and hashCode() methods of the Matrix3d class.
  • Added 6 double-precision accessors for physics objects:
    • MultiBodyCollider.setPhysicsRotationDp()
    • PhysicsCollisionObject.getPhysicsRotationMatrixDp()
    • PhysicsGhostObject.setPhysicsRotationDp(Matrix3d)
    • PhysicsRigidBody.setPhysicsRotationDp(Matrix3d)
    • RigidBodyMotionState.getOrientationMatrixDp()
    • RigidBodyMotionState.getOrientationQuaternionDp()
  • Added 4 new math methods:
    • Matrix3d.isIdentity()
    • Quatd.isRotationIdentity()
    • Quatd.isZero()
    • Validate.nonZero(Quatd)
  • Dramatically simplified the jmeBulletUtil native class.
  • Integrated https://github.com/bulletphysics/bullet3/pull/4284