As far as I can tell from online tutorials, the normal vector returned from a collision in box2d is the shortest direction for the colliding object to go to no longer penetrate the object it ran into. What I need is the normal vector of the surface it ran into, which is the direction the wall is pointing. For example, if I run into a vertical wall from the left, the normal vector I would expect would be <-1,0>. Is there a way to access this vector?
My ultimate goal is to reflect a raycast so I can map the path a projectile will take with no friction. Do raycasts allow reflections in box2d/farseer? I know many physics engines do, but I don't see that capability in Farseer.