Merge branch 'master' into gsoc2025-aos_demo-shepard

This commit is contained in:
Efi Fogel 2025-05-28 14:24:24 +03:00
commit 559833c00b
187 changed files with 619 additions and 269 deletions

View File

@ -1,4 +1,4 @@
/// \defgroup PkgAABBTreeRef AABB Tree Reference
/// \defgroup PkgAABBTreeRef Reference Manual
/// \defgroup PkgAABBTreeConcepts Concepts
/// \ingroup PkgAABBTreeRef

View File

@ -49,7 +49,7 @@ We describe next the algorithm and provide examples.
\note A \ref tuto_reconstruction "detailed tutorial on surface reconstruction"
is provided with a guide to choose the most appropriate method along
with pre- and post-processing.
with pre- and postprocessing.
\section AFSR_Definitions Definitions and the Algorithm

View File

@ -1,4 +1,4 @@
/// \defgroup PkgAdvancingFrontSurfaceReconstructionRef Advancing Front Surface Reconstruction Reference
/// \defgroup PkgAdvancingFrontSurfaceReconstructionRef Reference Manual
/// \defgroup PkgAdvancingFrontSurfaceReconstructionRefConcepts Concepts
/// \ingroup PkgAdvancingFrontSurfaceReconstructionRef

View File

@ -382,7 +382,7 @@ namespace CGAL {
int _facet_number;
//---------------------------------------------------------------------
// For post-processing
// For postprocessing
mutable int _postprocessing_counter;
int _size_before_postprocessing;
@ -2432,7 +2432,7 @@ namespace CGAL {
std::size_t itmp, L_v_size_mem;
L_v_size_mem = L_v.size();
if ((vh_on_border_inserted != 0)&& // to post-process only the borders
if ((vh_on_border_inserted != 0)&& // to postprocess only the borders
(L_v.size() < .1 * _size_before_postprocessing))
{
{

View File

@ -80,8 +80,8 @@ using overloaded functions. However, for ease of use and backward
compatibility all functionality is also
accessible through global functions defined within namespace `CGAL`,
e.g., \link sqrt `CGAL::sqrt(x)` \endlink. This is realized via function templates using
the according functor of the traits class. For an overview see
Section \ref PkgAlgebraicFoundationsRef in the reference manual.
the according functor of the traits class. For an overview see the section "Global Functions" in the
\ref PkgAlgebraicFoundationsRef.
\subsection Algebraic_foundationsTagsinAlgebraicStructure Tags in Algebraic Structure Traits

View File

@ -1,4 +1,4 @@
/// \defgroup PkgAlgebraicFoundationsRef Algebraic Foundations Reference
/// \defgroup PkgAlgebraicFoundationsRef Reference Manual
/// \defgroup PkgAlgebraicFoundationsAlgebraicStructuresConcepts Concepts
/// \ingroup PkgAlgebraicFoundationsRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgAlgebraicKernelDRef Algebraic Kernel Reference
/// \defgroup PkgAlgebraicKernelDRef Reference Manual
/// \defgroup PkgAlgebraicKernelDConcepts Concepts
/// \ingroup PkgAlgebraicKernelDRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgAlphaShapes2Ref 2D Alpha Shapes Reference
/// \defgroup PkgAlphaShapes2Ref Reference Manual
/// \defgroup PkgAlphaShapes2Concepts Concepts
/// \ingroup PkgAlphaShapes2Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgAlphaShapes3Ref 3D Alpha Shapes Reference
/// \defgroup PkgAlphaShapes3Ref Reference Manual
/// \defgroup PkgAlphaShapes3Concepts Concepts
/// \ingroup PkgAlphaShapes3Ref
/*!

View File

@ -1,4 +1,4 @@
/// \defgroup PkgAlphaWrap3Ref 3D Alpha Wrapping
/// \defgroup PkgAlphaWrap3Ref Reference Manual
/// \defgroup AW3_free_functions_grp Free Functions
/// Functions to create a wrap from point clouds, triangle soups, and triangle meshes.

View File

@ -348,7 +348,7 @@ public:
#ifdef CGAL_AW3_TIMER
t.stop();
std::cout << "Manifoldness post-processing took: " << t.time() << " s." << std::endl;
std::cout << "Manifoldness postprocessing took: " << t.time() << " s." << std::endl;
t.reset();
t.start();
#endif

View File

@ -1,4 +1,4 @@
/// \defgroup PkgApolloniusGraph2Ref 2D Apollonius Graphs (Delaunay Graphs of Disks) Reference
/// \defgroup PkgApolloniusGraph2Ref Reference Manual
/// \defgroup PkgApolloniusGraph2Concepts Concepts
/// \ingroup PkgApolloniusGraph2Ref
/*!

View File

@ -4196,7 +4196,7 @@ are both parameterized by a geometric kernel and model the concepts
`AosTraits_2` and `AosLandmarkTraits_2`.
\cgalFootnote{They also model the refined concept
\cgalFootnoteCode{AosDirectionalXMonotoneTraits_2}, which enables Boolean set
operations; see Package \ref PkgBooleanSetOperations2Ref.} The class
operations; see Package \ref PkgBooleanSetOperations2.} The class
template `Arr_non_caching_segment_traits_2<Kernel>` derives from the
instance `Arr_non_caching_segment_basic_traits_2<Kernel>`, which
models the `AosLandmarkTraits_2` traits concept but not the
@ -4937,7 +4937,7 @@ template models the concepts `AosTraits_2` and
`AosOpenBoundaryTraits_2`, but it does not model the
`AosLandmarkTraits_2` concept. It also models the refined
concept `AosDirectionalXMonotoneTraits_2`, which enables
Boolean set operations; see Package \ref PkgBooleanSetOperations2Ref.
Boolean set operations; see Package \ref PkgBooleanSetOperations2.
Note that it is not a model of `AosLandmarkTraits_2` concept,
so it is impossible to use the landmark point-location strategy with
this traits class.
@ -5167,7 +5167,7 @@ Every instance of the `Arr_Bezier_curve_traits_2` class templates
models the concept `AosTraits_2` (but it does not model the
`AosLandmarkTraits_2` concept). It also models the refined
concept `AosDirectionalXMonotoneTraits_2`, which enables
Boolean set operations; see Package \ref PkgBooleanSetOperations2Ref.
Boolean set operations; see Package \ref PkgBooleanSetOperations2.
<!-- ----------------------------------------------------------------------- -->
\cgalFigureBegin{aos_fig-bezier_curves,bezier_curves.png}

View File

@ -1,4 +1,4 @@
/// \defgroup PkgArrangementOnSurface2Ref 2D Arrangement Reference
/// \defgroup PkgArrangementOnSurface2Ref Reference Manual
/// \defgroup PkgArrangementOnSurface2Concepts Concepts
/// \ingroup PkgArrangementOnSurface2Ref

View File

@ -698,7 +698,7 @@ using one of the following tags:
- `CGAL::Alpha_expansion_boost_adjacency_list_tag` (default)
- `CGAL::Alpha_expansion_boost_compressed_sparse_raw_tag`
- `CGAL::Alpha_expansion_MaxFlow_tag`, released under GPL
license and provided by the \ref PkgSurfaceMeshSegmentationRef
license and provided by the \ref PkgSurfaceMeshSegmentation
package
All these implementations produce the exact same result but behave

View File

@ -1,4 +1,4 @@
/// \defgroup PkgBGLRef CGAL and the Boost Graph Library Reference
/// \defgroup PkgBGLRef Reference Manual
/*! \defgroup PkgBGLConcepts Concepts
\ingroup PkgBGLRef

View File

@ -509,7 +509,8 @@ class Alpha_expansion_MaxFlow_impl;
\cgalParamNEnd
\cgalNamedParamsEnd
\note The `MaxFlow` implementation is provided by the \ref PkgSurfaceMeshSegmentationRef
\note The `MaxFlow` implementation is provided by the \ref PkgSurfaceMeshSegmentation package
under GPL license. The header `<CGAL/boost/graph/Alpha_expansion_MaxFlow_tag.h>`
must be included if users want to use this implementation.
*/

View File

@ -53,7 +53,7 @@ All analytic barycentric coordinates for polygons can be computed either by inst
or through one of the free functions. Harmonic coordinates can be computed only by
instantiating a class that must be parameterized by a model of the concept `DiscretizedDomain_2`.
Segment and triangle coordinates can be computed only through the free functions.
For more information see the \ref PkgBarycentricCoordinates2Ref "Reference Manual".
For more information see the \ref PkgBarycentricCoordinates2Ref.
Any point in the plane may be taken as a query point. However, we do not recommend using
Wachspress and discrete harmonic coordinates with query points outside the closure

View File

@ -1,8 +1,5 @@
namespace CGAL {
namespace Barycentric_coordinates {
/*!
\defgroup PkgBarycentricCoordinates2Ref 2D Generalized Barycentric Coordinates Reference
\defgroup PkgBarycentricCoordinates2Ref Reference Manual
\defgroup PkgBarycentricCoordinates2RefConcepts Concepts
\ingroup PkgBarycentricCoordinates2Ref
@ -77,6 +74,3 @@ coordinates from the Package \ref PkgInterpolation2.}
- `discrete_harmonic_coordinates_2()`
- `boundary_coordinates_2()`
*/
} /* namespace Barycentric_coordinates */
} /* namespace CGAL */

View File

@ -1,4 +1,4 @@
/// \defgroup PkgBasicViewerRef Basic Viewer Reference
/// \defgroup PkgBasicViewerRef Reference Manual
/// \defgroup PkgBasicViewerConcepts Concepts
/// \ingroup PkgBasicViewerRef

View File

@ -116,7 +116,7 @@ In our context, a polygon must uphold the following conditions:
<OL>
<LI><I>Closed Boundary</I> - the polygon's outer boundary must be a connected sequence of curves, that start and end at the same vertex.
<LI><I>Simplicity</I> - the polygon must be simple.
<LI><I>Orientation</I> - the polygon's outer boundary must be <I>counter-clockwise oriented</I>.
<LI><I>Orientation</I> - the polygon's outer boundary must be <I>counterclockwise oriented</I>.
</OL>
\subsection bso_ssecpolygon_with_holes_validation Conditions for Valid Polygons with Holes

View File

@ -1,4 +1,4 @@
/// \defgroup PkgBooleanSetOperations2Ref 2D Regularized Boolean Set-Operations Reference
/// \defgroup PkgBooleanSetOperations2Ref Reference Manual
/// \defgroup PkgBooleanSetOperations2Concepts Concepts
/// \ingroup PkgBooleanSetOperations2Ref

View File

@ -52,7 +52,7 @@ public:
return (ic % 2) == 1;
}
//! after_scan post-processing after bfs scan.
//! after_scan postprocessing after bfs scan.
/*! The function fixes some of the curves, to be in the same direction as the
half-edges.

View File

@ -1,4 +1,4 @@
/// \defgroup PkgBoundingVolumesRef Bounding Volumes Reference
/// \defgroup PkgBoundingVolumesRef Reference Manual
/// \defgroup PkgBoundingVolumesConcepts Concepts
/// \ingroup PkgBoundingVolumesRef
/*!

View File

@ -1,4 +1,4 @@
/// \defgroup PkgBoxIntersectionDRef Intersecting Sequences of dD Iso-oriented Boxes Reference
/// \defgroup PkgBoxIntersectionDRef Reference Manual
/// \defgroup PkgBoxIntersectionDConcepts Concepts
/// \ingroup PkgBoxIntersectionDRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgCGALIpeletsRef CGAL Ipelets Reference
/// \defgroup PkgCGALIpeletsRef Reference Manual
/*!
\addtogroup PkgCGALIpeletsRef
\cgalPkgDescriptionBegin{CGAL Ipelets,PkgCGALIpelets}

View File

@ -1,4 +1,4 @@
/// \defgroup PkgCircularKernel2Ref 2D Circular Geometry Kernel Reference
/// \defgroup PkgCircularKernel2Ref Reference Manual
/// \defgroup PkgCircularKernel2GeometricConcepts Geometric Concepts
/// \ingroup PkgCircularKernel2Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgCircularKernel3Ref 3D Spherical Geometry Kernel Reference
/// \defgroup PkgCircularKernel3Ref Reference Manual
/// \defgroup PkgCircularKernel3GeometricConcepts Geometric Concepts
/// \ingroup PkgCircularKernel3Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgHandlesAndCirculatorsRef Handles and Circulators Reference
/// \defgroup PkgHandlesAndCirculatorsRef Reference Manual
/// \defgroup PkgHandlesAndCirculatorsConcepts Concepts
/// \ingroup PkgHandlesAndCirculatorsRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgClassificationRef Classification Reference
/// \defgroup PkgClassificationRef Reference Manual
/*!
\defgroup PkgClassificationConcepts Concepts

View File

@ -1,4 +1,4 @@
/// \defgroup PkgCombinatorialMapsRef Combinatorial Maps Reference
/// \defgroup PkgCombinatorialMapsRef Reference Manual
/// \defgroup PkgCombinatorialMapsConcepts Concepts
/// \ingroup PkgCombinatorialMapsRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgConeSpanners2Ref Cone-Based Spanners Reference
/// \defgroup PkgConeSpanners2Ref Reference Manual
/*!
\addtogroup PkgConeSpanners2Ref

View File

@ -137,7 +137,7 @@ public:
The direction of the first ray can be specified by the parameter
initial_direction, which allows the first ray to start at any direction.
The remaining directions are calculated in counter-clockwise order.
The remaining directions are calculated in counterclockwise order.
\param cone_number The number of cones
\param initial_direction The direction of the first ray

View File

@ -169,7 +169,7 @@ protected:
/* Construct edges in one cone bounded by two directions.
\param cwBound The direction of the clockwise boundary of the cone.
\param ccwBound The direction of the counter-clockwise boundary.
\param ccwBound The direction of the counterclockwise boundary.
\param g The Theta graph to be built.
*/
void add_edges_in_cone(const Direction_2& cwBound, const Direction_2& ccwBound, Graph_& g) {

View File

@ -164,7 +164,7 @@ protected:
/* Construct edges in one cone bounded by two directions.
\param cwBound The direction of the clockwise boundary of the cone.
\param ccwBound The direction of the counter-clockwise boundary.
\param ccwBound The direction of the counterclockwise boundary.
\param g The Yao graph to be built.
*/
void add_edges_in_cone(const Direction_2& cwBound, const Direction_2& ccwBound, Graph_& g) {

View File

@ -1,4 +1,4 @@
/// \defgroup PkgConvexDecomposition3Ref Convex Decomposition of Polyhedra Reference
/// \defgroup PkgConvexDecomposition3Ref Reference Manual
/*!
\addtogroup PkgConvexDecomposition3Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgConvexHull2Ref 2D Convex Hulls and Extreme Points Reference
/// \defgroup PkgConvexHull2Ref Reference Manual
/// \defgroup PkgConvexHull2Concepts Concepts
/// \ingroup PkgConvexHull2Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgConvexHull3Ref 3D Convex Hulls Reference
/// \defgroup PkgConvexHull3Ref Reference Manual
/// \defgroup PkgConvexHull3Concepts Concepts
/// \ingroup PkgConvexHull3Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgConvexHullDRef dD Convex Hulls and Delaunay Triangulations Reference
/// \defgroup PkgConvexHullDRef Reference Manual
/// \defgroup PkgConvexHullDConcepts Concepts
/// \ingroup PkgConvexHullDRef
/*!

View File

@ -13,19 +13,31 @@ but the better alternative is the usage of `namespace`.
\section Developer_manualNamespaceCGAL Namespace CGAL
All names introduced by \cgal should be in namespace `CGAL`, <I>e.g.</I>:
All names introduced by \cgal should be in namespace `CGAL`, or in a subnamespace
corresponding to a package, <I>e.g.</I>:
\code{.cpp}
#include <something>
namespace CGAL {
class My_new_cgal_class {};
/*!
* This class ...
*/
class Foo {};
My_new_cgal_class
my_new_function( My_new_cgal_class& );
namespace Polygon_mesh_processing {
/*!
* modifies `f` by ...
*/
void
bar( foo & f);
} // namespace Polygon_mesh_processing
} // namespace CGAL
\endcode
Make sure not to have include statements inside the
`namespace CGAL`. Otherwise, all names defined in the file included will be
added to the namespace.
@ -35,19 +47,15 @@ added to the namespace.
All names introduced by \cgal which are not documented to the user
should be under an `internal` subnamespace of `CGAL`, <I>e.g.</I>:
\code{.cpp}
namespace CGAL { namespace internal {
namespace CGAL {
namespace Polygon_mesh_processing {
namespace internal {
class My_undocumented_class {};
class Baz_used_by_foo {};
void my_new_function( My_undocumented_class& );
}} // namespace CGAL::internal
namespace CGAL { namespace internal { namespace Package { namespace tags {
class Some_further_class_local_to_Package;
}}}} // namespace CGAL::internal::Package::tags
} // namespace internal
} // namespace Polygon_mesh_processing
} // namespace CGAL
\endcode
\section Developer_manualNoteonglobaltemplatefunctions Note on global template functions

View File

@ -143,7 +143,7 @@ The \eigen web site is <A HREF="https://eigen.tuxfamily.org/index.php?title=Main
\opengr is a set C++ libraries for 3D Global Registration released under the terms of the APACHE V2 license.
\cgal provides wrappers for the Super4PCS algorithm of \opengr in the \ref PkgPointSetProcessing3Ref
\cgal provides wrappers for the Super4PCS algorithm of \opengr in the \ref PkgPointSetProcessing3
packages. In order to use \opengr in \cgal programs, the executables should be linked with the CMake imported target `CGAL::OpenGR_support` provided in `CGAL_OpenGR_support.cmake`.
The \opengr web site is <A HREF="https://github.com/STORM-IRIT/OpenGR">`https://github.com/STORM-IRIT/OpenGR`</A>.
@ -152,7 +152,7 @@ The \opengr web site is <A HREF="https://github.com/STORM-IRIT/OpenGR">`https://
\libpointmatcher is a modular library implementing the Iterative Closest Point (ICP) algorithm for aligning point clouds, released under a permissive BSD license.
\cgal provides wrappers for the ICP algorithm of \libpointmatcher in the \ref PkgPointSetProcessing3Ref
\cgal provides wrappers for the ICP algorithm of \libpointmatcher in the \ref PkgPointSetProcessing3
packages. In order to use \libpointmatcher in \cgal programs, the
executables should be linked with the CMake imported target
`CGAL::pointmatcher_support` provided in
@ -276,7 +276,7 @@ for instance, on Windows, you can download it from <A HREF="https://www.zlib.net
\ceres is an open source C++ library for modeling and solving large, complicated optimization problems.
In \cgal, \ceres is used by the \ref PkgPolygonMeshProcessingRef package for mesh smoothing, which
In \cgal, \ceres is used by the \ref PkgPolygonMeshProcessing package for mesh smoothing, which
requires solving complex non-linear least squares problems.
Visit the official website of the library at <A HREF="http://ceres-solver.org/index.html">`ceres-solver.org`</A>

View File

@ -303,14 +303,14 @@ described in this tutorial.
This tutorial is based on the following \cgal packages:
- \ref PkgTriangulation2Ref
- \ref PkgPointSet3Ref
- \ref PkgPointSetProcessing3Ref
- \ref PkgTriangulation2
- \ref PkgPointSet3
- \ref PkgPointSetProcessing3
- \ref PkgSurface_mesh
- \ref PkgBGLRef
- \ref PkgPolygonMeshProcessingRef
- \ref PkgPolylineSimplification2Ref
- \ref PkgClassificationRef
- \ref PkgBGL
- \ref PkgPolygonMeshProcessing
- \ref PkgPolylineSimplification2
- \ref PkgClassification
The data set used throughout this tutorial comes from the
https://www.usgs.gov/ database, licensed under the _US Government

View File

@ -255,7 +255,7 @@ through the points.
Each of these methods produce a triangle mesh stored in different
ways. If this output mesh is hampered by defects such as holes or
self-intersections, \cgal provide several algorithms to post-process
self-intersections, \cgal provide several algorithms to postprocess
it (hole filling, remeshing, etc.) in the package \ref PkgPolygonMeshProcessing "Polygon Mesh Processing".
We do not discuss these functions here as there are many

View File

@ -91,7 +91,7 @@ else
bash -$- ./compare_testsuites.sh $PWD/build_doc/doc_output $PWD/doc_ref 1> /dev/null
fi
echo "done."
#add post-processing
#add postprocessing
cd ./build_doc
echo "Adding postprocessing..."
make -j$NB_CORES doc_with_postprocessing &>> ./build_logs

View File

@ -1,4 +1,4 @@
/// \defgroup PkgEnvelope2Ref 2D Envelopes Reference
/// \defgroup PkgEnvelope2Ref Reference Manual
/// \defgroup PkgEnvelope2Concepts Concepts
/// \ingroup PkgEnvelope2Ref
/*!

View File

@ -1,4 +1,4 @@
/// \defgroup PkgEnvelope3Ref 3D Envelopes Reference
/// \defgroup PkgEnvelope3Ref Reference Manual
/// \defgroup PkgEnvelope3Concepts Concepts
/// \ingroup PkgEnvelope3Ref
/*!

View File

@ -1,4 +1,4 @@
/// \defgroup PkgGeneralizedMapsRef Generalized Maps Reference
/// \defgroup PkgGeneralizedMapsRef Reference Manual
/// \defgroup PkgGeneralizedMapsConcepts Concepts
/// \ingroup PkgGeneralizedMapsRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgGeneratorsRef Geometric Object Generators Reference
/// \defgroup PkgGeneratorsRef Reference Manual
/// \defgroup PkgGeneratorsConcepts Concepts
/// \ingroup PkgGeneratorsRef
/*!

View File

@ -1,4 +1,4 @@
/// \defgroup PkgGraphicsViewRef CGAL and the Qt Graphics View Framework Reference
/// \defgroup PkgGraphicsViewRef Reference Manual
/// \defgroup PkgGraphicsViewGraphicsItemClasses Graphics Item Classes
/// \ingroup PkgGraphicsViewRef
/// \defgroup PkgGraphicsViewInputClasses Input Classes

View File

@ -1,4 +1,4 @@
/// \defgroup PkgHalfedgeDSRef Halfedge Data Structures Reference
/// \defgroup PkgHalfedgeDSRef Reference Manual
/// \defgroup PkgHalfedgeDSConcepts Concepts
/// \ingroup PkgHalfedgeDSRef

View File

@ -149,7 +149,7 @@ Next, the gradient in a given triangle can be expressed as
\f$\nabla u = \frac{1}{2 A_f} \sum_i u_i ( N \times e_i ) \f$
where \f$A_f\f$ is the area of the triangle, \f$N\f$ is its outward unit normal, \f$e_i\f$ is the \f$i\f$th edge vector (oriented counter-clockwise), and \f$u_i\f$ is the value of \f$u\f$ at the opposing vertex. The integrated divergence associated with vertex \f$i\f$ can be written as
where \f$A_f\f$ is the area of the triangle, \f$N\f$ is its outward unit normal, \f$e_i\f$ is the \f$i\f$th edge vector (oriented counterclockwise), and \f$u_i\f$ is the value of \f$u\f$ at the opposing vertex. The integrated divergence associated with vertex \f$i\f$ can be written as
\f$\nabla \cdot X = \frac{1}{2} \sum_j cot\theta_1 (e_1 \cdot X_j) + cot \theta_2 (e_2 \cdot X_j)\f$

View File

@ -1,6 +1,4 @@
// The Heat Method
/// \defgroup PkgHeatMethodRef Heat Method Reference
/// \defgroup PkgHeatMethodRef Reference Manual
/// \defgroup PkgHeatMethodConcepts Concepts
/// \ingroup PkgHeatMethodRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgHyperbolicTriangulation2Ref 2D Hyperbolic Delaunay Triangulations Reference
/// \defgroup PkgHyperbolicTriangulation2Ref Reference Manual
/// \defgroup PkgHyperbolicTriangulation2Concepts Concepts
/// \ingroup PkgHyperbolicTriangulation2Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgInscribedAreasRef Inscribed Areas Reference
/// \defgroup PkgInscribedAreasRef Reference Manual
/// \defgroup PkgInscribedAreasConcepts Concepts
/// \ingroup PkgInscribedAreasRef

View File

@ -21,9 +21,18 @@ set(CGAL_SetupGMP_included TRUE)
# That is required to find the FindGMP and FindMPFR modules.
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CGAL_MODULES_DIR})
find_package(GMP REQUIRED)
find_package(MPFR REQUIRED)
find_package(GMPXX QUIET)
find_package(GMP QUIET)
find_package(MPFR QUIET)
if (GMP_FOUND)
find_package(GMPXX QUIET)
endif()
if(NOT GMP_FOUND OR NOT MPFR_FOUND)
message(STATUS "GMP not found.")
set(CGAL_DISABLE_GMP ON)
return()
endif()
if(NOT GMPXX_FOUND)
option(CGAL_WITH_GMPXX "Use CGAL with GMPXX: use C++ classes of GNU MP instead of CGAL wrappers" OFF)

View File

@ -1,4 +1,4 @@
/// \defgroup PkgInterpolation2Ref 2D and Surface Function Interpolation Reference
/// \defgroup PkgInterpolation2Ref Reference Manual
/// \defgroup PkgInterpolation2Concepts Concepts
/// \ingroup PkgInterpolation2Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgIntervalSkipListRef Interval Skip List Reference
/// \defgroup PkgIntervalSkipListRef Reference Manual
/// \defgroup PkgIntervalSkipListConcepts Concepts
/// \ingroup PkgIntervalSkipListRef
/*!

View File

@ -1,4 +1,4 @@
/// \defgroup PkgIsosurfacing3Ref 3D Isosurfacing Reference
/// \defgroup PkgIsosurfacing3Ref Reference Manual
/// \defgroup PkgIsosurfacing3Concepts Concepts
/// \ingroup PkgIsosurfacing3Ref

View File

@ -280,7 +280,7 @@ computed using rings on the triangulation. Results are twofold:
numerical information on the computation: condition number and the
PCA basis;
<LI>another text file that records raw data (better for a visualization
post-processing).
postprocessing).
</UL>
\cgalFigureRef{figjet3figdavid} and

View File

@ -1,4 +1,4 @@
/// \defgroup PkgJetFitting3Ref Estimation of Local Differential Properties of Point-Sampled Surfaces Reference
/// \defgroup PkgJetFitting3Ref Reference Manual
/// \defgroup PkgJetFitting3Concepts Concepts
/// \ingroup PkgJetFitting3Ref
/*!

View File

@ -1,4 +1,4 @@
/// \defgroup PkgKernel23Ref 2D and 3D Linear Geometry Kernel Reference
/// \defgroup PkgKernel23Ref Reference Manual
/// \defgroup PkgKernel23Concepts Concepts
/// \ingroup PkgKernel23Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgKernelDRef dD Geometry Kernel Reference
/// \defgroup PkgKernelDRef Reference Manual
/// \defgroup PkgKernelDLinAlgConcepts Linear Algebra Concepts
/// \ingroup PkgKernelDRef

View File

@ -1,5 +1,5 @@
/*!
\defgroup PkgKineticSpacePartitionRef Kinetic Space Partition Reference
\defgroup PkgKineticSpacePartitionRef Reference Manual
\defgroup PkgKineticSpacePartitionConcepts Concepts
\ingroup PkgKineticSpacePartitionRef

View File

@ -1,5 +1,5 @@
/*!
\defgroup PkgKineticSurfaceReconstructionRef Kinetic Surface Reconstruction Reference
\defgroup PkgKineticSurfaceReconstructionRef Reference Manual
\addtogroup PkgKineticSurfaceReconstructionRef
\cgalPkgDescriptionBegin{Kinetic Surface Reconstruction, PkgKineticSurfaceReconstruction}

View File

@ -1,4 +1,4 @@
/// \defgroup PkgLinearCellComplexRef Linear Cell Complex Reference
/// \defgroup PkgLinearCellComplexRef Reference Manual
/// \defgroup PkgLinearCellComplexConcepts Concepts
/// \ingroup PkgLinearCellComplexRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgMatrixSearchRef Monotone and Sorted Matrix Search Reference
/// \defgroup PkgMatrixSearchRef Reference Manual
/// \defgroup PkgMatrixSearchConcepts Concepts
/// \ingroup PkgMatrixSearchRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgMesh2Ref 2D Conforming Triangulations and Meshes Reference
/// \defgroup PkgMesh2Ref Reference Manual
/// \defgroup PkgMesh2Concepts Concepts
/// \ingroup PkgMesh2Ref

View File

@ -98,7 +98,7 @@ public:
// set fh to the face at the right of [va,v]
typename Tr::Face_circulator fc = tr.incident_faces(v, fh), fcbegin(fc);
// circulators are counter-clockwise, so we start at the right of
// circulators are counterclockwise, so we start at the right of
// [va,v]
do {
if( !tr.is_infinite(fc) )

View File

@ -1,4 +1,4 @@
/// \defgroup PkgMesh3Ref 3D Mesh Generation Reference
/// \defgroup PkgMesh3Ref Reference Manual
/// \defgroup PkgMesh3Concepts Main Concepts
/// \ingroup PkgMesh3Ref

View File

@ -656,7 +656,7 @@ public:
* \cgalParamExtra{The return type of the function depends on whether this parameter
* or `input_features` are provided or not.}
* \cgalParamExtra{If `weights` is provided, it must either be adapted to the detected features,
* or post-processed during feature detection to keep consistency
* or postprocessed during feature detection to keep consistency
* of the output `MeshDomainWithFeatures_3`.
* Available functors implement the necessary modifications.}
* \cgalParamNEnd

View File

@ -1,4 +1,4 @@
/// \defgroup PkgMinkowskiSum2Ref 2D Minkowski Sums Reference
/// \defgroup PkgMinkowskiSum2Ref Reference Manual
/// \defgroup PkgMinkowskiSum2Concepts Concepts
/// \ingroup PkgMinkowskiSum2Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgMinkowskiSum3Ref 3D Minkowski Sum of Polyhedra Reference
/// \defgroup PkgMinkowskiSum3Ref Reference Manual
/*!
\addtogroup PkgMinkowskiSum3Ref

View File

@ -1,4 +1,4 @@
/// \defgroup MiscellanyRef Profiling Tools, Hash Map, Union-find, Modifiers Reference
/// \defgroup MiscellanyRef Reference Manual
/// \defgroup MiscellanyConcepts Concepts
/// \ingroup MiscellanyRef
/*!

View File

@ -1,4 +1,4 @@
/// \defgroup PkgModularArithmeticRef Modular Arithmetic Reference
/// \defgroup PkgModularArithmeticRef Reference Manual
/// \defgroup PkgModularArithmeticConcepts Concepts
/// \ingroup PkgModularArithmeticRef
/*!

View File

@ -1,4 +1,4 @@
/// \defgroup PkgNef2Ref 2D Boolean Operations on Nef Polygons Reference
/// \defgroup PkgNef2Ref Reference Manual
/// \defgroup PkgNef2Concepts Concepts
/// \ingroup PkgNef2Ref
/*!

View File

@ -95,12 +95,12 @@ bool is_forward(Halfedge_const_handle e) const
void check_order_preserving_embedding(Vertex_const_handle v) const;
/*{\Mop checks if the embedding of the targets of the edges in
the adjacency list |A(v)| is counter-clockwise order-preserving with
the adjacency list |A(v)| is counterclockwise order-preserving with
respect to the order of the edges in |A(v)|.}*/
void check_order_preserving_embedding() const;
/*{\Mop checks if the embedding of all vertices of |P| is
counter-clockwise order-preserving with respect to the adjacency
counterclockwise order-preserving with respect to the adjacency
list ordering of all vertices.}*/
void check_forward_prefix_condition(Vertex_const_handle v) const;

View File

@ -1,4 +1,4 @@
/// \defgroup PkgNef3Ref 3D Boolean Operations on Nef Polyhedra Reference
/// \defgroup PkgNef3Ref Reference Manual
///
/// \defgroup PkgNef3IOFunctions I/O Functions
/// \ingroup PkgNef3Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgNefS2Ref 2D Boolean Operations on Nef Polygons Embedded on the Sphere Reference
/// \defgroup PkgNefS2Ref Reference Manual
/*!
\addtogroup PkgNefS2Ref

View File

@ -79,12 +79,12 @@ bool is_forward(Halfedge_const_handle e) const
void check_order_preserving_embedding(Vertex_const_handle v) const;
/*{\Mop checks if the embedding of the targets of the edges in
the adjacency list |A(v)| is counter-clockwise order-preserving with
the adjacency list |A(v)| is counterclockwise order-preserving with
respect to the order of the edges in |A(v)|.}*/
void check_order_preserving_embedding() const;
/*{\Mop checks if the embedding of all vertices of |P| is
counter-clockwise order-preserving with respect to the adjacency
counterclockwise order-preserving with respect to the adjacency
list ordering of all vertices.}*/
void check_forward_prefix_condition(Vertex_const_handle v) const;

View File

@ -16,7 +16,7 @@ requirements, such that they can be successfully used in \cgal code.
In general they are expected to be a model of an algebraic structure
concepts and in case they model a subring of the real numbers they are
also a model of `RealEmbeddable`. For an overview of the algebraic
structure concepts see Section \ref PkgAlgebraicFoundationsRef.
structure concepts see the \ref PkgAlgebraicFoundationsAlgebraicStructuresConcepts section.
\section Number_typesBuilt Built-in Number Types
@ -115,6 +115,19 @@ requirements.
To use these classes, \gmp and \mpfr must be installed.
\section Number_typesBoost Number Types Provided by Boost
\anchor boostnt
Boost provides arbitrary precision integer and rational number types.
The number types `boost::multiprecision::gmp_int` and `boost::multiprecision::gmp_rational`
have \gmp as backend, while the number types `boost::multiprecision::cpp_int`
and `boost::multiprecision::cpp_rational` have a native backend.
The file <TT>CGAL/boost_mp.h</TT> provides the functions to make
these classes models of number type concepts.
\section Number_typesLEDA Number Types Provided by LEDA
\anchor ledant

View File

@ -1,4 +1,4 @@
/// \defgroup PkgNumberTypesRef Number Types Reference
/// \defgroup PkgNumberTypesRef Reference Manual
/// \defgroup PkgNumberTypesConcepts Concepts
/// \ingroup PkgNumberTypesRef
@ -9,6 +9,9 @@
/// \defgroup nt_core CORE
/// \ingroup PkgNumberTypesRef
/// \defgroup nt_boost Boost
/// \ingroup PkgNumberTypesRef
/// \defgroup nt_leda LEDA
/// \ingroup PkgNumberTypesRef
@ -70,6 +73,13 @@
- `leda_bigfloat`
- `leda_real`
\cgalCRPSubsection{Boost}
- `boost::multiprecision::cpp_int`
- `boost::multiprecision::cpp_rational`
- `boost::multiprecision::gmp_int`
- `boost::multiprecision::gmp_rational`
\cgalCRPSubsection{GMP}
- `mpz_class`

View File

@ -27,8 +27,7 @@ namespace CGAL {
`Exact_integer` is an exact integer number type.
It is a typedef of another number type. Its exact definition depends on
the availability the third-party libraries \gmp, \core, and \leda. \cgal must
be configured with at least one of those libraries.
the availability the third-party libraries \gmp and \leda.
\cgalModels{EuclideanRing,RealEmbeddable}

View File

@ -27,8 +27,7 @@ namespace CGAL {
`Exact_rational` is an exact rational number type, constructible from `double`.
It is a typedef of another number type. Its exact definition depends on
the availability the third-party libraries \gmp, \core, and \leda. \cgal must
be configured with at least one of those libraries.
the availability the third-party libraries \gmp and \leda.
\cgalModels{Field,RealEmbeddable,Fraction,FromDoubleConstructible}

View File

@ -1,4 +1,4 @@
/// \defgroup PkgOptimalBoundingBoxRef Optimal Bounding Box Reference
/// \defgroup PkgOptimalBoundingBoxRef Reference Manual
/// \defgroup PkgOptimalBoundingBoxConcepts Concepts
/// \ingroup PkgOptimalBoundingBoxRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgOptimalTransportationReconstruction2Ref Optimal Transportation Curve Reconstruction Reference
/// \defgroup PkgOptimalTransportationReconstruction2Ref Reference Manual
/// \defgroup PkgOptimalTransportationReconstruction2Concepts Concepts
/// \ingroup PkgOptimalTransportationReconstruction2Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgOrthtreeRef Quadtrees, Octrees and Orthtrees Reference
/// \defgroup PkgOrthtreeRef Reference Manual
Quadtree, Octree and Orthtree Reference
/// \defgroup PkgOrthtreeConcepts Concepts

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPartition2Ref 2D Polygon Partitioning Reference
/// \defgroup PkgPartition2Ref Reference Manual
/// \defgroup PkgPartition2Concepts Concepts
/// \ingroup PkgPartition2Ref
/// \defgroup PkgPartition2FunctionObjectConcepts Function Object Concepts

View File

@ -212,7 +212,7 @@ public:
contains `p`. It outputs in the container pointed to by
`eit` the boundary of the zone in conflict with `p`.
The boundary edges of the conflict zone are output in
counter-clockwise order and each edge is described through its
counterclockwise order and each edge is described through its
incident face which is not in conflict with `p`. The function
returns in a std::pair the resulting output
iterators. \pre `start` is in conflict with `p` and `p` lies in the original domain `domain`.

View File

@ -11,7 +11,7 @@ the geometric primitives used in the triangulation and some function
object types for the required predicates on those primitives.
It refines the concept
`TriangulationTraits_2` from the \cgal \ref PkgTriangulation2Ref package. It redefines the
`TriangulationTraits_2` from the \cgal \ref PkgTriangulation2 package. It redefines the
geometric objects, predicates and constructions to work with
point-offset pairs. In most cases the offsets will be (0,0) and the
predicates from `TriangulationTraits_2` can be used

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPeriodic2Triangulation2Ref 2D Periodic Triangulations Reference
/// \defgroup PkgPeriodic2Triangulation2Ref Reference Manual
/// \defgroup PkgPeriodic2Triangulation2Concepts Concepts
/// \ingroup PkgPeriodic2Triangulation2Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPeriodic3Mesh3Ref 3D Periodic Mesh Generation Reference
/// \defgroup PkgPeriodic3Mesh3Ref Reference Manual
/// \defgroup PkgPeriodic3Mesh3Concepts Concepts
/// \ingroup PkgPeriodic3Mesh3Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPeriodic3Triangulation3Ref 3D Periodic Triangulations Reference
/// \defgroup PkgPeriodic3Triangulation3Ref Reference Manual
/// \defgroup PkgPeriodic3Triangulation3Concepts Concepts
/// \ingroup PkgPeriodic3Triangulation3Ref

View File

@ -124,7 +124,7 @@ public:
Comparison operator.
Each translation \f$g\f$ of \f$\mathcal G\f$, when applied to the octagon \f$\mathcal D_O\f$,
produces a copy of \f$\mathcal D_O\f$ labeled by the translation \f$g\f$. The copies of
\f$\mathcal D_O\f$ incident to \f$\mathcal D_O\f$ are naturally ordered counter-clockwise around
\f$\mathcal D_O\f$ incident to \f$\mathcal D_O\f$ are naturally ordered counterclockwise around
\f$\mathcal D_O\f$. The comparison operator compares two translations based on the ordering
of the copies of \f$\mathcal D_O\f$ that they produce. For more details, see Section
\ref P4HT2_representation of the User manual.

View File

@ -11,7 +11,7 @@ A refinement of the concept `TriangulationFaceBase_2` that adds an interface for
At the base level, a face stores handles to its incident vertices and to its neighboring faces.
Compare with Section \ref Section_2D_Triangulations_Software_Design of the 2D Triangulations
package. The vertices and neighbors are indexed counter-clockwise 0, 1, and 2. Neighbor `i` lies
package. The vertices and neighbors are indexed counterclockwise 0, 1, and 2. Neighbor `i` lies
opposite to vertex `i`.
For periodic hyperbolic triangulations, the face base class needs to store three hyperbolic

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPeriodic4HyperbolicTriangulation2Ref 2D Periodic Hyperbolic Triangulations Reference
/// \defgroup PkgPeriodic4HyperbolicTriangulation2Ref Reference Manual
/// \defgroup PkgPeriodic4HyperbolicTriangulation2Concepts Concepts
/// \ingroup PkgPeriodic4HyperbolicTriangulation2Ref
@ -54,7 +54,7 @@ Each face gives access to its three incident vertices and to its three adjacent
to store additionally three hyperbolic translations. When applied to the three points stored in the vertices of
the face, these translations produce the canonical representative of the face in the hyperbolic plane.
The three vertices of a face are indexed with 0, 1, and 2 in positive (counter-clockwise) orientation. The
The three vertices of a face are indexed with 0, 1, and 2 in positive (counterclockwise) orientation. The
orientation of faces on the Bolza surface is defined as the orientation of their canonical representatives in
the hyperbolic plane.

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPointSet2Ref 2D Range and Neighbor Search Reference
/// \defgroup PkgPointSet2Ref Reference Manual
/// \defgroup PkgPointSet2Concepts Concepts
/// \ingroup PkgPointSet2Ref

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPointSet3Ref 3D Point Set Reference
/// \defgroup PkgPointSet3Ref Reference Manual
/*!
\cgalInclude{CGAL/draw_point_set_3.h}
@ -25,7 +25,7 @@
/// header or by the LAS standard.
///
/// For a complete documentation of these functions, please refer to the
/// \ref PkgPointSetProcessing3Ref manual.
/// \ref PkgPointSetProcessing3Ref "Point Set Processing Reference Manual".
/// \defgroup PkgPointSet3IOLAS Input/Output (LAS)
/// I/O Functions for the \ref IOStreamLAS

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPointSetProcessing3Ref Point Set Processing Reference
/// \defgroup PkgPointSetProcessing3Ref Reference Manual
/*!
\defgroup PkgPointSetProcessing3Algorithms Algorithms

View File

@ -139,7 +139,7 @@ CGAL::jet_estimate_normals<Concurrency_tag>
normal_map (CGAL::Second_of_pair_property_map<PointVectorPair>()));
\endcode
Please refer to the [Reference Manual](@ref PkgPointSetProcessing3Ref) for
Please refer to the @ref PkgPointSetProcessing3Ref for
the detailed API of the Point Set Processing functions.
@ -973,7 +973,7 @@ points that are on sharp edges:
The function `structure_point_set()` generates a structured version of
the input point set assigned to a set of planes. Such an input can be
produced by a shape detection algorithm (see \ref PkgShapeDetectionRef).
produced by a shape detection algorithm (see its \ref PkgShapeDetectionRef).
Point set structuring is based on the article \cgalCite{cgal:la-srpss-13}.
- __Planes__: inliers of each detected plane are replaced by sets of
@ -1025,7 +1025,7 @@ point set:
Several functions of this package provide a callback mechanism that enables the user to track the progress of the algorithms and to interrupt them if needed. A callback, in this package, is an instance of `std::function<bool(double)>` that takes the advancement as a parameter (between 0. when the algorithm begins to 1. when the algorithm is completed) and that returns `true` if the algorithm should carry on, `false` otherwise. It is passed as a named parameter with an empty function as default.
Algorithms that support this mechanism are detailed in the [Reference Manual](@ref PkgPointSetProcessing3Ref), along with the effect that an early interruption has on the output.
Algorithms that support this mechanism are detailed in the @ref PkgPointSetProcessing3Ref, along with the effect that an early interruption has on the output.
\subsection Point_set_processing_3Example_callbacks Example

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPoissonSurfaceReconstruction3Ref Poisson Surface Reconstruction Reference
/// \defgroup PkgPoissonSurfaceReconstruction3Ref Reference Manual
/*!
\addtogroup PkgPoissonSurfaceReconstruction3Ref
\cgalPkgDescriptionBegin{Poisson Surface Reconstruction,PkgPoissonSurfaceReconstruction3}

Some files were not shown because too many files have changed in this diff Show More