One solution to the "trimesh collision problem" might be to just use B3D collision for that type of collision. ODE is perfectly happy to work with an external collision system. This is the way I've seen ODE used with Torque... basically, Torque has several complex types of geometry (terrain, shapes, interiors, water, etc.), and there is already code to do fast collision checking between the various types of geometry. Likewise, B3D already has a collision system that can detect trimesh vs. <whatever> collision, without any added collision geometry objects. I think the B3D collision commands even allow you to detect which surface and triangle has collided, and you can do collision normal calculations, etc., with that data. I've never really used B3D collisions tho', so I may be missing some key detail that makes it unusable for this purpose...
Just a thought...
Ed
Just a thought...
Ed