Daniel K. O. de488e1e75 commited patch from Teravus Ovares to update the Ode.NET bindings 17 年 前
..
Drawstuff ef43f10704 Added missing premake files (whoops) 19 年 前
Ode de488e1e75 commited patch from Teravus Ovares to update the Ode.NET bindings 17 年 前
Tests d5721ac75c updated the Ode.NET to the motionN changes 17 年 前
README.TXT 7fa18c3d80 Updated README information 18 年 前
premake.lua b4bb7f58cb Another big chunk of the Ode.NET binding 19 年 前

README.TXT

Ode.NET - .NET bindings for ODE
Jason Perkins ([email protected])


---------------------------------------------------------------------
INSTALLATION
---------------------------------------------------------------------

This binding uses a C# 2.0 feature (the UnmanagedFunctionPointer
attribute). You will need to use Visual Studio 2005 (C# Express is
fine) or Mono's gmcs compiler.

Start by getting or building ODE as a shared library (DLL).

The simplest way to build the bindings is probably to create a
new library assembly in your tool of choice and drop in the files
Ode/Ode.cs and Ode/AssemblyInfo.cs (optional). Define the symbol
`dDOUBLE` if you used double-precision math in your ode.dll.
Build, done.

For testing purposes, I have also created bindings for the
Drawstuff library and a C# version of the BoxStack demo. You can
throw all of these files into a console executable and run it to
see the demo.

If you happen to have Premake installed (http://premake.sf.net/),
you can generate build scripts for the library with:

premake --target (toolset) # for single precision
premake --with-doubles --target (toolset) # for double precision

To build the test application too, use:

premake --with-tests --target (toolset)

To build with Mono, you must add the --dotnet parameter to enable
support .NET 2.0:

premake --dotnet mono2 --target gnu


---------------------------------------------------------------------
USAGE
---------------------------------------------------------------------

I have tried to keep things as close to the original C API as I can,
rather than forcing a class structure on everyone. Everything is
contained within the `Ode.NET` namespace inside a static class
named `d`. All ODE IDs are replaced with IntPtrs. A quick example:

using Ode.NET;

IntPtr world = d.WorldCreate();
IntPtr body = d.BodyCreate(world);

Take a look at Tests/BoxStack.cs for a more complete example.


---------------------------------------------------------------------
KNOWN ISSUES
---------------------------------------------------------------------

While I managed to map most of the API, there may still be some bits
missing. If you find something, please submit a bug report or patch
the Tracker on SourceForge.

Collision response (contact joints) do not work when built under
Mono as double-precision. I have not tried to track down why.