CGAL 5.6.3 - 3D Fast Intersection and Distance Computation (AABB Tree)

Loading...
Searching...
No Matches
List of all members
AABBGeomTraits Concept Reference
AABB Tree Reference » Concepts

## Definition

The concept `AABBGeomTraits` defines the requirements for the first template parameter of the class `CGAL::AABB_traits<AABBGeomTraits, AABBPrimitive>`. It provides predicates and constructors to detect and compute intersections between query objects and the primitives stored in the AABB tree. In addition, it contains predicates and constructors to compute distances between a point query and the primitives stored in the AABB tree.

Refines
  `SearchGeomTraits_3`

Has Models:
  All models of the concept `Kernel`

See also
  `CGAL::AABB_traits<AABBGeomTraits,AABBPrimitive>`
  `CGAL::AABB_tree<AABBTraits>`
  `AABBPrimitive`

## Types
typedef unspecified_type | Do_intersect_3
| A functor object to detect intersections between two geometric objects.
typedef unspecified_type | Intersect_3
| A functor object to construct the intersection between two geometric objects.
typedef unspecified_type | Construct_sphere_3
| A functor object to construct the sphere centered at one point and passing through another one.
typedef unspecified_type | Construct_projected_point_3
| A functor object to compute the point on a geometric primitive which is closest from a query.
typedef unspecified_type | Compare_distance_3
| A functor object to compare the distance of two points wrt a third one.
typedef unspecified_type | Compute_squared_radius_3
| A functor object to compute the squared radius of a sphere.
typedef unspecified_type | Compute_squared_distance_3
| A functor object to compute the squared distance between two points.
typedef unspecified_type | Less_x_3
| A functor object to compare the x-coordinates of two points.
typedef unspecified_type | Less_y_3
| A functor object to compare the y-coordinates of two points.
typedef unspecified_type | Less_z_3
| A functor object to compare the z-coordinates of two points.
typedef unspecified_type | Equal_3
| A functor object to compare two points.

## Operations
Do_intersect_3 | do_intersect_3_object ()
| returns the intersection detection predicate.
Intersect_3 | intersect_3_object ()
| returns the intersection constructor.
Construct_sphere_3 | construct_sphere_3_object ()
| returns the sphere constructor.
Construct_projected_point_3 | construct_projected_point_3_object ()
| returns the closest point constructor.
Compare_distance_3 | compare_distance_3_object ()
| returns the compare distance predicate.
Compute_squared_radius_3 | compute_squared_radius_3_object ()
| returns the squared radius functor.
Compute_squared_distance_3 | compute_squared_distance_3_object ()
| returns the squared distance functor.
Less_x_3 | less_x_3_object ()
| returns the `Less_x_3` predicate.
Less_y_3 | less_y_3_object ()
| returns the `Less_y_3` predicate.
Less_z_3 | less_z_3_object ()
| returns the `Less_z_3` predicate.
Equal_3 | equal_3_object ()
| returns the equal predicate.

## Member Typedef Documentation

## ◆ Compare_distance_3

typedef unspecified_type AABBGeomTraits::Compare_distance_3

A functor object to compare the distance of two points wrt a third one.

Provides the operator:

`CGAL::Comparison_result operator()(const Point_3& p1, const Point_3& p2, const Point_3& p3)`,

which compares the distance between `p1` and `p2`, and between `p2` and `p3`.

## ◆ Compute_squared_distance_3

typedef unspecified_type AABBGeomTraits::Compute_squared_distance_3

A functor object to compute the squared distance between two points.

Provides the operator:

`FT operator()(const Point_3& p, const Point_3& q),`

which returns the squared distance between `p` and `q`.

## ◆ Compute_squared_radius_3

typedef unspecified_type AABBGeomTraits::Compute_squared_radius_3

A functor object to compute the squared radius of a sphere.

Provides the operator:

`FT operator()(const Sphere_3& s),`

which returns the squared radius of `s`.

## ◆ Construct_projected_point_3

typedef unspecified_type AABBGeomTraits::Construct_projected_point_3

A functor object to compute the point on a geometric primitive which is closest from a query.

Provides the operator:

`Point_3 operator()(const Primitive::Datum& d, const Point_3& p)`,

which returns the point on `d` that is closest to `p`.

## ◆ Construct_sphere_3

typedef unspecified_type AABBGeomTraits::Construct_sphere_3

A functor object to construct the sphere centered at one point and passing through another one.

Provides the operator:

`Sphere_3 operator()(const Point_3& p, const FT & sr)`,

which returns the sphere centered at `p` with `sr` as squared radius.

## ◆ Do_intersect_3

typedef unspecified_type AABBGeomTraits::Do_intersect_3

A functor object to detect intersections between two geometric objects.

Provides the following operators:

`bool operator()(Query, Bbox_3)`,

`bool operator()(Query, Primitive::Datum)`,

`bool operator()(Sphere_3, Bbox_3)`.

The operator returns `true` iff there exists a non-empty intersection.

## ◆ Equal_3

typedef unspecified_type AABBGeomTraits::Equal_3

A functor object to compare two points.

Provides the operator:

`bool operator()(const Point_3& p, const Point_3& q)`,

which returns `true` iff `p` is equal to `q`.

## ◆ Intersect_3

typedef unspecified_type AABBGeomTraits::Intersect_3

A functor object to construct the intersection between two geometric objects.

Provides the operator:

`return_type operator()(const Query& q, const Primitive::Datum& d)`,

which computes the intersection between `q` and `d`. The type of the returned object must be a `boost::optional` of a `boost::variant` of the possible intersection types.

## ◆ Less_x_3

typedef unspecified_type AABBGeomTraits::Less_x_3

A functor object to compare the x-coordinates of two points.

Provides the operator:

`bool operator()(const Point_3& p, const Point_3& q)`,

which returns `true` iff the x-coordinate of `p` is smaller than the x-coordinate of `q`.

## ◆ Less_y_3

typedef unspecified_type AABBGeomTraits::Less_y_3

A functor object to compare the y-coordinates of two points.

Provides the operator:

`bool operator()(const Point_3& p, const Point_3& q)`,

which returns `true` iff the y-coordinate of `p` is smaller than the y-coordinate of `q`.

## ◆ Less_z_3

typedef unspecified_type AABBGeomTraits::Less_z_3

A functor object to compare the z-coordinates of two points.

Provides the operator:

`bool operator()(const Point_3& p, const Point_3& q)`,

which returns `true` iff the z-coordinate of `p` is smaller than the z-coordinate of `q`.