Skip to content

Releases: stephengold/jolt-jni

3.2.0

20 Sep 17:50
Compare
Choose a tag to compare
  • Added 3 classes for efficient/flexible contact listening:
    • ContactListenerList
    • EFilterMode
    • FilteredContactListener
  • Generalized 2 body-lock multi constructors to solve issue #25.
  • Added 4 methods to the BodyInterface class, for avoiding garbage:
    • getAngularVelocity(int, Vec3)
    • getLinearVelocity(int, Vec3)
    • getPosition(int, RVec3)
    • getRotation(int, Quat)
  • Added getRefCount() to the ConstShape interface.
  • Generalized 2 PhysicsSystem setters to accept null arguments.
  • Updated the Jolt-Physics sourcecode and assets to e594aad (=sg250918).
  • Updated the OSHI library to v6.9.0 .

3.1.0

09 Sep 00:22
Compare
Choose a tag to compare
  • Allow use of both close() and a cleaner thread in a single app.
  • Added interfaces:
    • ConstVehicleCollisionTester
    • ConstVehicleController
    • ConstWheel
  • Added public constructors and methods to the libraries.
  • Added run-time checks for the maximum number of jobs.

3.0.1

01 Sep 02:22
Compare
Choose a tag to compare

Bugfix: many CharacterRefC and CharacterVirtualRefC methods crash the JVM

3.0.0

30 Aug 20:13
Compare
Choose a tag to compare
  • API changes:

    • Deleted the ContactList class.
    • Deleted the deprecated constructor of StreamOutWrapper.
    • Re-designed the API of CharacterVsCharacterCollisionSimple.
    • Renamed 2 public getters in the PhysicsSystem class:
      • getOvbFilter()
      • getOvoFilter()
    • Renamed the EConstraintSpace.LocalToBodyCOM enum value.
    • Overrode the toRef() method in VehicleConstraintSettings.
    • Changed the return type of PhysicsMaterialResult.get().
    • Finalized the BcsResult, ConstraintResult, and SbcsResult classes.
    • Changed return types from concrete classes to interfaces:
      • BcsResult.get()
      • BodyLockRead.getBody()
      • CompoundShape.getSubShape()
      • CompoundShape.getSubShapes()
      • ConvexHullBuilder.getFaces()
      • ConvexHullShape.getPlanes()
      • PathConstraint.getPath()
      • PathConstraintSettings.getPath()
      • PhysicsSystem.getBodyLockInterface()
      • PhysicsSystem.getBodyLockInterfaceNoLock()
      • PhysicsSystem.getBroadPhaseQuery()
      • PhysicsSystem.getNarrowPhaseQuery()
      • PhysicsSystem.getNarrowPhaseQueryNoLock()
      • SbcsResult.get()
      • SixDofConstraint.getLimitsSpringSettings()
      • SoftBodyMotionProperties.getFace()
      • SoftBodyMotionProperties.getFaces()
  • Bugfixes:

    • Body.setAngularVelocity() sets the wrong velocity.
    • DebugRenderer invokes close() even if a cleaner is running.
    • Memory leak in the SpringSettings copy constructor.
    • Missing case in VehicleControllerSettings.newSettings().
    • Color.sGetDistinctColor() doesn't produce distinctive colors.
    • ShapeSettingsRef.getRtti() crashes the JVM.
  • Added classes:

    • BodyLockMultiBase
    • BodyLockMultiRead
    • BodyLockMultiWrite
    • CustomDebugRendererSimple
    • DebugRendererSimple
    • Geometry
    • GeometryRef
    • Lod
    • VehicleConstraintSettingsRef
  • Added interfaces:

    • ConstBodyLockInterface
    • ConstBodyLockInterfaceLocking
    • ConstBodyLockInterfaceNoLock
    • ConstBroadPhaseQuery
    • ConstChbFace
    • ConstLod
    • ConstNarrowPhaseQuery
    • ConstPathConstraintPath
    • ConstSubShape
    • ConstWheelSettingsWv
  • Added many public methods and constructors to the libraries.

  • Added run-time checks.

  • Updated the Jolt-Physics sourcecode and assets to 4366713 (sg250829)

2.2.0

10 Aug 19:02
Compare
Choose a tag to compare
  • Bugfixes:

    • JVM crash while trying to create an empty BodyIdArray
    • UnsatisfiedLinkError finalizing bulk add on Windows (issue #16)
  • New features:

    • BodyIdArray: add a length field and a getter for it and 3 constructors
    • BodyInterface: add 3 alternative signatures for methods
    • BroadPhase: add 3 alternative signatures for methods
    • add the ConstWheelSettingsTv interface
    • DistanceConstraintSettings: add alternative signatures for 2 setters
    • PhysicsSettings: add accessors for speculativeContactDistance (PR #12)
    • PhysicsSystem: add chaining to the init() method
    • QuatArg, RVec3Arg and Vec3Arg: add copyTo() methods
    • SoftBodyCreationSettings: add an alternate signature for setPosition()
    • SoftBodySharedSettings: add putRodIndices() methods
    • Support: add getConvexRadius() and getSupport()
    • VehicleConstraint: add 2 public getters
  • Build changes:

    • disable C++ runtime type information (RTTI) and C++ exceptions

2.1.0

25 Jul 01:17
Compare
Choose a tag to compare
  • Bugfixes:

    • PhysicsSystem.getPhysicsSystem() returns null after garbage collection
    • PhysicsSystem.setBodyActivationListener() doesn't accept a null argument
  • Added classes:

    • AaBoxCast
    • CastShapeBodyCollector
    • CollisionEstimationResult
    • CustomCastShapeBodyCollector
    • Impulse
    • OfStream
    • RayInvDirection
    • SimCollideBodyVsBody
    • SimShapeFilter
    • TriangleConvexSupport
  • Added interfaces:

    • ConstIndexedTriangle
    • ConstIndexedTriangleNoMaterial
    • ConstTriangle
    • ConstVertexList
  • Added many public methods and constructors to the libraries.

  • Made 4 customizable classes concrete.

  • Deprecated a StreamOutWrapper constructor.

  • Added runtime checks to prevent use of soft bodies in 2-body constraints.

  • Updated the Android NDK to r28c.

2.0.1

30 Jun 20:13
Compare
Choose a tag to compare
  • API changes:

    • Moved the getVertexRadius() and setVertexRadius() methods from SoftBodySharedSettings to SoftBodyCreationSettings
    • Made the DecoratedShape and DecoratedShapeSettings classes abstract.
    • Made various setters chainable.
  • Bugfixes:

    • StringStream doesn't handle NULs
    • race conditions in BodyInterface
    • logic error in the PhysicsMaterialSimple copy constructor
    • passing an empty collection to the ConvexHullShapeSettings constructor crashes the JVM
    • UnsatisfiedLinkError is thrown
    • SIGSEGV in getMassProperties() when the shape is null
    • PhysicsSystem never releases step listeners
    • the Parameters copy constructor doesn't copy enableDebugOutput
  • Added classes:

    • AddConvexRadiusTab
    • BcsResult
    • ConstraintResult
    • EpaPenetrationDepth
    • GroupFilterResult
    • GroupFilterToIdMap
    • IdToGroupFilterMap
    • IdToMaterialMap
    • IdToShapeMap
    • IdToSharedSettingsMap
    • MaterialToIdMap
    • PathResult
    • PhysicsMaterialResult
    • PointConvexSupport
    • Result
    • RodBendTwist
    • RodStretchSphere
    • Rtti
    • SbcsResult
    • SettingsResult
    • ShapeToIdMap
    • SharedSettingsToIdMap
    • Temporaries
    • TransformedConvexObject
    • TransformedAaBox
    • TransformedSphere
  • Added interfaces:

    • ConstBoxShapeSettings
    • ConstEdge
    • ConstPhysicsSettings
    • ConstRodBendTwist
    • ConstRodStretchSphere
    • ConstSerializableObject
    • ConstSoftBodyManifold
    • ConstSphere
    • ConstSpringSettings
    • ConstVehicleAntiRollBar
    • ConstVehicleConstraintSettings
    • ConstVehicleControllerSettings
    • ConstVertex
    • ConstVolume
  • Added many public methods and constructors to the libraries.

  • Updated the Jolt source code and assets to 2405ff1 (sg250628).

  • Updated the OSHI library to v6.8.2 .

1.0.0

18 May 14:54
Compare
Choose a tag to compare

I believe Jolt JNI is stable enough for production use.

  • Add 5 public methods:

    • SoftBodyCreationSettings.setUserData()
    • SoftBodyCreationSettings.getNumIterations()
    • SoftBodyCreationSettings.getUserData()
    • VertexAtrributes.setBendCompliance()
    • VertexAtrributes.setLraMaxDistanceMultiplier()
  • Add chaining to 4 setters:

    • SpringSettings.setDamping()
    • SpringSettings.setFrequency()
    • SpringSettings.setMode()
    • SpringSettings.setStiffness()

0.9.10

29 Apr 04:16
Compare
Choose a tag to compare
  • API change:

    • remove the MapObj2Bp class (use BroadPhaseLayerInterfaceTable instead)
  • Bugfixes:

    • Shape.copyDebugTriangles() doesn't account for the center-of-mass
    • infinite recursion colliding triangle with triangle (JoltPhysics issue 1620)
  • Added 4 classes:

    • BroadPhaseLayerInterfaceTable
    • ObjectLayerPairFilterTable
    • ObjectVsBroadPhaseLayerFilterTable
    • OrientedBox
  • Added some public methods to the libraries.

  • Declared an open module that exports all packages.

  • Updated the Jolt source code and assets to 2dcab94 (=sg250427).

  • Updated the OSHI library to v6.8.1 .

0.9.9

13 Apr 13:58
Compare
Choose a tag to compare
  • API changes:

    • Began representing body IDs, character IDs, and sub-shape IDs
      using int primitives instead of objects.
    • Removed the BodyId, CharacterId, and SubShapeId classes.
    • Removed the ConstBodyId interface.
    • Moved the sSetNextCharacterId() method from CharacterId to Jolt.
    • Added chaining to 15 public setters in the SoftBodyCreationSettings class.
    • Altered the return types and/or semantics of 14 other methods:
      • Body.getCollisionGroup()
      • Body.setCollisionGroup()
      • CollisionGroup.getGroupFilter()
      • ConstBodyCreationSettings.getMassPropertiesOverride()
      • ConstCharacterVirtual.getActiveContacts()
      • ConstContact.getCharacterB()
      • Skeleton.getJoint()
      • Skeleton.getJoints()
      • SkeletonRef.getJoint()
      • SkeletonRef.getJoints()
      • SoftBodyCreationSettings.getSettings()
      • SoftBodyMotionProperties.getFace()
      • SoftBodyMotionProperties.getFaces()
      • SoftBodyMotionProperties.getSettings()
    • Generalized 2 methods:
      • SoftBodyCreationSettings.setCollisionGroup()
      • BodyCreationSettings.setCollisionGroup()
  • Bugfixes:

    • unimplemented CharacterVirtual.getTransformedShape()
    • 2 logic errors in CustomCharacterContactListener
    • assertion failure in JoltPhysicsObject while creating a SoftBodyVertex
  • Added 2 interfaces:

    • ConstCollisionGroup
    • ConstGroupFilter
  • Added many public methods to the libraries.