CGAL 5.4  2D Segment Delaunay Graphs

#include <CGAL/Segment_Delaunay_graph_filtered_traits_2.h>
The class Segment_Delaunay_graph_filtered_traits_without_intersections_2
provides a model for the SegmentDelaunayGraphTraits_2
concept.
The class Segment_Delaunay_graph_filtered_traits_without_intersections_2
uses the filtering technique [1] to achieve traits for the Segment_Delaunay_graph_2<Gt,St,DS>
class with efficient and exact predicates given an exact kernel EK
and a filtering kernel FK
. The geometric constructions associated provided by this class are equivalent to those provided by the traits class Segment_Delaunay_graph_traits_without_intersections_2<CK,CM>
, which means that they may be inexact, depending on the choice of the CK
kernel.
This class has six template parameters.
CK  is the construction kernel and it is the kernel that will be used for constructions. 
CM  must be Field_with_sqrt_tag or Field_tag 
EK  is the exact kernel; this kernel will be used for computing the predicates if the filtering kernel fails to produce an answer. 
EM  must be Field_with_sqrt_tag or Field_tag 
FK  is the filtering kernel; this kernel will be used for performing the arithmetic filtering for the predicates involved in the computation of the segment Delaunay graph. 
FM  must be Field_with_sqrt_tag or Field_tag 
The first, third and fifth template parameters must be a models of the Kernel
concept. The second, fourth and sixth template parameters correspond to how predicates are evaluated. There are two predefined possible values for these parameters, namely Field_with_sqrt_tag
and Euclidean_ring_tag
. The first one must be used when the number type used in the representation supports the exact evaluation of signs of expressions involving all four basic operations and square roots, whereas the second requires the exact evaluation of signs of ringtype expressions, i.e., expressions involving only additions, subtractions and multiplications. Finally, in order to get exact constructions CM
must be set to Field_with_sqrt_tag
and the number type in CK
must support operations involving divisions and square roots (as well as the other three basic operations of course). The way the predicates are evaluated is discussed in [2] and [4] (the geometric filtering part).
The default values for the template parameters are as follows:
CM = CGAL::Field_with_sqrt_tag
(it is assumed that Cartesian<double>
or Simple_cartesian<double>
will be the entry for the template parameter CK
), EM = CGAL::Euclidean_ring_tag
, FK = CGAL::Simple_cartesian<CGAL::Interval_nt<false> >
, FM = CGAL::Field_with_sqrt_tag
. EK
has the default value: EK = CGAL::Simple_cartesian<CGAL::Gmpq>
, otherwise its default value is EK = CGAL::Simple_cartesian<CGAL::MP_Float>
. Kernel
SegmentDelaunayGraphTraits_2
CGAL::Euclidean_ring_tag
CGAL::Field_with_sqrt_tag
CGAL::Segment_Delaunay_graph_2<Gt,St,DS>
CGAL::Segment_Delaunay_graph_hierarchy_2<Gt,St,STag,DS>
CGAL::Segment_Delaunay_graph_traits_2<K,MTag>
CGAL::Segment_Delaunay_graph_traits_without_intersections_2<K,MTag>
CGAL::Segment_Delaunay_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>
Types  
In addition to the types required by the  
typedef CGAL::Tag_false  Intersections_tag 
typedef CK  Kernel 
typedef CK  Construction_kernel 
typedef FK  Filtering_kernel 
typedef EK  Exact_kernel 
typedef CM  Method_tag 
typedef CM  Construction_traits_method_tag 
typedef FM  Filtering_traits_method_tag 
typedef EM  Exact_traits_method_tag 
typedef unspecified_type  Construction_traits 
A type for the segment Delaunay graph traits, where the kernel is CK .  
typedef unspecified_type  Filtering_traits 
A type for the segment Delaunay graph traits, where the kernel is FK .  
typedef unspecified_type  Exact_traits 
A type for the segment Delaunay graph traits, where the kernel is EK .  