diff --git a/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h new file mode 100644 index 00000000000..bc9c5fbf871 --- /dev/null +++ b/AABB_tree/doc/AABB_tree/Concepts/AABBRayIntersectionTraits.h @@ -0,0 +1,41 @@ +/*! +\ingroup PkgAABB_treeConcepts +\cgalConcept + +The concept `AABBRayIntersectionTraits` is a refinement of the Model +`AABBTraits`. In addition to the types and functions required by +`AABBTraits` it also requires function objects to calculate the +distance of an intersection along + +\cgalHasModel `CGAL::AABB_traits` + +\sa `CGAL::AABB_traits` +\sa `CGAL::AABB_tree` +\sa `AABBPrimitive` + +*/ +class AABBRayIntersectionTraits { + + /*! + Type of a 3D ray. + */ + typedef unspecified_type Ray_3; + + + /*! + + A functor object to compute the smallest ray parameter, if any, at + which a bounding box and a ray intersect. Provides the operator: + `boost::optional operator()(const Ray_3& r, const Bounding_box& bbox)`. + + A common algorithm for this is the + slab method. + */ + typedef unspecified_type Intersection_distance; + + /*! + Returns the intersection distance functor. + */ + Intersection_distance intersection_distance_object() const ; +};