mirror of https://github.com/CGAL/cgal
take into account Mariette's comments (still doc only for the moment)
This commit is contained in:
parent
b39dc96716
commit
1a7a850bd6
|
|
@ -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}.}
|
||||
|
||||
|
|
|
|||
|
|
@ -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>}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue