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 \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 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 kernel. By default the `ExactAlphaComparisonTag` is set to \link Tag_false `Tag_false`\endlink as it induces a small
overhead. overhead. Note that the tag `ExactAlphaComparisonTag` is currently ignored (meaning that the code will
\warning The tag `ExactAlphaComparisonTag` is currently ignored (meaning that the code will
behave as if `ExactAlphaComparisonTag` were set to \link Tag_false `Tag_false`\endlink) behave as if `ExactAlphaComparisonTag` were set to \link Tag_false `Tag_false`\endlink)
if either condition is met: if `Dt::Geom_traits::FT` is not a floating point number type as this strategy
- `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.
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 \warning When the tag `ExactAlphaComparisonTag` is set to \link Tag_true `Tag_true`\endlink,
of a CGAL kernel. This is because we internally use the class `Cartesian_converter` to switch the class `Cartesian_converter` is used internally to switch between the traits class
between the traits class and exact CGAL kernels. For example, `ExactAlphaComparisonTag` and exact CGAL kernels. `Cartesian_converter` must thus provide the necessary functor
will be ignored if the traits class `CGAL::Projection_traits_xy_3` is used since to convert a point of the traits class to a point of an exact kernel. However, this
this traits class camouflages a `CGAL::Point_3` as a `%Point_2` and `Cartesian_converter` functor is not necessarily provided by `Cartesian_converter`. For example
does not know how to convert from the camouflaged `CGAL::Point_3` to the two-dimensional when using the traits class `CGAL::Projection_traits_xy_3`, a `CGAL::Point_3`
point of an exact kernel. 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} \cgalHeading{I/O}

View File

@ -1,4 +1,5 @@
/*! /*!
\example Alpha_shapes_2/ex_alpha_shapes_2.cpp \example Alpha_shapes_2/ex_alpha_shapes_2.cpp
\example Alpha_shapes_2/ex_weighted_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 \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 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 kernel. By default the `ExactAlphaComparisonTag` is set to \link Tag_false `Tag_false`\endlink as it induces a small
overhead. overhead. Note that the tag `ExactAlphaComparisonTag` is currently ignored (meaning that the code will
\warning The tag `ExactAlphaComparisonTag` is currently ignored (meaning that the code will
behave as if `ExactAlphaComparisonTag` were set to \link Tag_false `Tag_false`\endlink) behave as if `ExactAlphaComparisonTag` were set to \link Tag_false `Tag_false`\endlink)
if either condition is met: if `Dt::Geom_traits::FT` is not a floating point number type as this strategy
- `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.
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 \warning When the tag `ExactAlphaComparisonTag` is set to \link Tag_true `Tag_true`\endlink,
of a CGAL kernel. This is because we internally use the class `Cartesian_converter` to switch the class `Cartesian_converter` is used internally to switch between the traits class
between the traits class and exact CGAL kernels. 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>, 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} \cgalHeading{I/O}

View File

@ -1,3 +1,6 @@
@INCLUDE = ${CGAL_DOC_PACKAGE_DEFAULTS} @INCLUDE = ${CGAL_DOC_PACKAGE_DEFAULTS}
PROJECT_NAME = "CGAL ${CGAL_DOC_VERSION} - 3D Alpha Shapes" 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 Geomview
Periodic_3_triangulation_3 Periodic_3_triangulation_3
Number_types 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_fixed_weighted_alpha_shapes_3.cpp
\example Alpha_shapes_3/ex_periodic_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_3/ex_weighted_alpha_shapes_3.cpp
\example Alpha_shapes_2/ex_alpha_projection_traits.cpp
*/ */