// Frustum
-// Plane (can construct from Triangle<3>)
+// Plane (can construct from Triangle3)
// Ray
// Shape<>
// +- Line<>
-// +- Ball<>
-// | Circle <- Ball<2>
-// | Sphere <- Ball<3>
-// +- Box<>
-// | Rectangle <- Box<2>
-// | Aabb <- Box<3>
+// - Line2 Line<2>
+// - Line3 Line<3>
+// +- Sphere<>
+// | Sphere2, Circle Sphere<2>
+// | Sphere3 Sphere<3>
+// +- Aabb<>
+// | Aabb2, Rectangle Aabb<2>
+// | Aabb3 Aabb<3>
// +- Polygon<>
-// | Triangle <- Polygon<3>
-// +- Cylinder
-// +- Cone
+// | Triangle2 Polygon<2,3>
+// | Triangle3 Polygon<3,3>
namespace Mf {
/**
* Checks if this shape is intersected by a given ray. If so, returns
* the distance from the start of the ray to the shape and information
- * about the intersection via the 2nd parameter. A negative value is
- * returned if there is no intersection.
+ * about the contact via the 2nd parameter. A negative value is
+ * returned if there is no contact.
*/
virtual bool intersectRay(const Ray<D>& ray,
- typename Ray<D>::Intersection& hit)
+ typename Ray<D>::Contact& hit)
{
- return SCALAR(-1.0);
+ return false;
}
};