\( \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.8 - 3D Fast Intersection and Distance Computation (AABB Tree)

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members | Public Member Functions
CGAL::AABB_triangle_primitive< GeomTraits, Iterator, CacheDatum > Class Template Reference
AABB Tree Reference

`#include <CGAL/AABB_triangle_primitive.h>`

## Definition

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

Primitive type that uses as identifier an iterator with a 3D triangle 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

  GeomTraits | is a traits class providing the nested type `Point_3` and `Triangle_3`. It also provides the functor `Construct_vertex_3` that has an operator taking a `Triangle_3` and an integer as parameters and returning a triangle point as a type convertible to `Point_3`. In addition `Construct_vertex_3` must support the result_of protocol.
  Iterator | is a model of `ForwardIterator` with its value type convertible to `GeomTraits::Triangle_3`
  CacheDatum | is 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_segment_primitive<Iterator,CacheDatum>`
  `AABB_halfedge_graph_segment_primitive<HalfedgeGraph,OneHalfedgeGraphPerTree,CacheDatum>`
  `AABB_face_graph_triangle_primitive<FaceGraph,OneFaceGraphPerTree,CacheDatum>`

Examples:
  AABB_tree/AABB_triangle_3_example.cpp.

## Public Member Functions
| AABB_triangle_primitive (Iterator it)
| Constructor from an iterator.