CGAL 6.2 - Fast Intersection and Distance Computation (AABB Tree)

Loading...
Searching...
No Matches
Modules | Classes | Typedefs | Functions
Reference Manual

##

Pierre Alliez, Stéphane Tayeb, and Camille Wormser
The AABB (axis-aligned bounding box) tree component offers a static data structure and algorithms to perform efficient intersection and distance queries on sets of finite 2D and 3D geometric objects.
Introduced in: CGAL 3.5
BibTeX: cgal:atw-aabb-26a
License: GPL
Windows Demo: AABB Tree

## Classified Reference Pages

## Concepts

- `AABBPrimitive`
- `AABBPrimitiveWithSharedData`
- `AABBGeomTraits_2`
- `AABBGeomTraits_3`
- `AABBTraits`
- `AABBRayIntersectionGeomTraits_2`
- `AABBRayIntersectionGeomTraits_3`
- `AABBRayIntersectionTraits`

## Classes

- `CGAL::AABB_traits<GeomTraits,Primitive>` (deprecated, use `CGAL::AABB_traits_3<GeomTraits,Primitive>`)
- `CGAL::AABB_traits_2<GeomTraits,Primitive>`
- `CGAL::AABB_traits_3<GeomTraits,Primitive>`
- `CGAL::AABB_tree<AT>`

## Primitives

- `CGAL::AABB_triangle_primitive_2<GeomTraits, Iterator, CacheDatum>`
- `CGAL::AABB_indexed_triangle_primitive_2<GeomTraits, IndexIterator, PointRange, CacheDatum, PointMap>`
- `CGAL::AABB_segment_primitive_2<GeomTraits, Iterator, CacheDatum>`
- `CGAL::AABB_polyline_segment_primitive_2<GeomTraits, Iterator, PointRange, CacheDatum, PointMap>`
- `CGAL::AABB_triangle_primitive<GeomTraits, Iterator, CacheDatum>` (deprecated, use `CGAL::AABB_triangle_primitive_3<GeomTraits, Iterator, CacheDatum>`)
- `CGAL::AABB_triangle_primitive_3<GeomTraits, Iterator, CacheDatum>`
- `CGAL::AABB_segment_primitive<GeomTraits, Iterator, CacheDatum>` (deprecated, use `CGAL::AABB_segment_primitive_3<GeomTraits, Iterator, CacheDatum>`)
- `CGAL::AABB_segment_primitive_3<GeomTraits, Iterator, CacheDatum>`
- `CGAL::AABB_primitive<Id,ObjectPropertyMap,PointPropertyMap,ExternalPropertyMaps,CacheDatum>`
- `CGAL::AABB_halfedge_graph_segment_primitive<HalfedgeGraph,Vpm,OneHalfedgeGraphPerTree,CacheDatum>`
- `CGAL::AABB_face_graph_triangle_primitive<FaceGraph,Vpm,OneFaceGraphPerTree,CacheDatum>`

## Modules
| Concepts

## Classes
class | CGAL::AABB_face_graph_triangle_primitive< FaceGraph, VertexPointPMap, OneFaceGraphPerTree, CacheDatum >
| Primitive type for a facet of a polyhedral surface. More...
class | CGAL::AABB_halfedge_graph_segment_primitive< HalfedgeGraph, VertexPointPMap, OneHalfedgeGraphPerTree, CacheDatum >
| Primitive type for an edge of a polyhedral surface. More...
class | CGAL::AABB_indexed_triangle_primitive_2< GeomTraits, IndexIterator, PointRange, CacheDatum, PointMap >
| Primitive type that uses as identifier an iterator with a range of three indices as `value_type`. More...
class | CGAL::AABB_polyline_segment_primitive_2< GeomTraits, Iterator, PointRange, CacheDatum, PointMap >
| Primitive type that uses as identifier an iterator with a 2D point as `value_type`. More...
struct | CGAL::AABB_primitive< Id, ObjectPropertyMap, PointPropertyMap, ExternalPropertyMaps, CacheDatum >
| Generic primitive type. More...
class | CGAL::AABB_segment_primitive_2< GeomTraits, Iterator, CacheDatum >
| Primitive type that uses as identifier an iterator with a 2D segment as `value_type`. More...
class | CGAL::AABB_segment_primitive_3< GeomTraits, Iterator, CacheDatum >
| Primitive type that uses as identifier an iterator with a 3D segment as `value_type`. More...
class | CGAL::AABB_tree< AABBTraits >
| Static data structure for efficient intersection and distance computations in 2D and 3D. More...
class | CGAL::AABB_traits_2< GeomTraits, AABBPrimitive, BboxMap >
| This traits class handles any type of 2D geometric primitives provided that the proper intersection tests and constructions are implemented. More...
struct | CGAL::AABB_traits_2< 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_2::operator()`. More...
class | CGAL::AABB_traits_2< GeomTraits, AABBPrimitive, BboxMap >::Do_intersect
| Function object using `GeomTraits::Do_intersect`. More...
class | CGAL::AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap >
| This traits class handles any type of 3D geometric primitives provided that the proper intersection tests and constructions are implemented. More...
struct | CGAL::AABB_traits_3< 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()`. More...
class | CGAL::AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap >::Do_intersect
| Function object using `GeomTraits::Do_intersect`. More...
class | CGAL::AABB_triangle_primitive_2< GeomTraits, Iterator, CacheDatum >
| Primitive type that uses as identifier an iterator with a 2D triangle as `value_type`. More...
class | CGAL::AABB_triangle_primitive_3< GeomTraits, Iterator, CacheDatum >
| Primitive type that uses as identifier an iterator with a 3D triangle as `value_type`. More...

## Typedefs
template<class GeomTraits , class Iterator , class CacheDatum = Tag_false>
using | CGAL::AABB_segment_primitive = AABB_segment_primitive_3< GeomTraits, Iterator, CacheDatum >
| template alias for backward compatibility
template<typename GeomTraits , typename AABBPrimitive , typename BboxMap = Default>
using | CGAL::AABB_traits = AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap >
| template alias for backward compatibility
template<class GeomTraits , class Iterator , class CacheDatum = Tag_false>
using | CGAL::AABB_triangle_primitive = AABB_triangle_primitive_3< GeomTraits, Iterator, CacheDatum >
| template alias for backward compatibility

## Functions
| CGAL::AABB_traits_2< GeomTraits, AABBPrimitive, BboxMap >::AABB_traits_2 ()
| Default constructor.
| CGAL::AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap >::AABB_traits_3 ()
| Default constructor.

## Types
typedef GeomTraits::Point_2 | CGAL::AABB_traits_2< GeomTraits, AABBPrimitive, BboxMap >::Point
| point type
typedef GeomTraits::Iso_rectangle_2 | CGAL::AABB_traits_2< GeomTraits, AABBPrimitive, BboxMap >::Iso_rectangle_2
| additional types for the search tree, required by the RangeSearchTraits concept
typedef CGAL::Bbox_2 | CGAL::AABB_traits_2< GeomTraits, AABBPrimitive, BboxMap >::Bounding_box
| Bounding box type.

## Types
typedef GeomTraits::Point_3 | CGAL::AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap >::Point
| Point type.
typedef GeomTraits::Point_3 | CGAL::AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap >::Point_3
| Deprecated point type.
typedef GeomTraits::Iso_cuboid_3 | CGAL::AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap >::Iso_cuboid_3
| additional types for the search tree, required by the RangeSearchTraits concept
typedef CGAL::Bbox_3 | CGAL::AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap >::Bounding_box
| Bounding box type.

## Typedef Documentation

## ◆ Iso_cuboid_3

template<typename GeomTraits , typename AABBPrimitive , typename BboxMap = Default>

typedef GeomTraits::Iso_cuboid_3 CGAL::AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap >::Iso_cuboid_3

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

## ◆ Iso_rectangle_2

template<typename GeomTraits , typename AABBPrimitive , typename BboxMap = Default>

typedef GeomTraits::Iso_rectangle_2 CGAL::AABB_traits_2< GeomTraits, AABBPrimitive, BboxMap >::Iso_rectangle_2

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