raycast and linecast

This is possible by creating a CollisionTraverser and a CollisionRay or CollisionLine or CollisionSegment, and using a CollisionHandlerQueue to store the resulting points generated by the collision when you call traverse(). This is demonstrated in the Chessboard sample program, among other places.

You can also use Panda’s Bullet integration to similar effect, but this is overkill for simple raycasts.