@wnbittle wnbittle released this Apr 15, 2018

Assets 3

This release was focused on Java 9, OSGi, and Maven but also includes some behavior changes and performance improvements.

For those just using the library, the behavior changes to be aware of are:

  • The GJK algorithm has changed slighty. It now exits after N number of iterations. This has been changed to ensure that the algorithm doesn’t run forever in some rare instances. If you need to go back to the original behavior you can set the maximum number of iterations to Integer.MAX_VALUE, but it’s not recommended.
  • The ContactListener.sensed method is deprecated now and is no longer being called. Instead, you will get notifications of sensed contacts through the other methods (begin, persist, etc.). This was done so that sensed contacts have the same lifecycle as normal contacts. There’s a flag on the Contact argument that flags the contact as a sensor contact.
  • Some of the ContactListener methods should return true or false, indicating whether the contact should be solved or not. The behavior here has changed a bit. Before 3.3.0 the processing of that contact would halt whenever false was returned and drop the contact. The new behavior is that the contact proceeds as normal through the pipeline, but is just disabled from contact resolution. The effect is the same, apart from the fact that all caching information and the contact’s state is retained.

@wnbittle wnbittle released this May 2, 2017 · 31 commits to master since this release

Assets 3

This is a maintenance release that fixes issue #26

@wnbittle wnbittle released this Sep 4, 2016 · 38 commits to master since this release

Assets 3

This is a maintenance release that fixes issues #20 and #21

@wnbittle wnbittle released this Jun 20, 2016 · 47 commits to master since this release

Assets 3

This release is primarily for a new collision shape called Link. This shape extends the existing Segment shape and provides for smooth sliding across chains of Links.

Fixes #19

@wnbittle wnbittle released this Nov 25, 2015 · 57 commits to master since this release

Assets 3

Added PulleyJoint.setLength, WheelJoint.getAngularTranslation, and WheelJoint.getLinearSpeed methods. Rewrote all the joint class level javadocs for better understanding and use.

Included bug fixes:

  1. Local rotation of Polygon, Rectangle, and Segment shapes would update the shape normals incorrectly when under any translation.
  2. The Rectangle.getRotation() method returned the opposite sign of its true rotation.

@wnbittle wnbittle released this Nov 25, 2015 · 61 commits to master since this release

Assets 3

Performance enhancements, API clean up, and lots of javadoc updates. The most visible API changes are: Mass.Type has been renamed to MassType, Body.setMass() has been deprecated in favor of Body.setMass(MassType), and MouseJoint has been renamed to PinJoint.

@wnbittle wnbittle released this Nov 25, 2015 · 132 commits to master since this release

Assets 3

Small performance improvements.

Included bug fixes:

  1. The raycast(Ray,double,boolean,boolean,List) method calling itself.

@wnbittle wnbittle released this Nov 25, 2015 · 142 commits to master since this release

Assets 3

Added a new update(double, int) method on the World class to allow executing any number of steps within the given elapsed time.

Included bug fixes:

  1. WeldJoint class when using two bodies with fixed angular velocity.
  2. NullPointerException in the World.detect() methods.
  3. EarClipping class creating near-colinear vertices causing it to fail.
  4. Bayazit class selecting a non-visible closest vertex causing it to fail.

@wnbittle wnbittle released this Nov 25, 2015 · 149 commits to master since this release

Assets 3

Added a Triangulator interface to allow triangulation along with convex decomposition for the EarClipping and SweepLine classes. Added a bunch of overloads to the World.detect, World.raycast, and World.convexCast methods to enhance control and performance.

Included bug fixes:

  1. NullPointerException in the SweepLine class when two vertices has identical y values.
  2. Additional edges being added at the end when using the EarClipping class.
  3. The Interval.intersection(Interval) method performing a union instead of intersection.
  4. Infinite loop in the SweepLine class due to incorrect sort condition.
  5. The World.convexCast method exiting early in certain cases.

@wnbittle wnbittle released this Nov 25, 2015 · 172 commits to master since this release

Assets 3

Added Body.getFixture(Vector2) and Body.getFixtures(Vector2) methods.

Included bug fixes:

  1. The Vector2.distance(double, double) method performing the wrong calculation.
  2. The Body.applyImpulse(Vector2, Vector2) method not waking up the body.