ode4j is a free Java port of ODE. ODE is an open source, high performance library for simulating rigid body dynamics.
ode4j is fully featured, stable, mature and platform independent with an easy to use C/C++ API. ode4j has advanced joint types and integrated collision detection with friction.
ODE is useful for simulating vehicles, objects in virtual reality environments and virtual creatures. It is currently used in many computer games, 3D authoring tools and simulation tools.
Here are some key features of "ode4j":
· 100% pure Java port of the ODE / OpenDE physics engine. Native libraries are only used for the OpenGL rendering in the demos (thanks to lwjgl).
· Fast. It is in some cases even faster than the original C/C++ ODE. Please note that only the physics are fast. The graphical rendering in the demos is not optimized and quite slow.
· Provides javadoc, ~30 demos, complete source code and test harnesses (JUnit).
· Supports all geometries from ODE: box, convex, capsule, cylinder, plane, ray, space, sphere, transormable geom (deprecated) and heightfield (a kind of trimesh).
· Supports all joints from ODE: AMotor, BallJoint, ContactJoint, FixedJoint (deprecated), HingeJoint, Hinge2Joint, LMotorJoint, PistonJoint, Plane2DJoint, PRJoint, PUJoint,SliderJoint and UniversalJoint.
· Supports all spaces from ODE: SimpleSpace, HashSpace, QuadTreeSpace and SAPSpace.
· Java specific optimisations.
· A more object oriented implementation.
· Provides an alternative API which is a direct port of the original C API. This simplifies understanding the existing documentation & tutoriuals and helps porting other ODE dependent code, but is not recommended, because it is less object oriented.
What's New in This Release: [ read full changelog ]
· API port is now complete except for TLS and TRIMESH support
· Javadoc has been copied to the OO-API
· Cleaned up dependencies
· DVector3 and DMatrix3 are slightly faster now
· API CHANGE: Some mathematical support functions have been altered or removed (only the API, not the functionality). If you find having problems with the changes please contact me.
· On-line javadoc available . Please note that the method summary doc is often empty, while the detailed method doc is not empty. This is due to annotations in the original ODE doc.