\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12.2 - 3D Fast Intersection and Distance Computation (AABB Tree)
CGAL::AABB_traits< GeomTraits, AABBPrimitive, BboxMap >::Intersection_and_primitive_id< Query > Struct Template Reference

#include <CGAL/AABB_traits.h>

Definition

template<typename GeomTraits, typename AABBPrimitive, typename BboxMap = Default>
template<typename Query>
struct CGAL::AABB_traits< GeomTraits, AABBPrimitive, BboxMap >::Intersection_and_primitive_id< Query >

Intersection_and_primitive_id<Query>::Type::first_type is found according to the result type of GeomTraits::Intersect_3::operator(), (that is cpp11::result_of<GeomTraits::Intersect_3(Query, Primitive::Datum)>::type).

If it is boost::optional<T> then it is T, and the result type otherwise.