mirror of https://github.com/CGAL/cgal
162 lines
5.5 KiB
TeX
162 lines
5.5 KiB
TeX
% +------------------------------------------------------------------------+
|
|
% | Reference manual page: Triangulation_traits_2.tex
|
|
% +------------------------------------------------------------------------+
|
|
% | 06.04.2000 Author
|
|
% | Package: Package
|
|
% |
|
|
\RCSdef{\RCSTriangulationtraitsRev}{$Id$}
|
|
\RCSdefDate{\RCSTriangulationtraitsDate}{$Date$}
|
|
% |
|
|
%%RefPage: end of header, begin of main body
|
|
% +------------------------------------------------------------------------+
|
|
|
|
|
|
\begin{ccRefConcept}{TriangulationTraits_2}
|
|
|
|
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
|
%% \ccHtmlIndexC[concept]{} %% add further index entries
|
|
|
|
\ccDefinition
|
|
|
|
The concept \ccRefName\ describes
|
|
the set of requirements to be
|
|
fulfilled
|
|
by any class used to instantiate the first template parameter of the class
|
|
\ccc{Triangulation_2<Traits,Tds>}.
|
|
This concept provides the types of the geometric primitives used in the
|
|
triangulation and some function object types
|
|
for the required predicates on those primitives.
|
|
|
|
\ccTypes
|
|
\ccNestedType{Point_2}{The point type.}
|
|
\ccGlue
|
|
\ccNestedType{Segment_2}{The segment type.}
|
|
\ccGlue
|
|
\ccNestedType{Triangle_2}{The triangle type.}
|
|
|
|
\ccNestedType{Construct_segment_2} {A constructor object for
|
|
\ccc{Segment_2}. Provides~: \\
|
|
\ccc{Segment_2 operator()(Point_2 p,Point_2 q)}, \\
|
|
which constructs a segment from two points.}
|
|
\ccGlue
|
|
\ccNestedType{Construct_triangle_2} {A constructor object for
|
|
\ccc{Triangle_2}. Provides~: \\
|
|
\ccc{Triangle_2 operator()(Point_2 p,Point_2 q,Point_2 r )}, \\
|
|
which constructs a triangle from three points.}
|
|
|
|
\ccNestedType{Less_x_2}{Predicate object. Provides
|
|
the operator~: \\
|
|
\ccc{bool operator()(Point p, Point q)} \\
|
|
which returns \ccc{true} if \ccc{p} is before \ccc{q}
|
|
according to the $x$-ordering of points.}
|
|
\ccGlue
|
|
\ccNestedType{Less_y_2}{Predicate object. Provides
|
|
the operator~: \\
|
|
\ccc{bool operator()(Point p, Point q)} \\
|
|
which returns \ccc{true} if \ccc{p} is before \ccc{q}
|
|
according to the $y$-ordering of points.}
|
|
\ccGlue
|
|
\ccNestedType{Compare_x_2}{Predicate object. Provides
|
|
the operator~: \\
|
|
\ccc{Comparison_result operator()(Point p, Point q)} \\
|
|
which returns
|
|
\ccc{SMALLER, EQUAL} or \ccc{ LARGER}
|
|
according to the
|
|
$x$-ordering of points \ccc{p} and \ccc{q}.}
|
|
\ccGlue
|
|
\ccNestedType{Compare_y_2}{Predicate object. Provides
|
|
the operator~: \\
|
|
\ccc{Comparison_result operator()(Point p, Point q)}\\
|
|
which returns
|
|
(\ccc{SMALLER, EQUAL} or \ccc{ LARGER})
|
|
according to the
|
|
$y$-ordering of points \ccc{p} and \ccc{q}.}
|
|
\ccGlue
|
|
\ccNestedType{Orientation_2}{Predicate object. Provides
|
|
the operator~: \\
|
|
\ccc{Orientation operator()(Point p, Point q, Point r)}\\
|
|
which returns \ccc{LEFT_TURN}, \ccc{RIGHT_TURN} or \ccc{COLLINEAR}
|
|
depending on $r$ being, with respect to
|
|
the oriented line \ccc{pq},
|
|
on the left side , on the right side or on the line.}
|
|
\ccGlue
|
|
\ccNestedType{Side_of_oriented_circle_2}{Predicate object. Must
|
|
provide 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 through $p,q$
|
|
and $r$.
|
|
This type is required only if the function
|
|
\ccc{side_of_oriented_circle(Face_handle f, Point p)} is
|
|
called.}
|
|
\ccGlue
|
|
\ccNestedType{Construct_circumcenter_2}{Constructor object. Provides
|
|
the operator~: \\
|
|
\ccc{ Point operator()(Point p, Point q, Point r)} \\
|
|
which returns
|
|
the circumcenter of the three points \ccc{p, q} and \ccc{r}.
|
|
This type is required only if the function
|
|
\ccc{Point circumcenter(Face_handle f)}is called.}
|
|
|
|
\ccCreation
|
|
\ccCreationVariable{traits} %% choose variable name
|
|
Only a default constructor, copy constructor
|
|
and an assignment operator are required.
|
|
Note that further constructors
|
|
can be provided.
|
|
\ccThree{TriangulationTraits_2}{traits=gtrxx }{}
|
|
\ccConstructor{TriangulationTraits_2();}{default constructor.}
|
|
\ccGlue
|
|
\ccConstructor{TriangulationTraits_2(TriangulationTraits_2 gtr);}
|
|
{Copy constructor}
|
|
\ccMethod{TriangulationTraits_2 operator=(TriangulationTraits_2 gtr);}
|
|
{Assignment operator.}
|
|
|
|
\ccHeading{Predicate functions}
|
|
\ccThree{Construct_circumcenter_2}{traits.construct_circumcenter_2_object();}
|
|
{}
|
|
The following functions give access to the predicate
|
|
and constructor objects.
|
|
\ccThree{Construct_segment_2}{gt.compare_x(Point p0, Point p1)x}{}
|
|
\ccMethod{Construct_segment_2 construct_segment_2_object();}{}
|
|
\ccGlue
|
|
\ccMethod{Construct_triangle_2 construct_triangle_2_object();}{}
|
|
\ccGlue
|
|
\ccMethod{Comparison_x_2 compare_x_2_object();}{} \ccGlue
|
|
\ccMethod{Comparison_y_2 compare_y_2_object();}{}
|
|
\ccGlue
|
|
\ccMethod{Orientation_2 orientation_2_object();}{}
|
|
\ccGlue
|
|
\ccMethod{Side_of_oriented_circle_2
|
|
side_of_oriented_circle_2_object();}
|
|
{Required only
|
|
if \ccc{side_of_oriented_circle} is called
|
|
called.}
|
|
\ccGlue
|
|
\ccMethod{Construct_circumcenter_2 construct_circumcenter_2_object();}
|
|
{Required only if \ccc{circumcenter} is called.}
|
|
|
|
|
|
|
|
\ccHasModels
|
|
All the CGAL Kernels \\
|
|
\ccc{CGAL::Triangulation_euclidean_traits_2<K>} \\
|
|
\ccc{CGAL::Triangulation_euclidean_traits_xy_3<K>} \\
|
|
\ccc{CGAL::Triangulation_euclidean_traits_yz_3<K>} \\
|
|
\ccc{CGAL::Triangulation_euclidean_traits_zx_3<K>} \\
|
|
|
|
\ccSeeAlso
|
|
\ccc{CGAL::Triangulation_2<Traits,Tds>}
|
|
|
|
|
|
|
|
\end{ccRefConcept}
|
|
|
|
% +------------------------------------------------------------------------+
|
|
%%RefPage: end of main body, begin of footer
|
|
% EOF
|
|
% +------------------------------------------------------------------------+
|
|
|