CGAL 6.0 - Fast Intersection and Distance Computation (AABB Tree)
Loading...
Searching...
No Matches
CGAL::AABB_traits_3< GeomTraits, AABBPrimitive, BboxMap > Class Template Reference

#include <CGAL/AABB_traits_3.h>

Definition

template<typename GeomTraits, typename AABBPrimitive, typename BboxMap = Default>
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.

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_3, 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_3, 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(). More...
 

Public Member Functions

 AABB_traits_3 ()
 Default constructor.
 

Types

typedef GeomTraits::Point_3 Point
 Point type.
 
typedef GeomTraits::Point_3 Point_3
 Deprecated point type.
 
typedef GeomTraits::Iso_cuboid_3 Iso_cuboid_3
 additional types for the search tree, required by the RangeSearchTraits concept
 
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_3< GeomTraits, AABBPrimitive, BboxMap >::Iso_cuboid_3

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

Bug:
This is not documented for now in the AABBTraits concept.