Add the AABBRayIntersectionTraits concept

This commit is contained in:
Philipp Möller 2015-10-22 16:11:54 +02:00 committed by Sébastien Loriot
parent 2af2aa324d
commit a7f563092d
1 changed files with 41 additions and 0 deletions

View File

@ -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<AABBGeomTraits,AABBPrimitive>`
\sa `CGAL::AABB_traits<AABBGeomTraits,AABBPrimitive>`
\sa `CGAL::AABB_tree<AABBTraits>`
\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<FT> operator()(const Ray_3& r, const Bounding_box& bbox)`.
A common algorithm for this is <A
HREF="http://www.siggraph.org/education/materials/HyperGraph/raytrace/rtinter3.htm">the
slab method</A>.
*/
typedef unspecified_type Intersection_distance;
/*!
Returns the intersection distance functor.
*/
Intersection_distance intersection_distance_object() const ;
};