CGAL::Regular_triangulation_euclidean_traits_3<K,Weight>

Definition

The class Regular_triangulation_euclidean_traits_3<K,Weight> is designed as a default traits class for the class Regular_triangulation_3<RegularTriangulationTraits_3,TriangulationDataStructure_3>. It provides Weighted_point_3, a class for weighted points, which derives from the three dimensional point class K::Point_3.

The first argument K must be a model of the Kernel concept.

The second argument Weight of the class Regular_triangulation_euclidean_traits_3<K,Weight> is in fact optional: if is it not provided, K::RT will be used.

The class is a model of the concept RegularTriangulationTraits_3 but it also contains predicates and constructors on weighted points that are not required in the conceptRegularTriangulationTraits_3.

Note that this template class is specialized for CGAL::Exact_predicates_inexact_constructions_kernel, so that it is as if Regular_triangulation_filtered_traits_3 was used, i.e. you get filtered predicates automatically.

#include <CGAL/Regular_triangulation_euclidean_traits_3.h>

Is Model for the Concepts

RegularTriangulationTraits_3

Inherits From

K

Types

typedef K::Point_3 Bare_point; The type for point p of a weighted point p(w)=(p,wp).
typedef Weighted_point <Bare_point, Weight>
Weighted_point_3; The type for weighted points.

Types for predicate functors

Regular_triangulation_euclidean_traits_3<K,Weight>::Power_test_3
A predicate type for power test. Belongs to the RegularTriangulationTraits_3 concept.


Regular_triangulation_euclidean_traits_3<K,Weight>::Compare_power_distance_3
A predicate type to compare power distance. Belongs to the RegularTriangulationTraits_3 concept.


Regular_triangulation_euclidean_traits_3<K,Weight>::In_smallest_orthogonal_sphere_3
A predicate type. The operator() takes weighted points as arguments and returns the sign of the power distance of the last one with respect to the smallest sphere orthogonal to the others.
Sign operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s, Weighted_point_3 t) ;
Sign operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s) ;
Sign operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r) ;
Sign operator()( Weighted_point_3 p, Weighted_point_3 q) ;


Regular_triangulation_euclidean_traits_3<K,Weight>::Side_of_bounded_orthogonal_sphere_3
A predicate type. The operator() is similar to the operator() of In_smallest_orthogonal_sphere_3 except that the returned type is not a Sign but belongs to the enum Bounded_side (A NEGATIVE, ZERO and POSITIVE) corresponding respectively to ON_BOUNDED_SIDE, ON_BOUNDARY and ON_UNBOUNDED_SIDE)).
Bounded_side operator() ( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s, Weighted_point_3 t) ;
Bounded_side operator() ( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s) ;
Bounded_side operator() ( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r) ;


Regular_triangulation_euclidean_traits_3<K,Weight>::Does_simplex_intersect_dual_support_3
A predicate type. The operator() takes weighted points as arguments, considers the subspace of points with equal power distance with respect to its arguments and the intersection of this subspace with the affine hull of the bare points associated to the arguments. The operator() returns ON_BOUNDED_SIDE, ON_BOUNDARY or ON_UNBOUNDED_SIDE according to the position of this intersection with respect to the simplex formed by the bare points. This predicate is useful for flow computations.
Bounded_side operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s) ;
Bounded_side operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r) ;
Bounded_side operator()( Weighted_point_3 p, Weighted_point_3 q) ;

Types for constructor functors

Regular_triangulation_euclidean_traits_3<K,Weight>::Construct_weighted_circumcenter_3
A constructor type. The operator() constructs the bare point which is the center of the smallest orthogonal sphere to the input weighted points.
Bare_point operator() ( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s);
Bare_point operator() ( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r);
Bare_point operator() ( Weighted_point_3 p, Weighted_point_3 q);


Regular_triangulation_euclidean_traits_3<K,Weight>::Compute_power_product_3
A functor type. The operator() computes the power distance between its arguments.
FT operator() ( Weighted_point_3 p, Weighted_point_3 q) ;


Regular_triangulation_euclidean_traits_3<K,Weight>::Compute_squared_radius_smallest_orthogonal_sphere_3
A functor type. The operator() computes the squared radius of the smallest sphere orthogonal to the arguments.
FT operator() ( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s);
FT operator() ( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r);
FT operator() ( Weighted_point_3 p, Weighted_point_3 q);


Regular_triangulation_euclidean_traits_3<K,Weight>::Compute_critical_squared_radius_3
A functor type. The operator() takes weighted points as arguments and computes the squared radius of the sphere centered in the last point and orthogonal to the other weighted points. The last argument is a weighted point but its weight does not matter. This construction is ad hoc for pumping slivers. For robustness issue, a predicate to compare critical squared radii for a given last point should be needed.
FT operator() ( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s, Weighted_point_3 t);

Operations

The following functions give access to the predicate and constructor functors.

Power_test_3 traits.power_test_3_object ()
Compare_power_distance_3 traits.compare_power_distance_3_object ()
In_smallest_orthogonal_sphere_3 traits.in_smallest_orthogonal_sphere_3_object ()
Side_of_bounded_orthogonal_sphere_3
traits.side_of_bounded_orthogonal_sphere_3_object ()
Does_simplex_intersect_dual_support_3
traits.does_simplex_intersect_dual_support_3_object ()
Construct_weighted_circumcenter_3 traits.construct_weighted_circumcenter_3_object ()
Compute_power_product_3 traits.compute_power_product_3_object ()
Compute_squared_radius_smallest_orthogonal_sphere_3
traits.compute_squared_radius_smallest_orthogonal_sphere_3_object ()
Compute_critical_squared_radius_3 traits.compute_critical_squared_radius_3_object ()

See Also

CGAL::Regular_triangulation_filtered_traits_3.