Mouse picking for terrain

(Please note: This is said based on my current knowledge of Panda, which is not yet advanced, I don’t believe. ^^; )

Could you not create a CollisionPolygon version of your terrain, run your collision test based on that using a collision queue, and, in your collision handling, sort the queue and use the result of the “getSurfacePoint” method in the first collision entry?

[edit]
If you want a particular vertex (as I imagine that you do) rather than simply the clicked-on point, then take the x- and y- coordinates of the result of getSufacePoint and find or calculate the terrain point that is nearest to that, ignoring the z-axis.

If your terrain has its points regularly-spaced, then this should be a fairly simple calculation (based on the origin point of the terrain, the spacing of the points, and the selected point, all in the x-y plane). If the points are not regularly-spaced, it becomes a little more complex, but still not overly so, I don’t believe.