From 0fc46fc9590912bf6925c899edd02d7a2cdf5f79 Mon Sep 17 00:00:00 2001 From: dan miller Date: Fri, 19 Oct 2007 04:28:53 +0000 Subject: adding ode source to /libraries --- "libraries/ode-0.9\\/contrib/Ode.NET/README.TXT" | 73 ++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100755 "libraries/ode-0.9\\/contrib/Ode.NET/README.TXT" (limited to 'libraries/ode-0.9\/contrib/Ode.NET/README.TXT') diff --git "a/libraries/ode-0.9\\/contrib/Ode.NET/README.TXT" "b/libraries/ode-0.9\\/contrib/Ode.NET/README.TXT" new file mode 100755 index 0000000..e6f1262 --- /dev/null +++ "b/libraries/ode-0.9\\/contrib/Ode.NET/README.TXT" @@ -0,0 +1,73 @@ +Ode.NET - .NET bindings for ODE +Jason Perkins (starkos@gmail.com) + + THIS IS A WORK IN PROGRESS! I'm not done yet! + + +--------------------------------------------------------------------- + INSTALLATION +--------------------------------------------------------------------- + + Note that 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. 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 +--------------------------------------------------------------------- + + I'm not done yet, so many functions are still missing. + + It is not possible to implement dBodyGetPosition(), dBodyGetRotation(), + etc. without resorting to unsafe code, which I was trying to avoid. + This binding uses the .NET friendly dBodyCopyPosition(), + dBodyCopyRotation(), etc. instead. + + Collision response (contact joints) do not work when built under + Mono as double-precision. I have not tried to track down why. -- cgit v1.1