diff --git a/.gitattributes b/.gitattributes index f40dbeb5f72..80847b7de5a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1372,6 +1372,7 @@ BGL/doc/BGL/CGAL/boost/graph/halfedge_graph_traits_Polyhedron_3.h -text BGL/doc/BGL/CGAL/boost/graph/properties.h -text BGL/doc/BGL/Concepts/HalfedgeGraph.h -text BGL/doc/BGL/PackageDescription.txt -text +BGL/doc/BGL/examples.txt -text BGL/doc/BGL/fig/emst-detail.png -text svneol=unset#image/png BGL/doc/BGL/fig/emst.jpg -text svneol=unset#image/jpeg BGL/doc/BGL/fig/ex_bgl.gif -text svneol=unset#image/gif @@ -1686,6 +1687,7 @@ Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereAnnulusDTraits.h -text Bounding_volumes/doc/Bounding_volumes/Concepts/MinSphereOfSpheresTraits.h -text Bounding_volumes/doc/Bounding_volumes/Concepts/RectangularPCenterTraits_2.h -text Bounding_volumes/doc/Bounding_volumes/PackageDescription.txt -text +Bounding_volumes/doc/Bounding_volumes/examples.txt -text Bounding_volumes/doc/Bounding_volumes/fig/annulus.gif -text svneol=unset#image/gif Bounding_volumes/doc/Bounding_volumes/fig/annulus.pdf -text svneol=unset#application/pdf Bounding_volumes/doc/Bounding_volumes/fig/ball.gif -text svneol=unset#image/gif @@ -1861,6 +1863,7 @@ Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--MakeXYMonotone_ Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--Split_2.h -text Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel.h -text Circular_kernel_2/doc/Circular_kernel_2/PackageDescription.txt -text +Circular_kernel_2/doc/Circular_kernel_2/examples.txt -text Circular_kernel_2/doc/Circular_kernel_2/fig/Boolean_operation.png -text svneol=unset#image/png Circular_kernel_2/doc/Circular_kernel_2/fig/Boolean_operation_detail.png -text svneol=unset#image/png Circular_kernel_2/doc_tex/Circular_kernel_2/fig/Boolean_operation.png -text @@ -1952,6 +1955,7 @@ Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--MakeThetaMonot Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel--Split_3.h -text Circular_kernel_3/doc/Circular_kernel_3/Concepts/SphericalKernel.h -text Circular_kernel_3/doc/Circular_kernel_3/PackageDescription.txt -text +Circular_kernel_3/doc/Circular_kernel_3/examples.txt -text Circular_kernel_3/doc/Circular_kernel_3/fig/def_circles_extreme_pt.pdf -text svneol=unset#application/pdf Circular_kernel_3/doc/Circular_kernel_3/fig/def_circles_extreme_pt.png -text svneol=unset#image/png Circular_kernel_3/doc/Circular_kernel_3/fig/def_meridian.pdf -text svneol=unset#application/pdf @@ -2834,6 +2838,7 @@ Installation/update_CHANGES -text Interpolation/doc/Interpolation/CGAL/Interpolation_gradient_fitting_traits_2.h -text Interpolation/doc/Interpolation/CGAL/Interpolation_traits_2.h -text Interpolation/doc/Interpolation/CGAL/Voronoi_intersection_2_traits_3.h -text +Interpolation/doc/Interpolation/CGAL/examples.txt -text Interpolation/doc/Interpolation/CGAL/interpolation_functions.h -text Interpolation/doc/Interpolation/CGAL/natural_neighbor_coordinates_2.h -text Interpolation/doc/Interpolation/CGAL/regular_neighbor_coordinates_2.h -text @@ -4688,6 +4693,7 @@ Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3Tri Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Concepts/Periodic_3TriangulationDSVertexBase_3.h -text Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/PackageDescription.txt -text Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Periodic_3_triangulation_3.txt -text +Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/examples.txt -text Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/fig/flips.gif -text svneol=unset#image/gif Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/fig/flips.pdf -text svneol=unset#application/pdf Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/fig/it_STORED.jpg -text svneol=unset#image/jpeg @@ -4771,6 +4777,7 @@ Point_set_processing_3/doc/Point_set_processing_3/CGAL/random_simplify_point_set Point_set_processing_3/doc/Point_set_processing_3/CGAL/remove_outliers.h -text Point_set_processing_3/doc/Point_set_processing_3/PackageDescription.txt -text Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt -text +Point_set_processing_3/doc/Point_set_processing_3/examples.txt -text Point_set_processing_3/doc/Point_set_processing_3/fig/grid_simplification.jpg -text svneol=unset#image/jpeg Point_set_processing_3/doc/Point_set_processing_3/fig/introduction.jpg -text svneol=unset#image/jpeg Point_set_processing_3/doc/Point_set_processing_3/fig/mst_orient_normals.jpg -text svneol=unset#image/jpeg @@ -5056,6 +5063,7 @@ Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d.h -text Polynomial/doc/Polynomial/Concepts/Polynomial_d.h -text Polynomial/doc/Polynomial/PackageDescription.txt -text Polynomial/doc/Polynomial/Polynomial.txt -text +Polynomial/doc/Polynomial/examples.txt -text Polynomial/doc/Polynomial/fig/Polynomial.png -text svneol=unset#image/png Polynomial/doc/Polynomial/fig/sturm_habicht_def.gif -text svneol=unset#image/gif Polynomial/doc/Polynomial/fig/subresultant_def.gif -text svneol=unset#image/gif @@ -5204,7 +5212,6 @@ QP_solver/doc/QP_solver/CGAL/QP_functions.h -text QP_solver/doc/QP_solver/CGAL/QP_models.h -text QP_solver/doc/QP_solver/CGAL/QP_options.h -text QP_solver/doc/QP_solver/CGAL/QP_solution.h -text -QP_solver/doc/QP_solver/Classified.txt -text QP_solver/doc/QP_solver/Concepts/LinearProgram.h -text QP_solver/doc/QP_solver/Concepts/MPSFormat.h -text QP_solver/doc/QP_solver/Concepts/NonnegativeLinearProgram.h -text @@ -5682,6 +5689,7 @@ Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_3.h -text Spatial_sorting/doc/Spatial_sorting/Concepts/SpatialSortingTraits_d.h -text Spatial_sorting/doc/Spatial_sorting/PackageDescription.txt -text Spatial_sorting/doc/Spatial_sorting/Spatial_sorting.txt -text +Spatial_sorting/doc/Spatial_sorting/examples.txt -text Spatial_sorting/doc/Spatial_sorting/fig/Hilbert-median.gif -text svneol=unset#image/gif Spatial_sorting/doc/Spatial_sorting/fig/Hilbert-median.pdf -text svneol=unset#application/pdf Spatial_sorting/doc/Spatial_sorting/fig/Hilbert-middle.gif -text svneol=unset#image/gif @@ -6021,6 +6029,7 @@ Stream_lines_2/doc/Stream_lines_2/Concepts/StreamLinesTraits_2.h -text Stream_lines_2/doc/Stream_lines_2/Concepts/VectorField_2.h -text Stream_lines_2/doc/Stream_lines_2/PackageDescription.txt -text Stream_lines_2/doc/Stream_lines_2/Stream_lines_2.txt -text +Stream_lines_2/doc/Stream_lines_2/examples.txt -text Stream_lines_2/doc/Stream_lines_2/fig/1.gif -text svneol=unset#image/gif Stream_lines_2/doc/Stream_lines_2/fig/1.pdf -text svneol=unset#application/pdf Stream_lines_2/doc/Stream_lines_2/fig/2.gif -text svneol=unset#image/gif @@ -6065,6 +6074,7 @@ Subdivision_method_3/doc/Subdivision_method_3/Concepts/PTQMask_3.h -text Subdivision_method_3/doc/Subdivision_method_3/Concepts/Sqrt3Mask_3.h -text Subdivision_method_3/doc/Subdivision_method_3/PackageDescription.txt -text Subdivision_method_3/doc/Subdivision_method_3/Subdivision_method_3.txt -text +Subdivision_method_3/doc/Subdivision_method_3/examples.txt -text Subdivision_method_3/doc/Subdivision_method_3/fig/CCBorderMask.pdf -text svneol=unset#application/pdf Subdivision_method_3/doc/Subdivision_method_3/fig/CCBorderMask.png -text svneol=unset#image/png Subdivision_method_3/doc/Subdivision_method_3/fig/CCSubdivision.png -text svneol=unset#image/png @@ -6203,6 +6213,7 @@ Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/GetPlacemen Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/StopPredicate.h -text Surface_mesh_simplification/doc/Surface_mesh_simplification/PackageDescription.txt -text Surface_mesh_simplification/doc/Surface_mesh_simplification/Surface_mesh_simplification.txt -text +Surface_mesh_simplification/doc/Surface_mesh_simplification/examples.txt -text Surface_mesh_simplification/doc/Surface_mesh_simplification/fig/Illustration-Simplification-ALL.jpg -text svneol=unset#image/jpeg Surface_mesh_simplification/doc/Surface_mesh_simplification/fig/Illustration-Simplification-ALL.pdf -text svneol=unset#application/pdf Surface_mesh_simplification/doc/Surface_mesh_simplification/fig/border_collapse1.pdf -text svneol=unset#application/pdf @@ -6750,6 +6761,7 @@ Triangulation_3/doc/TDS_3/Concepts/TriangulationDSVertexBase_3.h -text Triangulation_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h -text Triangulation_3/doc/TDS_3/PackageDescription.txt -text Triangulation_3/doc/TDS_3/TriangulationDS_3.txt -text +Triangulation_3/doc/TDS_3/examples.txt -text Triangulation_3/doc/TDS_3/fig/comborient.gif -text svneol=unset#image/gif Triangulation_3/doc/TDS_3/fig/comborient.pdf -text svneol=unset#application/pdf Triangulation_3/doc/TDS_3/fig/design_tds.gif -text svneol=unset#image/gif @@ -6792,6 +6804,7 @@ Triangulation_3/doc/Triangulation_3/Concepts/TriangulationVertexBase_3.h -text Triangulation_3/doc/Triangulation_3/Concepts/WeightedPoint.h -text Triangulation_3/doc/Triangulation_3/PackageDescription.txt -text Triangulation_3/doc/Triangulation_3/Triangulation_3.txt -text +Triangulation_3/doc/Triangulation_3/examples.txt -text Triangulation_3/doc/Triangulation_3/fig/Delaunay_3.jpg -text svneol=unset#image/jpeg Triangulation_3/doc/Triangulation_3/fig/HD.gif -text svneol=unset#image/gif Triangulation_3/doc/Triangulation_3/fig/HD.pdf -text svneol=unset#application/pdf diff --git a/Alpha_shapes_3/doc/Alpha_shapes_3/Alpha_shapes_3.txt b/Alpha_shapes_3/doc/Alpha_shapes_3/Alpha_shapes_3.txt index ba1c9bddd56..889dd8229b6 100644 --- a/Alpha_shapes_3/doc/Alpha_shapes_3/Alpha_shapes_3.txt +++ b/Alpha_shapes_3/doc/Alpha_shapes_3/Alpha_shapes_3.txt @@ -4,7 +4,6 @@ namespace CGAL { \mainpage 3D Alpha Shapes \anchor Chapter_3D_Alpha_Shapes -\anchor I1ChapterAlphashapes3D \autotoc \authors Tran Kai Frank Da, Sébastien Loriot, and Mariette Yvinec diff --git a/BGL/doc/BGL/BGL.txt b/BGL/doc/BGL/BGL.txt index 61c02af92c4..097bd8ad9f5 100644 --- a/BGL/doc/BGL/BGL.txt +++ b/BGL/doc/BGL/BGL.txt @@ -155,10 +155,12 @@ this chapter introduces a new graph concept, the `HalfedgeGraph`. ## Example: Minimum Spanning Tree of a Polyhedral Surface ## -The example code computes the minimum spanning tree on a polyhedral surface. -More examples can be found in Chapter \ref chaptermeshsimplification on surface mesh simplification. +The example code computes the minimum spanning tree on a polyhedral +surface. More examples can be found in Chapter +\ref Chapter_Triangulated_Surface_Mesh_Simplification on surface mesh +simplification. -\cgalexample{BGL/kruskal.cpp} +\cgalexample{BGL_polyhedron_3/kruskal.cpp} ## Example: Using Vertices, and Edges with an ID ## @@ -168,7 +170,7 @@ field stored in a Polyhedron vertex. The main function illustrates the access to the id() field. -\cgalexample{BGL/kruskal_with_stored_id.cpp} +\cgalexample{BGL_polyhedron_3/kruskal_with_stored_id.cpp} # Triangulations as Models of the Boost Graph Concept # {#BGLTriangulations} @@ -192,7 +194,7 @@ spanning tree algorithm on it. Because the vertex handles of the triangulation a in an array, we have to provide a property map that maps vertex handles to int's in the range `[0, t.number_of_vertices())`. -\cgalexample{BGL/emst.cpp} +\cgalexample{BGL_triangulation_2/emst.cpp} ## Example: Storing the Vertex ID in the Vertex ## @@ -211,7 +213,7 @@ It is in the users responsibility to set the indices properly. The example further illustrates that the graph traits also works for the Delaunay triangulation. -\cgalexample{BGL/dijkstra_with_internal_properties.cpp} +\cgalexample{BGL_triangulation_2/dijkstra_with_internal_properties.cpp} # Arrangements as Models of the Boost Graph Concept # {#BGLArrangements} @@ -287,7 +289,7 @@ arrangement \f$ v_0\f$. Note the usage of the `Arr_vertex_index_map` and the `Arr_vertex_property_map` classes. The latter one, instantiated by the type `double` is used to map vertices to their distances from \f$ v_0\f$. -\cgalexample{BGL/primal.cpp} +\cgalexample{BGL_arrangement_2/primal.cpp} \subsection arr_sssecbgl_dual Example for the Dual of an Arrangement as Graph @@ -324,7 +326,7 @@ with an unsigned integer, marking the discover time of the face and use a breadth-first-search visitor to obtain these times and update the faces accordingly: -\cgalexample{BGL/dual.cpp} +\cgalexample{BGL_arrangement_2/dual.cpp} */ } /* namespace CGAL */ diff --git a/BGL/doc/BGL/examples.txt b/BGL/doc/BGL/examples.txt new file mode 100644 index 00000000000..0bf9cd8a45a --- /dev/null +++ b/BGL/doc/BGL/examples.txt @@ -0,0 +1,13 @@ +/*! +\example BGL_arrangement_2/arr_print.h +\example BGL_arrangement_2/arr_rational_nt.h +\example BGL_arrangement_2/dual.cpp +\example BGL_arrangement_2/primal.cpp +\example BGL_polyhedron_3/cube.off +\example BGL_polyhedron_3/distance.cpp +\example BGL_polyhedron_3/kruskal.cpp +\example BGL_polyhedron_3/kruskal_with_stored_id.cpp +\example BGL_triangulation_2/dijkstra.cpp +\example BGL_triangulation_2/dijkstra_with_internal_properties.cpp +\example BGL_triangulation_2/emst.cpp +*/ diff --git a/Bounding_volumes/doc/Bounding_volumes/Bounding_volumes.txt b/Bounding_volumes/doc/Bounding_volumes/Bounding_volumes.txt index 82d954b1039..44db273b11c 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Bounding_volumes.txt +++ b/Bounding_volumes/doc/Bounding_volumes/Bounding_volumes.txt @@ -23,7 +23,7 @@ on a line and written to standard output. The example shows that it is advisable to switch on random shuffling in order to deal with a 'bad' order of the input points. -\cgalexample{Bounding_volumes/min_circle_2.cpp} +\cgalexample{Min_circle_2/min_circle_2.cpp} Other classes for which we provide solutions are ellipses (`CGAL::Min_ellipse_2`), rectangles 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 3a71195b296..2c5794b84e8 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 @@ -130,12 +130,12 @@ points and a \f$ 1.01\f$-approximation of \f$ \mel(P)\f$ as an EPS-file, which you can view using gv, for instance. (In both examples you can change the variables `n` and `d` to experiment with the code.) -\cgalexample{Bounding_volumes/ellipsoid.cpp} +\cgalexample{Approximate_min_ellipsoid_d/ellipsoid.cpp} The second program outputs the approximation in a format suitable for display in Maplesoft's Maple. -\cgalexample{Bounding_volumes/ellipsoid_for_maple.cpp} +\cgalexample{Approximate_min_ellipsoid_d/ellipsoid_for_maple.cpp} */ template< typename Traits > diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_circle_2.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_circle_2.h index ef6801553b0..b82d752289b 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_circle_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_circle_2.h @@ -68,7 +68,7 @@ for validity each takes linear time. To illustrate the creation of `Min_circle_2` and to show that randomization can be useful in certain cases, we give an example. -\cgalexample{Bounding_volumes/min_circle_2.cpp} +\cgalexample{Min_circle_2/min_circle_2.cpp} */ template< typename Traits > 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 87ceeebd88c..98e0528be9a 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_ellipse_2.h @@ -52,7 +52,7 @@ To illustrate the usage of `Min_ellipse_2` and to show that randomization can be useful in certain cases, we give an example. The example also shows how the coefficents of the constructed ellipse can be accessed. -\cgalexample{Bounding_volumes/min_ellipse_2.cpp} +\cgalexample{Min_ellipse_2/min_ellipse_2.cpp} */ template< typename Traits > diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_d.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_d.h index aac2f469132..6d505de1271 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_d.h @@ -68,7 +68,7 @@ each take linear time. ### Example ### -\cgalexample{Bounding_volumes/min_sphere_d.cpp} +\cgalexample{Min_sphere_d/min_sphere_d.cpp} */ template< typename Traits > diff --git a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d.h b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d.h index 7ccb184be6e..07948c7c3c1 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/Min_sphere_of_spheres_d.h @@ -95,7 +95,7 @@ is not supported yet. ### Example ### -\cgalexample{Bounding_volumes/min_sphere_of_spheres_d_d.cpp} +\cgalexample{Min_sphere_of_spheres_d/min_sphere_of_spheres_d_d.cpp} */ template< typename Traits > @@ -232,8 +232,9 @@ Cartesian_const_iterator center_cartesian_begin( ) const; /*! -returns the corresponding past-the-end iterator, i.e. -`center_cartesian_begin()+Traits::D`. \pre `minsphere` is not empty. +returns the corresponding past-the-end iterator, i.e.\ +`center_cartesian_begin()+Traits::D`. +\pre `minsphere` is not empty. */ Cartesian_const_iterator center_cartesian_end( ) const; 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 3bfc1416f4f..3768bca9a03 100644 --- a/Bounding_volumes/doc/Bounding_volumes/CGAL/min_quadrilateral_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/CGAL/min_quadrilateral_2.h @@ -55,7 +55,7 @@ The following code generates a random convex polygon `P` with 20 vertices and computes the minimum enclosing parallelogram of `P`. -\cgalexample{Bounding_volumes/minimum_enclosing_parallelogram_2.cpp} +\cgalexample{Min_quadrilateral_2/minimum_enclosing_parallelogram_2.cpp} */ @@ -124,7 +124,7 @@ The following code generates a random convex polygon `P` with 20 vertices and computes the minimum enclosing rectangle of `P`. -\cgalexample{Bounding_volumes/minimum_enclosing_rectangle_2.cpp} +\cgalexample{Min_quadrilateral_2/minimum_enclosing_rectangle_2.cpp} */ @@ -192,7 +192,7 @@ The following code generates a random convex polygon `P` with 20 vertices and computes the minimum enclosing strip of `P`. -\cgalexample{Bounding_volumes/minimum_enclosing_strip_2.cpp} +\cgalexample{Min_quadrilateral_2/minimum_enclosing_strip_2.cpp} */ 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 a48864fa225..c1dab5f0404 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 @@ -257,7 +257,7 @@ piercing rectangles \cite sw-rpppp-96. The following code generates a random set of ten points and computes its two-centers. -\cgalexample{Bounding_volumes/rectangular_p_center_2.cpp} +\cgalexample{Rectangular_p_center_2/rectangular_p_center_2.cpp} */ template < class ForwardIterator, class diff --git a/Bounding_volumes/doc/Bounding_volumes/Concepts/RectangularPCenterTraits_2.h b/Bounding_volumes/doc/Bounding_volumes/Concepts/RectangularPCenterTraits_2.h index d9bd32d2f27..04671f24170 100644 --- a/Bounding_volumes/doc/Bounding_volumes/Concepts/RectangularPCenterTraits_2.h +++ b/Bounding_volumes/doc/Bounding_volumes/Concepts/RectangularPCenterTraits_2.h @@ -5,7 +5,7 @@ The concept `RectangularPCenterTraits_2` defines types and operations needed to compute rectilinear \f$ p\f$-centers of a planar point set -using the function `::rectangular_p_center_2`. +using the function `CGAL::rectangular_p_center_2`. \hasModel `CGAL::Rectangular_p_center_default_traits_2` diff --git a/Bounding_volumes/doc/Bounding_volumes/examples.txt b/Bounding_volumes/doc/Bounding_volumes/examples.txt new file mode 100644 index 00000000000..0cdfa3636b6 --- /dev/null +++ b/Bounding_volumes/doc/Bounding_volumes/examples.txt @@ -0,0 +1,17 @@ +/*! +\example Approximate_min_ellipsoid_d/ellipsoid.cpp +\example Approximate_min_ellipsoid_d/ellipsoid_for_maple.cpp +\example Min_annulus_d/min_annulus_d.cpp +\example Min_annulus_d/min_annulus_d_fast_exact.cpp +\example Min_circle_2/min_circle_2.cpp +\example Min_ellipse_2/min_ellipse_2.cpp +\example Min_quadrilateral_2/minimum_enclosing_parallelogram_2.cpp +\example Min_quadrilateral_2/minimum_enclosing_rectangle_2.cpp +\example Min_quadrilateral_2/minimum_enclosing_strip_2.cpp +\example Min_sphere_d/min_sphere_d.cpp +\example Min_sphere_of_spheres_d/benchmark.cpp +\example Min_sphere_of_spheres_d/min_sphere_of_spheres_d_2.cpp +\example Min_sphere_of_spheres_d/min_sphere_of_spheres_d_3.cpp +\example Min_sphere_of_spheres_d/min_sphere_of_spheres_d_d.cpp +\example Rectangular_p_center_2/rectangular_p_center_2.cpp +*/ diff --git a/CGAL_ipelets/doc/CGAL_ipelets/examples.txt b/CGAL_ipelets/doc/CGAL_ipelets/examples.txt index ff65d692f1d..25666965dd8 100644 --- a/CGAL_ipelets/doc/CGAL_ipelets/examples.txt +++ b/CGAL_ipelets/doc/CGAL_ipelets/examples.txt @@ -1,3 +1,4 @@ /*! \example CGAL_ipelets/test_grabbers.cpp +\example CGAL_ipelets/simple_triangulation.cpp */ diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Circular_kernel_2.txt b/Circular_kernel_2/doc/Circular_kernel_2/Circular_kernel_2.txt index b31e835cbe1..db7a48419fe 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Circular_kernel_2.txt +++ b/Circular_kernel_2/doc/Circular_kernel_2/Circular_kernel_2.txt @@ -3,7 +3,6 @@ namespace CGAL { \mainpage 2D Circular Geometry %Kernel \anchor Chapter_2D_Circular_Geometry_Kernel -\anchor chaptercircularkernel \autotoc \authors Pedro Machado Manhães de Castro, Sylvain Pion, and Monique Teillaud diff --git a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--DoOverlap_2.h b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--DoOverlap_2.h index b9831b8cb3a..a009fc9f293 100644 --- a/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--DoOverlap_2.h +++ b/Circular_kernel_2/doc/Circular_kernel_2/Concepts/CircularKernel--DoOverlap_2.h @@ -6,7 +6,9 @@ Testing whether the interiors of two curves overlap. \bug There is no DoOverlap in the Linear Kernel. + \refines ::Kernel::DoOverlap_2 +\bug DoOverlap_2 does not exist in the Kernel. */ diff --git a/Circular_kernel_2/doc/Circular_kernel_2/examples.txt b/Circular_kernel_2/doc/Circular_kernel_2/examples.txt new file mode 100644 index 00000000000..f3f4aa69b8b --- /dev/null +++ b/Circular_kernel_2/doc/Circular_kernel_2/examples.txt @@ -0,0 +1,4 @@ +/*! +\example Circular_kernel_2/intersecting_arcs.cpp +\example Circular_kernel_2/functor_has_on_2.cpp +*/ diff --git a/Circular_kernel_3/doc/Circular_kernel_3/Circular_kernel_3.txt b/Circular_kernel_3/doc/Circular_kernel_3/Circular_kernel_3.txt index 9d83071a5f1..ebf274e4938 100644 --- a/Circular_kernel_3/doc/Circular_kernel_3/Circular_kernel_3.txt +++ b/Circular_kernel_3/doc/Circular_kernel_3/Circular_kernel_3.txt @@ -139,7 +139,7 @@ arc is defined on a bipolar circle. # Software Design # {#Circular_kernel_3Software} The design of `Spherical_kernel_3` is similar to the design of -`Circular_kernel_2` (see Chapter \ref chaptercircularkernel). +`Circular_kernel_2` (see Chapter \ref Chapter_2D_Circular_Geometry_Kernel). It has two template parameters:
  • `OutputIterator::value_type` is equivalent to diff --git a/Interpolation/doc/Interpolation/CGAL/surface_neighbors_3.h b/Interpolation/doc/Interpolation/CGAL/surface_neighbors_3.h index 5b5445aa983..3113cbecb6c 100644 --- a/Interpolation/doc/Interpolation/CGAL/surface_neighbors_3.h +++ b/Interpolation/doc/Interpolation/CGAL/surface_neighbors_3.h @@ -15,7 +15,7 @@ to the power diagram which is equivalent to the intersection of the Voronoi cell of the query point `p` with the tangent plane to the surface at `p`. -The functions \t surface_neighbors_certified_3 also return, in +The functions \c surface_neighbors_certified_3 also return, in addition, a Boolean value that certifies whether or not, the Voronoi cell of `p` can be affected by points that lie outside the input range, i.e. outside the ball centered on `p` passing through the diff --git a/Kernel_23/doc/Kernel_23/CGAL/Filtered_predicate.h b/Kernel_23/doc/Kernel_23/CGAL/Filtered_predicate.h index 446b9a5dab9..3d8cb2a94ba 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Filtered_predicate.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Filtered_predicate.h @@ -23,7 +23,7 @@ we use the function objects `C2E` and `C2F`, which must be of the form The following example defines an efficient and exact version of the orientation predicate over three points using the Cartesian representation with double coordinates and without reference counting -(`Simple_cartesian::Point_2`). +(`Simple_cartesian::Point_2`). Of course, the orientation predicate can already be found in the kernel, but you can follow this example to filter your own predicates. It uses the fast but inexact predicate based on interval arithmetic for diff --git a/Kernel_23/doc/Kernel_23/CGAL/global_functions.h b/Kernel_23/doc/Kernel_23/CGAL/global_functions.h index 0219bb0da7b..129cc7d5e94 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/global_functions.h +++ b/Kernel_23/doc/Kernel_23/CGAL/global_functions.h @@ -948,7 +948,7 @@ Comparison_result compare_x(const Line_2 &l1, /*! \addtogroup compare_x_circular compare_x (Circular Kernel) \ingroup compare_x -\details See Chapter \ref chaptercircularkernel. +\details See Chapter \ref Chapter_2D_Circular_Geometry_Kernel. \code #include @@ -980,7 +980,7 @@ Comparison_result /*! \addtogroup compare_x_spherical compare_x (Spherical Kernel) \ingroup compare_x -\details See Chapter \ref chaptersphericalkernel. +\details See Chapter \ref Chapter_3D_Spherical_Geometry_Kernel. \code #include @@ -1059,7 +1059,7 @@ compare_xy(const Point_3& p, const Point_3& q); /*! \addtogroup compare_xy_circular compare_xy (Circular Kernel) \ingroup compare_xy -\details See Chapter \ref chaptercircularkernel. +\details See Chapter \ref Chapter_2D_Circular_Geometry_Kernel. \code #include @@ -1094,7 +1094,7 @@ compare_xy(const Circular_arc_point_2 &p, /*! \addtogroup compare_xy_spherical compare_xy (Spherical Kernel) \ingroup compare_xy -\details See Chapter \ref chaptersphericalkernel. +\details See Chapter \ref Chapter_3D_Spherical_Geometry_Kernel. \code #include @@ -1285,7 +1285,7 @@ Comparison_result compare_y_at_x(const Point_2 &p, /*! \name With the 2D Circular Kernel - See \ref chaptercircularkernel. + See \ref Chapter_2D_Circular_Geometry_Kernel. \code #include @@ -1389,7 +1389,7 @@ Comparison_result compare_y(const Line_2 &l1, /*! \addtogroup compare_y_circular compare_y (Circular Kernel) \ingroup compare_y -\details See Chapter \ref chaptercircularkernel. +\details See Chapter \ref Chapter_2D_Circular_Geometry_Kernel. \code #include @@ -1420,7 +1420,7 @@ compare_y(const Circular_arc_point_2 &p, /*! \addtogroup compare_y_spherical compare_y (Spherical Kernel) \ingroup compare_y -\details See Chapter \ref chaptersphericalkernel. +\details See Chapter \ref Chapter_3D_Spherical_Geometry_Kernel. \code #include @@ -1487,7 +1487,7 @@ compare_xyz(const Point_3& p, const Point_3& q); /*! \addtogroup compare_xyz_spherical compare_xyz (Spherical Kernel) \ingroup compare_xyz -\details See Chapter \ref chaptersphericalkernel +\details See Chapter \ref Chapter_3D_Spherical_Geometry_Kernel \code #include @@ -1545,7 +1545,7 @@ Comparison_result compare_z(const Point_3 &p, const Point_3 &q); /*! \name With the 3D Spherical Kernel -\details See Chapter \ref chaptersphericalkernel +\details See Chapter \ref Chapter_3D_Spherical_Geometry_Kernel \code #include diff --git a/Kernel_23/doc/Kernel_23/CGAL/intersections.h b/Kernel_23/doc/Kernel_23/CGAL/intersections.h index 2950f564898..1fe8dcdabd3 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/intersections.h +++ b/Kernel_23/doc/Kernel_23/CGAL/intersections.h @@ -47,7 +47,7 @@ Also, `Type1` and `Type2` can be respectively of types ## With the 2D Circular %Kernel ## -\details See Chapter \ref chaptercircularkernel +\details See Chapter \ref Chapter_2D_Circular_Geometry_Kernel \code #include @@ -63,12 +63,12 @@ the following: - `Circular_arc_2` An example illustrating this is presented in -Chapter \ref chaptercircularkernel. +Chapter \ref Chapter_2D_Circular_Geometry_Kernel. ## With the 3D Spherical Kernel ## -\details See Chapter \ref chaptersphericalkernel +\details See Chapter \ref Chapter_3D_Spherical_Geometry_Kernel \code #include @@ -86,7 +86,7 @@ the following: - `Circular_arc_3` An example illustrating this is presented in -Chapter \ref chaptersphericalkernel. +Chapter \ref Chapter_3D_Spherical_Geometry_Kernel. \sa `CGAL::intersection` */ @@ -162,8 +162,8 @@ void foo(CGAL::Segment_2 seg, CGAL::Line_2 line) Examples illustrating the use of this function in the case of the 2D Circular %Kernel and the 3D Spherical %Kernel are presented respectively -in Chapters \ref chaptercircularkernel and \ref -chaptersphericalkernel. +in Chapters \ref Chapter_2D_Circular_Geometry_Kernel and \ref +Chapter_3D_Spherical_Geometry_Kernel. \sa `CGAL::do_intersect` @@ -379,7 +379,7 @@ Object intersection(const Plane_3& pl1, /*! \addtogroup intersection_circular intersection (Circular Kernel) \ingroup intersection -\details See Chapter \ref chaptercircularkernel +\details See Chapter \ref Chapter_2D_Circular_Geometry_Kernel \code #include @@ -433,7 +433,7 @@ intersection(const Type1 &obj1, const Type2 &obj2, /*! \addtogroup intersection_spherical intersection (Spherical Kernel) \ingroup intersection -\details See Chapter \ref chaptersphericalkernel +\details See Chapter \ref Chapter_3D_Spherical_Geometry_Kernel \code #include diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/approximated_offset_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/approximated_offset_2.h index 174fc6cbed7..c6f376b9bae 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/approximated_offset_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/approximated_offset_2.h @@ -14,7 +14,7 @@ several disconnected components. The result is therefore represented as a sequence of generalized polygons, whose edges are either line segments or circular arcs. The output sequence is returned via the output iterator `oi`, whose -value-type must be `Gps_circle_segment_traits_2::Polygon_2`. +value-type must be `Gps_circle_segment_traits_2::Polygon_2`. \pre `P` is a simple polygon. */ template diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/offset_polygon_2.h b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/offset_polygon_2.h index 055ead6f715..e149088efd5 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/offset_polygon_2.h +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/CGAL/offset_polygon_2.h @@ -13,7 +13,7 @@ sequence of generalized polygons, such that the edges of each polygon correspond to line segments and circular arcs, both are special types of conic arcs, as represented by the `traits` class. The output sequence is returned via the output iterator `oi`, whose -value-type must be `Gps_traits_2::Polygon_2`. +value-type must be `Gps_traits_2::Polygon_2`. \pre `P` is a simple polygon. */ template diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/Minkowski_sum_2.txt b/Minkowski_sum_2/doc/Minkowski_sum_2/Minkowski_sum_2.txt index 04b115b60de..f5ab3971059 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/Minkowski_sum_2.txt +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/Minkowski_sum_2.txt @@ -1,10 +1,3 @@ -/*! \example Minkowski_sum_2/sum_triangles.cpp */ -/*! \example Minkowski_sum_2/sum_by_decomposition.cpp */ -/*! \example Minkowski_sum_2/sum_with_holes.cpp */ -/*! \example Minkowski_sum_2/approx_offset.cpp */ -/*! \example Minkowski_sum_2/exact_offset.cpp */ -/*! \example Minkowski_sum_2/exact_inset.cpp */ - namespace CGAL { /*! @@ -123,7 +116,7 @@ contains `S.number_of_holes()` holes in its interior).
    \anchor mink_figsum_tri \image html sum_triangles.gif -Computing the Minkowski sum of two triangles, as done in the example program \ref sum_triangles.cpp. +Computing the Minkowski sum of two triangles, as done in the example program \ref Minkowski_sum_2/sum_triangles.cpp.
    The following example program constructs the Minkowski sum of two triangles, @@ -141,7 +134,7 @@ The file `print_util.h` includes auxiliary functions for printing polygons. \image html tight.gif
    -Computing the Minkowski sum of two non-convex polygons \f$ P\f$ and \f$ Q\f$, as done in the example programs \ref sum_with_holes.cpp and \ref sum_by_decomposition.cpp. +Computing the Minkowski sum of two non-convex polygons \f$ P\f$ and \f$ Q\f$, as done in the example programs \ref Minkowski_sum_2/sum_with_holes.cpp and \ref Minkowski_sum_2/sum_by_decomposition.cpp.
    In the following program we compute the Minkowski sum of two polygons @@ -205,7 +198,7 @@ vertex. The following example demonstrates the computation of the Minkowski sum -of the same input polygons as used in \ref sum_with_holes.cpp (as +of the same input polygons as used in \ref Minkowski_sum_2/sum_with_holes.cpp (as depicted in Figure \ref mink_figsum_holes), using the small-side angle-bisector decomposition strategy: @@ -337,7 +330,7 @@ namely the distance of the point \f$ q'\f$ from \f$ o_1 o_2\f$ is bounded by speeds up the (approximate) construction of the offset polygon and the application of set operations on such polygons. The function returns an object of the nested type -`Gps_circle_segment_traits_2::Polygon_with_holes_2` representing +`Gps_circle_segment_traits_2::Polygon_with_holes_2` representing the approximated offset polygon (recall that if \f$ P\f$ is not convex, its offset may not be simple and may contain holes, whose boundary is also comprised of line segments and circular arcs). @@ -347,7 +340,7 @@ of line segments and circular arcs). \image html ex_offset.gif The offset computation performed by the example programs -\ref approx_offset.cpp and \ref exact_offset.cpp. +\ref Minkowski_sum_2/approx_offset.cpp and \ref Minkowski_sum_2/exact_offset.cpp. The input polygon is shaded and the boundary of its offset is drawn in a thick black line. @@ -370,16 +363,16 @@ arrangement-traits class that is capable of handling conic arcs in an exact manner; using the `Arr_conic_traits_2` class with the number types provided by the Core library is the preferred option. The function returns an object of the nested type -`Gps_traits_2::Polygons_with_holes_2` (see the +`Gps_traits_2::Polygons_with_holes_2` (see the documentation of the Boolean Set-Operations package for more details on the traits-class adapter `Gps_traits_2`), which represented the exact offset polygon. The following example demonstrates the construction of the offset of -the same polygon that serves as an input for the example program \ref -approx_offset.cpp, presented in the previous subsection (see also -Figure \ref mink_figex_offset). Note that the resulting polygon is -smaller than the one generated by the approximated-offset function +the same polygon that serves as an input for the example program +\ref Minkowski_sum_2/approx_offset.cpp, presented in the previous +subsection (see also Figure \ref mink_figex_offset). +Note that the resulting polygon is smaller than the one generated by the approximated-offset function (recall that each irrational line segment in this case is approximated by two rational line segments), but the offset computation is considerably slower: @@ -416,7 +409,7 @@ The function `approximated_inset_2 (P, r, eps, oi)` accepts a polygon approximation for the inset of \f$ P\f$ by the radius \f$ r\f$, with the approximation error bounded by \f$ \varepsilon\f$. The function returns its output via the output iterator `oi`, whose value-type must be -`Gps_circle_segment_traits_2::Polygon_2` representing +`Gps_circle_segment_traits_2::Polygon_2` representing the polygons that approximates the inset polygon. \cgalexample{Minkowski_sum_2/approx_inset.cpp} @@ -426,7 +419,7 @@ the exact inset of \f$ P\f$ with radius \f$ r\f$, and returns its output via the output iterator `oi`. The `traits` parameter should be an instance of an arrangement-traits class that is capable of handling conic arcs in an exact manner, whereas `oi`'s value-type must be -`Gps_traits_2::Polygons_2`. +`Gps_traits_2::Polygons_2`. \cgalexample{Minkowski_sum_2/exact_inset.cpp} diff --git a/Minkowski_sum_2/doc/Minkowski_sum_2/PackageDescription.txt b/Minkowski_sum_2/doc/Minkowski_sum_2/PackageDescription.txt index 995fa55a3a6..eba4f72b9e5 100644 --- a/Minkowski_sum_2/doc/Minkowski_sum_2/PackageDescription.txt +++ b/Minkowski_sum_2/doc/Minkowski_sum_2/PackageDescription.txt @@ -11,7 +11,7 @@ \PkgSince{3.3} \PkgDependsOn{\ref PkgArrangement2} \PkgBib{cgal:w-rms2} -\PkgLicense{\ref licensesGPL "GPL"} +\PkgLicense{\ref licensesGPL "GPL"} \PkgManuals{Chapter_2D_Minkowski_Sums,PkgMinkowskiSum2} \PkgDescriptionEnd diff --git a/Nef_3/doc/Nef_3/CGAL/Nef_polyhedron_3.h b/Nef_3/doc/Nef_3/CGAL/Nef_polyhedron_3.h index 4403bd4f185..869930bd136 100644 --- a/Nef_3/doc/Nef_3/CGAL/Nef_polyhedron_3.h +++ b/Nef_3/doc/Nef_3/CGAL/Nef_polyhedron_3.h @@ -38,13 +38,13 @@ namespace CGAL { specifed, yet. Do not use any other than the default types for these two template parameters. - \sa `CGAL::Nef_polyhedron_3::Vertex` - \sa `CGAL::Nef_polyhedron_3::Halfedge` - \sa `CGAL::Nef_polyhedron_3::Halffacet` - \sa `CGAL::Nef_polyhedron_3::Volume` - \sa `CGAL::Nef_polyhedron_3::SHalfedge` - \sa `CGAL::Nef_polyhedron_3::SHalfloop` - \sa `CGAL::Nef_polyhedron_3::SFace` + \sa `CGAL::Nef_polyhedron_3::Vertex` + \sa `CGAL::Nef_polyhedron_3::Halfedge` + \sa `CGAL::Nef_polyhedron_3::Halffacet` + \sa `CGAL::Nef_polyhedron_3::Volume` + \sa `CGAL::Nef_polyhedron_3::SHalfedge` + \sa `CGAL::Nef_polyhedron_3::SHalfloop` + \sa `CGAL::Nef_polyhedron_3::SFace` \sa `CGAL::Nef_polyhedron_S2` \sa `CGAL::Polyhedron_3` @@ -87,10 +87,10 @@ public: There is no need for a user to create a `Halfedge` explicitly. The class `Nef_polyhedron_3` manages the needed halfedges internally. - \sa `CGAL::Nef_polyhedron_3::Vertex` - \sa `CGAL::Nef_polyhedron_3::SHalfedge` - \sa `CGAL::Nef_polyhedron_3::SFace` - \sa `CGAL::Nef_polyhedron_S2::Sphere_point` + \sa `CGAL::Nef_polyhedron_3::Vertex` + \sa `CGAL::Nef_polyhedron_3::SHalfedge` + \sa `CGAL::Nef_polyhedron_3::SFace` + \sa `CGAL::Nef_polyhedron_S2::Sphere_point` */ class Halfedge { @@ -193,8 +193,8 @@ public: of these assignment works out, the member functions `is_shalfedge()` and `is_shalfloop()` are provided. - \sa `CGAL::Nef_polyhedron_3::SHalfedge` - \sa `CGAL::Nef_polyhedron_3::SHalfloop` + \sa `CGAL::Nef_polyhedron_3::SHalfedge` + \sa `CGAL::Nef_polyhedron_3::SHalfloop` */ @@ -277,9 +277,9 @@ public: There is no need for a user to create a `Halffacet` explicitly. The class `Nef_polyhedron_3` manages the needed halffacets internally. - \sa `CGAL::Nef_polyhedron_3::Volume` - \sa `CGAL::Nef_polyhedron_3::Halfedge` - \sa `CGAL::Nef_polyhedron_3::SHalfedge` + \sa `CGAL::Nef_polyhedron_3::Volume` + \sa `CGAL::Nef_polyhedron_3::Halfedge` + \sa `CGAL::Nef_polyhedron_3::SHalfedge` */ @@ -369,9 +369,9 @@ public: of these assignment works out, the member functions `is_svertex()`, `is_shalfedge()` and `is_shalfloop()` are provided. - \sa `CGAL::Nef_polyhedron_3::Halfedge` - \sa `CGAL::Nef_polyhedron_3::SHalfedge` - \sa `CGAL::Nef_polyhedron_3::SHalfloop` + \sa `CGAL::Nef_polyhedron_3::Halfedge` + \sa `CGAL::Nef_polyhedron_3::SHalfedge` + \sa `CGAL::Nef_polyhedron_3::SHalfloop` */ @@ -463,8 +463,8 @@ public: There is no need for a user to create a `SFace` explicitly. The class `Nef_polyhedron_3` manages the needed sfaces internally. - \sa `CGAL::Nef_polyhedron_3::Vertex` - \sa `CGAL::Nef_polyhedron_3::Volume` + \sa `CGAL::Nef_polyhedron_3::Vertex` + \sa `CGAL::Nef_polyhedron_3::Volume` */ @@ -581,10 +581,10 @@ public: There is no need for a user to create a `SHalfedge` explicitly. The class `Nef_polyhedron_3` manages the needed shalfedges internally. - \sa `CGAL::Nef_polyhedron_3::Halfedge` - \sa `CGAL::Nef_polyhedron_3::Halffacet` - \sa `CGAL::Nef_polyhedron_3::SFace` - \sa `CGAL::Nef_polyhedron_S2::Sphere_circle` + \sa `CGAL::Nef_polyhedron_3::Halfedge` + \sa `CGAL::Nef_polyhedron_3::Halffacet` + \sa `CGAL::Nef_polyhedron_3::SFace` + \sa `CGAL::Nef_polyhedron_S2::Sphere_circle` */ @@ -748,9 +748,9 @@ public: There is no need for a user to create a `SHalfloop` explicitly. The class `Nef_polyhedron_3` manages the needed shalfloops internally. - \sa `CGAL::Nef_polyhedron_3::Halffacet` - \sa `CGAL::Nef_polyhedron_3::SFace` - \sa `CGAL::Nef_polyhedron_S2::Sphere_point` + \sa `CGAL::Nef_polyhedron_3::Halffacet` + \sa `CGAL::Nef_polyhedron_3::SFace` + \sa `CGAL::Nef_polyhedron_S2::Sphere_point` */ @@ -887,7 +887,7 @@ public: There is no need for a user to create a `Volume` explicitly. The class `Nef_polyhedron_3` manages the needed volumes internally. - \sa `CGAL::Nef_polyhedron_3::SFace` + \sa `CGAL::Nef_polyhedron_3::SFace` */ diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h index 34af5481044..34b359c061d 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/CGAL/Periodic_3_triangulation_3.h @@ -914,7 +914,8 @@ triangulation. If the periodic triangulation is not computed in the the geometric primitives in the original domain. This can be controlled using the enum `Iterator_type`. - STORED +\anchor P3Triangulation3figgeom_iterators +STORED STORED_COVER_DOMAIN UNIQUE UNIQUE_COVER_DOMAIN diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Periodic_3_triangulation_3.txt b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Periodic_3_triangulation_3.txt index e3b2605fd47..ed116a8e2cc 100644 --- a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Periodic_3_triangulation_3.txt +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/Periodic_3_triangulation_3.txt @@ -358,7 +358,7 @@ exact. ## Periodic Alpha Shapes ## It is possible to use `Periodic_3_Delaunay_triangulation_3` -as underlying triangulation for computing alpha shapes (cf. Chapter \ref I1_ChapterAlphashapes3D). For an example see +as underlying triangulation for computing alpha shapes (cf. Chapter \ref Chapter_3D_Alpha_Shapes). For an example see Section \ref l1_SectPeriodicAS3D. # Design and Implementation History # {#Periodic_3_triangulation_3Design} @@ -371,7 +371,7 @@ algorithms \cite cgal:ct-c3pt-09 and on the package with Monique Teillaud. The package follows the design of the 3D Triangulations package -(see Chapter \ref chapterTriangulation3). +(see Chapter \ref Chapter_3D_Triangulations). */ } /* namespace CGAL */ diff --git a/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/examples.txt b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/examples.txt new file mode 100644 index 00000000000..6f330801abf --- /dev/null +++ b/Periodic_3_triangulation_3/doc/Periodic_3_triangulation_3/examples.txt @@ -0,0 +1,8 @@ +/*! +\example Periodic_3_triangulation_3/simple_example.cpp +\example Periodic_3_triangulation_3/colored_vertices.cpp +\example Periodic_3_triangulation_3/periodic_adding_handles.cpp +\example Periodic_3_triangulation_3/covering.cpp +\example Periodic_3_triangulation_3/large_point_set.cpp +\example Periodic_3_triangulation_3/geometric_access.cpp +/h*/ diff --git a/Point_set_2/doc/Point_set_2/CGAL/Point_set_2.h b/Point_set_2/doc/Point_set_2/CGAL/Point_set_2.h index 01b2f762d1d..71cd1723b71 100644 --- a/Point_set_2/doc/Point_set_2/CGAL/Point_set_2.h +++ b/Point_set_2/doc/Point_set_2/CGAL/Point_set_2.h @@ -12,8 +12,11 @@ geometric traits classes used by the point set and by the Delaunay triangulation and for the triangulation data structure (Tds). */ -template< typename Gt, typename Tds > -class Point_set_2 { +template< typename Gt, + typename Tds = Triangulation_data_structure_2< + Triangulation_vertex_base_2 > + > +class Point_set_2 : public Delaunay_triangulation_2 { public: /// \name Types @@ -47,22 +50,22 @@ typedef Hidden_type Triangulation; /*! the size type of the underlying triangulation. */ -typedef Hidden_type Triangulation::size_type; +typedef Triangulation::size_type size_type; /*! the vertex type of the underlying triangulation. */ -typedef Hidden_type Triangulation::Vertex; +typedef Triangulation::Vertex Vertex; /*! the edge type of the underlying triangulation. */ -typedef Hidden_type Triangulation::Edge; +typedef Triangulation::Edge Edge; /*! handles to vertices. */ -typedef Hidden_type Triangulation::Vertex_handle ; +typedef Triangulation::Vertex_handle Vertex_handle; /// @} diff --git a/Point_set_processing_3/doc/Point_set_processing_3/CGAL/IO/write_xyz_points.h b/Point_set_processing_3/doc/Point_set_processing_3/CGAL/IO/write_xyz_points.h index 7e5f6099c23..5ec4cb7c3ac 100644 --- a/Point_set_processing_3/doc/Point_set_processing_3/CGAL/IO/write_xyz_points.h +++ b/Point_set_processing_3/doc/Point_set_processing_3/CGAL/IO/write_xyz_points.h @@ -44,7 +44,7 @@ write_xyz_points(std::ostream& stream, ForwardIterator first, ForwardIterator be \returns `true` on success. -\pram stream output stream. +\param stream output stream. \param first iterator range over the input points. \param point_pmap property map `ForwardIterator` -> `Point_3`. \param normal_pmap property map `ForwardIterator` -> `Vector_3`. diff --git a/Point_set_processing_3/doc/Point_set_processing_3/CGAL/pca_estimate_normals.h b/Point_set_processing_3/doc/Point_set_processing_3/CGAL/pca_estimate_normals.h index 956ffddc76d..5816a76ac0f 100644 --- a/Point_set_processing_3/doc/Point_set_processing_3/CGAL/pca_estimate_normals.h +++ b/Point_set_processing_3/doc/Point_set_processing_3/CGAL/pca_estimate_normals.h @@ -8,7 +8,6 @@ namespace CGAL { The output of the normal estimation algorithm highly depends on the `k` parameter. The number of neighbors controls the size of the point subset considered for plane fitting at each input point. As this parameter is application-specific we do not provide any default value. For noise-free point sets this value can be set to a small number, e.g., 18. Larger values (e.g., 30 or more) lead to smoother normal fields and are more time consuming. We thus recommend using them only for noisy data sets. - \pre k \f$ >\f$= 2. \tparam InputIterator iterator over input points. diff --git a/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt b/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt index 740b0fb8d4b..ff7a27286d8 100644 --- a/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt +++ b/Point_set_processing_3/doc/Point_set_processing_3/Point_set_processing_3.txt @@ -34,9 +34,8 @@ points or points with normals (alignment is not yet covered in \cgal); points; 4) Smoothing to reduce noise in the input data; 5) Normal estimation and orientation when the normals are not already provided by the acquisition device; and 6) Surface reconstruction. Chapter -`Surface_reconstruction_points_3` \ref -chapsurface_reconstruction_points_3 deals with surface reconstruction -from point sets with normal attributes. +\ref Chapter_Surface_Reconstruction_from_Point_Sets "Surface Reconstruction from Point Sets" +deals with surface reconstruction from point sets with normal attributes. \anchor Point_set_processing_3figpipeline \image html pipeline.jpg "Point set processing pipeline for surface reconstruction. The algorithms listed in gray are available from other CGAL components (bounding volumes and principal component analysis)." @@ -187,8 +186,8 @@ faster than `CGAL::jet_estimate_normals()`. Function `CGAL::mst_orient_normals()` orients the normals of a set of points with unoriented normals using the method described by Hoppe et -al. in Surface reconstruction from unorganized points \cite -cgal:hddms-srup-92. More specifically, this method constructs a +al. in Surface reconstruction from unorganized points \cite cgal:hddms-srup-92. +More specifically, this method constructs a Riemannian graph over the input points (the graph of the `k` nearest neighbor points) and propagates a seed normal orientation within a minimum spanning tree computed over this graph. The result is diff --git a/Point_set_processing_3/doc/Point_set_processing_3/examples.txt b/Point_set_processing_3/doc/Point_set_processing_3/examples.txt new file mode 100644 index 00000000000..89dc919675b --- /dev/null +++ b/Point_set_processing_3/doc/Point_set_processing_3/examples.txt @@ -0,0 +1,8 @@ +/*! +\example Point_set_processing_3/read_write_xyz_point_set_example.cpp +\example Point_set_processing_3/average_spacing_example.cpp +\example Point_set_processing_3/remove_outliers_example.cpp +\example Point_set_processing_3/grid_simplification_example.cpp +\example Point_set_processing_3/jet_smoothing_example.cpp +\example Point_set_processing_3/normals_example.cpp +*/ diff --git a/Point_set_processing_3/doc/Property_map/Property_map.txt b/Point_set_processing_3/doc/Property_map/Property_map.txt index 9f5760bc942..acd07de7cff 100644 --- a/Point_set_processing_3/doc/Property_map/Property_map.txt +++ b/Point_set_processing_3/doc/Property_map/Property_map.txt @@ -25,8 +25,15 @@ Property maps in the Boost manuals: , Vector_3 >`, +or as a `boost::tuple<..,Point_3, ..., Vector_3 >`. This component provides property maps to support these cases: @@ -39,17 +46,17 @@ This component provides property maps to support these cases: ## Example with %Dereference_property_map ## The following example reads a point set and removes 5% of the points. It uses `CGAL::Dereference_property_map` as position property map. -\cgalexample{Property_map/remove_outliers_example.cpp} +\cgalexample{Point_set_processing_3/remove_outliers_example.cpp} ## Example with Pairs ## The following example reads a point set from an input file and writes it to a file, both in the xyz format. Position and normal are stored in pairs and accessed through property maps. -\cgalexample{Property_map/read_write_xyz_point_set_example.cpp} +\cgalexample{Point_set_processing_3/read_write_xyz_point_set_example.cpp} ## Example with Tuples ## The following example reads a point set in the `xyz` format and computes the average spacing. Index, position and color are stored in a tuple and accessed through property maps. -\cgalexample{Property_map/average_spacing_example.cpp} +\cgalexample{Point_set_processing_3/average_spacing_example.cpp} */ } /* namespace CGAL */ diff --git a/Point_set_processing_3/doc/Property_map/examples.txt b/Point_set_processing_3/doc/Property_map/examples.txt index 5d431ea3d6a..82573d75230 100644 --- a/Point_set_processing_3/doc/Property_map/examples.txt +++ b/Point_set_processing_3/doc/Property_map/examples.txt @@ -1,6 +1,6 @@ /*! -\example Property_map/remove_outliers_example.cpp -\example Property_map/read_write_xyz_point_set_example.cpp -\example Property_map/average_spacing_example.cpp -\example Property_map/property_map.cpp +\example Point_set_processing_3/remove_outliers_example.cpp +\example Point_set_processing_3/read_write_xyz_point_set_example.cpp +\example Point_set_processing_3/average_spacing_example.cpp +\example Point_set_processing_3/property_map.cpp */ diff --git a/Polyhedron/doc/Polyhedron/Polyhedron.txt b/Polyhedron/doc/Polyhedron/Polyhedron.txt index 90fa3bdaf30..f19259e105c 100644 --- a/Polyhedron/doc/Polyhedron/Polyhedron.txt +++ b/Polyhedron/doc/Polyhedron/Polyhedron.txt @@ -339,7 +339,7 @@ in the distribution under examples/Polyhedron_IO/ and demo/Polyhedron_IO/. We show an example converting OFF input into VRML 1.0 output. -\cgalexample{Polyhedron/polyhedron2vrml.cpp} +\cgalexample{Polyhedron_IO/polyhedron2vrml.cpp} # Extending Vertices, Halfedges, and Facets # {#PolyhedronExtending} diff --git a/Polyhedron/doc/Polyhedron/examples.txt b/Polyhedron/doc/Polyhedron/examples.txt index 5c2e5744700..8fc56694e39 100644 --- a/Polyhedron/doc/Polyhedron/examples.txt +++ b/Polyhedron/doc/Polyhedron/examples.txt @@ -1,5 +1,5 @@ /*! -\example Polyhedron/polyhedron2vrml.cpp +\example Polyhedron_IO/polyhedron2vrml.cpp \example Polyhedron/polyhedron_prog_color.cpp \example Polyhedron/polyhedron_prog_cube.cpp \example Polyhedron/polyhedron_prog_incr_builder.cpp diff --git a/Polynomial/doc/Polynomial/CGAL/polynomial_utils.h b/Polynomial/doc/Polynomial/CGAL/polynomial_utils.h index a4b5f8c3c29..8bb13696b44 100644 --- a/Polynomial/doc/Polynomial/CGAL/polynomial_utils.h +++ b/Polynomial/doc/Polynomial/CGAL/polynomial_utils.h @@ -6,7 +6,7 @@ namespace CGAL { For a given `Polynomial_d` the function `canonicalize` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Canonicalize`. +Adapts `Polynomial_traits_d::Canonicalize`. For more details see the concept `PolynomialTraits_d::Canonicalize`. @@ -28,7 +28,7 @@ canonicalize(const Polynomial_d& p); For a given `Polynomial_d` the function `compare` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Compare`. +Adapts `Polynomial_traits_d::Compare`. For more details see the concept `PolynomialTraits_d::Compare`. @@ -47,7 +47,7 @@ compare(const Polynomial_d& p, const Polynomial_d& q); For a given `Polynomial_d` the function `degree` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Degree`. +Adapts `Polynomial_traits_d::Degree`. For more details see the concept `PolynomialTraits_d::Degree`. @@ -70,7 +70,7 @@ index = Polynomial_traits_d::d-1); For a given `Polynomial_d` the function `degree_vector` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::DegreeVector`. +Adapts `Polynomial_traits_d::DegreeVector`. For more details see the concept `PolynomialTraits_d::DegreeVector`. @@ -92,7 +92,7 @@ degree_vector(const Polynomial_d& p); For a given `Polynomial_d` the function `differentiate` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Differentiate`. +Adapts `Polynomial_traits_d::Differentiate`. For more details see the concept `PolynomialTraits_d::Differentiate`. @@ -115,7 +115,7 @@ index = Polynomial_traits_d::d-1 ); For a given `Polynomial_d` the function `evaluate_homogeneous` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Evaluate_homogeneous`. +Adapts `Polynomial_traits_d::Evaluate_homogeneous`. For more details see the concept `PolynomialTraits_d::EvaluateHomogeneous`. @@ -140,7 +140,7 @@ Polynomial_traits_d::Coefficient_type v); For a given `Polynomial_d` the function `evaluate` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Evaluate`. +Adapts `Polynomial_traits_d::Evaluate`. For more details see the concept `PolynomialTraits_d::Evaluate`. @@ -163,7 +163,7 @@ Polynomial_traits_d::Coefficient_type x); For a given `Polynomial_d` the function `gcd_up_to_constant_factor` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Gcd_up_to_constant_factor`. +Adapts `Polynomial_traits_d::Gcd_up_to_constant_factor`. For more details see the concept `PolynomialTraits_d::GcdUpToConstantFactor`. @@ -185,7 +185,7 @@ gcd_up_to_constant_factor(const Polynomial_d& p, const Polynomial_d& q); For a given `Polynomial_d` the function `get_coefficient` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::GetCoefficient`. +Adapts `Polynomial_traits_d::GetCoefficient`. For more details see the concept `PolynomialTraits_d::GetCoefficient`. @@ -208,7 +208,7 @@ get_coefficient(const Polynomial_d& p, int i); For a given `Polynomial_d` the function `get_innermost_coefficient` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::GetInnermostCoefficient`. +Adapts `Polynomial_traits_d::GetInnermostCoefficient`. For more details see the concept `PolynomialTraits_d::GetInnermostCoefficient`. @@ -231,7 +231,7 @@ get_innermost_coefficient(const Polynomial_d& p, Exponent_vector ev); For a given `Polynomial_d` the function `innermost_leading_coefficient` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::InnermostLeadingCoefficient`. +Adapts `Polynomial_traits_d::InnermostLeadingCoefficient`. For more details see the concept `PolynomialTraits_d::InnermostLeadingCoefficient`. @@ -254,7 +254,7 @@ innermost_leading_coefficient(const Polynomial_d& p); For a given `Polynomial_d` the function `integral_division_up_to_constant_factor` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Integral_division_up_to_constant_factor`. +Adapts `Polynomial_traits_d::Integral_division_up_to_constant_factor`. For more details see the concept `PolynomialTraits_d::IntegralDivisionUpToConstantFactor`. @@ -276,7 +276,7 @@ integral_division_up_to_constant_factor(const Polynomial_d& p, const Polynomial_ For a given `Polynomial_d` the function `invert` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Invert`. +Adapts `Polynomial_traits_d::Invert`. For more details see the concept `PolynomialTraits_d::Invert`. @@ -298,7 +298,7 @@ invert(const Polynomial_d& p, int index = Polynomial_traits_d::d-1 For a given `Polynomial_d` the function `is_square_free` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Is_square_free`. +Adapts `Polynomial_traits_d::Is_square_free`. For more details see the concept `PolynomialTraits_d::IsSquareFree`. @@ -320,7 +320,7 @@ is_square_free(const Polynomial_d& p); For a given `Polynomial_d` the function `is_zero_at_homogeneous` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Is_zero_at_homogeneous`. +Adapts `Polynomial_traits_d::Is_zero_at_homogeneous`. For more details see the concept `PolynomialTraits_d::IsZeroAtHomogeneous`. @@ -343,7 +343,7 @@ const Polynomial_d& p, InputIterator begin, InputIterator end); For a given `Polynomial_d` the function `is_zero_at` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Is_zero_at`. +Adapts `Polynomial_traits_d::Is_zero_at`. For more details see the concept `PolynomialTraits_d::IsZeroAt`. @@ -366,7 +366,7 @@ const Polynomial_d& p, InputIterator begin, InputIterator end); For a given `Polynomial_d` the function `leading_coefficient` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Leading_coefficient`. +Adapts `Polynomial_traits_d::Leading_coefficient`. For more details see the concept `PolynomialTraits_d::LeadingCoefficient`. @@ -388,7 +388,7 @@ leading_coefficient(const Polynomial_d& p); For a given `Polynomial_d` the function `make_square_free` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Make_square_free`. +Adapts `Polynomial_traits_d::Make_square_free`. For more details see the concept `PolynomialTraits_d::MakeSquareFree`. @@ -410,7 +410,7 @@ make_square_free(const Polynomial_d& p); For a given `Polynomial_d` the function `move` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Move`. +Adapts `Polynomial_traits_d::Move`. For more details see the concept `PolynomialTraits_d::Move`. @@ -432,7 +432,7 @@ move(const Polynomial_d& p, int i, int j); For a given `Polynomial_d` the function `multivariate_content` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Multivariate_content`. +Adapts `Polynomial_traits_d::Multivariate_content`. For more details see the concept `PolynomialTraits_d::MultivariateContent`. @@ -454,7 +454,7 @@ multivariate_content(const Polynomial_d& p); For a given `Polynomial_d` the function `negate` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Negate`. +Adapts `Polynomial_traits_d::Negate`. For more details see the concept `PolynomialTraits_d::Negate`. @@ -498,20 +498,13 @@ where \f$ s\f$ is the number of subsequences of \f$ I\f$ of the form \advanced with \f$ a\neq 0,b\neq 0, k\geq 0\f$. \advanced For the \f$ i\f$-th subsequence of \f$ I\f$, define -\f$ \f$\epsilon_i:= - - - -
    -0 - -if \f$ k\f$ is odd, -
    -(-1)^k/2 mathrm sign(ab) - -if \f$ k\f$ is even. -
    -\f$ \f$ + +\f[ +\epsilon_i:=\begin{array}{cc} +0 & \mbox{if $k$ is odd},\\ +(-1)^{k/2}\mathrm{sign}(ab) & \mbox{if $k$ is even}. +\end{array} +\f] \advanced For \f$ f\in\mathbb{R}[x]\f$ with \f$ \deg f=n\f$, we have: \f[ C(\mathrm{stha}_n(f),\ldots,\mathrm{stha}_0(f)) = \#\{\alpha\in\R\mid f(\alpha)=0\} \f] @@ -554,20 +547,13 @@ where \f$ s\f$ is the number of subsequences of \f$ I\f$ of the form \advanced with \f$ a\neq 0,b\neq 0, k\geq 0\f$. \advanced For the \f$ i\f$-th subsequence of \f$ I\f$, define -\f$ \f$\epsilon_i:= - - - -
    -0 - -if \f$ k\f$ is odd, -
    -(-1)^k/2 mathrm sign(ab) - -if \f$ k\f$ is even. -
    -\f$ \f$ + +\f[ +\epsilon_i:=\begin{array}{cc} +0 & \mbox{if $k$ is odd},\\ +(-1)^{k/2}\mathrm{sign}(ab) & \mbox{if $k$ is even}. +\end{array} +\f] \advanced For \f$ f\in\mathbb{R}[x]\f$ with \f$ \deg f=n\f$, we have: \f[ C(\mathrm{stha}_n(f),\ldots,\mathrm{stha}_0(f)) = \#\{\alpha\in\R\mid f(\alpha)=0\} \f] @@ -588,7 +574,7 @@ int number_of_real_roots(InputIterator start,InputIterator end); For a given `Polynomial_d` the function `permute` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Permute`. +Adapts `Polynomial_traits_d::Permute`. For more details see the concept `PolynomialTraits_d::Permute`. @@ -664,7 +650,7 @@ OutputIterator3 coQ_out); computes the principal Sturm-Habicht coefficients of \f$ f\f$ with respect to the outermost variable. Each element is of type -`Polynomial_traits_d::Coefficient_type`. +`Polynomial_traits_d::Coefficient_type`b. For a given `Polynomial_d` the function `principal_sturm_habicht_sequence` adapts the according functor in `Polynomial_traits_d`. @@ -689,7 +675,7 @@ OutputIterator out); computes the principal subresultants of \f$ p\f$ and \f$ q\f$, with respect to the outermost variable. Each element is of type -`Polynomial_traits_d::Coefficient_type`. +`Polynomial_traits_d::Coefficient_type`. For a given `Polynomial_d` the function `principal_subresultants` adapts the according functor in `Polynomial_traits_d`. @@ -715,7 +701,7 @@ OutputIterator out); For a given `Polynomial_d` the function `pseudo_division` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Pseudo_division`. +Adapts `Polynomial_traits_d::Pseudo_division`. For more details see the concept `PolynomialTraits_d::PseudoDivision`. @@ -737,7 +723,7 @@ Polynomial_d& q, Polynomial_d& r, Polynomial_traits_d::Coefficient For a given `Polynomial_d` the function `pseudo_division_quotient` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Pseudo_division_quotient`. +Adapts `Polynomial_traits_d::Pseudo_division_quotient`. For more details see the concept `PolynomialTraits_d::PseudoDivisionQuotient`. @@ -760,7 +746,7 @@ pseudo_division_quotient(const Polynomial_d& p, const Polynomial_d& q); For a given `Polynomial_d` the function `pseudo_division_remainder` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Pseudo_division_remainder`. +Adapts `Polynomial_traits_d::Pseudo_division_remainder`. For more details see the concept `PolynomialTraits_d::PseudoDivisionRemainder`. @@ -781,7 +767,7 @@ pseudo_division_remainder(const Polynomial_d& p, const Polynomial_d& q); For a given `Polynomial_d` the function `resultant` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Resultant`. +Adapts `Polynomial_traits_d::Resultant`. For more details see the concept `PolynomialTraits_d::Resultant`. @@ -802,7 +788,7 @@ resultant(const Polynomial_d& p, const Polynomial_d& q); For a given `Polynomial_d` the function `scale_homogeneous` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Scale_homogeneous`. +Adapts `Polynomial_traits_d::Scale_homogeneous`. For more details see the concept `PolynomialTraits_d::ScaleHomogeneous`. @@ -827,7 +813,7 @@ int index = Polynomial_traits_d::d-1); For a given `Polynomial_d` the function `scale` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Scale`. +Adapts `Polynomial_traits_d::Scale`. For more details see the concept `PolynomialTraits_d::Scale`. @@ -851,7 +837,7 @@ int index = Polynomial_traits_d::d-1); For a given `Polynomial_d` the function `shift` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Shift`. +Adapts `Polynomial_traits_d::Shift`. For more details see the concept `PolynomialTraits_d::Shift`. @@ -871,7 +857,7 @@ shift(const Polynomial_d& p, int i, int index = Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Sign_at_homogeneous`. +Adapts `Polynomial_traits_d::Sign_at_homogeneous`. For more details see the concept `PolynomialTraits_d::SignAtHomogeneous`. @@ -894,7 +880,7 @@ const Polynomial_d& p, InputIterator begin, InputIterator end); For a given `Polynomial_d` the function `sign_at` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Sign_at`. +Adapts `Polynomial_traits_d::Sign_at`. For more details see the concept `PolynomialTraits_d::SignAt`. @@ -917,7 +903,7 @@ const Polynomial_d& p, InputIterator begin, InputIterator end); For a given `Polynomial_d` the function `square_free_factorize` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Square_free_factorize`. +Adapts `Polynomial_traits_d::Square_free_factorize`. For more details see the concept `PolynomialTraits_d::SquareFreeFactorize`. @@ -941,7 +927,7 @@ Polynomial_traits_d::Innermost_coefficient& a); For a given `Polynomial_d` the function `square_free_factorize` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Square_free_factorize`. +Adapts `Polynomial_traits_d::Square_free_factorize`. For more details see the concept `PolynomialTraits_d::SquareFreeFactorize`. @@ -963,7 +949,7 @@ square_free_factorize(const Polynomial_d& p, OutputIterator it); For a given `Polynomial_d` the function `square_free_factorize_up_to_constant_factor` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Square_free_factorize_up_to_constant_factor`. +Adapts `Polynomial_traits_d::Square_free_factorize_up_to_constant_factor`. For more details see the concept `PolynomialTraits_d::SquareFreeFactorizeUpToConstantFactor`. @@ -1039,7 +1025,7 @@ OutputIterator3 cofx_out); For a given `Polynomial_d` the function `substitute_homogeneous` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Substitute_homogeneous`. +Adapts `Polynomial_traits_d::Substitute_homogeneous`. For more details see the concept `PolynomialTraits_d::SubstituteHomogeneous`. @@ -1064,7 +1050,7 @@ const Polynomial_d& p, InputIterator begin, InputIterator end); For a given `Polynomial_d` the function `substitute` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Substitute`. +Adapts `Polynomial_traits_d::Substitute`. For more details see the concept `PolynomialTraits_d::Substitute`. @@ -1090,7 +1076,7 @@ const Polynomial_d& p, InputIterator begin, InputIterator end); For a given `Polynomial_d` the function `swap` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Swap`. +Adapts `Polynomial_traits_d::Swap`. For more details see the concept `PolynomialTraits_d::Swap`. @@ -1112,7 +1098,7 @@ swap(const Polynomial_d& p, int i, int j); For a given `Polynomial_d` the function `total_degree` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Total_degree`. +Adapts `Polynomial_traits_d::Total_degree`. For more details see the concept `PolynomialTraits_d::TotalDegree`. @@ -1134,7 +1120,7 @@ total_degree(const Polynomial_d& p); For a given `Polynomial_d` the function `translate_homogeneous` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Translate_homogeneous`. +Adapts `Polynomial_traits_d::Translate_homogeneous`. For more details see the concept `PolynomialTraits_d::TranslateHomogeneous`. @@ -1160,7 +1146,7 @@ int index = Polynomial_traits_d::d-1); For a given `Polynomial_d` the function `translate` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Translate`. +Adapts `Polynomial_traits_d::Translate`. For more details see the concept `PolynomialTraits_d::Translate`. @@ -1185,7 +1171,7 @@ int index = Polynomial_traits_d::d-1); For a given `Polynomial_d` the function `univariate_content` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::UnivariateContent`. +Adapts `Polynomial_traits_d::UnivariateContent`. For more details see the concept `PolynomialTraits_d::UnivariateContent`. @@ -1207,7 +1193,7 @@ univariate_content(const Polynomial_d& p); For a given `Polynomial_d` the function `univariate_content_up_to_constant_factor` adapts the according functor in `Polynomial_traits_d`. -Adapts `Polynomial_traits_d::Univariate_content_up_to_constant_factor`. +Adapts `Polynomial_traits_d::Univariate_content_up_to_constant_factor`. For more details see the concept `PolynomialTraits_d::UnivariateContentUpToConstantFactor`. diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Substitute.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Substitute.h index 00b0880381d..b0960749c68 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Substitute.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--Substitute.h @@ -22,7 +22,7 @@ Hence, it can not be provided as a public type in advance. \sa \ref ::Polynomial_d \sa \ref ::PolynomialTraits_d \sa \ref ::PolynomialTraits_d::SubstituteHomogeneous -\sa \ref ::CoercionTraits +\sa \ref CGAL::Coercion_traits */ diff --git a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SubstituteHomogeneous.h b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SubstituteHomogeneous.h index af265badc4c..12c73fe8209 100644 --- a/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SubstituteHomogeneous.h +++ b/Polynomial/doc/Polynomial/Concepts/PolynomialTraits_d--SubstituteHomogeneous.h @@ -28,7 +28,7 @@ Hence, it can not be provided as a public type in advance. \sa \ref ::Polynomial_d \sa \ref ::PolynomialTraits_d \sa \ref ::PolynomialTraits_d::Substitute -\sa \ref ::CoercionTraits +\sa \ref CGAL::Coercion_traits */ diff --git a/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h b/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h index c66854514bb..9ed4e39b3d0 100644 --- a/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h +++ b/Polynomial/doc/Polynomial/Concepts/Polynomial_d.h @@ -14,11 +14,9 @@ all functionality related to polynomials is provided by the traits. \refines ::IntegralDomainWithoutDivision -The algebraic structure of ::Polynomial_d depends on the +The algebraic structure of ::Polynomial_d depends on the algebraic structure of ::Innermost_coefficient_type: - - Innermost_coefficient_type | %Polynomial_d ---------------------------------|-------------------------------- ::IntegralDomainWithoutDivision | ::IntegralDomainWithoutDivision @@ -39,9 +37,6 @@ coefficient is a Field the polynomial is model of EuclideanRing. */ class Polynomial_d { -public: - -/// @} }; /* end Polynomial_d */ diff --git a/Polynomial/doc/Polynomial/Polynomial.txt b/Polynomial/doc/Polynomial/Polynomial.txt index 90a2503529f..db231ae2a8c 100644 --- a/Polynomial/doc/Polynomial/Polynomial.txt +++ b/Polynomial/doc/Polynomial/Polynomial.txt @@ -98,10 +98,8 @@ the polynomial as an element of \f$ R [x_0,\dots,x_{d-1}]\f$. According to these two different views the traits class is required to provide two different coefficient types:
      -
    • `CGAL::Polynomial_traits_d::Coefficient_type` -representing \f$ R[x_0,\dots,x_{d-2}]\f$. -
    • `CGAL::Polynomial_traits_d::Innermost_coefficient_type` -representing the base ring \f$ R\f$. +
    • `CGAL::Polynomial_traits_d::Coefficient_type` representing \f$ R[x_0,\dots,x_{d-2}]\f$. +
    • `CGAL::Polynomial_traits_d::Innermost_coefficient_type` representing the base ring \f$ R\f$.
    Another important type which is introduced by this package is @@ -123,15 +121,15 @@ refines `IntegralDomainWithoutDivision` which in turn refines constant polynomials. In general a polynomial is constructed using the functor -`CGAL::Polynomial_traits_d::Construct_polynomial` a model of +`CGAL::Polynomial_traits_d::Construct_polynomial` a model of `PolynomialTraits_d::ConstructPolynomial`. Basically there are two options:
    • The polynomial is constructed from an iterator range with value type -`CGAL::Polynomial_traits_d::Coefficient_type`, +`CGAL::Polynomial_traits_d::Coefficient_type`, where the \f$ begin\f$ iterator refers to the constant term (constant with respect to the outermost variable).
    • The polynomial is constructed from an iterator range with value type -`std::pair< CGAL::Exponent_vector, CGAL::Polynomial_traits_d::Innermost_coefficient_type>`, +`std::pair< CGAL::Exponent_vector, CGAL::Polynomial_traits_d::Innermost_coefficient_type>`, where each pair defines the coefficient for the monomial defined by the exponent vector.
    @@ -140,7 +138,7 @@ However, in some cases it might be more convenient to just construct the polynomials representing the different variables and to obtain the final polynomial using algebraic expressions. The most elegant way to construct a certain variable is -`CGAL::Polynomial_traits_d::Shift` being a model of +`CGAL::Polynomial_traits_d::Shift` being a model of `PolynomialTraits_d::Shift`. ## Example ## diff --git a/Polynomial/doc/Polynomial/examples.txt b/Polynomial/doc/Polynomial/examples.txt new file mode 100644 index 00000000000..24236c167d6 --- /dev/null +++ b/Polynomial/doc/Polynomial/examples.txt @@ -0,0 +1,9 @@ +/*! +\example Polynomial/construction.cpp +\example Polynomial/coefficient_access.cpp +\example Polynomial/degree.cpp +\example Polynomial/swap_move.cpp +\example Polynomial/gcd_up_to_constant_factor.cpp +\example Polynomial/substitute.cpp +\example Polynomial/subresultants.cpp +*/ diff --git a/QP_solver/doc/QP_solver/CGAL/QP_functions.h b/QP_solver/doc/QP_solver/CGAL/QP_functions.h index f58e7c58221..d02eebc06a5 100644 --- a/QP_solver/doc/QP_solver/CGAL/QP_functions.h +++ b/QP_solver/doc/QP_solver/CGAL/QP_functions.h @@ -20,7 +20,7 @@ Output operators are defined for all entry types of `lp`. Example -------------- -\ref print_first_lp.cpp +\ref QP_solver/print_first_lp.cpp \sa The concept `LinearProgram` @@ -48,7 +48,7 @@ Output operators are defined for all entry types of `lp`. Example -------------- -\ref print_first_nonnegative_lp.cpp +\ref QP_solver/print_first_nonnegative_lp.cpp \sa The concept `NonnegativeLinearProgram` @@ -76,7 +76,7 @@ Output operators are defined for all entry types of `qp`. Example -------------- -\ref print_first_nonnegative_qp.cpp +\ref QP_solver/print_first_nonnegative_qp.cpp \sa The concept `NonnegativeQuadraticProgram` @@ -103,7 +103,7 @@ Output operators are defined for all entry types of `qp`. Example -------------- -\ref print_first_qp.cpp +\ref QP_solver/print_first_qp.cpp \sa The concept `QuadraticProgram` */ @@ -147,7 +147,7 @@ with exact number type `ET`. Example -------------- -\ref first_lp.cpp +\ref QP_solver/first_lp.cpp \models `Quadratic_program` \models `Quadratic_program_from_mps` @@ -194,9 +194,9 @@ with exact number type `ET`. Example -------------- -\ref first_nonnegative_lp.cpp +\ref QP_solver/first_nonnegative_lp.cpp -The models of \ref NonnegativeLinearProgram: +The models of \ref NonnegativeLinearProgram\: \sa `Quadratic_program` \sa `Quadratic_program_from_mps` \sa `Nonnegative_linear_program_from_iterators` @@ -242,9 +242,9 @@ with exact number type `ET`. Example -------------- -\ref first_nonnegative_qp.cpp +\ref QP_solver/first_nonnegative_qp.cpp -The models of \ref ::NonnegativeQuadraticProgram: +The models of \ref ::NonnegativeQuadraticProgram\: \sa `Quadratic_program` \sa `Quadratic_program_from_mps` \sa `Nonnegative_quadratic_program_from_iterators` @@ -289,9 +289,9 @@ with exact number type `ET`. Example -------------- -\ref first_qp.cpp +\ref QP_solver/first_qp.cpp -The models of \ref ::QuadraticProgram: +The models of \ref QuadraticProgram\: \sa `Quadratic_program` \sa `Quadratic_program_from_mps` \sa `Quadratic_program_from_iterators` diff --git a/QP_solver/doc/QP_solver/CGAL/QP_models.h b/QP_solver/doc/QP_solver/CGAL/QP_models.h index 12a5e1416ef..59a8c0509fb 100644 --- a/QP_solver/doc/QP_solver/CGAL/QP_models.h +++ b/QP_solver/doc/QP_solver/CGAL/QP_models.h @@ -60,16 +60,16 @@ namespace CGAL { Example -------------- - \ref first_lp_from_iterators.cpp + \ref QP_solver/first_lp_from_iterators.cpp The following example for the simpler model `Nonnegative_linear_program_from_iterators` should give you a flavor of the use of this model in practice. - \ref solve_convex_hull_containment_lp.h + \ref QP_solver/solve_convex_hull_containment_lp.h - \ref convex_hull_containment.cpp + \ref QP_solver/convex_hull_containment.cpp \sa `LinearProgram` \sa `Quadratic_program` @@ -119,9 +119,9 @@ public: The following example demonstrates the typical usage of makers with the simpler function `make_nonnegative_linear_program_from_iterators`. - \ref solve_convex_hull_containment_lp2.h + \ref QP_solver/solve_convex_hull_containment_lp2.h - \ref convex_hull_containment2.cpp + \ref QP_solver/convex_hull_containment2.cpp \sa `Linear_program_from_iterators` */ @@ -163,9 +163,9 @@ make_linear_program_from_iterators ( Example -------------- - \ref solve_convex_hull_containment_lp2.h + \ref QP_solver/solve_convex_hull_containment_lp2.h - \ref convex_hull_containment2.cpp + \ref QP_solver/convex_hull_containment2.cpp \sa `Nonnegative_linear_program_from_iterators` */ @@ -204,9 +204,9 @@ make_nonnegative_linear_program_from_iterators ( The following example demonstrates the typical usage of makers with the simpler function `make_nonnegative_linear_program_from_iterators`. - \ref solve_convex_hull_containment_lp2.h + \ref QP_solver/solve_convex_hull_containment_lp2.h - \ref convex_hull_containment2.cpp + \ref QP_solver/convex_hull_containment2.cpp \sa `Nonnegative_quadratic_program_from_iterators` @@ -246,9 +246,9 @@ make_nonnegative_quadratic_program_from_iterators ( The following example demonstrates the typical usage of makers with the simpler function `make_nonnegative_linear_program_from_iterators`. - \ref solve_convex_hull_containment_lp2.h + \ref QP_solver/solve_convex_hull_containment_lp2.h - \ref convex_hull_containment2.cpp + \ref QP_solver/convex_hull_containment2.cpp \sa `Quadratic_program_from_iterators` */ @@ -321,11 +321,11 @@ make_quadratic_program_from_iterators ( Example -------------- - \ref first_nonnegative_lp_from_iterators.cpp + \ref QP_solver/first_nonnegative_lp_from_iterators.cpp - \ref solve_convex_hull_containment_lp.h + \ref QP_solver/solve_convex_hull_containment_lp.h - \ref convex_hull_containment.cpp + \ref QP_solver/convex_hull_containment.cpp \sa `NonnegativeLinearProgram` \sa `Quadratic_program` @@ -402,16 +402,16 @@ public: Example -------------- - \ref first_nonnegative_qp_from_iterators.cpp + \ref QP_solver/first_nonnegative_qp_from_iterators.cpp The following example for the simpler model `Nonnegative_linear_program_from_iterators` should give you a flavor of the use of this model in practice. - \ref solve_convex_hull_containment_lp.h + \ref QP_solver/solve_convex_hull_containment_lp.h - \ref convex_hull_containment.cpp + \ref QP_solver/convex_hull_containment.cpp \sa `NonnegativeQuadraticProgram` \sa `Quadratic_program` @@ -491,16 +491,16 @@ public: Example -------------- - \ref first_qp_from_iterators.cpp + \ref QP_solver/first_qp_from_iterators.cpp The following example for the simpler model `Nonnegative_linear_program_from_iterators` should give you a flavor of the use of this model in practice. - \ref solve_convex_hull_containment_lp.h + \ref QP_solver/solve_convex_hull_containment_lp.h - \ref convex_hull_containment.cpp + \ref QP_solver/convex_hull_containment.cpp \sa `QuadraticProgram` \sa `Quadratic_program` @@ -588,13 +588,13 @@ public: Example -------------- - \ref first_qp_from_mps.cpp + \ref QP_solver/first_qp_from_mps.cpp - \ref first_lp_from_mps.cpp + \ref QP_solver/first_lp_from_mps.cpp - \ref first_nonnegative_qp_from_mps.cpp + \ref QP_solver/first_nonnegative_qp_from_mps.cpp - \ref first_nonnegative_lp_from_mps.cpp + \ref QP_solver/first_nonnegative_lp_from_mps.cpp \sa `Quadratic_program` \sa `Quadratic_program_from_iterators` @@ -800,15 +800,15 @@ namespace CGAL { Example -------------- - \ref first_qp.cpp + \ref QP_solver/first_qp.cpp - \ref first_lp.cpp + \ref QP_solver/first_lp.cpp - \ref first_nonnegative_qp.cpp + \ref QP_solver/first_nonnegative_qp.cpp - \ref first_nonnegative_lp.cpp + \ref QP_solver/first_nonnegative_lp.cpp - \ref invert_matrix.cpp + \ref QP_solver/invert_matrix.cpp \sa `Quadratic_program_from_iterators` \sa `Linear_program_from_iterators` diff --git a/QP_solver/doc/QP_solver/CGAL/QP_solution.h b/QP_solver/doc/QP_solver/CGAL/QP_solution.h index e0b62dcc589..8cf4607fae9 100644 --- a/QP_solver/doc/QP_solver/CGAL/QP_solution.h +++ b/QP_solver/doc/QP_solver/CGAL/QP_solution.h @@ -39,7 +39,7 @@ the four functions Example -------------- -\ref first_qp.cpp +\ref QP_solver/first_qp.cpp Terminology -------------- @@ -145,7 +145,7 @@ typedef Hidden_type Unboundedness_certificate_iterator; /// functions `solve_quadratic_program`, `solve_linear_program`, /// `solve_nonnegative_quadratic_program`, and /// `solve_nonnegative_linear_program`. -/// Example: \ref first_qp.cpp +/// Example: \ref QP_solver/first_qp.cpp /// @{ /*! @@ -267,7 +267,7 @@ const ET& variables_common_denominator() const; /// 'important' variables (the ones not attaining one of their /// bounds), and 'important' constraints (the ones being satisfied /// with equality). The following methods grant access to them. \ref -/// important_variables.cpp \ref first_qp_basic_constraints.cpp +/// QP_solver/important_variables.cpp \ref QP_solver/first_qp_basic_constraints.cpp /// @{ /*! @@ -334,9 +334,9 @@ std::ostream& operator<<(std::ostream& out, const Quadratic_program_solution /// done automatically after the solution of the program, see /// `Quadratic_program_options`. If the check fails, a logfile is /// generated that contains the details, and an error message is -/// written to `std::cerr` (see \ref cycling.cpp for an example that -/// uses this option). \ref first_qp.cpp \ref first_lp.cpp \ref -/// first_nonnegative_qp.cpp \ref first_nonnegative_lp.cpp +/// written to `std::cerr` (see \ref QP_solver/cycling.cpp for an example that +/// uses this option). \ref QP_solver/first_qp.cpp \ref QP_solver/first_lp.cpp \ref +/// QP_solver/first_nonnegative_qp.cpp \ref QP_solver/first_nonnegative_lp.cpp /// @{ /*! @@ -446,7 +446,7 @@ this inequality, we get and since \f$D\f$ is positive semidefinite, we have \f$(\qpx-\qpx^*)^TD(\qpx-\qpx^*)\geq 0\f$ and the lemma follows. -\sa \ref optimality_certificate.cpp +\sa \ref QP_solver/optimality_certificate.cpp */ Optimality_certificate_iterator optimality_certifcate_begin() const; @@ -519,7 +519,7 @@ that there is a feasible solution \f$\qpx\f$. Then we get \f] and this is the desired contradiction \f$0>0\f$. -\sa \ref infeasibility_certificate.cpp +\sa \ref QP_solver/infeasibility_certificate.cpp */ Infeasibility_certificate_iterator infeasibility_certificate_begin() const; diff --git a/QP_solver/doc/QP_solver/Classified.txt b/QP_solver/doc/QP_solver/Classified.txt deleted file mode 100644 index f0d21b4085b..00000000000 --- a/QP_solver/doc/QP_solver/Classified.txt +++ /dev/null @@ -1,358 +0,0 @@ - -\authors Kaspar Fischer, Bernd Gärtner, Sven Schönherr, and Frans Wessendorp - -# Classified Reference Pages # {#QP_solverClassified} - -HEADING:Concepts --------------- - -`QuadraticProgram` - -\f$ \quad\f$ (for quadratic programs with variable bounds \f$ \qpl\leq \qpx \leq \qpu\f$) - -`LinearProgram` - -\f$ \quad\f$(for linear programs with variable bounds \f$ \qpl\leq \qpx \leq \qpu\f$) - -`NonnegativeQuadraticProgram` - -\f$ \quad\f$ (for quadratic programs with variable bounds \f$ \qpx\geq 0\f$) - -`NonnegativeLinearProgram` - -\f$ \quad\f$ (for linear programs with variable bounds \f$ \qpx\geq 0\f$) - -`MPSFormat` - -\f$ \quad\f$ (the format used for reading and writing linear and quadratic -programs) - -HEADING:Classes --------------- - -There is a class that represents the solution of a linear -or quadratic program. An instance of this class is returned by any of -the solution functions below. - -\ref ::CGAL::Quadratic_program_solution - -We offer a number of predefined models for the above program concepts. -The following two are simultaneously models for all four concepts and -are probably the most convenient models; they allow you to construct -linear or quadratic programs entry by entry, or from streams in -`MPSFormat`. At any time, you can query these programs for -linearity and nonnegativity and thus select the appropriate -solution function. - -\ref ::CGAL::Quadratic_program - -\f$ \quad\f$ (for linear and quadratic programs that own their -data and are built entry-wise) - -\ref ::CGAL::Quadratic_program_from_mps - -\f$ \quad\f$ (for linear and quadratic programs read from an input stream in -`MPSFormat`; the constructed program can also be manipulate entry-wise) - -Then there are specific models for any of the four program concepts above; -these are useful if you want to maintain the program data yourself, since -they simply wrap random access iterators over the program data and involve -no further copying of data. - -\ref ::CGAL::Quadratic_program_from_iterators - -\f$ \quad\f$ (for quadratic programs that wrap given iterators, without copying -data) - -\ref ::CGAL::Linear_program_from_iterators - -\f$ \quad\f$ (for linear programs wrapping given iterators) - -\ref ::CGAL::Nonnegative_quadratic_program_from_iterators - -\f$ \quad\f$ (for nonnegative quadratic programs, wrapping given iterators) - -\ref ::CGAL::Nonnegative_linear_program_from_iterators - -\f$ \quad\f$ (for nonnegative linear programs, wrapping given iterators) - -HEADING:Functions --------------- - -In case you want to construct a program from complicated iterators -(whose types you don't know, or simply don't want to bother with), -we provide four makers. - -\ref ::CGAL::make_quadratic_program_from_iterators - -\ref ::CGAL::make_linear_program_from_iterators - -\ref ::CGAL::make_nonnegative_quadratic_program_from_iterators - -\ref ::CGAL::make_nonnegative_linear_program_from_iterators - -There are four functions to solve a program, one for each program -concept. - -\ref ::CGAL::solve_quadratic_program - -\ref ::CGAL::solve_linear_program - -\ref ::CGAL::solve_nonnegative_quadratic_program - -\ref ::CGAL::solve_nonnegative_linear_program - -The solution process can customized by passing an object of the class - -\ref ::Quadratic_program_options - -Programs can be written to an output stream in `MPSFormat`, using -one of the following four functions. - -\ref ::CGAL::print_quadratic_program - -\ref ::CGAL::print_linear_program - -\ref ::CGAL::print_nonnegative_quadratic_program - -\ref ::CGAL::print_nonnegative_linear_program - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/QP_solver/doc/QP_solver/QP_solver.txt b/QP_solver/doc/QP_solver/QP_solver.txt index fb69310e43d..b6d7c33b408 100644 --- a/QP_solver/doc/QP_solver/QP_solver.txt +++ b/QP_solver/doc/QP_solver/QP_solver.txt @@ -346,7 +346,7 @@ model `Quadratic_program`, we can easily set the default bounds so that a nonnegative program results, and a linear program is obtained by simply not inserting any \f$ D\f$-entries. Even in the iterator-based approach (see -\ref first_qp_from_iterators.cpp), linear +\ref QP_solver/first_qp_from_iterators.cpp), linear and nonnegative programs can easily be defined through suitable `Const_oneset_iterator`-style iterators. @@ -411,11 +411,11 @@ Here is \cgal code for solving it, using the dedicated LP solver, and according to the three ways for constructing a program that we have already discussed in Section \ref secQPfirst. -\ref first_lp.cpp +\ref QP_solver/first_lp.cpp -\ref first_lp_from_mps.cpp +\ref QP_solver/first_lp_from_mps.cpp -\ref first_lp_from_iterators.cpp +\ref QP_solver/first_lp_from_iterators.cpp In all cases, the output is \verbatim @@ -459,11 +459,11 @@ variable values: 1: 3/1 \endverbatim -\ref first_nonnegative_qp.cpp +\ref QP_solver/first_nonnegative_qp.cpp -\ref first_nonnegative_qp_from_mps.cpp +\ref QP_solver/first_nonnegative_qp_from_mps.cpp -\ref first_nonnegative_qp_from_iterators.cpp +\ref QP_solver/first_nonnegative_qp_from_iterators.cpp ## The Nonnegative Linear Programming Solver ## @@ -485,11 +485,11 @@ a "minimal" input and a "shortest" program; the optimal value is This can be solved by any of the following three programs -\ref first_nonnegative_lp.cpp +\ref QP_solver/first_nonnegative_lp.cpp -\ref first_nonnegative_lp_from_mps.cpp +\ref QP_solver/first_nonnegative_lp_from_mps.cpp -\ref first_nonnegative_lp_from_iterators.cpp +\ref QP_solver/first_nonnegative_lp_from_iterators.cpp The output will always be \verbatim @@ -569,7 +569,7 @@ You can avoid the explicit construction of the type if you only need an expression of it, e.g. to pass it directly as an argument to the solving function. Here is an alternative version of -\ref solve_convex_hull_containment_lp.h +\ref QP_solver/solve_convex_hull_containment_lp.h that shows how this works. In effect, you get shorter and more readable code. @@ -609,7 +609,7 @@ such a situation is called a degeneracy. There is also the concept of an important constraint: this is typically a constraint in the system \f$ A\qpx\qprel\qpb\f$ that is satisfied with equality at \f$ \qpx^*\f$. Program -\ref first_qp_basic_constraints.cpp +\ref QP_solver/first_qp_basic_constraints.cpp shows how these can be accessed, using the iterators `basic_constraint_indices_begin()` and `basic_constraint_indices_end()`. @@ -666,8 +666,8 @@ Lemma. There are similar certificates for optimality and unboundedness that you can see in action in the programs -\ref optimality_certificate.cpp and -\ref unboundedness_certificate.cpp. +\ref QP_solver/optimality_certificate.cpp and +\ref QP_solver/unboundedness_certificate.cpp. The underlying variants of Farkas Lemma are somewhat more complicated, due to the mixed relations in \f$ \qprel\f$ and the general bounds. The certificate section of `Quadratic_program_solution` @@ -701,7 +701,7 @@ magnitude, the filtering will usually have no dramatic effect on the performance, so in that case you might as well switch to `CGAL::QP_PARTIAL_DANTZIG` to be safe from the issue described here (see -\ref cycling.cpp +\ref QP_solver/cycling.cpp for an example that shows how to change the pricing strategy). \subsection secQPcustomizationcycling The Solver Internally Cycles diff --git a/STL_Extension/doc/STL_Extension/STL_Extension.txt b/STL_Extension/doc/STL_Extension/STL_Extension.txt index 5503dea449a..d8cad19a46d 100644 --- a/STL_Extension/doc/STL_Extension/STL_Extension.txt +++ b/STL_Extension/doc/STL_Extension/STL_Extension.txt @@ -18,7 +18,7 @@ uses three-valued comparisons and offers additional functionality, generic algorithms, iterators, functor adaptors for binding and swapping arguments and for composition, functors for projection and creation and adaptor classes around iterators and circulators. See also circulators in -Chapter \ref chapterCirculators. A class storing polymorphic objects +Chapter \ref Chapter_Handles_Ranges_and_Circulators. A class storing polymorphic objects is also provided, as well as a class to manage the uncertainty of some values. Finally, tags and policy classes to specify complexity trade-offs of data-structures, and a class which helps specifying that the default types in template @@ -157,7 +157,7 @@ for backward compatibility. Those are documented for completeness and implementers. They are not intended to be used by users of the library. -\section secchecks Checks +# Checks # {#secchecks} Much of the \cgal code contains checks. For example, all checks used in the kernel code are prefixed by diff --git a/Spatial_searching/doc/Spatial_searching/Spatial_searching.txt b/Spatial_searching/doc/Spatial_searching/Spatial_searching.txt index ffa1665bf51..706b3f7e494 100644 --- a/Spatial_searching/doc/Spatial_searching/Spatial_searching.txt +++ b/Spatial_searching/doc/Spatial_searching/Spatial_searching.txt @@ -8,7 +8,7 @@ namespace CGAL { \autotoc \authors Hans Tangelder and Andreas Fabri -# Introduction # {#Spatial_searching}Introduction} +# Introduction # {#Spatial_searchingIntroduction} The spatial searching package implements exact and approximate distance browsing by providing implementations of algorithms diff --git a/Spatial_searching/doc/Spatial_searching/examples.txt b/Spatial_searching/doc/Spatial_searching/examples.txt index 163607f6ae6..cbec52607f4 100644 --- a/Spatial_searching/doc/Spatial_searching/examples.txt +++ b/Spatial_searching/doc/Spatial_searching/examples.txt @@ -1,4 +1,6 @@ /*! +\example Spatial_searching/Point.h +\example Spatial_searching/Distance.h \example Spatial_searching/circular_query.cpp \example Spatial_searching/distance_browsing.cpp \example Spatial_searching/fuzzy_range_query.cpp diff --git a/Spatial_sorting/doc/Spatial_sorting/examples.txt b/Spatial_sorting/doc/Spatial_sorting/examples.txt new file mode 100644 index 00000000000..271dd8359cb --- /dev/null +++ b/Spatial_sorting/doc/Spatial_sorting/examples.txt @@ -0,0 +1,9 @@ +/*! +\example Spatial_sorting/hilbert.cpp +\example Spatial_sorting/hilbert_policies.cpp +\example Spatial_sorting/small_example_delaunay_2.cpp +\example Spatial_sorting/myPoint.cpp +\example Spatial_sorting/sp_sort_using_property_map_2.cpp +\example Spatial_sorting/sp_sort_using_property_map_3.cpp +\example Spatial_sorting/sp_sort_using_property_map_d.cpp +*/ diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_2.h b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_2.h index 66ef0400508..2604ab411e8 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_2.h +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/CGAL/Straight_skeleton_2.h @@ -7,7 +7,11 @@ The class `Straight_skeleton_2` provides a model for the `StraightSkeleton_2` concept which is the class type used to represent a straight skeleton. -It inherits from `HalfedgeDS_vector` +The only purpose of this class is to protect all the modifying +operations in a `HalfedgeDS`. Normal users should not modify a +straight skeleton. If an advanced user needs to get access to the +modifying operations, it must call the required methods through the +`Base` class. \models ::StraightSkeleton_2 \models ::DefaultConstructible @@ -17,15 +21,11 @@ It inherits from `HalfedgeDS_vector` \sa `StraightSkeletonVertex_2` \sa `StraightSkeletonHalfedge_2` \sa `StraightSkeleton_2` -\sa The only purpose of this class is to protect all the modifying -operations in a `HalfedgeDS`. Normal users should not modify a -straight skeleton. If an advanced user needs to get access to the -modifying operations, it must call the required methods through the -`::Base` class. + */ template< typename Traits, typename Items, typename Alloc > -class Straight_skeleton_2 { +class Straight_skeleton_2 : public HalfedgeDS_vector { public: /// @} diff --git a/Straight_skeleton_2/doc/Straight_skeleton_2/Straight_skeleton_2.txt b/Straight_skeleton_2/doc/Straight_skeleton_2/Straight_skeleton_2.txt index 63b97f8b2d7..b35194758b5 100644 --- a/Straight_skeleton_2/doc/Straight_skeleton_2/Straight_skeleton_2.txt +++ b/Straight_skeleton_2/doc/Straight_skeleton_2/Straight_skeleton_2.txt @@ -39,11 +39,9 @@ The orientation of a polygon with holes is the orientation of its outer contour. Throughout the rest of this chapter the term polygon will be used as a shortcut for polygon with holes. \anchor Validpolygons -\image latex Straight_skeleton_2/valid_polygons "Examples of strictly simple polygons: One with no holes and two edges coincident (left) and one with 2 holes (right)." \image html valid_polygons.png "Examples of strictly simple polygons: One with no holes and two edges coincident (left) and one with 2 holes (right)." \anchor Invalidpolygons -\image latex Straight_skeleton_2/invalid_polygons "Examples of non-simple polygons: One folding into itself, that is, non-planar (left), one with a vertex touching an edge (right), and one with a hole crossing into the outside (bottom)" \image html invalid_polygons.png "Examples of non-simple polygons: One folding into itself, that is, non-planar (left), one with a vertex touching an edge (middle), and one with a hole crossing into the outside (right)" ## Inward Offset of a Non-degenerate Strictly-Simple Polygon with Holes ## @@ -59,8 +57,6 @@ If the source polygon has no holes, no offset polygon has holes. If the source p Each offset polygon has the same orientation as the source polygon. \anchor Offsets -\image latex complex_offset "Offset contours of a sample polygon" -\image latex complex_offset.png "Offset contours of a sample polygon" ## Straight Skeleton of a 2D Non-degenerate Strictly-Simple Polygon with Holes ## @@ -69,13 +65,9 @@ The 2D straight skeleton of a non-degenerate strictly-simple polygon with These regions are bounded by angular bisectors of the supporting lines of the contour edges and each such region is itself a non-convex non-degenerate strictly-simple polygon. \anchor ComplexSLS -\image latex complex_skeleton "Straight skeleton of a complex shaggy contour" \image html complex_skeleton.png "Straight skeleton of a complex shaggy contour" \anchor MoreSLS -\image latex simple_skeleton_0 -\image latex simple_skeleton_1 -\image latex validly_touching \image html simple_skeleton_0.png "Other examples: A vertex-event (left), the case of several collinear edges (middle), and the case of a validly simple polygon with tangent edges (right)." ## Angular Bisecting Lines and Offset Bisectors ## @@ -246,7 +238,6 @@ Contour vertices have time zero. \anchor Simplepolyoffsets -\image latex fig6 "Straight Skeleton Data Structure" width=12cm \image html fig6.png "Straight Skeleton Data Structure" width=12cm # API # {#Straight_skeleton_2API} @@ -425,8 +416,6 @@ If you use this function to place the outer frame you are guaranteed to obtain a \anchor Exterior -\image latex exterior_skeleton -\image latex exterior_offset \image html exterior_skeleton.png \image html exterior_offset.png diff --git a/Stream_lines_2/doc/Stream_lines_2/examples.txt b/Stream_lines_2/doc/Stream_lines_2/examples.txt new file mode 100644 index 00000000000..f598a45c2c0 --- /dev/null +++ b/Stream_lines_2/doc/Stream_lines_2/examples.txt @@ -0,0 +1,4 @@ +/*! +\example Stream_lines_2/stl_regular_field.cpp +\example Stream_lines_2/stl_triangular_field.cpp +*/ diff --git a/Stream_support/doc/IOstream/CGAL/IO/io.h b/Stream_support/doc/IOstream/CGAL/IO/io.h index 69bb77ac754..4028946cb81 100644 --- a/Stream_support/doc/IOstream/CGAL/IO/io.h +++ b/Stream_support/doc/IOstream/CGAL/IO/io.h @@ -221,7 +221,7 @@ template Output_rep oformat( const T& t); /*! \ingroup PkgIOstreams -The definition of the function \ccc{iformat} is completely symmetric to `oformat`. +The definition of the function `iformat` is completely symmetric to `oformat`. */ template Input_rep iformat( const T& t); diff --git a/Subdivision_method_3/doc/Subdivision_method_3/CGAL/Subdivision_mask_3.h b/Subdivision_method_3/doc/Subdivision_method_3/CGAL/Subdivision_mask_3.h index 1c39614b4f7..5d1530aceca 100644 --- a/Subdivision_method_3/doc/Subdivision_method_3/CGAL/Subdivision_mask_3.h +++ b/Subdivision_method_3/doc/Subdivision_method_3/CGAL/Subdivision_mask_3.h @@ -16,7 +16,7 @@ instantiated with a %Cartesian kernel, which defines the `Point_3` for the vert \image html CCBorderMask.png -\models ::PQQMask +\models ::PQQMask_3 \sa `CGAL::Subdivision_method_3` @@ -89,7 +89,7 @@ instantiated with a %Cartesian kernel, which defines the `Point_3` for the vert \image html DSCornerMask.png -\models ::DQQMask +\models ::DQQMask_3 \sa `CGAL::Subdivision_method_3` @@ -141,7 +141,7 @@ instantiated with a %Cartesian kernel, which defines the `Point_3` for the vert \image html LoopBorderMask.png -\models ::PTQMask +\models ::PTQMask_3 \sa `CGAL::Subdivision_method_3` @@ -206,7 +206,7 @@ the computation on the nodes of the stencil. \tparam Polyhedron_3 must be a `CGAL::Polyhedron_3` instantiated with a %Cartesian kernel, which defines the `Point_3` for the vertices. -\models ::Sqrt3Mask +\models ::Sqrt3Mask_3 \sa `CGAL::Subdivision_method_3` diff --git a/Subdivision_method_3/doc/Subdivision_method_3/examples.txt b/Subdivision_method_3/doc/Subdivision_method_3/examples.txt new file mode 100644 index 00000000000..22bcfff9169 --- /dev/null +++ b/Subdivision_method_3/doc/Subdivision_method_3/examples.txt @@ -0,0 +1,5 @@ +/*! +\example Subdivision_method_3/CatmullClark_subdivision.cpp +\example Subdivision_method_3/DooSabin_subdivision.cpp +\example Subdivision_method_3/Customized_subdivision.cpp +*/ diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Surface_mesh_simplification.txt b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Surface_mesh_simplification.txt index 6f87adf7e74..59d4df4a7f9 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Surface_mesh_simplification.txt +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Surface_mesh_simplification.txt @@ -3,7 +3,7 @@ namespace CGAL { \mainpage Triangulated Surface Mesh Simplification \anchor Chapter_Triangulated_Surface_Mesh_Simplification -\anchor chaptermeshsimplification + \autotoc \authors Fernando Cacciola @@ -34,7 +34,7 @@ is a model of that concept can be simplified. The concept is defined not in term of functions and traits, making it easy to adapt any concrete surface type, even if it is not a halfedge data structure at all. In particular, the concept definition follows the design of the -
    Boost Graph Library (Bgl) + Boost Graph Library (Bgl) \cite cgal:sll-bgl-02. The design is policy-based diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/examples.txt b/Surface_mesh_simplification/doc/Surface_mesh_simplification/examples.txt new file mode 100644 index 00000000000..555a93b051c --- /dev/null +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/examples.txt @@ -0,0 +1,5 @@ +/*! +\example Surface_mesh_simplification/edge_collapse_polyhedron.cpp +\example Surface_mesh_simplification/edge_collapse_enriched_polyhedron.cpp +\example Surface_mesh_simplification/edge_collapse_constrained_polyhedron.cpp +*/ diff --git a/Surface_reconstruction_points_3/doc/Surface_reconstruction_points_3/Surface_reconstruction_points_3.txt b/Surface_reconstruction_points_3/doc/Surface_reconstruction_points_3/Surface_reconstruction_points_3.txt index 6713a82594a..20d1e3039bc 100644 --- a/Surface_reconstruction_points_3/doc/Surface_reconstruction_points_3/Surface_reconstruction_points_3.txt +++ b/Surface_reconstruction_points_3/doc/Surface_reconstruction_points_3/Surface_reconstruction_points_3.txt @@ -3,7 +3,6 @@ namespace CGAL { \mainpage Surface Reconstruction from Point Sets \anchor Chapter_Surface_Reconstruction_from_Point_Sets -\anchor chapsurface_reconstruction_points_3 \authors Pierre Alliez, Laurent Saboret, Gaël Guennebaud diff --git a/Triangulation_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h b/Triangulation_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h index 49e443f293d..d8507b9a157 100644 --- a/Triangulation_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h +++ b/Triangulation_2/doc/TDS_2/Concepts/TriangulationDSFaceBase_2.h @@ -12,8 +12,8 @@ the face base class may have additional geometric requirements depending on the triangulation class. At the base level, -(see Sections \ref Section_2D_Triangulations_Software_Design -and \ref 2D_TDS_default), +(see Sections \ref Section_2D_Triangulations_Software_Design +and \ref 2D_TDS_default ), a face stores handles on its three vertices and on the three neighboring faces. The vertices and neighbors are indexed 0,1 and 2. @@ -39,7 +39,7 @@ as parameter in the face and vertex base classes. This mechanism requires that the base class provides a templated nested class `Rebind_TDS` that itself provides -the subtype `Rebind_TDS::Other` +the subtype `Rebind_TDS::Other` which is the rebound version of the base class. This rebound base class is the class that the `CGAL::Triangulation_data_structure_2` diff --git a/Triangulation_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h b/Triangulation_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h index c55f9c10894..3cafa17084c 100644 --- a/Triangulation_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h +++ b/Triangulation_2/doc/TDS_2/Concepts/TriangulationDSVertexBase_2.h @@ -35,7 +35,7 @@ as parameter in the face and vertex base classes. This mechanism requires that the base class provides a templated nested class `Rebind_TDS` that itself provides -the subtype `Rebind_TDS::Other` +the subtype `Rebind_TDS::Other` which is the rebound version of the base class. This rebound base class is the class that the `CGAL::Triangulation_data_structure_2` diff --git a/Triangulation_2/doc/TDS_2/PackageDescription.txt b/Triangulation_2/doc/TDS_2/PackageDescription.txt index abb55cf3311..ecb845766cc 100644 --- a/Triangulation_2/doc/TDS_2/PackageDescription.txt +++ b/Triangulation_2/doc/TDS_2/PackageDescription.txt @@ -29,7 +29,7 @@ Chapter \ref Chapter_2D_Triangulations, the model `CGAL::Triangulation_data_structure_2` has two template parameters. The class `CGAL::Triangulation_data_structure_2` derives its `Vertex` and `Face` types from the two template parameters -\t %Vb and \t %Fb respectively. +\c %Vb and \c %Fb respectively. If the triangulation data structure is used alone, these parameters have to be instantiated by models of the concepts @@ -41,7 +41,7 @@ models `CGAL::Triangulation_ds_face_base_2` and If the triangulation data structure is plugged into a triangulation class, the parameters have to be instantiated by models of different refining concepts according to the actual type of the triangulation. -These refining concepts and their models are described in Chapter \ref -ref_chapter_2D_Triangulations. +These refining concepts and their models are described in Chapter +\ref Chapter_2D_Triangulations */ diff --git a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_euclidean_traits_xy_3.h b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_euclidean_traits_xy_3.h index 081b5f1641d..0f6a11e7803 100644 --- a/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_euclidean_traits_xy_3.h +++ b/Triangulation_2/doc/Triangulation_2/CGAL/Triangulation_euclidean_traits_xy_3.h @@ -40,8 +40,8 @@ and predicates defined in `K`. `Triangulation_euclidean_traits_xz_3` to deal with projections on the `xz`- or the `yz`-plane, respectively. -\sa \ref CGAL/Triangulation_euclidean_traits_xz_3.h -\sa \ref CGAL/Triangulation_euclidean_traits_yz_3.h +\sa `CGAL/Triangulation_euclidean_traits_xz_3.h` +\sa `CGAL/Triangulation_euclidean_traits_yz_3.h` */ template< typename K > diff --git a/Triangulation_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h b/Triangulation_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h index 078ed993bb1..9f698768650 100644 --- a/Triangulation_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h +++ b/Triangulation_3/doc/TDS_3/CGAL/Triangulation_data_structure_3.h @@ -18,8 +18,7 @@ additional template parameters. It is parameterized by base classes for vertices and cells which have to match the requirements for the concepts `TriangulationDSCellBase_3` and -`TriangulationDSVertexBase_3` respectively -. +`TriangulationDSVertexBase_3` respectively. They have the default values `Triangulation_ds_vertex_base_3<>` and `Triangulation_ds_cell_base_3<>` respectively. diff --git a/Triangulation_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h b/Triangulation_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h index a46b13ee0d7..8338316c7ce 100644 --- a/Triangulation_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h +++ b/Triangulation_3/doc/TDS_3/Concepts/TriangulationDataStructure_3.h @@ -115,8 +115,7 @@ public: /// @{ /*! -Optional for the triangulation data -structure alone. +Optional for the triangulation data structure alone. */ typedef Hidden_type Point; @@ -645,7 +644,7 @@ bool are_equal(const Facet & f, Cell_handle n, int j) const; Two kinds of flips exist for a three-dimensional triangulation. They are reciprocal. To be flipped, an edge must be incident to three tetrahedra. During the flip, these three tetrahedra disappear and two -tetrahedra appear. Figure \ref TDS3figflips(left) shows the edge that +tetrahedra appear. Figure \ref TDS3figflips (left) shows the edge that is flipped as bold dashed, and one of its three incident facets is shaded. On the right, the facet shared by the two new tetrahedra is shaded. diff --git a/Triangulation_3/doc/TDS_3/TriangulationDS_3.txt b/Triangulation_3/doc/TDS_3/TriangulationDS_3.txt index 4c96504bde8..c3c100d3718 100644 --- a/Triangulation_3/doc/TDS_3/TriangulationDS_3.txt +++ b/Triangulation_3/doc/TDS_3/TriangulationDS_3.txt @@ -216,8 +216,7 @@ of a user provided type, and give access to it. the geometric versions typically used by the geometric layer, `Triangulation_vertex_base_3`, and `Triangulation_cell_base_3`).
  • write his own base classes following the requirements given by the -concepts `TriangulationCellBase_3` and `TriangulationVertexBase_3` -. +concepts `TriangulationCellBase_3` and `TriangulationVertexBase_3`. \subsection tds3cyclic Cyclic Dependency @@ -303,14 +302,14 @@ typedef Triangulation_vertex_base_3 Other; The following example shows how to construct a 3D triangulation data structure by inserting vertices. -\cgalexample{TDS_3/tds.cpp} +\cgalexample{Triangulation_3/tds.cpp} ## Cross-Linking Between a 2D and a 3D Data Structures ## This example program illustrates how to setup a 2D and a 3D triangulation data structures whose vertices respectively store vertex handles of the other one. -\cgalexample{TDS_3/linking_2d_and_3d.cpp} +\cgalexample{Triangulation_3/linking_2d_and_3d.cpp} # Design and Implementation History # {#TDS_3Design} diff --git a/Triangulation_3/doc/TDS_3/examples.txt b/Triangulation_3/doc/TDS_3/examples.txt new file mode 100644 index 00000000000..8a8c3a26027 --- /dev/null +++ b/Triangulation_3/doc/TDS_3/examples.txt @@ -0,0 +1,4 @@ +/*! +\example Triangulation_3/tds.cpp +\example Triangulation_3/linking_2d_and_3d.cpp +*/ diff --git a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h index ac12cc6c8e1..d18a34fd251 100644 --- a/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h +++ b/Triangulation_3/doc/Triangulation_3/CGAL/Regular_triangulation_3.h @@ -210,6 +210,7 @@ void remove(Vertex_handle v); /*! \name Queries Let us remark that \f$ \Pi({p}^{(w)}-{z}^{(w)}) > 0 \f$ is equivalent to `p` lies outside the sphere with center `z` and radius \f$ \sqrt{w_p^2+w_z^2}\f$. This remark helps provide an intuition about the following predicates. +\anchor Triangulation3figsidedim2 \image html sidedim2.gif side_of_power_circle */ diff --git a/Triangulation_3/doc/Triangulation_3/Triangulation_3.txt b/Triangulation_3/doc/Triangulation_3/Triangulation_3.txt index 04a34aca8f2..1903d9d14ec 100644 --- a/Triangulation_3/doc/Triangulation_3/Triangulation_3.txt +++ b/Triangulation_3/doc/Triangulation_3/Triangulation_3.txt @@ -348,6 +348,7 @@ Figure \ref T3figlayers shows in more detail the flexibility that is provided, and the place where the user can insert his own vertex and/or cell base classes. +\anchor T3figlayers \image html design.gif "Triangulation software design." The design of the triangulation data structure gives the possibility to store @@ -905,7 +906,7 @@ also be found in \cite cgal:dp-eegpd-03. 3.8 -$ \infty $-loop +\f$ \infty \f$-loop
    diff --git a/Triangulation_3/doc/Triangulation_3/examples.txt b/Triangulation_3/doc/Triangulation_3/examples.txt new file mode 100644 index 00000000000..e3078b497c7 --- /dev/null +++ b/Triangulation_3/doc/Triangulation_3/examples.txt @@ -0,0 +1,12 @@ +/*! +\example Triangulation_3/simple_triangulation_3.cpp +\example Triangulation_3/color.cpp +\example Triangulation_3/adding_handles_3.cpp +\example Triangulation_3/info_insert_with_pair_iterator.cpp +\example Triangulation_3/info_insert_with_zip_iterator.cpp +\example Triangulation_3/info_insert_with_transform_iterator.cpp +\example Triangulation_3/simplex.cpp +\example Triangulation_3/fast_location_3.cpp +\example Triangulation_3/find_conflicts_3.cpp +\example Triangulation_3/regular_3.cpp +*/