Releases: stephengold/Minie
Releases · stephengold/Minie
5.0.1
- Bugfix: static rigid body misbehaves after being assigned a positive mass
- Bugfix:
DynamicAnimComposer
withSceneComposer
exhibits glitches during blends to kinematic mode - Bugfix: when rebuilding a rigid body, its ignore list is lost
- Based on v8.1.0 of the Heart library.
5.0.0
-
Replaced the "+ano" build with a "+droid" build that includes Java classes.
-
Changes to the library API:
- Replaced the
DebugMeshNormals
enum withMeshNormals
(from Heart). - Protected the no-arg constructors of the
DacConfiguration
andDacLinks
classes. - Protected the public constructors of 3 classes:
AbstractPhysicsDebugControl
IKController
SoftPhysicsJoint
- Qualified 17 utility classes as
final
. - Removed the
static
qualifier from the protectedcreateWireMaterial()
method of theBulletDebugAppState
class. - Deleted the deprecated
setContractCalcArea3Points()
method of thePhysicsCollisionEvent
class.
- Replaced the
-
Library bugfixes:
PhysicsCharacter.onGround()
is unreliable (see issue stephengold/Libbuletjme#18)TorsoLink
continues writing the model transform after a blend to kinematic completesDynamicAnimControl
rebuilds the ragdoll for minute changes to bone scalingTorsoLink
plays some bone animations, even in dynamic mode- outdated constant values in
ConfigFlag
DynamicAnimControl
is still marked "ready" after removal from thePhysicsSpace
DebugMeshCallback.maxDistance()
modifies the vertex listConfigFlag.describe()
ignores 3 flags
-
Other library improvements:
- Warn if the native library version differs from the expected version.
- Throw an exception in
AbstractPhysicsControl.jmeClone()
if the control is added to aPhysicsSpace
. - Add capability to specify the main bone of a ragdoll, which needn't be a root bone.
- Added accessors for global deactivation settings:
PhysicsBody.getDeactivationDeadline()
PhysicsBody.isDeactivationEnabled()
PhysicsBody.setDeactivationDeadline()
PhysicsBody.setDeactivationEnabled()
- Added debug visualizations of rigid-body angular velocities and soft-body wind velocities.
- Added a "relative tolerance" parameter to
DynamicAnimControl
. - Reimplemented
BulletDebugAppState
usingBaseAppState
. - Added the
DeformableSpace
class that supports both multibodies and soft bodies. - Added
SDF_MDF
andSDF_RDN
bitmasks toConfigFlag
.
-
Updated the project URL in the POM.
-
Based on v8.0.0 of the Heart library.
-
Updated the native libraries to v15.2.1 of Libbulletjme.
4.9.0
- Eliminated the last dependency on JCenter!
- Bugfix:
IllegalArgumentException
caused by slerps inTorsoLink
- Changed
CollisionShapeFactory
to skip meshes without triangles. - Added the
GearJoint
class. - Based on:
- v3.5.2-stable of JMonkeyEngine,
- v1.5.0 of the SimMath library,
- v7.6.0 of the Heart library,
- v0.9.15 of the Acorus library, and
- v0.9.29 of the jme3-utilities-nifty library.
- Updated the native libraries to v14.3.0 of Libbulletjme.
4.8.1
4.8.0
- Added native libraries for the MacOSX_ARM64 platform, so that Minie applications can run on "Apple Silicon" Macs.
- Created the "+ano" (Android natives only) build, for use in Android signed bundles (for distribution via Google Store).
- Added the
contactErp()
,jointErp()
,setContactErp()
, andsetJointErp()
methods to theSolverInfo
class, to give applications better control over joint elasticity. - Based on v3.5.1-stable of JMonkeyEngine.
- Updated the native libraries to v14.1.0 of Libbulletjme.
4.7.1
- Bugfix:
PhysicsCollisionEvent.getNormalWorldOnB()
returns wrong value - Bugfix: issue #20 (
btAssert
fails afterHingeJoint.setAngularOnly(true)
) - Added the
needsCollision()
method to theCollisionSpace
class. This method can be overridden for dynamic collision filtering. - Added the
ContactListener
interface for immediate handling of rigid-body contacts. - Added the
ManifoldPoints
utility class to access the properties of a contact point without instantiating aPhysicsCollisionEvent
. - Added the
PersistentManifolds
utility class to access the properties of a contact manifold. - Added 8 methods to the
PhysicsSpace
class:addContactListener(ContactListener)
countManifolds()
listManifolds()
onContactEnded(PhysicsCollisionObject, PhysicsCollisionObject, long)
onContactProcessed(PhysicsCollisionObject, PhysicsCollisionObject, long)
onContactStarted(PhysicsCollisionObject, PhysicsCollisionObject, long)
removeContactListener(ContactListener)
update(float, int, boolean, boolean, boolean)
to enable callbacks to specificContactListener
methods
- Deprecated the
PhysicsCollisionEvent.setContactCalcArea3Points()
method in favor of the correspondingManifoldPoints
method. - Deleted placeholder files from class jars.
- Added the
ConveyorDemo
andJointElasticity
apps to MinieExamples. - Based on:
- v7.4.1 of the Heart library,
- v0.7.1 of the Wes library,
- v0.9.10 of the Acorus library, and
- v0.9.27 of the jme3-utilities-nifty library.
- Built using Gradle v7.4.1 .
- Updated the native libraries to v14.0.0 of Libbulletjme.
4.6.1
- Restored support for the MacOSX32 platform.
- Based on:
- v3.5.0-stable of JMonkeyEngine,
- v7.2.0 of the Heart library,
- v0.6.8 of the Wes library,
- v0.9.6 of the jme3-utilities-ui library, and
- v0.9.24 of the jme3-utilities-nifty library.
- Updated the native libraries to v12.7.1 of Libbulletjme, which include the fix for bullet3 issue 4117.
4.6.0
- Bugfix: issue #19 (zero-thickness mesh shape crashes the JRE)
- Dropped support for the MacOSX32 platform.
- Based on v3.4.1-stable of JMonkeyEngine.
- Added the
isInsideTriangle()
method to theNativeLibrary
class. - Guarded some low-level logging code to improve efficiency.
- Updated the native libraries to v12.6.0 of Libbulletjme, which includes Bullet updates through 13 November 2021.
4.5.0
- Bugfix: invalid contact points for heightfield/mesh/Gimpact shapes (issue #18)
- Added a flag to disable contact filtering on a per-shape basis.
- Cached the methods that free native objects, to improve performance.
- Added a mesh customization API to the
DebugShapeFactory
class, to support (for example) debug materials that need barycentric coordinates. - Publicized the
worldMax()
andworldMin()
methods in theBulletAppState
class. - Added accessors to the
CollisionSpace
class for the collision dispatcher's "deterministic" option. - Made all native physics objects
Comparable
(for use in collections). - Added the
setPivotInB()
method to theAnchor
class. - Updated the native libraries to v12.5.0 of Libbulletjme.
4.5.0-test1
- Bugfix: invalid contact points for heightfield/mesh shapes (issue #18)
- Added a flag to disable contact filtering on a per-shape basis.
- Added accessors to the
CollisionSpace
class for the collision dispatcher's "deterministic" option. - Made all native physics objects
Comparable
(for use in collections). - Updated the native libraries to v12.4.1 of Libbulletjme.