Releases: stephengold/Minie
9.0.3
9.0.2
- Added argument validation to
PhysicsRigidBody.setPhysicsScale(). (issue #47) - Bypassed an unhelpful warning during
PhysicsRigidBody.read(). - Updated the native libraries to v22.0.3 of Libbulletjme.
- Updated the Gradle build tool to v9.2.1; JDK 17+ is now required to build.
- Updated dependencies:
- v3.8.1-stable of JMonkeyEngine,
- v3.1.14 of Antora, and
- v24.11.1 of Node.js .
9.0.1
9.0.0
-
Updated the native libraries to v22.0.1 of Libbulletjme, eliminating support for three 32-bit desktop platforms (Linux32, MacOSX32, and Windows32) and also some old 64-bit Linux distributions (such as Ubuntu Focal).
-
Updated dependencies:
- v3.7.0-stable of JMonkeyEngine,
- v9.2.0 of the Heart library,
- v3.1.10 of Antora, and
- v22.14.0 of Node.js .
8.2.0
- Bugfix: logic error in
CollisionShape.nativeMargin() - Disallowed GImpact shapes with zero triangles.
- Publicized the
CollisionSpace.setLocalThreadPhysicsSpace()method, so apps creating spaces on multiple threads can stop a memory leak. - Updated dependencies:
- v9.1.0 of the Heart library.
8.1.0
-
Bugfix: JVM crash while serializing
BoundingValueHierarchy(issue #41) -
Bugfix: crash in
processAllTriangles()whenm_bvh==NULL(issue #43) -
Bugfix: wrong inertia for a
CustomConvexShapewhenmass != 1 -
Changed the default setting for collision-shape contact filtering (from enabled to disabled) to address issue #40. This change may cause unwanted behavior for rigid bodies in contact with a gimpact, heightfield, or mesh shape; see issue #18 for details.
-
Started regenerating the bounding-value hierarchy if it was serialized with a different floating-point precision.
-
Bugfix: the RK4 flag of a
MultiBodyisn't de-serialized -
Added 2 convex collision shapes:
ConicalFrustumSphericalSegment
-
Made BVH serialization optional:
MeshCollisionShape.isSerializingBvh()MeshCollisionShape.setSerializingBvh()
-
Added a setting to visualize the collision margins of concave shapes.
-
Added the new
CollisionConfigurationclass and related methods, to configure penetration depth solvers:BulletAppState.getCollisionConfiguration()BulletAppState.setCollisionConfiguration()CollisionSpace.getConfiguration()PhysicsDescriber.describe(CollisionConfiguration)- a 5-argument
CollisionSpaceconstructor - a 4-argument
PhysicsSoftSpaceconstructor - a pair of 5-argument
PhysicsSpaceconstructors
-
Added 14 accessors for the native user indices of
CollisionShape,MultiBody, andPhysicsCollisionObject. -
Added 20 other public methods:
BoundingValueHierarchy.copyAabb()BoundingValueHierarchy.copyQuantization()BoundingValueHierarchy.countLeafNodes()BoundingValueHierarchy.countNodes()BoundingValueHierarchy.countSubtreeHeaders()BoundingValueHierarchy.escapeIndex()BoundingValueHierarchy.isCompressed()BoundingValueHierarchy.isLeafNode()BoundingValueHierarchy.partId()BoundingValueHierarchy.setTraversalMode()BoundingValueHierarchy.traversalMode()BoundingValueHierarchy.triangleIndex()GImpactCollisionShape.countSubmeshes()GImpactCollisionShape.getSubmesh()HeightfieldCollisionShape.countColumns()HeightfieldCollisionShape.countRows()HeightfieldCollisionShape.upAxis()MeshCollisionShape.countSubmeshes()MeshCollisionShape.getBvh()MeshCollisionShape.getSubmesh()
-
Enhancements to the MinieExamples subproject:
- Added 2 test apps:
TestIssue40TestIssue41
- Added 3 custom collision shapes:
CustomLemonCustomParaboloidCustomSegment
- Added more options to the
ShapeGeneratorclass and also to theDropTestandSplitDemoapps. - Started displaying the number of persistent manifolds in the
DropTestapp. - Reduced the CCD motion threshold in the
DropTestapp. - Added getters for the dimensions of custom collision shapes.
- Made 4 custom collision shapes more scalable.
- Added margin to the radii of custom collision shapes.
- Added 2 test apps:
-
Updated dependencies: v3.0.1 of the jme-ttf library and v20.13.0 of Node.js .
-
Built using Gradle v8.7 .
-
Updated the native libraries to v21.2.1 of Libbulletjme.
-
Updated VHACD v4 to version 4.1 .
8.0.0
-
Deleted 9 public methods that had previously been deprecated: (API changes)
CollisionShape.getObjectId()CollisionSpace.getSpaceId()PhysicsCollisionObject.getObjectId()PhysicsCollisionObject.listIgnoredIds()PhysicsCollisionObject.setIgnoreList()PhysicsJoint.getObjectId()RigidBodyMotionState.getObjectId()RotationalLimitMotor.getMotor()TranslationalLimitMotor.getMotor()
-
Privatized the
setIgnoreCollisionCheck()method in thePhysicsCollisionObjectclass. (API change) -
Added the capability to define custom collision shapes using JVM code:
- Added the (abstract)
CustomConvexShapeclass. - Modified
PhysicsDescriberto recognize custom shapes.
- Added the (abstract)
-
Bugfix:
CharacterController.onGround()returns false positives after stepping (not jumping) off a cliff -
Added runtime checks to
MeshCollisionShapefor meshes that are too complex. -
The "+big3" build flavor was replaced with "+big4" that includes native binaries for MacOSX_ARM64.
-
Changed how meshes for debug visualization are generated:
- Added an
IndexedMeshconstructor to efficiently generate visualization meshes for collision shapes. - Replaced
DebugMeshCallbackwithIndexedMeshinDebugShapeFactory. - Deprecated the
DebugMeshCallbackclass.
- Added an
-
Added 10 new public methods:
BetterCharacterControl.getInitialHeight()BetterCharacterControl.getInitialRadius()CompoundMesh.countSubmeshes()CompoundMesh.getSubmesh()IndexedMesh.copyTriangles()IndexedMesh.distinctVertices()IndexedMesh.footprint()IndexedMesh.maxDistance()IndexedMesh.surfaceArea()IndexedMesh.volumeConvex()
-
Updated to depend on v9.0.0 of the Heart library.
-
Updated the native libraries to v20.1.0 of Libbulletjme.
7.8.1
- Bugfix: BVH algorithm fails
- Updated the native libraries to v18.6.1 of Libbulletjme.
7.8.0
- Bugfix:
PhysicsCharacterdisregards ignore lists - Bugfix:
makeMergedMesh()uses theJME_PHYSICSIGNOREtag differently from other methods inCollisionShapeFactory - Added the
ContactManagerinterface and split off theDefaultContactManagerclass the from thePhysicsSpaceclass. - Optimized
PhysicsSpaceto instantiate collision events only when a corresponding listener is registered. - Added a 4-argument
addContactListener()method to thePhysicsSpaceclass. - Based on v8.8.0 of the Heart library.
- Updated the native libraries to v18.6.0 of Libbulletjme.
7.7.0
- Fixed bugs:
NullPointerExceptionafter rebuilding aDynamicAnimControl- unhelpful warnings while cloning a
PhysicsRigidBody
- Added to the library:
- the
MinkowskiSumcollision shape - the
ClassFilterclass, for filtering physics objects
- the
- Specified a more precise return type for
Convex2dShape.getBaseShape() DynamicAnimControlnow logs a warning if armature scaling exceeds 1%.- Based on v3.6.1-stable of JMonkeyEngine and v8.7.0 of the Heart library.
- Updated the native libraries to v18.5.2 of Libbulletjme.