% +------------------------------------------------------------------------+ % | Reference manual page: DelaunayTriangulationTraits_2.tex % +------------------------------------------------------------------------+ % | 12.04.2000 Author % | Package: Package % | \RCSdef{\RCSDelaunaytriangulationtraitsRev}{$Id$} \RCSdefDate{\RCSDelaunaytriangulationtraitsDate}{$Date$} % | %%RefPage: end of header, begin of main body % +------------------------------------------------------------------------+ \begin{ccRefConcept}{DelaunayTriangulationTraits_2} %% \ccHtmlCrossLink{} %% add further rules for cross referencing links %% \ccHtmlIndexC[concept]{} %% add further index entries \ccDefinition In addition to the requirements of the concept \ccc{TriangulationTraits_2} described \ccRefPage{TriangulationTraits_2}, the concept \ccRefName\ provide a predicate to check the empty circle property. The corresponding predicate type is called type \ccc{Side_of_oriented_circle_2}. The additional types \ccc{Line_2}, \ccc{Ray_2} and the constructor objects \ccc{Construct_ray_2} \ccc{Construct_circumcenter_2}, \ccc{Construct_bisector_2}, \ccc{Construct_midpoint} are used to build the dual Voronoi diagram and are required only if the dual functions are called. The additional predicate type \ccc{Compare_distance_2} is required if calls to \ccc{nearest_vertex(..)} are issued. \ccRefines \ccc{TriangulationTraits_2} \ccTypes \ccThree{DelaunayTriangulationTraits_2}{traits(dt)xxx}{} \ccThreeToTwo \ccNestedType{Line_2}{The line type. This type is required only if some dual functions are called.} \ccGlue \ccNestedType{Ray_2}{The type for ray. This type is required only if some dual functions are called.} \ccNestedType{Side_of_oriented_circle_2}{Predicate type. Provides the operator : \\ \ccc{Oriented_side operator()(Point p, Point q, Point r, Point s)} which takes four points $p, q, r, s$ as arguments and returns \ccc{ON_POSITIVE_SIDE}, \ccc{ON_NEGATIVE_SIDE} or, \ccc{ON_ORIENTED_BOUNDARY} according to the position of points \ccc{s} with respect to the oriented circle through $p,q$ and $r$.} \ccGlue \ccNestedType{Compare_distance_2} {Predicate type. Provides the operator : \\ \ccc{Comparison_result operator()(Point_2 p, Point_2 q, Point_2 r)} which returns \ccc{SMALLER}, \ccc{EQUAL} or \ccc{LARGER} according to the distance between p and q being smaller, equal or larger than the distance between p and r. This type is only require if \ccc{nearest_vertex} queries are issued.} \ccNestedType{Construct_circumcenter_2}{Constructor object. Provides the operator : \\ \ccc{ Point_2 operator()(Point_2 p, Point_2 q, Point_2 r)} which returns the circumcenter of the three points \ccc{p, q} and \ccc{r}. This type is required only if functions relative to the dual Voronoi diagram are called.} \ccGlue \ccNestedType{Construct_bisector_2}{Constructor object. Provides the operator : \\ \ccc{ Line_2 operator()(Point_2 p, Point_2 q)} which constructs the bisector line of points \ccc{p} and \ccc{q}. This type is required only if functions relative to the dual Voronoi diagram are called.} \ccGlue \ccNestedType{Construct_ray_2}{A constructor object to build a ray from a point and a line. Provides : \\ \ccc{Ray_2 operator() ( Point_2 p, Line_2 l);}} \ccCreation \ccCreationVariable{traits} %% choose variable name \ccConstructor{DelaunayTriangulationTraits_2();}{default constructor.} \ccGlue \ccConstructor{DelaunayTriangulationTraits_2(DelaunayTriangulationTraits_2 dtt);}{copy constructor} \ccGlue \ccMethod{DelaunayTriangulationTraits_2 operator=(traits2);}{Assignment operator.} \ccHeading{Access to predicate and constructor objects} \ccThree{Construct_circumcenter_2}{traits.construct_circumcenter_2_object();}{} \ccMethod{Side_of_oriented_circle_2 side_of_oriented_circle_2_object();}{} The following functions are required only if member functions of the Delaunay triangulation relative to the dual Voronoi diagram are called. \ccMethod{Compare_distance_2 compare_distance_2_object();} {} \ccGlue \ccMethod{Construct_circumcenter_2 construct_circumcenter_2_object();}{} \ccGlue \ccMethod{Construct_bisector_2 construct_bisector_2_object();}{} \ccGlue \ccMethod{Construct_direction_2 construct_direction_2_object();} {} \ccGlue \ccMethod{Construct_ray_2 construct_ray_2_object();} {} \ccHasModels \cgal\ kernels\\ \ccc{CGAL::Triangulation_euclidean_traits_2}. The following traits class provide everything except types and member functions required for the dual Voronoi diagram~;\\ \ccc{CGAL::Triangulation_euclidean_traits_xy_3}, \\ \ccc{CGAL::Triangulation_euclidean_traits_yz_3}, \\ \ccc{CGAL::Triangulation_euclidean_traits_zx_3}. \ccSeeAlso \ccc{TriangulationTraits_2} \end{ccRefConcept} % +------------------------------------------------------------------------+ %%RefPage: end of main body, begin of footer % EOF % +------------------------------------------------------------------------+