Skip to content

Releases: stephengold/Libbulletjme

17.3.0

15 Dec 08:22
Compare
Choose a tag to compare
  • 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 bulletphysics/bullet3#4284

17.2.0

27 Nov 18:16
Compare
Choose a tag to compare
  • Added 4 double-precision accessors for physics objects:
    • CollisionSpace.rayTestDp()
    • ManifoldPoints.getPositionWorldOnADp()
    • ManifoldPoints.getPositionWorldOnBDp()
    • PhysicsGhostObject.setPhysicsRotationDp()
  • Added the Matrix3d math class.
  • Added the mult(Quatd, Quatd) and toRotationMatrix() methods to the Quatd class.
  • Added the combineWithParent() and transformInverseVector() methods to the TransformDp class.
  • Added the divideLocal() method to the Vec3d class.

17.1.0

17 Nov 17:25
Compare
Choose a tag to compare
  • Bugfix: getPhysicsLocationDp() returns wrong location for a soft body
  • Added 8 double-precision accessors for physics objects:
    • CharacterController.warpDp()
    • CollisionShape.getScaleDp()
    • MultiBodyCollider.setPhysicsLocationDp()
    • PhysicsCharacter.setPhysicsLocationDp()
    • PhysicsCollisionObject.getTransformDp()
    • PhysicsGhostObject.setPhysicsLocationDp()
    • PhysicsSoftBody.setPhysicsLocationDp()
    • RigidBodyMotionState.getLocationDp()
  • Added the TransformDp math class.
  • Added the isFiniteDouble() and isFinite(Vec3d) methods to the MyMath class.
  • Added the finite(Vec3d, String) method to the Validate class.

17.0.0 - CCD with static bodies made optional

12 Nov 17:41
Compare
Choose a tag to compare
  • Renamed the public logger in ConvexShape. (API change)
  • Renamed 2 protected fields in RigidBodySnapshot. (API changes)
  • Protected 5 no-arg constructors. (API changes)
  • Qualified 6 public classes as final. (API changes)
  • Privatized 27 protected fields in RigidBodySnapshot.
  • Added 3 new methods:
    • NativeLibrary.countClampedMotions()
    • PhysicsSpace.isCcdWithStaticOnly()
    • PhysicsSpace.setCcdWithStaticOnly()
  • Upgraded Node.js to v18.12.1

16.3.0

26 Sep 05:49
Compare
Choose a tag to compare
  • Bugfix: shape's scale isn't copied in HullCollisionShape.split()
  • Bugfix: shape's scale is ignored by ChildCollisionShape.split()
  • Bugfix: MeshCollisionShape.split() doesn't preserve scaling
  • Bugfix: GImpactCollisionShape.split() doesn't preserve scaling
  • Added the Generator class for randomization.
  • Added a 4-sphere constructor to the MultiSphere class.
  • Added 4 more math methods:
    • MyMath.fromAngles()
    • MyMath.isBetween()
    • MyMath.max()
    • RectangularSolid.halfExtents()
  • Added the root2 constant to the MyMath class.

16.2.1 - collision-shape splitting

22 Sep 21:27
Compare
Choose a tag to compare
  • Bugfix: assertion failure in VHACDHull after a failed decomposition

  • Added the pairTest() method to the CollisionSpace class.

  • Implemented collision-shape splitting:

    • Added split() methods to 7 classes:
      • ChildCollisionShape
      • CompoundCollisionShape
      • CompoundMesh
      • GImpactCollisionShape
      • HullCollisionShape
      • IndexedMesh
      • MeshCollisionShape
    • Added the canSplit() and toSplittableShape() methods to the CollisionShape class.
    • Added some constructors to 5 classes:
      • CompoundMesh
      • GImpactCollisionShape
      • HullCollisionShape
      • IndexedMesh
      • MeshCollisionShape
    • Added the toHullShape() method to the ConvexShape class.
  • Implemented center/volume estimation for collision shapes:

    • Added the aabbCenter() and scaledVolume() methods to the CollisionShape class.
    • Added the maxMin() method to the CompoundMesh class.
    • Added volumeConvex() methods to the DebugMeshCallback and DebugShapeFactory classes.
    • Added the copyTriangle() and maxMin() methods to the IndexedMesh class.
  • Added math classes:

    • DistinctVectorValues
    • MyVolume
    • RectangularSolid
    • Triangle
    • VectorSetUsingBuffer
  • Added math methods:

    • MyBuffer.covariance()
    • MyBuffer.maxMin()
    • MyBuffer.mean()
    • MyMath.cube()
    • MyMath.mid(float, float, float)
    • MyMath.min(float...)
    • MyMath.modulo(int, int)
    • MyMath.transformInverse() for a Triangle
    • the normal-and-displacement constructor for a Plane
    • Plane.pseudoDistance()
    • Vector3f.crossLocal()
    • Vector3f.distance()
    • Vector3f.mult(float, Vector3f)
    • Vector3f.mult(Vector3f)
  • Added the FastMath.QUARTER_PI constant.

  • Added the VectorSet interface.

  • Added supplemental V-HACD methods:

    • VHACDParameters.toMap()
    • Vhacd4Parameters.nextFillMode()
    • Vhacd4Parameters.toMap()
  • Updated the Bullet sourcecode to match SHA1 ID=dad061fc1 of the bullet3 project.

16.1.0 - V-HACD v4

12 Aug 07:25
Compare
Choose a tag to compare
  • Bugfix: I/O resources not safely closed in VHACDParameters.
  • Added V-HACD v4 without removing the classic version:
    • Added the Vhacd4, Vhacd4Hull, and Vhacd4Parameters classes.
    • Added the FillMode enum.
    • Added a new constructor for HullCollisionShape.
  • Added the setIgnoreList() method to the PhysicsCollisionObject class.
  • Added a simpler constructor to PhysicsSoftSpace.
  • Overrode the toString() method of VHACDParameters.
  • Publicized the rebuildRigidBody() method of the PhysicsRigidBody class.
  • Created per-class loggers for SoftBodyMaterial and SoftBodyWorldInfo.
  • Upgraded the GCC compilers used to build Linux natives:
    • Linux32 and Linux64 non-multithreaded, from v4.7.3 to v7.5.0
    • Linux_ARM32hf and Linux_ARM64, from v5.4.0 to v6.5.0
    • Linux64 multithreaded and Linux_ARM32 with software floating-point, from v5.4.0 to v7.5.0

16.0.0

04 Aug 20:38
Compare
Choose a tag to compare
  • Qualified 13 utility classes as final. (API changes)
  • Protected 2 constructors of SoftPhysicsJoint. (API changes)
  • Bugfix: PhysicsRigidBody.setInverseInertiaLocal() and PhysicsRigidBody.updateMassProps() don't update the world inertia tensor
  • Bugfix: static rigid body isn't rebuilt when assigned a positive mass
  • Bugfix: when rebuilding a rigid body, its ignore list is lost
  • De-privatized the setIgnoreCollisionCheck() method in PhysicsCollisionObject.

15.2.1

06 Jul 22:18
Compare
Choose a tag to compare
  • Bugfix: values of 3 ConfigFlag constants are out-of-date
  • Bugfix: Android native libraries are missing an object file
  • Bugfix: ConfigFlag.describe() ignores 3 flags
  • Added the DeformableSpace, MyShape, and ReducedDeformableBody classes.
  • Added constants SDF_MDF and SDF_RDN to the ConfigFlag class.
  • Added the tan() method to the FastMath class.
  • Added the isOdd() method to the MyMath class.
  • Added the removeSuffix() method to the MyString class.
  • Added a warning when the native library version is unexpected.
  • Updated the Bullet sourcecode to match SHA1 ID=a1d96646 of the bullet3 project.

15.1.0 - configure deactivation globally

06 Jun 09:13
Compare
Choose a tag to compare
  • Added accessors for global deactivation settings:
    • PhysicsBody.getDeactivationDeadline()
    • PhysicsBody.isDeactivationEnabled()
    • PhysicsBody.setDeactivationDeadline()
    • PhysicsBody.setDeactivationEnabled()
  • Added public setters for constraint pivots:
    • New6Dof.setPivotInA()
    • New6Dof.setPivotInB()