Updated documentation with changes from 19ae790

This commit is contained in:
Mael Rouxel-Labbé 2017-06-14 17:33:57 +02:00
parent dbaecc4ff5
commit 2364a551c4
6 changed files with 31 additions and 23 deletions

View File

@ -28,21 +28,22 @@ Note that `Dt::Geom_traits`, `Dt::Vertex`, and `Dt::Face` must be model the conc
\link Tag_true `Tag_true`\endlink, triggers exact comparisons between alpha values. This is useful
when the underlying triangulation is instantiated with an exact predicates inexact constructions
kernel. By default the `ExactAlphaComparisonTag` is set to \link Tag_false `Tag_false`\endlink as it induces a small
overhead.
\warning The tag `ExactAlphaComparisonTag` is currently ignored (meaning that the code will
overhead. Note that the tag `ExactAlphaComparisonTag` is currently ignored (meaning that the code will
behave as if `ExactAlphaComparisonTag` were set to \link Tag_false `Tag_false`\endlink)
if either condition is met:
- `Dt::Geom_traits::FT` is not a floating point number type. Indeed, this strategy
does not make sense if the traits class already provides exact constructions.
if `Dt::Geom_traits::FT` is not a floating point number type as this strategy
does not make sense if the traits class already provides exact constructions.
- the traits defines a point type that is not implicitely convertible to the two-dimensional point type
of a CGAL kernel. This is because we internally use the class `Cartesian_converter` to switch
between the traits class and exact CGAL kernels. For example, `ExactAlphaComparisonTag`
will be ignored if the traits class `CGAL::Projection_traits_xy_3` is used since
this traits class camouflages a `CGAL::Point_3` as a `%Point_2` and `Cartesian_converter`
does not know how to convert from the camouflaged `CGAL::Point_3` to the two-dimensional
point of an exact kernel.
\warning When the tag `ExactAlphaComparisonTag` is set to \link Tag_true `Tag_true`\endlink,
the class `Cartesian_converter` is used internally to switch between the traits class
and exact CGAL kernels. `Cartesian_converter` must thus provide the necessary functor
to convert a point of the traits class to a point of an exact kernel. However, this
functor is not necessarily provided by `Cartesian_converter`. For example
when using the traits class `CGAL::Projection_traits_xy_3`, a `CGAL::Point_3`
is camouflaged as a `%Point_2` and the basic `Cartesian_converter` does not know
how to convert from the camouflaged `CGAL::Point_3` to the two-dimensional point
of an exact kernel. In this case, a partial specialization of `Cartesian_converter`
must be provided by the user. An example of such specialization is given in the example
\ref Alpha_shapes_2/ex_alpha_projection_traits.cpp "ex_alpha_projection_traits.cpp".
\cgalHeading{I/O}

View File

@ -1,4 +1,5 @@
/*!
\example Alpha_shapes_2/ex_alpha_shapes_2.cpp
\example Alpha_shapes_2/ex_weighted_alpha_shapes_2.cpp
\example Alpha_shapes_2/ex_alpha_projection_traits.cpp
*/

View File

@ -23,20 +23,21 @@ must be model the concepts `AlphaShapeTraits_3`,
\link Tag_true `Tag_true`\endlink, 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 `ExactAlphaComparisonTag` is set to \link Tag_false `Tag_false`\endlink as it induces a small
overhead.
\warning The tag `ExactAlphaComparisonTag` is currently ignored (meaning that the code will
overhead. Note that the tag `ExactAlphaComparisonTag` is currently ignored (meaning that the code will
behave as if `ExactAlphaComparisonTag` were set to \link Tag_false `Tag_false`\endlink)
if either condition is met:
- `Dt::Geom_traits::FT` is not a floating point number type. Indeed, this strategy
does not make sense if the traits class already provides exact constructions.
if `Dt::Geom_traits::FT` is not a floating point number type as this strategy
does not make sense if the traits class already provides exact constructions.
- the traits defines a point type that is not implicitely convertible to the three-dimensional point type
of a CGAL kernel. This is because we internally use the class `Cartesian_converter` to switch
between the traits class and exact CGAL kernels.
\warning When the tag `ExactAlphaComparisonTag` is set to \link Tag_true `Tag_true`\endlink,
the class `Cartesian_converter` is used internally to switch between the traits class
and exact CGAL kernels. `Cartesian_converter` must thus provide the necessary functor
to convert a point of the traits class to a point of an exact kernel. However, this
functor is not necessarily provided by `Cartesian_converter`. In this case, a partial specialization of `Cartesian_converter`
must be provided by the user. An example of such specialization is given in the
two-dimensional Alpha Shapes example \ref Alpha_shapes_2/ex_alpha_projection_traits.cpp "ex_alpha_projection_traits.cpp".
Note that this class is used for <I>basic</I>, <I>weighted</I>,
and <I>periodic</I>Alpha Shapes.
and <I>periodic</I> Alpha Shapes.
\cgalHeading{I/O}

View File

@ -1,3 +1,6 @@
@INCLUDE = ${CGAL_DOC_PACKAGE_DEFAULTS}
PROJECT_NAME = "CGAL ${CGAL_DOC_VERSION} - 3D Alpha Shapes"
EXAMPLE_PATH = ${CGAL_Alpha_shapes_2_EXAMPLE_DIR} \
${CGAL_Alpha_shapes_3_EXAMPLE_DIR}

View File

@ -8,3 +8,4 @@ Triangulation_3
Geomview
Periodic_3_triangulation_3
Number_types
Alpha_shapes_2

View File

@ -5,4 +5,5 @@
\example Alpha_shapes_3/ex_fixed_weighted_alpha_shapes_3.cpp
\example Alpha_shapes_3/ex_periodic_alpha_shapes_3.cpp
\example Alpha_shapes_3/ex_weighted_alpha_shapes_3.cpp
\example Alpha_shapes_2/ex_alpha_projection_traits.cpp
*/