take into account Mariette's comments (still doc only for the moment)

This commit is contained in:
Sébastien Loriot 2011-04-28 07:12:32 +00:00
parent b39dc96716
commit 1a7a850bd6
2 changed files with 23 additions and 24 deletions

View File

@ -45,31 +45,24 @@
%----------------------------------------------------------------------
\begin{ccRefClass} {Alpha_shape_3<Dt,Atag>}
\begin{ccRefClass} {Alpha_shape_3<Dt,ExactAlphaComparisonTag>}
\ccDefinition
The class \ccClassTemplateName\ represents the family of
alpha shapes of points in the 3D space for {\em all} real
$\alpha$. It maintains an underlying triangulation
of the class \ccc{Dt} which
represents connectivity and order among its faces. Each
$k$-dimensional face of the \ccc{Dt} is associated with
an interval that specifies for which values of $\alpha$ the face
belongs to the alpha shape.
%
The second template parameter \ccc{Atag} indicates whether the comparison
of alpha-values needs to be exact or not. Possible values are \ccc{CGAL::Tag_false}
(the default) and \ccc{CGAL::Tag_true}. The purpose of this tag is to provide
a robust implementation in the case a traits class with exact predicates but inexact
constructions is used for the triangulation. It is by default not activated as
it induces a small overhead and does not make sense if used together with a traits
class with exact constructions.
of the class \ccc{Dt}. Each k-dimensional face of Dt is associated with an
interval that specifies for which values of alpha the face belongs to the alpha shape.
The second template parameter \ccc{ExactAlphaComparisonTag} is a tag that, when set to
\ccc{CGAL::Tag_true}, triggers exact comparisons between alpha values. This is useful
when the Delaunay triangulation is instantiated with an exact predicates inexact constructions
kernel. By default the \ccc{ExactAlphaComparisonTag} is set to \ccc{CGAL::Tag_false} as it induces a small
overhead and does not make sense if used together with a traits class with exact constructions.
Note that this class is at the same time used for {\em basic} and
for {\em weighted} Alpha Shapes\ccIndexMainItem[C]{Weighted_alpha_shapes_3}.
\ccInclude{CGAL/Alpha_shape_3.h}
\ccInheritsFrom
@ -90,12 +83,18 @@ it has to derive from a triangulation traits class.
For example \ccc{Dt::Point} is a Point class.
\ccNestedType{FT}{the number type of alpha values. \\
In case \ccc{Atag} is \ccc{CGAL::Tag_false}, it is {Gt::FT}.\\
In the case \ccc{Atag} is \ccc{CGAL::Tag_true}, it is a number type allowing filtered exact comparisons.
It provides functions \ccc{FT::Approximate_nt approx() const} and \ccc{FT::Exact_nt exact() const}
where \ccc{FT::Approximate_nt} and \ccc{FT::Exact_nt} are an interval number type and an exact field number type
respectively. It must be noted that an object of type \ccc{FT} is valid as long as the alpha shapes that creates
it is valid and has not been cleared.
In case \ccc{ExactAlphaComparisonTag} is \ccc{CGAL::Tag_false}, it is {Gt::FT}.\\
In case \ccc{ExactAlphaComparisonTag} is \ccc{CGAL::Tag_true}, it is a number type
allowing filtered exact comparisons (that is, interval arithmetic is first used before
resorting to exact arithmetic).\\
Access to the interval containing the exact value is provided through the function
\ccc{FT::Approximate_nt approx() const} where \ccc{FT::Approximate_nt} is \ccc{Interval_nt<Protected>}
with \ccc{Protected=true}.\\
Access to the exact value is provided through the function
\ccc{FT::Exact_nt exact() const} where \ccc{FT::Exact_nt} depends on the configuration of CGAL
(it is \ccc{CGAL::Gmpq} if \ccc{gmp} is available and \ccc{CGAL::Quotient<CGAL::MP_Float>} otherwise).\\
It must be noted that an object of type \ccc{FT} is valid as long as the alpha shapes class that creates
it is valid and has not been modified.
}
\ccNestedType{size_type}{The size type.}
@ -387,7 +386,7 @@ is an internal format.
\ccInclude{CGAL/IO/io.h}
\ccFunction{ostream& operator<<(ostream& os,
const Alpha_shape_3<Dt,Atag>& A);}
const Alpha_shape_3<Dt,ExactAlphaComparisonTag>& A);}
{Inserts the alpha shape \ccVar\ for the current alpha value into the stream \ccc{os}.
\ccPrecond The insert operator must be defined for \ccc{Point}.}
@ -396,7 +395,7 @@ is an internal format.
\ccInclude{CGAL/IO/alpha_shape_geomview_ostream_3.h}
\ccFunction{Geomview_stream& operator<<(Geomview_stream& W,
const Alpha_shape_3<Dt,Atag>& A);}
const Alpha_shape_3<Dt,ExactAlphaComparisonTag>& A);}
{Inserts the alpha shape \ccVar\ for the current alpha value into the Geomview stream \ccc{W}.
\ccPrecond The insert operator must be defined for \ccc{GT::Point} and \ccc{GT::Triangle}.}

View File

@ -133,7 +133,7 @@ of the alpha complex where singular faces are removed.
\subsection*{Classes}
\ccRefIdfierPage{CGAL::Alpha_status<NT>} \\
\ccRefIdfierPage{CGAL::Alpha_shape_3<Dt,Atag>}\\
\ccRefIdfierPage{CGAL::Alpha_shape_3<Dt,ExactAlphaComparisonTag>}\\
\ccRefIdfierPage{CGAL::Alpha_shape_vertex_base_3<Traits,Vb>}\\
\ccRefIdfierPage{CGAL::Alpha_shape_cell_base_3<Traits,Fb>}