mirror of https://github.com/CGAL/cgal
updated the doc according to Monique suggestions + added documentation
for the filtered traits class + updated the other classes wrt to this new class
This commit is contained in:
parent
b08818a1bc
commit
78668d2004
|
|
@ -20,7 +20,7 @@
|
|||
%//
|
||||
%//============================================================================
|
||||
|
||||
\chapter{2D Apollonius graph}
|
||||
\chapter{2D Apollonius graphs}
|
||||
\label{chapter-apollonius2}
|
||||
|
||||
\minitoc
|
||||
|
|
@ -454,7 +454,6 @@ otherwise it is a finite edge.
|
|||
\end{ccHtmlOnly}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The last predicate that we want to discuss is called
|
||||
\ccc{Is_degenerate_edge_2}. It tells us whether an edge in the
|
||||
Apollonius diagram is degenerate, that is if its two endpoints
|
||||
|
|
@ -462,9 +461,53 @@ coincide. In the Apollonius graph such an edge corresponds to one of
|
|||
the additional edges that we use to triangulate the non-triangular
|
||||
faces.
|
||||
|
||||
% TALK ABOUT THE METHOD TAG AND THE FILTERED AND NON-FILTERED TRAITS
|
||||
The afore mentioned predicates are part of the
|
||||
\ccc{ApolloniusGraphTraits_2} concept of \cgal. \cgal{} also provides
|
||||
a model for this concept, the
|
||||
\ccc{Apollonius_graph_traits_2<K,Method_tag>} class. The first
|
||||
template parameter of this class must be a model of the \ccc{Kernel}
|
||||
concept. The second template parameter is a tag that indicates what
|
||||
operations are allowed in the computations that take place within the
|
||||
traits class.
|
||||
The two possible values of the \ccc{Method_tag} parameter are
|
||||
\ccc{CGAL::Ring_tag} and \ccc{CGAL::Sqrt_field_tag}. When
|
||||
\ccc{CGAL::Ring_tag} is used, only ring operations are used during the
|
||||
evaluation of the predicates, whereas if \ccc{CGAL::Sqrt_field_tag} is
|
||||
chosen, all four field operations, as well as square roots, as used
|
||||
during the predicate evaluation.
|
||||
|
||||
The \ccc{Apollonius_graph_traits_2<K,Method_tag>} class provides exact
|
||||
predicates if the number type in the kernel \ccc{K} is an exact number
|
||||
type. This is to be associated with the type of operations allowed for
|
||||
the predicate evaluation. For example \ccc{CGAL::MP_Float} as number
|
||||
type, with \ccc{CGAL::Ring_tag} as tag will give exact predicates,
|
||||
whereas \ccc{CGAL::MP_Float} with \ccc{CGAL::Sqrt_field_tag} will give
|
||||
inexact predicates.
|
||||
|
||||
Since using an exact number type may be too slow, the
|
||||
\ccc{Apollonius_graph_traits_2<K,Method_tag>} class is designed to
|
||||
support the dynamic filtering of \cgal{} through the
|
||||
\ccc{Filtered_exact<CT,ET>} mechanism. In particular if \ccc{CT} is an
|
||||
inexact number type that supports the operations denoted by the tag
|
||||
\ccc{Method_tag} and \ccc{ET} is an exact number type for these
|
||||
operations, then kernel with number type \ccc{Filtered_exact<CT,ET>}
|
||||
will yield exact predicates for the Apollonius graph traits. To give a
|
||||
concrete example, \ccc{Filtered_exact<double,MP_Float>} with
|
||||
\ccc{CGAL::Ring_tag} will produce exact predicates.
|
||||
|
||||
Another possibility for fast and exact predicate evalutation is to use
|
||||
the
|
||||
\ccc{Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
class. This class is the analog of a filtered kernel. It takes a
|
||||
constructions kernel \ccc{CK}, a filtering kernel \ccc{FK} and an
|
||||
exact kernel \ccc{EK}, as well as the corresponding tags
|
||||
(\ccc{CM}, \ccc{FM} and \ccc{EM}, respectively).
|
||||
It evaluates the predicates by first using the filtering kernel, and
|
||||
if this fails the evaluation is performed using the exact kernel. The
|
||||
constructions are done using the kernel \ccc{CK}, which means that
|
||||
they are not necessarily exact. All template parameters except
|
||||
\ccc{CK} have default values, which are explained in the reference
|
||||
manual.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -298,13 +298,14 @@ construct_Apollonius_site_2_object();}{}
|
|||
|
||||
\ccHasModels
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
|
||||
|
||||
\ccSeeAlso
|
||||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
\end{ccRefConcept}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ site.}
|
|||
\ccSeeAlso
|
||||
\ccc{ApolloniusGraphTraits_2}\\
|
||||
\ccc{CGAL::Apollonius_site_2<K>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}.
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
|
||||
\end{ccRefConcept}
|
||||
|
||||
|
|
|
|||
|
|
@ -559,6 +559,7 @@ be preferred to \ccVar\ccc{ = other} or to \ccVar\ccc{(other)} if
|
|||
\ccc{ApolloniusGraphVertexBase_2}\\
|
||||
\ccc{ApolloniusGraphFaceBase_2}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}\\
|
||||
\ccc{CGAL::Apollonius_graph_data_structure_2<Vb,Fb>}\\
|
||||
\ccc{CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden>}\\
|
||||
\ccc{CGAL::Apollonius_graph_face_base_2<Gt>}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,94 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: Apollonius_graph_euclidean_traits_2.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% | 12.04.2000 Author
|
||||
% | Package: Package
|
||||
% |
|
||||
%\RCSdef{\RCSRegulartriangulationtraitsRev}{$Revision$}
|
||||
%\RCSdefDate{\RCSRegulartriangulationtraitsDate}{$Date$}
|
||||
% |
|
||||
%%RefPage: end of header, begin of main body
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
||||
\begin{ccRefClass}
|
||||
{Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
%% add template arg's if necessary
|
||||
|
||||
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
||||
%% \ccHtmlIndexC[class]{} %% add further index entries
|
||||
\ccDefinition
|
||||
|
||||
The class \ccRefName\ provides a model for the
|
||||
\ccc{ApolloniusGraphTraits_2} concept.
|
||||
|
||||
The class \ccRefName\ uses the filtering technique \cite{bbp-iayed-01}
|
||||
to achieve traits for the \ccc{Apollonius_graph_2<Gt,Agds>} class
|
||||
with efficient and exact predicates given an exact
|
||||
kernel \ccc{EK} and a filtering kernel \ccc{FK}. The geometric
|
||||
constructions associated provided by this class are equivalent
|
||||
to those provided by the traits class
|
||||
\ccc{Apollonius_graph_traits_2<CK,CM>}, which means that they may
|
||||
be inexact.
|
||||
|
||||
This class has six template parameters. The first, third and fifth
|
||||
template parameters must be a models of the \ccc{Kernel} concept. The
|
||||
second, fourth and sixth template parameters correspond to how
|
||||
predicates are evaluated. There are two predefined possible values for
|
||||
\ccc{Method_tag}, namely \ccc{CGAL::Sqrt_field_tag} and
|
||||
\ccc{CGAL::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 one requires the exact evaluation of signs of
|
||||
ring-type expressions, i.e., expressions involving only additions,
|
||||
subtractions and multiplications.
|
||||
%
|
||||
The way the predicates are evaluated is discussed in
|
||||
\cite{ke-ppawv-02,ke-rctac-03}.
|
||||
|
||||
The default values for the template parameters are as follows:
|
||||
\ccc{CM = CGAL::Ring_tag},
|
||||
\ccc{EK = CGAL::Simple_cartesian<CGAL::MP_Float>},
|
||||
\ccc{EM = CM},
|
||||
\ccc{FK = CGAL::Simple_cartesian<CGAL::Interval_nt<true> >},
|
||||
\ccc{FM = CM}.
|
||||
|
||||
|
||||
\ccInclude{CGAL/Apollonius_graph_filtered_traits_2.h}
|
||||
|
||||
\ccIsModel
|
||||
\ccc{ApolloniusGraphTraits_2}
|
||||
|
||||
\ccCreationVariable{traits}
|
||||
\ccCreation
|
||||
\ccThree{Apollonius_graph_filtered_traits_2<CK,CK,CK,CK,CK,CK>+}
|
||||
{traits = other;+}{}
|
||||
\ccThreeToTwo
|
||||
%
|
||||
\ccConstructor{ Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>();}
|
||||
{Default constructor.}
|
||||
\ccGlue
|
||||
\ccConstructor{
|
||||
Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>
|
||||
(Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM> other);}
|
||||
{Copy constructor.}
|
||||
\ccGlue
|
||||
\ccMethod{Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM> operator=(Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM> other);}{Assignment operator.}
|
||||
|
||||
|
||||
\ccSeeAlso
|
||||
\ccc{Kernel}\\
|
||||
\ccc{ApolloniusGraphTraits_2} \\
|
||||
\ccc{CGAL::Ring_tag}\\
|
||||
\ccc{CGAL::Sqrt_field_tag}\\
|
||||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
%%RefPage: end of main body, begin of footer
|
||||
% EOF
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
|
@ -193,11 +193,11 @@ other} or to \ccVar\ccc{(other)} if \ccc{other} is deleted afterwards.}
|
|||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}\\
|
||||
\ccc{CGAL::Apollonius_graph_data_structure_2<Vb,Fb>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}\\
|
||||
\ccc{CGAL::Apollonius_graph_hierarchy_vertex_base_2<Agvb>}
|
||||
|
||||
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ 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 one requires the exact
|
||||
evaluation of signs of ring-type expressions, i.e., expressions
|
||||
involving only additions, subtractions and multiplications.
|
||||
involving only additions, subtractions and multiplications. The
|
||||
default value for \ccc{Method_tag} is \ccc{CGAL::Ring_tag}.
|
||||
%
|
||||
The way the predicates are evaluated is discussed in
|
||||
\cite{ke-ppawv-02,ke-rctac-03}.
|
||||
|
|
@ -63,8 +64,8 @@ other);}{Assignment operator.}
|
|||
\ccc{ApolloniusGraphTraits_2} \\
|
||||
\ccc{CGAL::Ring_tag}\\
|
||||
\ccc{CGAL::Sqrt_field_tag}\\
|
||||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
|
|
|
|||
|
|
@ -61,8 +61,8 @@ embedded at the center of \ccc{s}.}
|
|||
\ccc{ApolloniusGraphDataStructure_2}\\
|
||||
\ccc{ApolloniusGraphTraits_2}\\
|
||||
\ccc{CGAL::Apollonius_graph_data_structure_2<Vb,Fb>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ concept \ccc{ApolloniusSite_2}.
|
|||
\ccSeeAlso
|
||||
\ccc{Kernel}\\
|
||||
\ccc{ApolloniusSite_2}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ afore-mentioned concepts.
|
|||
\ccRefIdfierPage{CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden>}\\
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_face_base_2<Gt>}\\
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}\\
|
||||
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_hierarchy_2<Gt,Agds>} \\
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_hierarchy_vertex_base_2<Agvb>}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
\input{Apollonius_graph_2_ref/Apollonius_graph_face_base_2.tex}
|
||||
\input{Apollonius_graph_2_ref/ApolloniusGraphTraits_2.tex}
|
||||
\input{Apollonius_graph_2_ref/Apollonius_graph_traits_2.tex}
|
||||
\input{Apollonius_graph_2_ref/Apollonius_graph_filtered_traits_2.tex}
|
||||
\input{Apollonius_graph_2_ref/Apollonius_graph_hierarchy_2.tex}
|
||||
\input{Apollonius_graph_2_ref/ApolloniusGraphHierarchyVertexBase_2.tex}
|
||||
\input{Apollonius_graph_2_ref/Apollonius_graph_hierarchy_vertex_base_2.tex}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
%//
|
||||
%//============================================================================
|
||||
|
||||
\chapter{2D Apollonius graph}
|
||||
\chapter{2D Apollonius graphs}
|
||||
\label{chapter-apollonius2}
|
||||
|
||||
\minitoc
|
||||
|
|
@ -454,7 +454,6 @@ otherwise it is a finite edge.
|
|||
\end{ccHtmlOnly}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The last predicate that we want to discuss is called
|
||||
\ccc{Is_degenerate_edge_2}. It tells us whether an edge in the
|
||||
Apollonius diagram is degenerate, that is if its two endpoints
|
||||
|
|
@ -462,9 +461,53 @@ coincide. In the Apollonius graph such an edge corresponds to one of
|
|||
the additional edges that we use to triangulate the non-triangular
|
||||
faces.
|
||||
|
||||
% TALK ABOUT THE METHOD TAG AND THE FILTERED AND NON-FILTERED TRAITS
|
||||
The afore mentioned predicates are part of the
|
||||
\ccc{ApolloniusGraphTraits_2} concept of \cgal. \cgal{} also provides
|
||||
a model for this concept, the
|
||||
\ccc{Apollonius_graph_traits_2<K,Method_tag>} class. The first
|
||||
template parameter of this class must be a model of the \ccc{Kernel}
|
||||
concept. The second template parameter is a tag that indicates what
|
||||
operations are allowed in the computations that take place within the
|
||||
traits class.
|
||||
The two possible values of the \ccc{Method_tag} parameter are
|
||||
\ccc{CGAL::Ring_tag} and \ccc{CGAL::Sqrt_field_tag}. When
|
||||
\ccc{CGAL::Ring_tag} is used, only ring operations are used during the
|
||||
evaluation of the predicates, whereas if \ccc{CGAL::Sqrt_field_tag} is
|
||||
chosen, all four field operations, as well as square roots, as used
|
||||
during the predicate evaluation.
|
||||
|
||||
The \ccc{Apollonius_graph_traits_2<K,Method_tag>} class provides exact
|
||||
predicates if the number type in the kernel \ccc{K} is an exact number
|
||||
type. This is to be associated with the type of operations allowed for
|
||||
the predicate evaluation. For example \ccc{CGAL::MP_Float} as number
|
||||
type, with \ccc{CGAL::Ring_tag} as tag will give exact predicates,
|
||||
whereas \ccc{CGAL::MP_Float} with \ccc{CGAL::Sqrt_field_tag} will give
|
||||
inexact predicates.
|
||||
|
||||
Since using an exact number type may be too slow, the
|
||||
\ccc{Apollonius_graph_traits_2<K,Method_tag>} class is designed to
|
||||
support the dynamic filtering of \cgal{} through the
|
||||
\ccc{Filtered_exact<CT,ET>} mechanism. In particular if \ccc{CT} is an
|
||||
inexact number type that supports the operations denoted by the tag
|
||||
\ccc{Method_tag} and \ccc{ET} is an exact number type for these
|
||||
operations, then kernel with number type \ccc{Filtered_exact<CT,ET>}
|
||||
will yield exact predicates for the Apollonius graph traits. To give a
|
||||
concrete example, \ccc{Filtered_exact<double,MP_Float>} with
|
||||
\ccc{CGAL::Ring_tag} will produce exact predicates.
|
||||
|
||||
Another possibility for fast and exact predicate evalutation is to use
|
||||
the
|
||||
\ccc{Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
class. This class is the analog of a filtered kernel. It takes a
|
||||
constructions kernel \ccc{CK}, a filtering kernel \ccc{FK} and an
|
||||
exact kernel \ccc{EK}, as well as the corresponding tags
|
||||
(\ccc{CM}, \ccc{FM} and \ccc{EM}, respectively).
|
||||
It evaluates the predicates by first using the filtering kernel, and
|
||||
if this fails the evaluation is performed using the exact kernel. The
|
||||
constructions are done using the kernel \ccc{CK}, which means that
|
||||
they are not necessarily exact. All template parameters except
|
||||
\ccc{CK} have default values, which are explained in the reference
|
||||
manual.
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -298,13 +298,14 @@ construct_Apollonius_site_2_object();}{}
|
|||
|
||||
\ccHasModels
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
|
||||
|
||||
\ccSeeAlso
|
||||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
\end{ccRefConcept}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ site.}
|
|||
\ccSeeAlso
|
||||
\ccc{ApolloniusGraphTraits_2}\\
|
||||
\ccc{CGAL::Apollonius_site_2<K>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}.
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
|
||||
\end{ccRefConcept}
|
||||
|
||||
|
|
|
|||
|
|
@ -559,6 +559,7 @@ be preferred to \ccVar\ccc{ = other} or to \ccVar\ccc{(other)} if
|
|||
\ccc{ApolloniusGraphVertexBase_2}\\
|
||||
\ccc{ApolloniusGraphFaceBase_2}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}\\
|
||||
\ccc{CGAL::Apollonius_graph_data_structure_2<Vb,Fb>}\\
|
||||
\ccc{CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden>}\\
|
||||
\ccc{CGAL::Apollonius_graph_face_base_2<Gt>}
|
||||
|
|
|
|||
|
|
@ -53,8 +53,8 @@ the \ccc{ApolloniusGraphTraits_2} concept.
|
|||
\ccc{ApolloniusGraphTraits_2}\\
|
||||
\ccc{CGAL::Triangulation_face_base_2<Gt>}\\
|
||||
\ccc{CGAL::Apollonius_graph_data_structure_2<Vb,Fb>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
\end{ccRefClass}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,94 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: Apollonius_graph_euclidean_traits_2.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% | 12.04.2000 Author
|
||||
% | Package: Package
|
||||
% |
|
||||
%\RCSdef{\RCSRegulartriangulationtraitsRev}{$Revision$}
|
||||
%\RCSdefDate{\RCSRegulartriangulationtraitsDate}{$Date$}
|
||||
% |
|
||||
%%RefPage: end of header, begin of main body
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
||||
\begin{ccRefClass}
|
||||
{Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
%% add template arg's if necessary
|
||||
|
||||
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
||||
%% \ccHtmlIndexC[class]{} %% add further index entries
|
||||
\ccDefinition
|
||||
|
||||
The class \ccRefName\ provides a model for the
|
||||
\ccc{ApolloniusGraphTraits_2} concept.
|
||||
|
||||
The class \ccRefName\ uses the filtering technique \cite{bbp-iayed-01}
|
||||
to achieve traits for the \ccc{Apollonius_graph_2<Gt,Agds>} class
|
||||
with efficient and exact predicates given an exact
|
||||
kernel \ccc{EK} and a filtering kernel \ccc{FK}. The geometric
|
||||
constructions associated provided by this class are equivalent
|
||||
to those provided by the traits class
|
||||
\ccc{Apollonius_graph_traits_2<CK,CM>}, which means that they may
|
||||
be inexact.
|
||||
|
||||
This class has six template parameters. The first, third and fifth
|
||||
template parameters must be a models of the \ccc{Kernel} concept. The
|
||||
second, fourth and sixth template parameters correspond to how
|
||||
predicates are evaluated. There are two predefined possible values for
|
||||
\ccc{Method_tag}, namely \ccc{CGAL::Sqrt_field_tag} and
|
||||
\ccc{CGAL::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 one requires the exact evaluation of signs of
|
||||
ring-type expressions, i.e., expressions involving only additions,
|
||||
subtractions and multiplications.
|
||||
%
|
||||
The way the predicates are evaluated is discussed in
|
||||
\cite{ke-ppawv-02,ke-rctac-03}.
|
||||
|
||||
The default values for the template parameters are as follows:
|
||||
\ccc{CM = CGAL::Ring_tag},
|
||||
\ccc{EK = CGAL::Simple_cartesian<CGAL::MP_Float>},
|
||||
\ccc{EM = CM},
|
||||
\ccc{FK = CGAL::Simple_cartesian<CGAL::Interval_nt<true> >},
|
||||
\ccc{FM = CM}.
|
||||
|
||||
|
||||
\ccInclude{CGAL/Apollonius_graph_filtered_traits_2.h}
|
||||
|
||||
\ccIsModel
|
||||
\ccc{ApolloniusGraphTraits_2}
|
||||
|
||||
\ccCreationVariable{traits}
|
||||
\ccCreation
|
||||
\ccThree{Apollonius_graph_filtered_traits_2<CK,CK,CK,CK,CK,CK>+}
|
||||
{traits = other;+}{}
|
||||
\ccThreeToTwo
|
||||
%
|
||||
\ccConstructor{ Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>();}
|
||||
{Default constructor.}
|
||||
\ccGlue
|
||||
\ccConstructor{
|
||||
Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>
|
||||
(Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM> other);}
|
||||
{Copy constructor.}
|
||||
\ccGlue
|
||||
\ccMethod{Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM> operator=(Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM> other);}{Assignment operator.}
|
||||
|
||||
|
||||
\ccSeeAlso
|
||||
\ccc{Kernel}\\
|
||||
\ccc{ApolloniusGraphTraits_2} \\
|
||||
\ccc{CGAL::Ring_tag}\\
|
||||
\ccc{CGAL::Sqrt_field_tag}\\
|
||||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
%%RefPage: end of main body, begin of footer
|
||||
% EOF
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
|
@ -193,11 +193,11 @@ other} or to \ccVar\ccc{(other)} if \ccc{other} is deleted afterwards.}
|
|||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}\\
|
||||
\ccc{CGAL::Apollonius_graph_data_structure_2<Vb,Fb>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}\\
|
||||
\ccc{CGAL::Apollonius_graph_hierarchy_vertex_base_2<Agvb>}
|
||||
|
||||
|
||||
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ 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 one requires the exact
|
||||
evaluation of signs of ring-type expressions, i.e., expressions
|
||||
involving only additions, subtractions and multiplications.
|
||||
involving only additions, subtractions and multiplications. The
|
||||
default value for \ccc{Method_tag} is \ccc{CGAL::Ring_tag}.
|
||||
%
|
||||
The way the predicates are evaluated is discussed in
|
||||
\cite{ke-ppawv-02,ke-rctac-03}.
|
||||
|
|
@ -63,8 +64,8 @@ other);}{Assignment operator.}
|
|||
\ccc{ApolloniusGraphTraits_2} \\
|
||||
\ccc{CGAL::Ring_tag}\\
|
||||
\ccc{CGAL::Sqrt_field_tag}\\
|
||||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_2<Gt,Agds>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
|
|
|
|||
|
|
@ -61,8 +61,8 @@ embedded at the center of \ccc{s}.}
|
|||
\ccc{ApolloniusGraphDataStructure_2}\\
|
||||
\ccc{ApolloniusGraphTraits_2}\\
|
||||
\ccc{CGAL::Apollonius_graph_data_structure_2<Vb,Fb>}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
\end{ccRefClass}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -45,8 +45,8 @@ concept \ccc{ApolloniusSite_2}.
|
|||
\ccSeeAlso
|
||||
\ccc{Kernel}\\
|
||||
\ccc{ApolloniusSite_2}\\
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}
|
||||
|
||||
\ccc{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccc{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}
|
||||
|
||||
\end{ccRefClass}
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ afore-mentioned concepts.
|
|||
\ccRefIdfierPage{CGAL::Apollonius_graph_vertex_base_2<Gt,StoreHidden>}\\
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_face_base_2<Gt>}\\
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_traits_2<K,Method_tag>}\\
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_filtered_traits_2<CK,CM,EK,EM,FK,FM>}\\
|
||||
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_hierarchy_2<Gt,Agds>} \\
|
||||
\ccRefIdfierPage{CGAL::Apollonius_graph_hierarchy_vertex_base_2<Agvb>}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
\input{Apollonius_graph_2_ref/Apollonius_graph_face_base_2.tex}
|
||||
\input{Apollonius_graph_2_ref/ApolloniusGraphTraits_2.tex}
|
||||
\input{Apollonius_graph_2_ref/Apollonius_graph_traits_2.tex}
|
||||
\input{Apollonius_graph_2_ref/Apollonius_graph_filtered_traits_2.tex}
|
||||
\input{Apollonius_graph_2_ref/Apollonius_graph_hierarchy_2.tex}
|
||||
\input{Apollonius_graph_2_ref/ApolloniusGraphHierarchyVertexBase_2.tex}
|
||||
\input{Apollonius_graph_2_ref/Apollonius_graph_hierarchy_vertex_base_2.tex}
|
||||
|
|
|
|||
Loading…
Reference in New Issue