Skip to content

Releases: stephengold/Minie

7.2.0

24 Jan 21:38
Compare
Choose a tag to compare
  • Bugfix: PhysicsCollisionObject.findInstance() creates a weak global reference that's never deleted
  • Bugfix: DynamicAnimControl.totalMass() returns NaN even when the control is added to a Spatial
  • Bugfix: weak global references in PhysicsCollisionObject and MultiBody are never deleted
  • Added 2 new methods:
    • CollisionSpace.jniEnvId()
    • NativeLibrary.jniEnvId()
  • Updated the native libraries to v17.5.4 of Libbulletjme.

7.1.0

16 Jan 20:29
Compare
Choose a tag to compare
  • Added the capability to generate cylinder shapes in a ragdoll.
  • Publicized the RagUtils.makeRectangularSolid() method.
  • Added DynamicAnimControl tunings for a Mixamo rig.

7.0.2

03 Jan 05:16
Compare
Choose a tag to compare
  • Bugfix: NullPointerException in rebuildRigidBody() while de-serializing an old model
  • Bugfix: DacWizard doesn't write rotation orders to Java source code

7.0.1

02 Jan 03:26
Compare
Choose a tag to compare

Bugfix: NullPointerException in PhysicsCollisionObject.readPcoProperties()

7.0.0

24 Dec 23:07
Compare
Choose a tag to compare
  • API changes:

    • Privatized PhysicsCollisionObject.getCollisionFlags() (a native method)
    • Added the static qualifier to PersistentManifolds.listPointIds()
    • Renamed the public logger in the ConvexShape class to avoid conflict.
    • Added a 2nd argument to PhysicsBody.cloneJoints()
    • Corrected the return type of CharacterController.jmeClone()
    • Finalized 3 classes:
      • NativeSoftBodyUtil
      • PhysicsRayTestResult
      • PhysicsSweepTestResult
  • Bug fixes:

    • DynamicAnimControl may pass illegal arguments to MyMath.slerp()
    • assertion failure when toString() is invoked on a collision object or physics joint with no native object assigned
    • out-of-range exception upon re-entering DacWizard's "bones" screen with a different model
    • transforms are not updated for the getCalculatedOriginA() and getCalculatedOriginB() methods in the New6Dof class
    • getPhysicsLocationDp() and getPhysicsRotationDp() return incorrect values for a soft body
    • cloning bugs:
      • physics joints are cloned inaccurately
      • ignore lists are cloned inaccurately
      • cloning or rebuilding a collision object results in different collision flags
      • the feedback parameter of a Constraint isn't cloned
      • DacLinks is incompletely cloned
      • BoneLink.tmpMatrix is shared between clones
    • serialization bugs:
      • NullPointerException in PreComposer.read()
      • RigidBodyMotionState is never serialized
      • the pivot offsets of single-ended constraints are de-serialized incorrectly
      • PhysicsLink.density is never saved or loaded
      • the feedback parameter of a Constraint is never saved or loaded
      • the bindTransform and preComposer fields of a DacLinks are never saved or loaded
  • Publicized the PhysicsLink.velocity() method.

  • Added 9 double-precision setters:

    • CharacterController.warpDp()
    • MultiBodyCollider.setPhysicsLocationDp()
    • MultiBodyCollider.setPhysicsRotationDp(Matrix3d)
    • PhysicsCharacter.setPhysicsLocationDp()
    • PhysicsGhostObject.setPhysicsLocationDp()
    • PhysicsGhostObject.setPhysicsRotationDp() (2 signatures)
    • PhysicsRigidBody.setPhysicsRotationDp(Matrix3d)
    • PhysicsSoftBody.setPhysicsLocationDp()
  • Added 8 other double-precision methods:

    • CollisionShape.getScaleDp()
    • CollisionSpace.rayTestDp()
    • ManifoldPoints.getPositionWorldOnADp()
    • ManifoldPoints.getPositionWorldOnBDp()
    • PhysicsCollisionObject.getPhysicsRotationMatrixDp()
    • RigidBodyMotionState.getLocationDp()
    • RigidBodyMotionState.getOrientationMatrixDp()
    • RigidBodyMotionState.getOrientationQuaternionDp()
  • Added 6 other methods:

    • New6Dof.calculatedBasisA()
    • New6Dof.calculatedBasisB()
    • New6Dof.getRotationMatrix()
    • PhysicsCollisionObject.collisionFlags()
    • PhysicsDescriber.describeMatrix()
    • PhysicsDumper.dump(PhysicsJoint, String)
  • Added INFO-level log messages to the New6Dof and PhysicsRigidBody classes.

  • Made incremental improvements to the PhysicsDumper output format.

  • Strengthened argument validation.

  • Updated the native libraries to v17.4.0 of Libbulletjme.

  • Update DacWizard and VhacdTuner to use v0.9.32 of the jme3-utilities-nifty library.

  • Built using Gradle v7.6 .

6.2.0

14 Nov 00:58
Compare
Choose a tag to compare
  • Added 3 public methods:
    • PhysicsSpace.isCcdWithStaticOnly()
    • PhysicsSpace.setCcdWithStaticOnly()
    • NativeLibrary.countClampedCcdMotions()
  • Updated the native libraries to v17.0.0 of Libbulletjme.

6.1.0

01 Oct 17:10
Compare
Choose a tag to compare
  • Bugfix: PreComposer isn't properly cloned or serialized
  • Added library support for dynamic collision-shape splitting:
    • Added 8 public constructors:
      • ChildCollisionShape(Vector3f, CollisionShape)
      • CompoundMesh(CompoundMesh)
      • CompoundMesh(CompoundMesh, Vector3f)
      • GImpactCollisionShape(CompoundMesh, Vector3f)
      • HullCollisionShape(Vector3f...)
      • IndexedMesh(FloatBuffer)
      • MeshCollisionShape(boolean, CompoundMesh)
      • MultiSphere(Vector3f[], float...)
    • Added 17 other public methods:
      • ChildCollisionShape.split()
      • CollisionShape.aabbCenter()
      • CollisionShape.canSplit()
      • CollisionShape.scaledVolume()
      • CollisionShape.toSplittableShape()
      • CompoundCollisionShape.connectivityMatrix()
      • CompoundCollisionShape.countGroups()
      • CompoundCollisionShape.split()
      • CompoundMesh.maxMin()
      • CompoundMesh.split()
      • ConvexShape.toHullShape()
      • GImpactCollisionShape.split()
      • HullCollisionShape.split()
      • IndexedMesh.copyTriangle()
      • IndexedMesh.maxMin()
      • IndexedMesh.split()
      • MeshCollisionShape.split()
  • Other library enhancements:
    • Added the createGImpactShape() method to the CollisionShapeFactory class.
    • Added the pairTest() method to the CollisionSpace class.
    • Added the countMeshTriangles() method to the GImpactCollisionShape class.
  • Based on v8.2.0 of the Heart library.
  • Updated the native libraries to v16.3.0 of Libbulletjme.

6.0.1

30 Aug 05:03
Compare
Choose a tag to compare

Bugfix: DacLinks never re-enables hardware skinning (performance issue)

6.0.0

25 Aug 19:18
Compare
Choose a tag to compare
  • Protected the no-arg constructors of 6 abstract classes. (API changes)
  • Bugfix: issue #30 (NullPointerException after removing DynamicAnimControl from a Spatial)
  • Bugfix: I/O resources not safely closed in VHACDParameters.
  • Added V-HACD version 4 including the Vhacd4, Vhacd4Parameters, FillMode, and Vhacd4Hull classes plus a new HullCollisionShape constructor and a new CollisionShapeFactory method.
  • Added the VhacdTuner sub-project.
  • Added the toMap() method to the VHACDParameters class.
  • Updated the native libraries to v16.1.0 of Libbulletjme.

5.1.0

06 Aug 21:43
Compare
Choose a tag to compare
  • Bugfix: PhysicsRigidBody.setInverseInertiaLocal() and PhysicsRigidBody.updateMassProps() don't update the world inertia tensor
  • Bugfix: when rebuilding a rigid body, many properties are lost
  • Added a DynamicAnimControl mechanism to report the completion of a blend-to-kinematic operation.
  • Added the CompletionListener interface.
  • Added the RigidBodySnapshot class.
  • Added the setIgnoreList() method to the PhysicsCollisionObject class.
  • Added a simpler constructor to PhysicsSoftSpace.
  • Publicized the rebuildRigidBody() method.
  • Updated the native libraries to v16.0.0 of Libbulletjme.
  • Built using Gradle v7.5.1 .