Project: Odejava (Open Dynamics Engine for Java)
Website: http://odejava.dev.java.net (http://www.odejava.org coming)
License: BSD, see license.txt file
Project created: 4. December 2003
ODE website: http://q12.org/ode
Author: Jani Laakso, jani.laakso@itmill.com
Last edited: 23. December 2003


Description of Odejava

Odejava project allows to use Open Dynamics Engine (ODE) with Java. ODE is a physics engine that is used e.g. in games and scientific applications. ODE is coded with C and Odejava wraps ODE native functions into Java. API is divided in lower level and higher level interfaces. Project also contains tools for binding Odejava into Xith3D, jME and Openmind scenegraph projects.


Description of ODE

ODE is a free, industrial quality library for simulating articulated rigid body dynamics - for example ground vehicles, legged creatures, and moving objects in VR environments. It is fast, flexible, robust and platform independent, with advanced joints, contact with friction, and built-in collision detection.


Odejava contains two different API's that developers can use:

Low level API
This Java API is one to one with ODE's main C API. All ODE's functions are supported on low level API. ODE's own documentation at q12.org/ode can be used directly as the Java API is almost identical. This API is works very well and has best performance. This API is generated using Swig tool and it is easy to regenerate in the future if ODE's own API changes.

High level API 
Proper Java API which is easy to use. This depends to low level API. This is initial version and bound to change. However, I encourage developers to use this this API as much as possible. When needed, high level API can be extended with low level API.


Directory structure description:

odejava/doc
-contains how to use Odejava with your project, caveats, todo, javadoc

odejava/src
-Java packages

odejava/lib
-native odejava library
-other 3rd party libraries (vecmath)

odejava/compile
-needed only for creating your own odejava native library and lowlevel java API
-contains odejava and ode source code


Package description:

package org.odejava
-base package, contains higher level Java API

package org.odejava.ode
-full lowlevel Java API that conforms to ODE's C API
-generated with swig tool

package org.odejava.test
-examples of how to use Odejava
-console demos of low level and high level API
-graphical demos using scenegraph libraries (Xith3d, jME)


Please note that the examples use textures from http://www.mayang.com/textures/, jME, openmind and Xith3D projects. ODE and it's license can be found from odejava/compile/ode directory.

