\( \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 - 3D Fast Intersection and Distance Computation (AABB Tree)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::AABB_traits< GeomTraits, AABBPrimitive > Class Template Reference

#include <CGAL/AABB_traits.h>

Inherits from

CGAL::internal::AABB_tree::AABB_traits_base< AABBPrimitive >, and CGAL::internal::AABB_tree::AABB_traits_base_2< GeomTraits >.


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:



Template Parameters
GeomTraitsmust be a model of the concept AABBGeomTraits, and provide the geometric types as well as the intersection tests and computations.
Primitiveprovide the type of primitives stored in the AABB_tree. It is a model of the concept AABBPrimitive or AABBPrimitiveWithSharedData.

If the argument GeomTraits is a model of the concept AABBRayIntersectionGeomTraits, this class is also a model of AABBRayIntersectionTraits.

See Also
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_ray_shooting_example.cpp, AABB_tree/AABB_segment_3_example.cpp, and AABB_tree/AABB_triangle_3_example.cpp.


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.


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

This is not documented for now in the AABBTraits concept.