Concept

AABBGeomTraits

Definition

The concept AABBGeomTraits defines the requirements for the first template parameter of the class AABB_traits<GeomTraits, Primitive>. 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.

Types

AABBGeomTraits::Bbox_3
Bounding box type.


AABBGeomTraits::Sphere_3
Sphere type, that should be consistent with the distance function chosen for the distance queries, namely the Squared_distance_3 functor.


AABBGeomTraits::Point_3
Point type.


AABBGeomTraits::Do_intersect_3
A functor object to detect intersections between two geometric objects. Provides the operators: bool operator()(const Type_1& type_1, const Type_2& type_2); where Type_1 and Type_2 are relevant types among Ray_3, Segment_3, Line_3, Triangle_3, Plane_3 and Bbox_3. Relevant herein means that a line primitive (ray, segment, line) is tested against a planar or solid primitive (plane, triangle, box), and a solid primitive is tested against another solid primitive (box against box). The operator returns true iff type_1 and type_2 have a non empty intersection.


AABBGeomTraits::Intersect_3
A functor object to construct the intersection between two geometric objects. Provides the operators: CGAL::Object operator()(const Type_1& type_1, const Type_2& type_2); where Type_1 and Type_2 are any relevant types among Ray_3, Segment_3, Line_3, Triangle_3, Plane_3 and Bbox_3. Relevant herein means that a line primitive (ray, segment, line) is tested against a planar or solid primitive (plane, triangle, box). The operator computes a CGAL::Object which is the intersection between the objects type_1 and type_2.


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 Point_3 & q); which returns the sphere centered at p and passing through q.


AABBGeomTraits::Compute_closest_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 Point_3& p, const Type_2& type_2); where Type_2 is any type among Segment_3 and Triangle_3. The operator returns the point on type_2 which is closest to p.


AABBGeomTraits::Has_on_bounded_side_3
A functor object to detect if a point lies inside a sphere or not. Provides the operator: bool operator()(const Sphere_3& s, const Point_3& p); which returns true iff the closed volume bounded by s contains p.


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.

Creation

Operations

Do_intersect_3 geomtraits.do_intersect_3_object ()
Returns the intersection detection functor.

Intersect_3 geomtraits.intersect_3_object () Returns the intersection constructor.

Construct_sphere_3 geomtraits.construct_sphere_3_object ()
Returns the distance comparison functor.

Compute_closest_point_3 geomtraits.compute_closest_point_3_object ()
Returns the closest point constructor.

Has_on_bounded_side_3 geomtraits.has_on_bounded_side_3_object ()
Returns the closest point constructor.

Compute_squared_radius_3 geomtraits.compute_squared_radius_3_object ()
Returns the squared radius functor.

Has Models

Any instantiation of CGAL::Kernel is a model of this traits concept.

See Also

AABB_traits<GeomTraits,AABBPrimitive>.