\( \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 - 2D and Surface Function Interpolation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages

#include <CGAL/Voronoi_intersection_2_traits_3.h>

Definition

Voronoi_intersection_2_traits_3 is a model for the concept RegularTriangulationTraits_2 and InterpolationTraits.

It can be used to instantiate the geometric traits class of a two-dimensional regular triangulation. A three-dimensional plane is defined by a point and a vector that are members of the traits class. The triangulation is defined on 3D points. It is the regular triangulation of the input points projected onto the plane and each weighted with the negative squared distance of the input point to the plane. It can be shown that it is dual to the power diagram obtained by intersecting the three-dimensional Voronoi diagram of the input points with the plane. All predicates and constructions used in the computation of the regular triangulation are formulated on the three dimensional points without explicitly constructing the projected points and the weights. This reduces the arithmetic demands. The traits class is templated by a kernel class K.

Is Model Of:
RegularTriangulationTraits_2
See also
RegularTriangulationTraits_2
CGAL::Regular_triangulation_2<Gt, Tds>
CGAL::regular_neighbor_coordinates_2()
3D Surface Neighbor Coordinates Functions

Types

typedef K::RT Weight
 
typedef K::FT FT
 
typedef K::Point_3 Point_2
 
typedef K::Segment_3 Segment_2
 
typedef K::Triangle_3 Triangle_2
 
typedef K::Line_3 Line_2
 
typedef K::Ray_3 Ray_2
 
typedef K::Vector_3 Vector_2
 
typedef K::Construct_triangle_3 Construct_triangle_2
 
typedef K::Construct_ray_3 Construct_ray_2
 
typedef K::Compare_distance_3 Compare_distance_2
 
typedef
Orientation_with_normal_plane_2_3
< Rep > 
Orientation_2
 
typedef
Side_of_plane_centered_sphere_2_3
< Point_2
Power_test_2
 
typedef
Construct_plane_centered_circumcenter_3
< Point_2
Construct_weighted_circumcenter_2
 
typedef
Compare_first_projection_3
< Point_2
Compare_x_2
 
typedef
Compare_second_projection_3
< Point_2
Compare_y_2
 
Compute_area_3< Rep > Compute_area_2
 An instance of this function object class computes the square root of the result of K::Compute_squared_area_3. More...
 

Creation

 Voronoi_intersection_2_traits_3 (const typename K::Point_3 &point=typename K::Point_3(), const typename K::Vector_3 &normal=NULL_VECTOR)
 The plane associated to the traits class contains point and has as normal vector normal. More...
 

Member Typedef Documentation

template<typename K >
typedef K::Compare_distance_3 CGAL::Voronoi_intersection_2_traits_3< K >::Compare_distance_2
template<typename K >
typedef Compare_first_projection_3<Point_2> CGAL::Voronoi_intersection_2_traits_3< K >::Compare_x_2
template<typename K >
typedef Compare_second_projection_3<Point_2> CGAL::Voronoi_intersection_2_traits_3< K >::Compare_y_2
template<typename K >
typedef K::Construct_ray_3 CGAL::Voronoi_intersection_2_traits_3< K >::Construct_ray_2
template<typename K >
typedef K::Construct_triangle_3 CGAL::Voronoi_intersection_2_traits_3< K >::Construct_triangle_2
template<typename K >
typedef Construct_plane_centered_circumcenter_3<Point_2> CGAL::Voronoi_intersection_2_traits_3< K >::Construct_weighted_circumcenter_2
template<typename K >
typedef K::FT CGAL::Voronoi_intersection_2_traits_3< K >::FT
template<typename K >
typedef K::Line_3 CGAL::Voronoi_intersection_2_traits_3< K >::Line_2
template<typename K >
typedef Orientation_with_normal_plane_2_3<Rep> CGAL::Voronoi_intersection_2_traits_3< K >::Orientation_2
template<typename K >
typedef K::Point_3 CGAL::Voronoi_intersection_2_traits_3< K >::Point_2
template<typename K >
typedef Side_of_plane_centered_sphere_2_3<Point_2> CGAL::Voronoi_intersection_2_traits_3< K >::Power_test_2
template<typename K >
typedef K::Ray_3 CGAL::Voronoi_intersection_2_traits_3< K >::Ray_2
template<typename K >
typedef K::Segment_3 CGAL::Voronoi_intersection_2_traits_3< K >::Segment_2
template<typename K >
typedef K::Triangle_3 CGAL::Voronoi_intersection_2_traits_3< K >::Triangle_2
template<typename K >
typedef K::Vector_3 CGAL::Voronoi_intersection_2_traits_3< K >::Vector_2
template<typename K >
typedef K::RT CGAL::Voronoi_intersection_2_traits_3< K >::Weight

Constructor & Destructor Documentation

template<typename K >
CGAL::Voronoi_intersection_2_traits_3< K >::Voronoi_intersection_2_traits_3 ( const typename K::Point_3 &  point = typename K::Point_3(),
const typename K::Vector_3 &  normal = NULL_VECTOR 
)

The plane associated to the traits class contains point and has as normal vector normal.

Member Data Documentation

template<typename K >
Compute_area_3<Rep> CGAL::Voronoi_intersection_2_traits_3< K >::Compute_area_2

An instance of this function object class computes the square root of the result of K::Compute_squared_area_3.

If the number type FT does not support the square root operation, the result is cast to double before computing the square root.