CGAL 4.7 - 3D Triangulations: CGAL::Regular_triangulation_euclidean_traits_3< K, Weight > Class Template Reference

\( \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 4.7 - 3D Triangulations

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
List of all members
CGAL::Regular_triangulation_euclidean_traits_3< K, Weight > Class Template Reference
Traits Classes

`#include <CGAL/Regular_triangulation_euclidean_traits_3.h>`

## Inherits from

K.

## Definition

The class `Regular_triangulation_euclidean_traits_3` 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`.

Template Parameters

  K | must be a model of the `Kernel` concept.
  Weight | is 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 concept `RegularTriangulationTraits_3`.

Note that filtered predicates are automatically used if the Boolean `Has_filtered_predicates` in the kernel provided as template parameter of that class is set to `true`.

Is Model Of:
  `RegularTriangulationTraits_3`

Operations

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

Examples:
  Triangulation_3/parallel_insertion_and_removal_in_regular_3.cpp, and Triangulation_3/regular_3.cpp.

## Types

typedef K::Point_3 | Bare_point
| The type for point \( p\) of a weighted point \( {p}^{(w)}=(p,w_p)\).
typedef Weighted_point < Bare_point, Weight > | Weighted_point_3
| The type for weighted points.
typedef Weighted_point < Bare_point, Weight > | Point_3
| The type for points.

## Types for Predicate Functors

typedef unspecified_type | Power_test_3
| A predicate type for power test. More...
typedef unspecified_type | Compare_power_distance_3
| A predicate type to compare power distance. More...
typedef unspecified_type | Compare_weighted_squared_radius_3
| A predicate type. More...
typedef unspecified_type | In_smallest_orthogonal_sphere_3
| A predicate type. More...
typedef unspecified_type | Side_of_bounded_orthogonal_sphere_3
| A predicate type. More...
typedef unspecified_type | Does_simplex_intersect_dual_support_3
| A predicate type. More...

## Types for Constructor Functors

typedef unspecified_type | Construct_weighted_circumcenter_3
| A constructor type. More...
typedef unspecified_type | Compute_power_product_3
| A functor type. More...
typedef unspecified_type | Compute_squared_radius_smallest_orthogonal_sphere_3
| A functor type. More...
typedef unspecified_type | Compute_critical_squared_radius_3
| A functor type. More...

## Operations

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

## Member Typedef Documentation

template<typename K, typename Weight>

typedef unspecified_type CGAL::Regular_triangulation_euclidean_traits_3< K, Weight >::Compare_power_distance_3

A predicate type to compare power distance.

Belongs to the `RegularTriangulationTraits_3` concept.

template<typename K, typename Weight>

typedef unspecified_type CGAL::Regular_triangulation_euclidean_traits_3< K, Weight >::Compare_weighted_squared_radius_3

A predicate type.

The operator() takes weighted point(s) as arguments, together with one weight. It compares the weight of the smallest sphere orthogonal to the weighted points with the input weight.

`Comparison_result operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, Weighted_point_3 s, FT w) ;`

`Comparison_result operator()( Weighted_point_3 p, Weighted_point_3 q, Weighted_point_3 r, FT w) ;`

`Comparison_result operator()( Weighted_point_3 p, Weighted_point_3 q, FT w) ;`

`Comparison_result operator()( Weighted_point_3 p, FT w) ;`

template<typename K, typename Weight>

typedef unspecified_type CGAL::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);`

template<typename K, typename Weight>

typedef unspecified_type CGAL::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) ;`

template<typename K, typename Weight>

typedef unspecified_type CGAL::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 argument(s).

`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);`

`FT operator() ( Weighted_point_3 p);`

template<typename K, typename Weight>

typedef unspecified_type CGAL::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);`

template<typename K, typename Weight>

typedef unspecified_type CGAL::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) ;`

template<typename K, typename Weight>

typedef unspecified_type CGAL::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) ;`

template<typename K, typename Weight>

typedef unspecified_type CGAL::Regular_triangulation_euclidean_traits_3< K, Weight >::Power_test_3

A predicate type for power test.

Belongs to the `RegularTriangulationTraits_3` concept.

template<typename K, typename Weight>

typedef unspecified_type CGAL::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) ;`