\( \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 5.0.3 - 3D Fast Intersection and Distance Computation (AABB Tree)
CGAL::AABB_traits< GeomTraits, AABBPrimitive, BboxMap > Class Template Reference

#include <CGAL/AABB_traits.h>

Definition

template<typename GeomTraits, typename AABBPrimitive, typename BboxMap = Default>
class CGAL::AABB_traits< GeomTraits, AABBPrimitive, BboxMap >

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

AABBRayIntersectionTraits

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.
BboxMapmust be a model of ReadablePropertyMap that has as key type a primitive id, and as value type a Bounding_box. If the type is Default the Datum must have the member function bbox() that returns the bounding box of the primitive.

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

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

Classes

class  Do_intersect
 Function object using GeomTraits::Do_intersect. More...
 
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
 Bounding box type.
 

Member Typedef Documentation

◆ Iso_cuboid_3

template<typename GeomTraits , typename AABBPrimitive , typename BboxMap = Default>
typedef GeomTraits::Iso_cuboid_3 CGAL::AABB_traits< GeomTraits, AABBPrimitive, BboxMap >::Iso_cuboid_3

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