\( \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 | Classes | Public Member Functions
CGAL::AABB_traits< GeomTraits, AABBPrimitive > Class Template Reference
AABB Tree Reference

`#include <CGAL/AABB_traits.h>`

## Inherits from

CGAL::internal::AABB_tree::AABB_traits_base< Primitive, has_shared_data >.

## Definition

This traits class handles any type of 3D geometric primitives provided that the proper intersection tests and constructions are implemented.

It handles points, rays, lines and segments as query types for intersection detection and computations, and it handles points as query type for distance queries.

Is Model Of:
  AABBTraits

Template Parameters

  GeomTraits | must be a model of the concept AABBGeomTraits, snd provide the geometric types as well as the intersection tests and computations.
  Primitive | provide the type of primitives stored in the AABB_tree. It is a model of the concept `AABBPrimitive` or `AABBPrimitiveWithSharedData`.

See Also
  `AABBTraits`
  `AABB_tree`
  `AABBPrimitive`
  `AABBPrimitiveWithSharedData`

Examples:
  AABB_tree/AABB_custom_example.cpp, AABB_tree/AABB_custom_indexed_triangle_set_array_example.cpp, AABB_tree/AABB_custom_indexed_triangle_set_example.cpp, AABB_tree/AABB_custom_triangle_soup_example.cpp, AABB_tree/AABB_face_graph_triangle_example.cpp, AABB_tree/AABB_halfedge_graph_edge_example.cpp, AABB_tree/AABB_insertion_example.cpp, AABB_tree/AABB_polyhedron_edge_example.cpp, AABB_tree/AABB_polyhedron_facet_distance_example.cpp, AABB_tree/AABB_polyhedron_facet_intersection_example.cpp, AABB_tree/AABB_segment_3_example.cpp, and AABB_tree/AABB_triangle_3_example.cpp.

## Classes
struct | Intersection_and_primitive_id
| `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). More...

## Public Member Functions
| AABB_traits ()
| Default constructor.

## Types
typedef GeomTraits::Point_3 | Point_3
| Point query type.
typedef GeomTraits::Iso_cuboid_3 | Iso_cuboid_3
| additionnal types for the search tree, required by the RangeSearchTraits concept More...
typedef CGAL::Bbox_3 | Bounding_box

## Member Typedef Documentation

template<typename GeomTraits , typename AABBPrimitive >

typedef GeomTraits::Iso_cuboid_3 CGAL::AABB_traits< GeomTraits, AABBPrimitive >::Iso_cuboid_3

additionnal types for the search tree, required by the RangeSearchTraits concept