+ /// Check if this shape overlaps the given and, if it does, write the
+ /// surface normal into given vector.
+ /// All shapes must override this method to dispatch to the specialized
+ /// version of CheckCollision().
+ /// See AABB::CheckCollision(const Shape &, Ray &) const for details.