diff --git a/Alpha_shapes_2/doc/Alpha_shapes_2/PackageDescription.txt b/Alpha_shapes_2/doc/Alpha_shapes_2/PackageDescription.txt index 8f0c2b5077e..4f8915396b8 100644 --- a/Alpha_shapes_2/doc/Alpha_shapes_2/PackageDescription.txt +++ b/Alpha_shapes_2/doc/Alpha_shapes_2/PackageDescription.txt @@ -15,7 +15,7 @@ \PkgDescriptionEnd This chapter presents a framework for alpha shapes. The description is based on -the articles \cite em-tdas-94,e-was-92. Alpha shapes are +the articles \cite em-tdas-94, \cite e-was-92. Alpha shapes are the generalization of the convex hull of a point set. Let \f$ S\f$ be a finite set of points in \f$ \R^d\f$, \f$ d = 2,3\f$ and \f$ \alpha\f$ a parameter with \f$ 0 \leq \alpha \leq \infty\f$. For \f$ \alpha = \infty\f$, the \f$ \alpha\f$-shape is the convex hull of \f$ S\f$. As diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/Apollonius_graph_2.txt b/Apollonius_graph_2/doc/Apollonius_graph_2/Apollonius_graph_2.txt index a33fd33110e..6f679ef0821 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/Apollonius_graph_2.txt +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/Apollonius_graph_2.txt @@ -244,7 +244,7 @@ The predicates required for the computation of the Apollonius graph are rather complicated. It is not the purpose of this document to discuss them in detail. The interested reader may refer to the papers by Karavelas and Emiris for the details -\cite cgal:ke-ppawv-02,cgal:ke-rctac-03. However, we would like to give a brief +\cite cgal:ke-ppawv-02, \cite cgal:ke-rctac-03. However, we would like to give a brief overview of what they compute. There are several predicates needed by this algorithm. We will discuss the most important/complicated ones. It turns out that diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_filtered_traits_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_filtered_traits_2.h index 597c7d32b65..d3085dfb780 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_filtered_traits_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_filtered_traits_2.h @@ -28,7 +28,7 @@ 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 cgal:ke-ppawv-02,cgal:ke-rctac-03. +\cite cgal:ke-ppawv-02, \cite cgal:ke-rctac-03. The default values for the template parameters are as follows: `CM = CGAL::Ring_tag`, diff --git a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_traits_2.h b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_traits_2.h index 17d66e09f92..9fa10fb1b59 100644 --- a/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_traits_2.h +++ b/Apollonius_graph_2/doc/Apollonius_graph_2/CGAL/Apollonius_graph_traits_2.h @@ -18,7 +18,7 @@ evaluation of signs of ring-type expressions, i.e., expressions involving only additions, subtractions and multiplications. The default value for `Method_tag` is `CGAL::Ring_tag`. The way the predicates are evaluated is discussed in -\cite cgal:ke-ppawv-02,cgal:ke-rctac-03. +\cite cgal:ke-ppawv-02, \cite cgal:ke-rctac-03. \models ::ApolloniusGraphTraits_2 diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h index 61bf025453d..67f53403dc2 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Approximate_min_ellipsoid_d.h @@ -78,9 +78,9 @@ achieved approximation ratio \f$ 1+\epsilon'\f$ can be queried using The ellipsoid \f$ {\cal E}\f$ computed by the algorithm satisfies the inclusions -\f[ \anchor eqapproximate_min_ellipsoid_incl -\frac{1}{(1+\epsilon')d} \mathcalE \subseteq (P) \subseteq \mathcalE +\f[ +\frac{1}{(1+\epsilon')d} {\cal E} \subseteq \mathop{\rm conv}\nolimits(P) \subseteq {\cal E} \f] where \f$ f {\cal E}\f$ denotes the ellipsoid \f$ {\cal E}\f$ scaled by the factor \f$ f\in\R^+\f$ with respect to its center, and where \f$ \mathop{\rm diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2.h index b11f021cfd6..44a2f20e66a 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2.h @@ -40,7 +40,7 @@ Implementation We implement the incremental algorithm of Welzl, with move-to-front heuristic \cite w-sedbe-91a, using the primitives as described -in \cite gs-epsee-97,cgal:gs-seefe-97a. The whole implementation is described +in \cite gs-epsee-97, \cite cgal:gs-seefe-97a. The whole implementation is described in \cite cgal:gs-seeeg-98. If randomization is diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/min_quadrilateral_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/min_quadrilateral_2.h index e42007d0f28..98566116293 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/min_quadrilateral_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/min_quadrilateral_2.h @@ -47,7 +47,7 @@ Implementation We use a rotating caliper algorithm -\cite stvwe-mepa-95,v-fmep-90 with worst case running time linear +\cite stvwe-mepa-95, \cite v-fmep-90 with worst case running time linear in the number of input points. Example diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/rectangular_p_center_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/rectangular_p_center_2.h index 09c69d8beb2..24fbc661c4c 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/rectangular_p_center_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/rectangular_p_center_2.h @@ -251,7 +251,7 @@ The runtime is linear for \f$ p \in \{2,\,3\}\f$ and input points. These runtimes are worst case optimal. The \f$ 3\f$-center algorithm uses a prune-and-search technique described in \cite cgal:h-slacr-99. The \f$ 4\f$-center implementation uses sorted matrix -search \cite fj-fkppc-83,fj-gsrsm-84 and fast algorithms for +search \cite fj-fkppc-83, \cite fj-gsrsm-84 and fast algorithms for piercing rectangles \cite sw-rpppp-96. Example diff --git a/Box_intersection_d/doc/Box_intersection_d/Box_intersection_d.txt b/Box_intersection_d/doc/Box_intersection_d/Box_intersection_d.txt index 68121a7b577..7ea9296f045 100644 --- a/Box_intersection_d/doc/Box_intersection_d/Box_intersection_d.txt +++ b/Box_intersection_d/doc/Box_intersection_d/Box_intersection_d.txt @@ -89,22 +89,21 @@ The two principle function calls utilizing all default arguments look as follows: \code{.cpp} -template< class RandomAccessIterator, class Callback > -void box_intersection_d( -RandomAccessIterator begin, RandomAccessIterator end, -Callback callback); +#include +template< class RandomAccessIterator, class Callback > +void box_intersection_d(RandomAccessIterator begin, + RandomAccessIterator end, + Callback callback); template< class RandomAccessIterator1, -class RandomAccessIterator2, -class Callback > -void box_intersection_d( -RandomAccessIterator1 begin1, RandomAccessIterator1 end1, -RandomAccessIterator2 begin2, RandomAccessIterator2 end2, -Callback callback); + class RandomAccessIterator2, + class Callback > +void box_intersection_d(RandomAccessIterator1 begin1, RandomAccessIterator1 end1, + RandomAccessIterator2 begin2, RandomAccessIterator2 end2, + Callback callback); \endcode - Additional parameters to the functions calls are a cutoff/ value to adjust performance trade-offs, and a topology/ parameter selecting between topologically closed boxes (the default) and @@ -143,48 +142,28 @@ The function signatures for the bipartite case look as follows. The signatures for the complete case with the `box_self_intersection_d` function look the same except for the single iterator range. -CONVINCLUDED:CGAL/box_intersection_d.h +\code{.cpp} +#include CGAL/box_intersection_d.h -END:REF - -/*! -\ingroup PkgBoxIntersectionD -SPLICE DOC HERE - -*/ template< class RandomAccessIterator1, -class RandomAccessIterator2, -class Callback > -void box_intersection_d( -RandomAccessIterator1 begin1, RandomAccessIterator1 end1, -RandomAccessIterator2 begin2, RandomAccessIterator2 end2, -Callback callback, -std::ptrdiff_t cutoff = 10, -Box_intersection_d::Topology topology = Box_intersection_d::CLOSED, -Box_intersection_d::Setting setting = Box_intersection_d::BIPARTITE); + class RandomAccessIterator2, + class Callback > +void box_intersection_d(RandomAccessIterator1 begin1, RandomAccessIterator1 end1, + RandomAccessIterator2 begin2, RandomAccessIterator2 end2, + Callback callback, std::ptrdiff_t cutoff = 10, + Box_intersection_d::Topology topology = Box_intersection_d::CLOSED, + Box_intersection_d::Setting setting = Box_intersection_d::BIPARTITE); -BEGIN:REF - -END:REF - -/*! -\ingroup PkgBoxIntersectionD -SPLICE DOC HERE - -*/ template< class RandomAccessIterator1, -class RandomAccessIterator2, -class Callback, class BoxTraits > -void box_intersection_d( -RandomAccessIterator1 begin1, RandomAccessIterator1 end1, -RandomAccessIterator2 begin2, RandomAccessIterator2 end2, -Callback callback, -BoxTraits box_traits, -std::ptrdiff cutoff = 10, -Box_intersection_d::Topology topology = Box_intersection_d::CLOSED, -Box_intersection_d::Setting setting = Box_intersection_d::BIPARTITE); - -BEGIN:REF + class RandomAccessIterator2, + class Callback, class BoxTraits > +void box_intersection_d(RandomAccessIterator1 begin1, RandomAccessIterator1 end1, + RandomAccessIterator2 begin2, RandomAccessIterator2 end2, + Callback callback, BoxTraits box_traits, + std::ptrdiff cutoff = 10, + Box_intersection_d::Topology topology = Box_intersection_d::CLOSED, + Box_intersection_d::Setting setting = Box_intersection_d::BIPARTITE); +\endcode \section secboxintersectminimal Minimal Example for Intersecting Boxes @@ -307,7 +286,7 @@ just converting from the `double` to the `float` representation incurs rounding that needs to be controlled properly, otherwise the box might shrink and one might miss intersections. -\section secboxintersparams Example Using the topology and the cutoff Parameters +\section secboxintersparams Example Using the topology and the cutoff Parameters Boxes can be interpreted by the box intersection algorithm as closed or as half-open boxes, see also Section \ref secboxintersdef . Closed diff --git a/Convex_hull_2/doc/Convex_hull_2/Convex_hull_2.txt b/Convex_hull_2/doc/Convex_hull_2/Convex_hull_2.txt index b6c92df1456..caf55890ff9 100644 --- a/Convex_hull_2/doc/Convex_hull_2/Convex_hull_2.txt +++ b/Convex_hull_2/doc/Convex_hull_2/Convex_hull_2.txt @@ -56,7 +56,7 @@ in the worst case. The algorithm chosen depends on the kind of iterator used to specify the input points. These two algorithms are also available via the functions `ch_bykat` and `ch_akl_toussaint`, respectively. Also available are -the \f$ O(n \log n)\f$ Graham-Andrew scan algorithm \cite a-aeach-79,m-mdscg-84 +the \f$ O(n \log n)\f$ Graham-Andrew scan algorithm \cite a-aeach-79, \cite m-mdscg-84 (`ch_graham_andrew`), the \f$ O(n h)\f$ Jarvis march algorithm \cite j-ichfs-73 (`ch_jarvis`), diff --git a/Documentation/doc/General.txt b/Documentation/doc/General.txt index 6b82868c69d..bcc73815298 100644 --- a/Documentation/doc/General.txt +++ b/Documentation/doc/General.txt @@ -12,10 +12,9 @@ class AdaptableFunctor {}; class AdaptableUnaryFunction {}; class AdaptableBinaryFunction {}; +class Iterator {}; class OutputIterator {}; class InputIterator {}; class ForwardIterator {}; - class RandomAccessIterator {}; class BidirectionalIterator {}; - diff --git a/Documentation/doxyassist.xml b/Documentation/doxyassist.xml index 340e96e0f24..644ca9fb565 100644 --- a/Documentation/doxyassist.xml +++ b/Documentation/doxyassist.xml @@ -54,6 +54,18 @@ namespace for the XML file to be processed properly. --> + + Jet_fitting_3 + ../Jet_fitting_3/doc + + ../Jet_fitting_3/doc/Jet_fitting_3/ + ../Jet_fitting_3/doc/Jet_fitting_3/ + ./tags/Jet_fitting_3.tag + ../Jet_fitting_3/doc/Jet_fitting_3/fig + ../Jet_fitting_3/examples + + + Mesh_3 ../Mesh_3/doc @@ -466,6 +478,31 @@ namespace for the XML file to be processed properly. --> + + + Circulator + ../Circulator/doc + + ../Circulator/doc/Circulator/ + ../Circulator/doc/Circulator/ + ./tags/Circulator.tag + ../Circulator/doc/Circulator/fig + ../Circulator/examples + + + + + Nef_2 + ../Nef_2/doc + + ../Nef_2/doc/Nef_2/ + ../Nef_2/doc/Nef_2/ + ./tags/Nef_2.tag + ../Nef_2/doc/Nef_2/fig + ../Nef_2/examples + + + @@ -487,74 +524,80 @@ namespace for the XML file to be processed properly. --> ./doc/fig - ../STL_Extension/doc/STL_Extension/fig - ../Mesh_2/doc/Mesh_2/fig - ../Mesh_3/doc/Mesh_3/fig ../Algebraic_foundations/doc/Algebraic_foundations/fig - ../HalfedgeDS/doc/HalfedgeDS/fig + ../Alpha_shapes_2/doc/Alpha_shapes_2/fig + ../Alpha_shapes_3/doc/Alpha_shapes_3/fig + ../Apollonius_graph_2/doc/Apollonius_graph_2/fig + ../Bounding_volumes/doc/Bounding_volumes/fig + ../Box_intersection_d/doc/Box_intersection_d/fig + ../CGAL_ipelets/doc/CGAL_ipelets/fig + ../Circulator/doc/Circulator/fig + ../Convex_decomposition_3/doc/Convex_decomposition_3/fig ../Convex_hull_2/doc/Convex_hull_2/fig ../Convex_hull_3/doc/Convex_hull_3/fig ../Convex_hull_d/doc/Convex_hull_d/fig - ../Straight_skeleton_2/doc/Straight_skeleton_2/fig - ../Partition_2/doc/Partition_2/fig - ../Convex_decomposition_3/doc/Convex_decomposition_3/fig - ../Point_set_2/doc/Point_set_2/fig - ../Interval_skip_list/doc/Interval_skip_list/fig ../Envelope_2/doc/Envelope_2/fig ../Envelope_3/doc/Envelope_3/fig - ../Minkowski_sum_2/doc/Minkowski_sum_2/fig - ../Minkowski_sum_3/doc/Minkowski_sum_3/fig ../Generator/doc/Generator/fig ../Geomview/doc/Geomview/fig - ../Spatial_searching/doc/Spatial_searching/fig - ../Box_intersection_d/doc/Box_intersection_d/fig ../GraphicsView/doc/GraphicsView/fig + ../HalfedgeDS/doc/HalfedgeDS/fig + ../Interval_skip_list/doc/Interval_skip_list/fig + ../Nef_2/doc/Nef_2/fig + ../Mesh_2/doc/Mesh_2/fig + ../Mesh_3/doc/Mesh_3/fig + ../Jet_fitting_3/doc/Jet_fitting_3/fig + ../Minkowski_sum_2/doc/Minkowski_sum_2/fig + ../Minkowski_sum_3/doc/Minkowski_sum_3/fig ../Miscellany/doc/Miscellany/fig - ../Polytope_distance_d/doc/Polytope_distance_d/fig - ../Bounding_volumes/doc/Bounding_volumes/fig - ../Snap_rounding_2/doc/Snap_rounding_2/fig - ../Skin_surface_3/doc/Skin_surface_3/fig ../Modular_arithmetic/doc/Modular_arithmetic/fig - ../Alpha_shapes_2/doc/Alpha_shapes_2/fig - ../Alpha_shapes_3/doc/Alpha_shapes_3/fig + ../Partition_2/doc/Partition_2/fig + ../Point_set_2/doc/Point_set_2/fig + ../Polytope_distance_d/doc/Polytope_distance_d/fig ../Principal_component_analysis/doc/Principal_component_analysis/fig - ../CGAL_ipelets/doc/CGAL_ipelets/fig - ../Apollonius_graph_2/doc/Apollonius_graph_2/fig + ../STL_Extension/doc/STL_Extension/fig + ../Skin_surface_3/doc/Skin_surface_3/fig + ../Snap_rounding_2/doc/Snap_rounding_2/fig + ../Spatial_searching/doc/Spatial_searching/fig + ../Straight_skeleton_2/doc/Straight_skeleton_2/fig - ./tags/STL_Extension.tag=../../CGAL.CGAL.STL_Extension/html - ./tags/Mesh_2.tag=../../CGAL.CGAL.Mesh_2/html - ./tags/Mesh_3.tag=../../CGAL.CGAL.Mesh_3/html ./tags/Algebraic_foundations.tag=../../CGAL.CGAL.Algebraic_foundations/html - ./tags/HalfedgeDS.tag=../../CGAL.CGAL.HalfedgeDS/html + ./tags/Alpha_shapes_2.tag=../../CGAL.CGAL.Alpha_shapes_2/html + ./tags/Alpha_shapes_3.tag=../../CGAL.CGAL.Alpha_shapes_3/html + ./tags/Apollonius_graph_2.tag=../../CGAL.CGAL.Apollonius_graph_2/html + ./tags/Bounding_volumes.tag=../../CGAL.CGAL.Bounding_volumes/html + ./tags/Box_intersection_d.tag=../../CGAL.CGAL.Box_intersection_d/html + ./tags/CGAL_ipelets.tag=../../CGAL.CGAL.CGAL_ipelets/html + ./tags/Circulator.tag=../../CGAL.CGAL.Circulator/html + ./tags/Convex_decomposition_3.tag=../../CGAL.CGAL.Convex_decomposition_3/html ./tags/Convex_hull_2.tag=../../CGAL.CGAL.Convex_hull_2/html ./tags/Convex_hull_3.tag=../../CGAL.CGAL.Convex_hull_3/html ./tags/Convex_hull_d.tag=../../CGAL.CGAL.Convex_hull_d/html - ./tags/Straight_skeleton_2.tag=../../CGAL.CGAL.Straight_skeleton_2/html - ./tags/Partition_2.tag=../../CGAL.CGAL.Partition_2/html - ./tags/Convex_decomposition_3.tag=../../CGAL.CGAL.Convex_decomposition_3/html - ./tags/Point_set_2.tag=../../CGAL.CGAL.Point_set_2/html - ./tags/Interval_skip_list.tag=../../CGAL.CGAL.Interval_skip_list/html ./tags/Envelope_2.tag=../../CGAL.CGAL.Envelope_2/html ./tags/Envelope_3.tag=../../CGAL.CGAL.Envelope_3/html - ./tags/Minkowski_sum_2.tag=../../CGAL.CGAL.Minkowski_sum_2/html - ./tags/Minkowski_sum_3.tag=../../CGAL.CGAL.Minkowski_sum_3/html ./tags/Generator.tag=../../CGAL.CGAL.Generator/html ./tags/Geomview.tag=../../CGAL.CGAL.Geomview/html - ./tags/Spatial_searching.tag=../../CGAL.CGAL.Spatial_searching/html - ./tags/Box_intersection_d.tag=../../CGAL.CGAL.Box_intersection_d/html ./tags/GraphicsView.tag=../../CGAL.CGAL.GraphicsView/html + ./tags/HalfedgeDS.tag=../../CGAL.CGAL.HalfedgeDS/html + ./tags/Interval_skip_list.tag=../../CGAL.CGAL.Interval_skip_list/html + ./tags/Nef_2.tag=../../CGAL.CGAL.Nef_2/html + ./tags/Mesh_2.tag=../../CGAL.CGAL.Mesh_2/html + ./tags/Mesh_3.tag=../../CGAL.CGAL.Mesh_3/html + ./tags/Jet_fitting_3.tag=../../CGAL.CGAL.Jet_fitting_3/html + ./tags/Minkowski_sum_2.tag=../../CGAL.CGAL.Minkowski_sum_2/html + ./tags/Minkowski_sum_3.tag=../../CGAL.CGAL.Minkowski_sum_3/html ./tags/Miscellany.tag=../../CGAL.CGAL.Miscellany/html - ./tags/Polytope_distance_d.tag=../../CGAL.CGAL.Polytope_distance_d/html - ./tags/Bounding_volumes.tag=../../CGAL.CGAL.Bounding_volumes/html - ./tags/Snap_rounding_2.tag=../../CGAL.CGAL.Snap_rounding_2/html - ./tags/Skin_surface_3.tag=../../CGAL.CGAL.Skin_surface_3/html ./tags/Modular_arithmetic.tag=../../CGAL.CGAL.Modular_arithmetic/html - ./tags/Alpha_shapes_2.tag=../../CGAL.CGAL.Alpha_shapes_2/html - ./tags/Alpha_shapes_3.tag=../../CGAL.CGAL.Alpha_shapes_3/html + ./tags/Partition_2.tag=../../CGAL.CGAL.Partition_2/html + ./tags/Point_set_2.tag=../../CGAL.CGAL.Point_set_2/html + ./tags/Polytope_distance_d.tag=../../CGAL.CGAL.Polytope_distance_d/html ./tags/Principal_component_analysis.tag=../../CGAL.CGAL.Principal_component_analysis/html - ./tags/CGAL_ipelets.tag=../../CGAL.CGAL.CGAL_ipelets/html - ./tags/Apollonius_graph_2.tag=../../CGAL.CGAL.Apollonius_graph_2/html + ./tags/STL_Extension.tag=../../CGAL.CGAL.STL_Extension/html + ./tags/Skin_surface_3.tag=../../CGAL.CGAL.Skin_surface_3/html + ./tags/Snap_rounding_2.tag=../../CGAL.CGAL.Snap_rounding_2/html + ./tags/Spatial_searching.tag=../../CGAL.CGAL.Spatial_searching/html + ./tags/Straight_skeleton_2.tag=../../CGAL.CGAL.Straight_skeleton_2/html true false diff --git a/Documentation/header.html b/Documentation/header.html index 9fe6de0bae6..10ea77fa028 100644 --- a/Documentation/header.html +++ b/Documentation/header.html @@ -19,6 +19,10 @@ $search +\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) +\( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) + +
diff --git a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDS.h b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDS.h index 6561079e1a9..7d31a62ee7c 100644 --- a/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDS.h +++ b/HalfedgeDS/doc/HalfedgeDS/Concepts/HalfedgeDS.h @@ -11,7 +11,7 @@ classes built on top of the halfedge data structure. The data structure defined here is known as the FE-structure \cite w-ebdss-85, as -halfedges \cite m-ism-88,cgal:bfh-mgedm-95 or as the doubly connected edge +halfedges \cite m-ism-88, \cite cgal:bfh-mgedm-95 or as the doubly connected edge list (DCEL) \cite bkos-cgaa-97, although the original reference for the DCEL \cite mp-fitcp-78 describes a different data structure. The halfedge data structure can also be seen as one of the variants of the diff --git a/HalfedgeDS/doc/HalfedgeDS/HalfedgeDS.txt b/HalfedgeDS/doc/HalfedgeDS/HalfedgeDS.txt index 4b261d157fc..7a646f2e8c6 100644 --- a/HalfedgeDS/doc/HalfedgeDS/HalfedgeDS.txt +++ b/HalfedgeDS/doc/HalfedgeDS/HalfedgeDS.txt @@ -32,7 +32,7 @@ structure is meant as an implementation layer. See for example the The data structure provided here is also known as the FE-structure \cite w-ebdss-85, as -halfedges \cite m-ism-88,cgal:bfh-mgedm-95 or as the doubly connected edge +halfedges \cite m-ism-88, \cite cgal:bfh-mgedm-95 or as the doubly connected edge list (DCEL) \cite bkos-cgaa-97, although the original reference for the DCEL \cite mp-fitcp-78 describes a different data structure. The halfedge data structure can also be seen as one of the variants of the @@ -100,21 +100,22 @@ There are two different models for the `HalfedgeDS` concept available, `HalfedgeDS_list` and `HalfedgeDS_vector`, and more might come. Therefore we have kept their interface small and factored out common functionality into separate helper classes, `HalfedgeDS_decorator`, -`HalfedgeDS_const_decorator`, and `HalfedgeDS_items_decorator`, -which are not shown in Figure \ref figureHalfedgeDSDesign , -but would be placed at the side of the `HalfedgeDS` -since they broaden that interface but do not hide it. These helper -classes contain operations that are useful to implement the operations -in the next layer, for example, the polyhedron. They add, for example, -the Euler operations and partial operations from which further Euler -operations can be built, such as inserting an edge into the ring of -edges at a vertex. Furthermore, the helper classes contain adaptive -functionality. For example, if the `prev()` member function is -not provided for halfedges, the `find_prev()` member function of -a helper class searches in the positive direction along the face for -the previous halfedge. But if the `prev()` member function is -provided, the `find_prev()` member function simply calls it. This -distinction is resolved at compile time with a technique called compile-time tags, similar to iterator tags in \cite cgal:sl-stl-95. +`HalfedgeDS_const_decorator`, and `HalfedgeDS_items_decorator`, which +are not shown in Figure \ref figureHalfedgeDSDesign , but would be +placed at the side of the `HalfedgeDS` since they broaden that +interface but do not hide it. These helper classes contain operations +that are useful to implement the operations in the next layer, for +example, the polyhedron. They add, for example, the Euler operations +and partial operations from which further Euler operations can be +built, such as inserting an edge into the ring of edges at a +vertex. Furthermore, the helper classes contain adaptive +functionality. For example, if the `prev()` member function is not +provided for halfedges, the `find_prev()` member function of a helper +class searches in the positive direction along the face for the +previous halfedge. But if the `prev()` member function is provided, +the `find_prev()` member function simply calls it. This distinction is +resolved at compile time with a technique called compile-time +tags, similar to iterator tags in \cite cgal:sl-stl-95. The `Polyhedron_3` as an example for the third layer adds the geometric interpretation, provides an easy-to-use interface of diff --git a/HalfedgeDS/doc/HalfedgeDS/PackageDescription.txt b/HalfedgeDS/doc/HalfedgeDS/PackageDescription.txt index 54e939ddf42..f2908b1c1cf 100644 --- a/HalfedgeDS/doc/HalfedgeDS/PackageDescription.txt +++ b/HalfedgeDS/doc/HalfedgeDS/PackageDescription.txt @@ -26,7 +26,7 @@ class in the package \ref chapterPolyhedronRef Polyhedron. The data structure provided here is known as the FE-structure \cite w-ebdss-85, as -halfedges \cite m-ism-88,cgal:bfh-mgedm-95 or as the doubly connected edge +halfedges \cite m-ism-88, \cite cgal:bfh-mgedm-95 or as the doubly connected edge list (DCEL) \cite bkos-cgaa-97, although the original reference for the DCEL \cite mp-fitcp-78 describes a related but different data structure. The halfedge data structure can also be seen as one of the diff --git a/Matrix_search/doc/Matrix_search/CGAL/sorted_matrix_search.h b/Matrix_search/doc/Matrix_search/CGAL/sorted_matrix_search.h index 61c35609a1b..695b6f47e9c 100644 --- a/Matrix_search/doc/Matrix_search/CGAL/sorted_matrix_search.h +++ b/Matrix_search/doc/Matrix_search/CGAL/sorted_matrix_search.h @@ -45,7 +45,7 @@ namespace CGAL { /// Implementation /// -------------- /// The implementation uses an algorithm by -/// Frederickson and Johnson\cite fj-fkppc-83 \cite fj-gsrsm-84 and runs in +/// Frederickson and Johnson \cite fj-fkppc-83 \cite fj-gsrsm-84 and runs in /// \f$ \mathcal{O}(n \cdot k + f \cdot \log (n \cdot k))\f$, where \f$ n\f$ is /// the number of input matrices, \f$ k\f$ denotes the maximal dimension of /// any input matrix and \f$ f\f$ the time needed for one feasibility test. diff --git a/Mesh_3/doc/Mesh_3/Mesh_3.txt b/Mesh_3/doc/Mesh_3/Mesh_3.txt index 669b9e52640..8566d3a5775 100644 --- a/Mesh_3/doc/Mesh_3/Mesh_3.txt +++ b/Mesh_3/doc/Mesh_3/Mesh_3.txt @@ -45,14 +45,14 @@ for instance in terms of sizing field or with respect to some user customized quality criteria. The meshing engine used in this mesh generator -is based on Delaunay refinement \cite c-gqmgc-93, r-draq2d-95, s-tmgdr-98. +is based on Delaunay refinement \cite c-gqmgc-93, \cite r-draq2d-95, \cite s-tmgdr-98. It uses the notion of restricted Delaunay triangulation to approximate \f$ 1\f$-dimensional curve segments and surface patches \cite cgal:bo-pgsms-05. Before the refinement, a mechanism of protecting balls is set up on \f$ 1\f$-dimensional features, if any, to ensure a fair representation of those features in the mesh, and also to guarantee the termination of the refinement process, whatever may be the input geometry, in particular whatever small angles -the boundary and subdivision surface patches may form \cite cgal:cdl-pdma-07,cgal:cdr-drpsc-07. +the boundary and subdivision surface patches may form \cite cgal:cdl-pdma-07, \cite cgal:cdr-drpsc-07. The Delaunay refinement is followed by a mesh optimization phase to remove slivers and provide a good quality mesh. @@ -186,7 +186,7 @@ the corresponding points are inserted into the Delaunay triangulation from the start. If the domain has \f$ 1\f$-dimensional exposed features, -the method of protecting balls \cite cgal:cdr-drpsc-07, cgal:cdl-pdma-07 +the method of protecting balls \cite cgal:cdr-drpsc-07, \cite cgal:cdl-pdma-07 is used to achieve an accurate representation of those features in the mesh and to guarantee that the refinement process terminates whatever may be the dihedral angles formed by input surface patches incident to a @@ -240,7 +240,7 @@ a perturber and an exuder. The Lloyd and odt-smoother are global optimizers moving the mesh vertices to minimize a mesh energy. Those optimizers are described respectively in -\cite cgal:dfg-cvtaa-99t, cgal:dw-tmgob-02 and in \cite cgal::c-mssbo-04,cgal:acyd-vtm-05. +\cite cgal:dfg-cvtaa-99t, \cite cgal:dw-tmgob-02 and in \cite cgal::c-mssbo-04, \cite cgal:acyd-vtm-05. In both cases the mesh energy is the `L1` error resulting from the interpolation of the function \f$ f(x) =x^2\f$ by a piecewise linear function. @@ -996,8 +996,8 @@ the boundary and subdivision surface patches, was pioneered by Cheng et al. \cite cgal:cdr-drpsc-07 and further experimented by Dey, Levine et al. \cite cgal:cdl-pdma-07. The optimization phase involves global optimization processes, a perturbation process -and a sliver exudation process. The global optimizers are based on Lloyd smoothing \cite cgal:dfg-cvtaa-99t, cgal:dw-tmgob-02 -and odt smoothing \cite cgal::c-mssbo-04,cgal:acyd-vtm-05, where odt means +and a sliver exudation process. The global optimizers are based on Lloyd smoothing \cite cgal:dfg-cvtaa-99t, \cite cgal:dw-tmgob-02 +and odt smoothing \cite cgal::c-mssbo-04, \cite cgal:acyd-vtm-05, where odt means optimal Delaunay triangulation. The perturbation process is mainly based on the work of Tournois \cite cgal:t-om-09 and Tournois et al. \cite cgal:twad-iropitmg-09, @@ -1024,7 +1024,7 @@ and appeared first in release 3.6 of \cgal. In collaboration with Laurent Rineau, Stéphane also added demos and examples. After some experiments on medical imaging data performed by -Dobrina Boltcheva et al. \cite cgal:byb-mgmmi-09, cgal:-byb-fpdmgmmi-09, the handling +Dobrina Boltcheva et al. \cite cgal:byb-mgmmi-09, \cite cgal:-byb-fpdmgmmi-09, the handling of \f$ 1\f$-dimensional features was worked out by Laurent Rineau, Stéphane Tayeb and Mariette Yvinec. It appeared first in the release 3.8 of \cgal. diff --git a/Miscellany/doc/Miscellany/CGAL/Unique_hash_map.h b/Miscellany/doc/Miscellany/CGAL/Unique_hash_map.h index 245d6a26a18..465100282e6 100644 --- a/Miscellany/doc/Miscellany/CGAL/Unique_hash_map.h +++ b/Miscellany/doc/Miscellany/CGAL/Unique_hash_map.h @@ -31,7 +31,7 @@ rehashing when set to the number of expected elements in the map. The design is derived from the \stl `hash_map` and the \leda type `map`. Its specialization on insertion only and unique hash values allow for a more time- and space-efficient implementation, see also -[\cite Chapter 5. This implementation makes also use +[\cite mn-lpcgc-00 Chapter 5. This implementation makes also use of sentinels that lead to defined keys that have not been inserted. */ diff --git a/STL_Extension/doc/STL_Extension/CGAL/Multiset.h b/STL_Extension/doc/STL_Extension/CGAL/Multiset.h index 0c368c102b7..39efce9764d 100644 --- a/STL_Extension/doc/STL_Extension/CGAL/Multiset.h +++ b/STL_Extension/doc/STL_Extension/CGAL/Multiset.h @@ -10,7 +10,7 @@ namespace CGAL { An instance `s` of the parametrized data type `Multiset` is a multi-set of elements of type `Type`, represented as a red-black tree -(see [\cite Chapter 13 for an excellent introduction to red-black +(see [\cite clrs-ia-01 Chapter 13 for an excellent introduction to red-black trees). The main difference between `Multiset` and \stl's `multiset` is that the latter uses a less-than functor with a Boolean return type, while our diff --git a/STL_Extension/doc/STL_Extension/STL_Extension.txt b/STL_Extension/doc/STL_Extension/STL_Extension.txt index dcfddb313c8..21fa0a3426c 100644 --- a/STL_Extension/doc/STL_Extension/STL_Extension.txt +++ b/STL_Extension/doc/STL_Extension/STL_Extension.txt @@ -7,7 +7,7 @@ namespace CGAL { \cgal is designed in the spirit of the generic programming paradigm to work together with the Standard Template Library (\stl) -\cite cgal:ansi-is14882-98,cgal:a-gps-98. This chapter documents non-geometric +\cite cgal:ansi-is14882-98, \cite cgal:a-gps-98. This chapter documents non-geometric \stl-like components that are not provided in the \stl standard but in \cgal: a doubly-connected list managing items in place (where inserted items are not copied), a compact container, a multi-set class that @@ -72,7 +72,7 @@ probably be useful for other kinds of graphs as well. The class `Multiset` represents a multi-set of elements of type `Type`, represented as a red-black tree -(see [\cite Chapter 13 for an excellent introduction to red-black +(see \cite clrs-ia-01 for an excellent introduction to red-black trees). It differs from the \stl's `multiset` class-template mainly due to the fact that it is parameterized by a comparison functor `Compare` that returns the three-valued `Comparison_result` (namely it returns diff --git a/Snap_rounding_2/doc/Snap_rounding_2/Snap_rounding_2.txt b/Snap_rounding_2/doc/Snap_rounding_2/Snap_rounding_2.txt index 78bd9627a56..c17f37e5b4e 100644 --- a/Snap_rounding_2/doc/Snap_rounding_2/Snap_rounding_2.txt +++ b/Snap_rounding_2/doc/Snap_rounding_2/Snap_rounding_2.txt @@ -12,7 +12,7 @@ namespace CGAL { Snap Rounding (SR, for short) is a well known method for converting arbitrary-precision arrangements of segments into a fixed-precision -representation \cite gght-srlse-97, gm-rad-98, h-psifp-99. In +representation \cite gght-srlse-97, \cite gm-rad-98, \cite h-psifp-99. In the study of robust geometric computing, it can be classified as a finite precision approximation technique. Iterated Snap Rounding (ISR, for short) is a modification of SR in which each vertex is at least