[ODE] My ODE++

Jon Watte hplus-ode at mindcontrol.org
Thu Jan 8 15:08:34 MST 2004

Ah, yes, that large, clearly defined market of graphics-intensive
applications using the CLR runtime environment on Linux. I totally forgot
about those two guys :-)

Seriously, though, #ifdef is fine; in fact, all of ODE uses dSINGLE vs
dDOUBLE to tell whether a dReal is a float or a double. If I ever get to the
point where I feel it's release-worthy, I'd support any such chagen
(although I wouldn't really be able to easily test it, as I keep my Linux
box bare-bones for what it does -- doesn't even have a monitor attached).

If anyone has experience with managed code, and can give me some insider
information on keeping references to managed objects inside the unmanaged
heap (i e, would you prefer hash tables versus the IReferenceMaker
interface, etc), it would help me in this work. At some point, I do need to
support the various forms of callbacks, for example, rather than relying on
collecting data and returning it to the user.


			/ h+

-----Original Message-----
From: ode-bounces at q12.org [mailto:ode-bounces at q12.org]On Behalf Of Jakob
Sent: Thursday, January 08, 2004 11:35 AM
To: ode at q12.org
Subject: RE: [ODE] My ODE++

On Thu, 8 Jan 2004, Jon Watte wrote:
> The approach I took was:
> - write very shallow, managed classes that wrap the IDs.
> - use dReal in all the interfaces (the current wrapper uses double)
> - use Microsoft.DirectX classes for vector, quaternion and matrix
>   This allows you to remove one copy if you use Direct3D, and it does
>   not change the number of copies required otherwise -- although it does
>   require Microsoft.DirectX being installed.

I must sincerely object against using Direct3D in such wrappers! By using
this, you prevent eg. Linux-users from using your wrapper, which would be
a pity!

You could probably use #ifdefs in your code to make the wrapper take
advantage of DX if compiled on Windows, but otherwise, it should use the
normal vector and matrix-classes et al. I am not that much into the ODE
code itself, and does not know whether the #ifdef-style programming is
widely accepted...

Jakob Kjaer (a Linux-only-user :)

Jakob Kjaer
makob at makob.dk

ODE mailing list
ODE at q12.org

More information about the ODE mailing list