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 /// \defgroup PkgAABBTreeConcepts Concepts
/// \ingroup PkgAABBTreeRef /// \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" \note A \ref tuto_reconstruction "detailed tutorial on surface reconstruction"
is provided with a guide to choose the most appropriate method along 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 \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 /// \defgroup PkgAdvancingFrontSurfaceReconstructionRefConcepts Concepts
/// \ingroup PkgAdvancingFrontSurfaceReconstructionRef /// \ingroup PkgAdvancingFrontSurfaceReconstructionRef

View File

@ -382,7 +382,7 @@ namespace CGAL {
int _facet_number; int _facet_number;
//--------------------------------------------------------------------- //---------------------------------------------------------------------
// For post-processing // For postprocessing
mutable int _postprocessing_counter; mutable int _postprocessing_counter;
int _size_before_postprocessing; int _size_before_postprocessing;
@ -2432,7 +2432,7 @@ namespace CGAL {
std::size_t itmp, L_v_size_mem; std::size_t itmp, L_v_size_mem;
L_v_size_mem = L_v.size(); 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)) (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 compatibility all functionality is also
accessible through global functions defined within namespace `CGAL`, accessible through global functions defined within namespace `CGAL`,
e.g., \link sqrt `CGAL::sqrt(x)` \endlink. This is realized via function templates using 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 the according functor of the traits class. For an overview see the section "Global Functions" in the
Section \ref PkgAlgebraicFoundationsRef in the reference manual. \ref PkgAlgebraicFoundationsRef.
\subsection Algebraic_foundationsTagsinAlgebraicStructure Tags in Algebraic Structure Traits \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 /// \defgroup PkgAlgebraicFoundationsAlgebraicStructuresConcepts Concepts
/// \ingroup PkgAlgebraicFoundationsRef /// \ingroup PkgAlgebraicFoundationsRef

View File

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

View File

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

View File

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

View File

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

View File

@ -348,7 +348,7 @@ public:
#ifdef CGAL_AW3_TIMER #ifdef CGAL_AW3_TIMER
t.stop(); 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.reset();
t.start(); t.start();
#endif #endif

View File

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

View File

@ -4196,7 +4196,7 @@ are both parameterized by a geometric kernel and model the concepts
`AosTraits_2` and `AosLandmarkTraits_2`. `AosTraits_2` and `AosLandmarkTraits_2`.
\cgalFootnote{They also model the refined concept \cgalFootnote{They also model the refined concept
\cgalFootnoteCode{AosDirectionalXMonotoneTraits_2}, which enables Boolean set \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 template `Arr_non_caching_segment_traits_2<Kernel>` derives from the
instance `Arr_non_caching_segment_basic_traits_2<Kernel>`, which instance `Arr_non_caching_segment_basic_traits_2<Kernel>`, which
models the `AosLandmarkTraits_2` traits concept but not the 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 `AosOpenBoundaryTraits_2`, but it does not model the
`AosLandmarkTraits_2` concept. It also models the refined `AosLandmarkTraits_2` concept. It also models the refined
concept `AosDirectionalXMonotoneTraits_2`, which enables 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, Note that it is not a model of `AosLandmarkTraits_2` concept,
so it is impossible to use the landmark point-location strategy with so it is impossible to use the landmark point-location strategy with
this traits class. 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 models the concept `AosTraits_2` (but it does not model the
`AosLandmarkTraits_2` concept). It also models the refined `AosLandmarkTraits_2` concept). It also models the refined
concept `AosDirectionalXMonotoneTraits_2`, which enables 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} \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 /// \defgroup PkgArrangementOnSurface2Concepts Concepts
/// \ingroup PkgArrangementOnSurface2Ref /// \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_adjacency_list_tag` (default)
- `CGAL::Alpha_expansion_boost_compressed_sparse_raw_tag` - `CGAL::Alpha_expansion_boost_compressed_sparse_raw_tag`
- `CGAL::Alpha_expansion_MaxFlow_tag`, released under GPL - `CGAL::Alpha_expansion_MaxFlow_tag`, released under GPL
license and provided by the \ref PkgSurfaceMeshSegmentationRef license and provided by the \ref PkgSurfaceMeshSegmentation
package package
All these implementations produce the exact same result but behave 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 /*! \defgroup PkgBGLConcepts Concepts
\ingroup PkgBGLRef \ingroup PkgBGLRef

View File

@ -509,7 +509,8 @@ class Alpha_expansion_MaxFlow_impl;
\cgalParamNEnd \cgalParamNEnd
\cgalNamedParamsEnd \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>` under GPL license. The header `<CGAL/boost/graph/Alpha_expansion_MaxFlow_tag.h>`
must be included if users want to use this implementation. 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 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`. 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. 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 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 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 \defgroup PkgBarycentricCoordinates2RefConcepts Concepts
\ingroup PkgBarycentricCoordinates2Ref \ingroup PkgBarycentricCoordinates2Ref
@ -77,6 +74,3 @@ coordinates from the Package \ref PkgInterpolation2.}
- `discrete_harmonic_coordinates_2()` - `discrete_harmonic_coordinates_2()`
- `boundary_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 /// \defgroup PkgBasicViewerConcepts Concepts
/// \ingroup PkgBasicViewerRef /// \ingroup PkgBasicViewerRef

View File

@ -116,7 +116,7 @@ In our context, a polygon must uphold the following conditions:
<OL> <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>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>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> </OL>
\subsection bso_ssecpolygon_with_holes_validation Conditions for Valid Polygons with Holes \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 /// \defgroup PkgBooleanSetOperations2Concepts Concepts
/// \ingroup PkgBooleanSetOperations2Ref /// \ingroup PkgBooleanSetOperations2Ref

View File

@ -52,7 +52,7 @@ public:
return (ic % 2) == 1; 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 /*! The function fixes some of the curves, to be in the same direction as the
half-edges. half-edges.

View File

@ -1,4 +1,4 @@
/// \defgroup PkgBoundingVolumesRef Bounding Volumes Reference /// \defgroup PkgBoundingVolumesRef Reference Manual
/// \defgroup PkgBoundingVolumesConcepts Concepts /// \defgroup PkgBoundingVolumesConcepts Concepts
/// \ingroup PkgBoundingVolumesRef /// \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 /// \defgroup PkgBoxIntersectionDConcepts Concepts
/// \ingroup PkgBoxIntersectionDRef /// \ingroup PkgBoxIntersectionDRef

View File

@ -1,4 +1,4 @@
/// \defgroup PkgCGALIpeletsRef CGAL Ipelets Reference /// \defgroup PkgCGALIpeletsRef Reference Manual
/*! /*!
\addtogroup PkgCGALIpeletsRef \addtogroup PkgCGALIpeletsRef
\cgalPkgDescriptionBegin{CGAL Ipelets,PkgCGALIpelets} \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 /// \defgroup PkgCircularKernel2GeometricConcepts Geometric Concepts
/// \ingroup PkgCircularKernel2Ref /// \ingroup PkgCircularKernel2Ref

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -137,7 +137,7 @@ public:
The direction of the first ray can be specified by the parameter The direction of the first ray can be specified by the parameter
initial_direction, which allows the first ray to start at any direction. 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 cone_number The number of cones
\param initial_direction The direction of the first ray \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. /* Construct edges in one cone bounded by two directions.
\param cwBound The direction of the clockwise boundary of the cone. \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. \param g The Theta graph to be built.
*/ */
void add_edges_in_cone(const Direction_2& cwBound, const Direction_2& ccwBound, Graph_& g) { 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. /* Construct edges in one cone bounded by two directions.
\param cwBound The direction of the clockwise boundary of the cone. \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. \param g The Yao graph to be built.
*/ */
void add_edges_in_cone(const Direction_2& cwBound, const Direction_2& ccwBound, Graph_& g) { 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 \addtogroup PkgConvexDecomposition3Ref

View File

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

View File

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

View File

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

View File

@ -13,19 +13,31 @@ but the better alternative is the usage of `namespace`.
\section Developer_manualNamespaceCGAL Namespace CGAL \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} \code{.cpp}
#include <something> #include <something>
namespace CGAL { 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 } // namespace CGAL
\endcode \endcode
Make sure not to have include statements inside the Make sure not to have include statements inside the
`namespace CGAL`. Otherwise, all names defined in the file included will be `namespace CGAL`. Otherwise, all names defined in the file included will be
added to the namespace. added to the namespace.
@ -35,19 +47,15 @@ added to the namespace.
All names introduced by \cgal which are not documented to the user All names introduced by \cgal which are not documented to the user
should be under an `internal` subnamespace of `CGAL`, <I>e.g.</I>: should be under an `internal` subnamespace of `CGAL`, <I>e.g.</I>:
\code{.cpp} \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 internal
} // namespace Polygon_mesh_processing
}} // namespace CGAL::internal } // namespace CGAL
namespace CGAL { namespace internal { namespace Package { namespace tags {
class Some_further_class_local_to_Package;
}}}} // namespace CGAL::internal::Package::tags
\endcode \endcode
\section Developer_manualNoteonglobaltemplatefunctions Note on global template functions \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. \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`. 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>. 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. \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 packages. In order to use \libpointmatcher in \cgal programs, the
executables should be linked with the CMake imported target executables should be linked with the CMake imported target
`CGAL::pointmatcher_support` provided in `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. \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. 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> 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: This tutorial is based on the following \cgal packages:
- \ref PkgTriangulation2Ref - \ref PkgTriangulation2
- \ref PkgPointSet3Ref - \ref PkgPointSet3
- \ref PkgPointSetProcessing3Ref - \ref PkgPointSetProcessing3
- \ref PkgSurface_mesh - \ref PkgSurface_mesh
- \ref PkgBGLRef - \ref PkgBGL
- \ref PkgPolygonMeshProcessingRef - \ref PkgPolygonMeshProcessing
- \ref PkgPolylineSimplification2Ref - \ref PkgPolylineSimplification2
- \ref PkgClassificationRef - \ref PkgClassification
The data set used throughout this tutorial comes from the The data set used throughout this tutorial comes from the
https://www.usgs.gov/ database, licensed under the _US Government 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 Each of these methods produce a triangle mesh stored in different
ways. If this output mesh is hampered by defects such as holes or 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". it (hole filling, remeshing, etc.) in the package \ref PkgPolygonMeshProcessing "Polygon Mesh Processing".
We do not discuss these functions here as there are many 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 bash -$- ./compare_testsuites.sh $PWD/build_doc/doc_output $PWD/doc_ref 1> /dev/null
fi fi
echo "done." echo "done."
#add post-processing #add postprocessing
cd ./build_doc cd ./build_doc
echo "Adding postprocessing..." echo "Adding postprocessing..."
make -j$NB_CORES doc_with_postprocessing &>> ./build_logs 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 /// \defgroup PkgEnvelope2Concepts Concepts
/// \ingroup PkgEnvelope2Ref /// \ingroup PkgEnvelope2Ref
/*! /*!

View File

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

View File

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

View File

@ -1,4 +1,4 @@
/// \defgroup PkgGeneratorsRef Geometric Object Generators Reference /// \defgroup PkgGeneratorsRef Reference Manual
/// \defgroup PkgGeneratorsConcepts Concepts /// \defgroup PkgGeneratorsConcepts Concepts
/// \ingroup PkgGeneratorsRef /// \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 /// \defgroup PkgGraphicsViewGraphicsItemClasses Graphics Item Classes
/// \ingroup PkgGraphicsViewRef /// \ingroup PkgGraphicsViewRef
/// \defgroup PkgGraphicsViewInputClasses Input Classes /// \defgroup PkgGraphicsViewInputClasses Input Classes

View File

@ -1,4 +1,4 @@
/// \defgroup PkgHalfedgeDSRef Halfedge Data Structures Reference /// \defgroup PkgHalfedgeDSRef Reference Manual
/// \defgroup PkgHalfedgeDSConcepts Concepts /// \defgroup PkgHalfedgeDSConcepts Concepts
/// \ingroup PkgHalfedgeDSRef /// \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$ \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$ \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 Reference Manual
/// \defgroup PkgHeatMethodRef Heat Method Reference
/// \defgroup PkgHeatMethodConcepts Concepts /// \defgroup PkgHeatMethodConcepts Concepts
/// \ingroup PkgHeatMethodRef /// \ingroup PkgHeatMethodRef

View File

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

View File

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

View File

@ -21,9 +21,18 @@ set(CGAL_SetupGMP_included TRUE)
# That is required to find the FindGMP and FindMPFR modules. # That is required to find the FindGMP and FindMPFR modules.
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CGAL_MODULES_DIR}) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CGAL_MODULES_DIR})
find_package(GMP REQUIRED) find_package(GMP QUIET)
find_package(MPFR REQUIRED) find_package(MPFR QUIET)
find_package(GMPXX 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) if(NOT GMPXX_FOUND)
option(CGAL_WITH_GMPXX "Use CGAL with GMPXX: use C++ classes of GNU MP instead of CGAL wrappers" OFF) 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 /// \defgroup PkgInterpolation2Concepts Concepts
/// \ingroup PkgInterpolation2Ref /// \ingroup PkgInterpolation2Ref

View File

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

View File

@ -1,4 +1,4 @@
/// \defgroup PkgIsosurfacing3Ref 3D Isosurfacing Reference /// \defgroup PkgIsosurfacing3Ref Reference Manual
/// \defgroup PkgIsosurfacing3Concepts Concepts /// \defgroup PkgIsosurfacing3Concepts Concepts
/// \ingroup PkgIsosurfacing3Ref /// \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 numerical information on the computation: condition number and the
PCA basis; PCA basis;
<LI>another text file that records raw data (better for a visualization <LI>another text file that records raw data (better for a visualization
post-processing). postprocessing).
</UL> </UL>
\cgalFigureRef{figjet3figdavid} and \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 /// \defgroup PkgJetFitting3Concepts Concepts
/// \ingroup PkgJetFitting3Ref /// \ingroup PkgJetFitting3Ref
/*! /*!

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -98,7 +98,7 @@ public:
// set fh to the face at the right of [va,v] // set fh to the face at the right of [va,v]
typename Tr::Face_circulator fc = tr.incident_faces(v, fh), fcbegin(fc); 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] // [va,v]
do { do {
if( !tr.is_infinite(fc) ) 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 /// \defgroup PkgMesh3Concepts Main Concepts
/// \ingroup PkgMesh3Ref /// \ingroup PkgMesh3Ref

View File

@ -656,7 +656,7 @@ public:
* \cgalParamExtra{The return type of the function depends on whether this parameter * \cgalParamExtra{The return type of the function depends on whether this parameter
* or `input_features` are provided or not.} * or `input_features` are provided or not.}
* \cgalParamExtra{If `weights` is provided, it must either be adapted to the detected features, * \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`. * of the output `MeshDomainWithFeatures_3`.
* Available functors implement the necessary modifications.} * Available functors implement the necessary modifications.}
* \cgalParamNEnd * \cgalParamNEnd

View File

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

View File

@ -1,4 +1,4 @@
/// \defgroup PkgMinkowskiSum3Ref 3D Minkowski Sum of Polyhedra Reference /// \defgroup PkgMinkowskiSum3Ref Reference Manual
/*! /*!
\addtogroup PkgMinkowskiSum3Ref \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 /// \defgroup MiscellanyConcepts Concepts
/// \ingroup MiscellanyRef /// \ingroup MiscellanyRef
/*! /*!

View File

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

View File

@ -1,4 +1,4 @@
/// \defgroup PkgNef2Ref 2D Boolean Operations on Nef Polygons Reference /// \defgroup PkgNef2Ref Reference Manual
/// \defgroup PkgNef2Concepts Concepts /// \defgroup PkgNef2Concepts Concepts
/// \ingroup PkgNef2Ref /// \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; void check_order_preserving_embedding(Vertex_const_handle v) const;
/*{\Mop checks if the embedding of the targets of the edges in /*{\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)|.}*/ respect to the order of the edges in |A(v)|.}*/
void check_order_preserving_embedding() const; void check_order_preserving_embedding() const;
/*{\Mop checks if the embedding of all vertices of |P| is /*{\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.}*/ list ordering of all vertices.}*/
void check_forward_prefix_condition(Vertex_const_handle v) const; 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 /// \defgroup PkgNef3IOFunctions I/O Functions
/// \ingroup PkgNef3Ref /// \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 \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; void check_order_preserving_embedding(Vertex_const_handle v) const;
/*{\Mop checks if the embedding of the targets of the edges in /*{\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)|.}*/ respect to the order of the edges in |A(v)|.}*/
void check_order_preserving_embedding() const; void check_order_preserving_embedding() const;
/*{\Mop checks if the embedding of all vertices of |P| is /*{\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.}*/ list ordering of all vertices.}*/
void check_forward_prefix_condition(Vertex_const_handle v) const; 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 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 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 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 \section Number_typesBuilt Built-in Number Types
@ -115,6 +115,19 @@ requirements.
To use these classes, \gmp and \mpfr must be installed. 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 \section Number_typesLEDA Number Types Provided by LEDA
\anchor ledant \anchor ledant

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -212,7 +212,7 @@ public:
contains `p`. It outputs in the container pointed to by contains `p`. It outputs in the container pointed to by
`eit` the boundary of the zone in conflict with `p`. `eit` the boundary of the zone in conflict with `p`.
The boundary edges of the conflict zone are output in 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 incident face which is not in conflict with `p`. The function
returns in a std::pair the resulting output returns in a std::pair the resulting output
iterators. \pre `start` is in conflict with `p` and `p` lies in the original domain `domain`. 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. object types for the required predicates on those primitives.
It refines the concept 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 geometric objects, predicates and constructions to work with
point-offset pairs. In most cases the offsets will be (0,0) and the point-offset pairs. In most cases the offsets will be (0,0) and the
predicates from `TriangulationTraits_2` can be used 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 /// \defgroup PkgPeriodic2Triangulation2Concepts Concepts
/// \ingroup PkgPeriodic2Triangulation2Ref /// \ingroup PkgPeriodic2Triangulation2Ref

View File

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

View File

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

View File

@ -124,7 +124,7 @@ public:
Comparison operator. Comparison operator.
Each translation \f$g\f$ of \f$\mathcal G\f$, when applied to the octagon \f$\mathcal D_O\f$, 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 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 \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 of the copies of \f$\mathcal D_O\f$ that they produce. For more details, see Section
\ref P4HT2_representation of the User manual. \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. 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 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`. opposite to vertex `i`.
For periodic hyperbolic triangulations, the face base class needs to store three hyperbolic 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 /// \defgroup PkgPeriodic4HyperbolicTriangulation2Concepts Concepts
/// \ingroup PkgPeriodic4HyperbolicTriangulation2Ref /// \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 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 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 orientation of faces on the Bolza surface is defined as the orientation of their canonical representatives in
the hyperbolic plane. the hyperbolic plane.

View File

@ -1,4 +1,4 @@
/// \defgroup PkgPointSet2Ref 2D Range and Neighbor Search Reference /// \defgroup PkgPointSet2Ref Reference Manual
/// \defgroup PkgPointSet2Concepts Concepts /// \defgroup PkgPointSet2Concepts Concepts
/// \ingroup PkgPointSet2Ref /// \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} \cgalInclude{CGAL/draw_point_set_3.h}
@ -25,7 +25,7 @@
/// header or by the LAS standard. /// header or by the LAS standard.
/// ///
/// For a complete documentation of these functions, please refer to the /// 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) /// \defgroup PkgPointSet3IOLAS Input/Output (LAS)
/// I/O Functions for the \ref IOStreamLAS /// 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 \defgroup PkgPointSetProcessing3Algorithms Algorithms

View File

@ -139,7 +139,7 @@ CGAL::jet_estimate_normals<Concurrency_tag>
normal_map (CGAL::Second_of_pair_property_map<PointVectorPair>())); normal_map (CGAL::Second_of_pair_property_map<PointVectorPair>()));
\endcode \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. 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 function `structure_point_set()` generates a structured version of
the input point set assigned to a set of planes. Such an input can be 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}. Point set structuring is based on the article \cgalCite{cgal:la-srpss-13}.
- __Planes__: inliers of each detected plane are replaced by sets of - __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. 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 \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 \addtogroup PkgPoissonSurfaceReconstruction3Ref
\cgalPkgDescriptionBegin{Poisson Surface Reconstruction,PkgPoissonSurfaceReconstruction3} \cgalPkgDescriptionBegin{Poisson Surface Reconstruction,PkgPoissonSurfaceReconstruction3}

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