title: 3D Line Projection onto a Quad Mesh
body: <p>I have two 3D points, A and B. These points lie on the surface formed by a quad mesh, M. A and B are not guaranteed to be vertices of the mesh and the line formed between obviously is not guaranteed to lie exactly on the surface. </p>
  
  <p>Lets image one wants to travel from A to B. If we imagine we could project the line onto the surface, I wish to recover the list of faces that projection intersects as we complete the walk from A to B. The line isn't guaranteed to always be inside or outside of the mesh, in fact it could switch from inside to outside or vice versa.</p>
  
  <p>You could think of it as if you were to take a walk along the mesh surface following this line in the "sky" what faces would you visit as you followed the trail from A to B.</p>
  
  <p>I don't need to recover the geodesic distance and I know the line A->B in advance, so it isn't a path finding exercise as such.</p>
  
  <p>How could one go about doing this efficiently?</p>