From: Daniele V. <dan...@gm...> - 2010-01-10 16:23:54
|
On Sun, Jan 10, 2010 at 5:14 AM, Ethan Glasser-Camp <gl...@cs...> wrote: > Daniele Varrazzo wrote: >> collision detection doesn't work with PyODE checked out from CVS HEAD >> and ODE 0.11. The collision callback is never called. This can be >> tested with tutorial3.py or with the script in >> http://monsterden.net/software/ragdoll-pyode-tutorial: the objects >> don't meet the plane and keep falling forever. > > Yikes! > > I just built pyode from CVS on my work laptop against libode 0.11. Then > I ran examples/tutorial3 and it ran successfully (well, OpenGL > artifacts, but collision detection worked). Can you give me more details > on your setup? 32-/64-bit machine? OS? It is a fairly standard 32 bit Ubuntu Karmic, using the ode library packaged with the OS (packages libode-dev (2:0.11-4), libode1 (2:0.11-4)). Python version 2.6 (the system version). Pyrex version 0.9.8.5. I built the module regularly (python setup.py build/install), against the correct library (checked with ldd). Tutorials 1 and 2 run perfectly, in 3 the pieces fall without meeting the plane. I also made the explosion happen earlier to make the falling pieces hit each other, and there is no contact between them either. A print in the callback function confirms it gets never called. I've done other tests and I confirm the bug on my box also with ode 0.11 and 0.11.1 compiled from source, against the PyODE code just checked out from the head. The same tutorial3 script works fine with PyODE 1.2.0 compiled against ode 0.8 (modulo adding import OpenGL OpenGL.ERROR_CHECKING = False before importing the other opengl stuff to avoid a segfault in the current PyOpenGL... bleah). Tell me if you need other details. Thank you very much for your efforts. -- Daniele |