[pyODE]Unable to use collide()

Hello everyone,

I’ve been trying to run the pyODE examples on this forum on on pyode.sourceforge.net.

Whenever calling ode.collide(geom1,geom2):
I’m getting ODE INTERNAL ERROR 2: colliders array not initialized in dCollide()

From what I understood from the source, dCollide() seems to be the C function for collide; according to Google, the solution would be calling dInitODE() before any other action, though there is no such method in either the pyODE API, or the module object itself.

begin annoying self sorryness
So right now, I’m nearly desperate, I’ve first tried to code my own simple engine, but it’s becoming buggy(and I’ve tried debugging it a little to hard for my nerves :angry: ) and now I cant use it anymore(I get some NaN Positions… randomly), so I tried pyODE, and now I get this lame error, everything else works btw, well, it looks like it does(mass, joints etc…).
end of annoying paragraph

Any help is welcome.

Edit: after some search Through the code:
in collision_kernel.cpp l 162 -> /*extern */void dInitColliders()

colliders_initialized = 1;

dInitColliders is called in odeinit.cpp in dInitODE2()

which is called in dInitODE()… now pyODE is supposed to call this

I have a file, ode.so which is imported as the ode module,generated by pyODE I guess, it doesnt even contain dInitODE…

PyODE 1.2 is meant to be used to wrap ODE 0.7. There must be API changes up to the latest ODE. Collide call works, I only got some NaN, it’s easy to catch.

So I need to re-install with ODE 0.7 instead?

Have you tried to wrap the initcollider function ?