\( \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 - 3D Fast Intersection and Distance Computation (AABB Tree)
CGAL::AABB_segment_primitive< GeomTraits, Iterator, CacheDatum > Class Template Reference

#include <CGAL/AABB_segment_primitive.h>

Definition

template<class GeomTraits, class Iterator, class CacheDatum = Tag_false>
class CGAL::AABB_segment_primitive< GeomTraits, Iterator, CacheDatum >

Primitive type that uses as identifier an iterator with a 3D segment as value_type.

The iterator from which the primitive is built should not be invalided while the AABB tree holding the primitive is in use.

Is Model Of:
AABBPrimitive
Template Parameters
GeomTraitsis a traits class providing the nested type Point_3 and Segment_3. It also provides the functor Construct_source_3 that has an operator taking a Segment_3 and returning its source as a type convertible to Point_3. In addition Construct_source_3 must support the result_of protocol.
Iteratoris a model of ForwardIterator with its value type convertible to GeomTraits::Segment_3
CacheDatumis either CGAL::Tag_true or CGAL::Tag_false. In the former case, the datum is stored in the primitive, while in the latter it is constructed on the fly to reduce the memory footprint. The default is CGAL::Tag_false (datum is not stored).
See also
AABBPrimitive
AABB_primitive<Id,ObjectPropertyMap,PointPropertyMapPolyhedron,ExternalPropertyMaps,CacheDatum>
AABB_triangle_primitive<Iterator,CacheDatum>
AABB_halfedge_graph_segment_primitive<HalfedgeGraph,OneHalfedgeGraphPerTree,CacheDatum>
AABB_face_graph_triangle_primitive<FaceGraph,OneFaceGraphPerTree,CacheDatum>
Examples:
AABB_tree/AABB_segment_3_example.cpp.

Public Member Functions

 AABB_segment_primitive (Iterator it)
 Constructor from an iterator.