I am planning to do my own Ray3f impl for terraing following using picking. I need to test the terrain height each time the user moves.
I will not do picking with the hole terrain, all the time, it´s subdivided by sections, so I will only pick over the current section.
Is there a better way?
Yes, there definitely is a better way. You could directly use the Terrain's HeightMap. Any heightmap implementation will have the possibility to query the height value for a given x,y coordinate pair in O(1) time. (That's waht a heightmap actually does
.) Even Bezier planes provide this possibility. If your solution you would have O(n) times, where n is the polygon count of a patch. AND an n-th of these n steps will be more expensive than the one step of the O(1) for the HeightMap.
So, you should find out, how to query the height value for a given x,y coordinate pair in your terrain implementation.
I also need collision detection with the terrain, but I read it should be better to use JOODE´s collision engine, isn´t it?
It certainly is. JOODE is impressively fast. Don't know, if there is an XPAL abstraction for that. If not, it should be added.