ContactTest Normals missing

I’m working on porting an in-progress game from Irrlicht to Panda, and I’ve run into an issue with PandaBullet.
The game involves a character that jumps. I need to know whether the character is on the ground, so I know whether he can jump. I’m using a ContactPairTest for that, and it’s working, but I also need to know what the normal vector is, because the force needs to be applied along that path.
in btManifoldPoint, there’s a member m_normalWorldOnB, which is what I used with Irrlicht+Bullet. However, PandaBullet’s class BulletManifoldPoint doesn’t have that. How the heck do I find out the normal vector? Do I have to modify PandaBullet to add the missing method?
As a note; I tried

groundnormal = manifoldPoint->get_position_world_on_b() - manifoldPoint->get_position_world_on_a();

but that returns (0,0,0) when there’s actual contact, so it’s worthless.
Any suggestions? And is this kind of thing common? (PandaBullet classes not exposing all Bullet functionality). The game I’m making is a physics-based puzzle game, so I can’t do it without proper physics support. I’ll probably need everything Bullet has to offer–I’m already using contraints, and eventually I’ll make heavy use of softbody.
I looked at the Bullet API, and it looks like the normal vector isn’t all PandaBullet is missing from the manifold point.

The coverage of things exposed has been growing over time. At this point we have almost everything from BulletManifoldPoint exposed, including the normal. See here: panda3d.org/reference/devel/ … dPoint.php

The problem ist that you have to use the latest snapshot builds, and not the 1.8.x release series.
Also be aware that the build servers still use Bullet 2.80 and not the current Bullet 2.81. There have been several bugs in 2.80 which result in contact points getting missed. So you might want to recompile yourself.

My recommendation is to use snapshot builds, not only because the coverage is much higher and bugs are fixed more timely, but also because we have refactored the synchronisation mechanism between the Panda3D scene graph and Bullet, giving a much better performance, in particular if lots of objects are sleeping. While missing methods can be aded to the Panda3D 1.8.x release series (will be included in Panda 1.8.2) this is NOT possible for the refactoring of the synchronisation mechanism, meaning it will be in Panda 1.9.0, but not in any of the 1.8.x releases!

Thanks for the help. Unfortunately, it looks like I can’t use the dev builds. I’m using Ubuntu 13.04, and there are not builds for that. I tried using the build for 12.10, but it says “Dependency is not satisfiable: libopencv-highgui2.3” when I open the deb file. Where can I get the source code? For 1.8.1, there’s a link to download the source, but I can’t find it for the latest stuff.

EDIT: Found the source. For anyone wondering, you have to use cvs. The panda manual has the command.
After an issue with Bullet, I finally got panda made, cleaned and ran my program… and it crashes as soon as I try to attach a node. Crap. I think the source code is unstable. Or it could be my fault, but… I haven’t changed my code since I used the stable release, so that seems… unlikely.