diff --git a/Weights/doc/Weights/Concepts/AnalyticWeightTraits_2.h b/Weights/doc/Weights/Concepts/AnalyticWeightTraits_2.h index 07f02b4a9ff..838866bfc0c 100644 --- a/Weights/doc/Weights/Concepts/AnalyticWeightTraits_2.h +++ b/Weights/doc/Weights/Concepts/AnalyticWeightTraits_2.h @@ -6,7 +6,7 @@ namespace Weights { \cgalConcept A concept that describes the set of requirements of the template parameter -`GeomTraits` used to parameterize several classes and functions with 2D weights +`GeomTraits` used to parameterize several classes and functions from the namespace `CGAL::Weights`. \cgalHasModel @@ -34,23 +34,18 @@ typedef unspecified_type Comparison_result; */ typedef unspecified_type Orientation; -/*! - A model of `Kernel::Angle_2`. -*/ -typedef unspecified_type Angle_2; - /// @} /// \name Geometric Objects /// @{ /*! - A model of `Kernel::Point_2`. + 2D point type. */ typedef unspecified_type Point_2; /*! - A model of `Kernel::Vector_2`. + 2D vector type. */ typedef unspecified_type Vector_2; @@ -110,6 +105,8 @@ typedef unspecified_type Compute_determinant_2; `%Point_2 operator()(const Point_2& p, const Point_2& q, const Point_2& r)` that returns the center of the circle passing through the points `p`, `q`, and `r`. + + \pre The points `p`, `q`, and `r` are not collinear. */ typedef unspecified_type Construct_circumcenter_2; diff --git a/Weights/doc/Weights/Concepts/AnalyticWeightTraits_3.h b/Weights/doc/Weights/Concepts/AnalyticWeightTraits_3.h index 65799b5b240..7b8d336b95a 100644 --- a/Weights/doc/Weights/Concepts/AnalyticWeightTraits_3.h +++ b/Weights/doc/Weights/Concepts/AnalyticWeightTraits_3.h @@ -6,7 +6,7 @@ namespace Weights { \cgalConcept A concept that describes the set of requirements of the template parameter -`GeomTraits` used to parameterize several classes and functions with 3D weights +`GeomTraits` used to parameterize several classes and functions from the namespace `CGAL::Weights`. \cgalHasModel @@ -30,20 +30,15 @@ typedef unspecified_type FT; /// @{ /*! - A model of `Kernel::Point_3`. + 3D point type. */ typedef unspecified_type Point_3; /*! - A model of `Kernel::Vector_3`. + 3D vector type. */ typedef unspecified_type Vector_3; -/*! - A model of `Kernel::Angle_3`. -*/ -typedef unspecified_type Angle_3; - /// @} /// \name Constructions @@ -91,6 +86,8 @@ typedef unspecified_type Construct_cross_product_vector_3; `%Point_3 operator()(const Point_3& p, const Point_3& q, const Point_3& r)` that returns the center of the circle passing through the points `p`, `q`, and `r`. + + \pre The points `p`, `q`, and `r` are not collinear. */ typedef unspecified_type Construct_circumcenter_3; diff --git a/Weights/doc/Weights/Concepts/BarycentricWeights_2.h b/Weights/doc/Weights/Concepts/BarycentricWeights_2.h index 250b403d357..c2139143e9e 100644 --- a/Weights/doc/Weights/Concepts/BarycentricWeights_2.h +++ b/Weights/doc/Weights/Concepts/BarycentricWeights_2.h @@ -5,8 +5,8 @@ namespace Weights { \ingroup PkgWeightsRefConcepts \cgalConcept -A concept that describes the set of methods required in all classes for computing -2D generalized barycentric weights with respect to polygons. +A concept that describes the set of methods required in all classes used in +the computation of 2D generalized barycentric weights. \cgalHasModel - `CGAL::Weights::Wachspress_weights_2` @@ -21,11 +21,14 @@ public: fills a destination range with 2D generalized barycentric weights computed at the `query` point with respect to the vertices of the input polygon. - The number of computed weights equals to the number of polygon vertices. + \tparam OutIterator + a model of `OutputIterator` whose value type is `FieldNumberType` + + The number of computed weights is equal to the number of polygon vertices. */ - template - OutputIterator operator()( - const Point_2& query, OutputIterator w_begin) + template + OutIterator operator()( + const Point_2& query, OutIterator w_begin) { } }; diff --git a/Weights/doc/Weights/PackageDescription.txt b/Weights/doc/Weights/PackageDescription.txt index e68abe5afb6..6814672770f 100644 --- a/Weights/doc/Weights/PackageDescription.txt +++ b/Weights/doc/Weights/PackageDescription.txt @@ -7,14 +7,13 @@ namespace Weights { \defgroup PkgWeightsRefConcepts Concepts \ingroup PkgWeightsRef -Concepts, which are used to parameterize/define the functions and classes -from `CGAL::Weights`. +Concepts which are used to parameterize and define the functions and classes of this package. \defgroup PkgWeightsRefAnalytic Analytic Weights \ingroup PkgWeightsRef -Models and functions that can be used to compute weights, which have a simple analytic expression. +Models and functions that can be used to compute weights which have a simple analytic expression. \defgroup PkgWeightsRefUniformWeights Uniform Weight @@ -26,8 +25,6 @@ This weight is always equal to 1. a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points -\note The type `FT` is a model of `FieldNumberType`. - \addtogroup PkgWeightsRefAnalytic @@ -53,7 +50,6 @@ a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points \pre d != 0 -\note The type `FT` is a model of `FieldNumberType`. \addtogroup PkgWeightsRefAnalytic @@ -74,14 +70,13 @@ Alternative formulations are explained in \ref Weights_Implementation. \cgalFigureEnd \cgalHeading{Alternative Formulations} -- This weight is a special case of the \ref PkgWeightsRefShepardWeights "Shepard Weight". +This weight is a special case of the \ref PkgWeightsRefShepardWeights "Shepard Weight". \tparam GeomTraits a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points \pre d != 0 -\note The type `FT` is a model of `FieldNumberType`. \addtogroup PkgWeightsRefAnalytic @@ -94,7 +89,7 @@ This weight is computed as with notations shown in the figure below and \f$a\f$ any real number being the power parameter. -Here, `q` is a query point and the points `p0`, `p1`, and `p2` are ordered. +Here, `q` is a query point and the points `p0`, `p1`, and `p2` are its neighbors. This weight supports only planar configurations (see more in section about \ref Weights_Implementation_Coplanarity) while alternative formulations are explained in \ref Weights_Implementation. @@ -119,7 +114,6 @@ a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points \pre A1 != 0 && A2 != 0 -\note The type `FT` is a model of `FieldNumberType`. \addtogroup PkgWeightsRefAnalytic @@ -131,7 +125,7 @@ This weight is computed as \f$w = \frac{C}{A_1 A_2}\f$ with notations shown in the figure below. -Here, `q` is a query point and the points `p0`, `p1`, and `p2` are ordered. +Here, `q` is a query point and the points `p0`, `p1`, and `p2` are its neighbors. This weight supports only planar configurations (see more in section about \ref Weights_Implementation_Coplanarity) while alternative formulations are explained in \ref Weights_Implementation. @@ -149,7 +143,6 @@ a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points \pre A1 != 0 && A2 != 0 -\note The type `FT` is a model of `FieldNumberType`. \addtogroup PkgWeightsRefAnalytic @@ -161,7 +154,7 @@ This weight is computed as \f$w = 2 \frac{\cot\beta + \cot\gamma}{d^2}\f$ with notations shown in the figure below. -Here, `q` is a query point and the points `p0`, `p1`, and `p2` are ordered. +Here, `q` is a query point and the points `p0`, `p1`, and `p2` are its neighbors. Alternative formulations are explained in \ref Weights_Implementation. @@ -178,7 +171,6 @@ a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points \pre d != 0 -\note The type `FT` is a model of `FieldNumberType`. \addtogroup PkgWeightsRefAnalytic @@ -196,7 +188,7 @@ with notations shown in the figure below and dot products The \f$\pm\f$ sign is a sign of the weight that depends on the configuration. -Here, `q` is a query point and the points `p0`, `p1`, and `p2` are ordered. +Here, `q` is a query point and the points `p0`, `p1`, and `p2` are its neighbors. This weight supports only planar configurations (see more in section about \ref Weights_Implementation_Coplanarity) while alternative formulations are explained in \ref Weights_Implementation. @@ -214,7 +206,6 @@ a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points \pre (d * d1 + D1) != 0 && (d * d2 + D2) != 0 -\note The type `FT` is a model of `FieldNumberType`. \addtogroup PkgWeightsRefAnalytic @@ -231,7 +222,7 @@ with notations shown in the figure below and dot products \f$D_1 = (p_0 - q) \cdot (p_1 - q)\f$ and \f$D_2 = (p_1 - q) \cdot (p_2 - q)\f$. -Here, `q` is a query point and the points `p0`, `p1`, and `p2` are ordered. +Here, `q` is a query point and the points `p0`, `p1`, and `p2` are its neighbors. Alternative formulations are explained in \ref Weights_Implementation. @@ -248,7 +239,6 @@ a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points \pre (d * d1 + D1) != 0 && (d * d2 + D2) != 0 && d != 0 -\note The type `FT` is a model of `FieldNumberType`. \addtogroup PkgWeightsRefAnalytic @@ -260,7 +250,7 @@ This weight is computed as \f$w = \frac{d_2^2 A_1 - d^2 B + d_1^2 A_2}{A_1 A_2}\f$ with notations shown in the figure below. -Here, `q` is a query point and the points `p0`, `p1`, and `p2` are ordered. +Here, `q` is a query point and the points `p0`, `p1`, and `p2` are its neighbors. This weight supports only planar configurations (see more in section about \ref Weights_Implementation_Coplanarity) while alternative formulations are explained in \ref Weights_Implementation. @@ -278,7 +268,6 @@ a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points \pre A1 != 0 && A2 != 0 -\note The type `FT` is a model of `FieldNumberType`. \addtogroup PkgWeightsRefAnalytic @@ -290,7 +279,7 @@ This weight is computed as \f$w = 2 (\cot\beta + \cot\gamma)\f$ with notations shown in the figure below. -Here, `q` is a query point and the points `p0`, `p1`, and `p2` are ordered. +Here, `q` is a query point and the points `p0`, `p1`, and `p2` are its neighbors. Alternative formulations are explained in \ref Weights_Implementation. @@ -306,8 +295,6 @@ Alternative formulations are explained in \ref Weights_Implementation. a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points -\note The type `FT` is a model of `FieldNumberType`. - \addtogroup PkgWeightsRefAnalytic @@ -321,7 +308,7 @@ to polygons. These weights are then normalized in order to obtain barycentric co \defgroup PkgWeightsRefBarycentricWachspressWeights Wachspress Weights \ingroup PkgWeightsRefBarycentric -Wachspress weights, which can be computed for a query point with respect to the +Wachspress weights which can be computed for a query point with respect to the vertices of a strictly convex polygon. \addtogroup PkgWeightsRefBarycentric @@ -330,7 +317,7 @@ vertices of a strictly convex polygon. \defgroup PkgWeightsRefBarycentricMeanValueWeights Mean Value Weights \ingroup PkgWeightsRefBarycentric -Mean value weights, which can be computed for a query point with respect to the +Mean value weights which can be computed for a query point with respect to the vertices of a simple polygon. \addtogroup PkgWeightsRefBarycentric @@ -339,7 +326,7 @@ vertices of a simple polygon. \defgroup PkgWeightsRefBarycentricDiscreteHarmonicWeights Discrete Harmonic Weights \ingroup PkgWeightsRefBarycentric -Discrete Harmonic weights, which can be computed for a query point with respect to the +Discrete Harmonic weights which can be computed for a query point with respect to the vertices of a strictly convex polygon. \addtogroup PkgWeightsRefBarycentric @@ -361,8 +348,6 @@ This weight is always equal to 1. a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points -\note The type `FT` is a model of `FieldNumberType`. - \addtogroup PkgWeightsRefRegions @@ -380,8 +365,6 @@ the triangle `[p, q, r]`. a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points -\note The type `FT` is a model of `FieldNumberType`. - \addtogroup PkgWeightsRefRegions @@ -400,8 +383,6 @@ the triangle `[p, q, r]`. a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points -\note The type `FT` is a model of `FieldNumberType`. - \addtogroup PkgWeightsRefRegions @@ -420,8 +401,6 @@ the triangle `[p, q, r]`. a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points -\note The type `FT` is a model of `FieldNumberType`. - \sa \ref PkgWeightsRefMixedVoronoiRegionWeights "Mixed Voronoi Region Weight" \addtogroup PkgWeightsRefRegions @@ -451,8 +430,6 @@ the figure below. a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points -\note The type `FT` is a model of `FieldNumberType`. - \sa \ref PkgWeightsRefVoronoiRegionWeights "Voronoi Region Weight" \addtogroup PkgWeightsRefRegions @@ -461,7 +438,7 @@ a model of `AnalyticWeightTraits_3` for 3D points \defgroup PkgWeightsRefUtils Utility Functions \ingroup PkgWeightsRef -Different related utility functions. +Various related utility functions. \defgroup PkgWeightsRefTangents Tangent @@ -474,8 +451,6 @@ the angle `[p, q, r]` in 2D or 3D. a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points -\note The type `FT` is a model of `FieldNumberType`. - \addtogroup PkgWeightsRefUtils @@ -489,8 +464,6 @@ the angle `[p, q, r]` in 2D or 3D. a model of `AnalyticWeightTraits_2` for 2D points; a model of `AnalyticWeightTraits_3` for 3D points -\note The type `FT` is a model of `FieldNumberType`. - \addtogroup PkgWeightsRefUtils @@ -510,7 +483,7 @@ weights, and weighting regions. All weights are available both in 2D and 3D.} \cgalPkgSummaryEnd \cgalPkgShortInfoBegin -\cgalPkgSince{5.3} +\cgalPkgSince{5.4} \cgalPkgBib{cgal:a-wi} \cgalPkgLicense{\ref licensesGPL "GPL"} \cgalPkgDemo{Polyhedron demo, polyhedron_3.zip} diff --git a/Weights/doc/Weights/Weights.txt b/Weights/doc/Weights/Weights.txt index 104d2b22adb..e2fda3c3c89 100644 --- a/Weights/doc/Weights/Weights.txt +++ b/Weights/doc/Weights/Weights.txt @@ -12,17 +12,17 @@ namespace Weights { Many geometric algorithms rely on the intermediate computation of scalars, so-called *weights*, which are then used for solving different linear systems or to favor one result over another, -so-called *weighting*. This package provides a simple and unified interface +also known as *weighting*. This package provides a simple and unified interface to different types of weights. -A typical example of a geometric algorithm that requires weights is a *Laplace smoothing* +A typical example of a geometric algorithm that requires weights is the *Laplace smoothing* of a triangle mesh: \f$v_i \leftarrow v_i + h \lambda\Delta v_i\f$, -where \f$v_i\f$ is a position of the mesh vertex \f$i\f$, \f$h\f$ is a sufficiently -small time step, \f$\lambda\f$ is a scalar diffusion coefficient, and \f$\Delta v_i\f$ -is a discrete average of the *Laplace-Beltrami operator* at vertex \f$v_i\f$ computed +where \f$v_i\f$ is the position of the mesh vertex \f$i\f$, \f$h\f$ is a sufficiently +small time step, \f$\lambda\f$ is the scalar diffusion coefficient, and \f$\Delta v_i\f$ +is the discrete average of the *Laplace-Beltrami operator* at vertex \f$v_i\f$ computed using the *cotangent weights*: \f$\Delta v_i = w_i\sum_{v_j \in N_1(v_i)} w_{ij} (v_j - v_i)\f$, @@ -34,12 +34,12 @@ Here, the weights \f$w_{ij}\f$ can be computed using the \ref PkgWeightsRefCotangentWeights "cotangent weight" and the local averaging domain can be computed using the \ref PkgWeightsRefMixedVoronoiRegionWeights "mixed Voronoi region weight". The -algorithm above smooths the mesh geometry that leads to a smoother version of the +algorithm above smooths the mesh geometry, resulting in a higher quality version of the original mesh. The full example of the discretized *Laplacian* for all vertices of a triangle mesh can be found \ref Weights_Examples_WeightedLaplacian "here". There are many other scenarios where the weights from this package are used. In particular, -the following \cgal packages depend on this package: +the following \cgal packages make use of weights described in this package: \ref PkgBarycentricCoordinates2 "2D Generalized Barycentric Coordinates", \ref PkgPolygonMeshProcessing "Polygon Mesh Processing", \ref PkgSurfaceMeshDeformation "Triangulated Surface Mesh Deformation", @@ -57,31 +57,31 @@ three typical groups of weights: - \ref PkgWeightsRefAnalytic "Analytic Weights" include all basic weights which can be computed for a query point with respect to its local -neighbors in 2D or 3D, whatever way these neighbors are defined. Usually, the configuration is +neighbors in 2D or 3D, however these neighbors are defined. Usually, the configuration is a query point and three other points. These weights return one unique value per query point. - \ref PkgWeightsRefBarycentric "Barycentric Weights" include all weights which can be computed for a query point with respect to the vertices -of a polygon in XY or any other plane. These weights return \f$n\f$ values per query +of a planar polygon. These weights return \f$n\f$ values per query point, where \f$n\f$ is the number of polygon vertices. Barycentric weights are also used for computing \ref PkgBarycentricCoordinates2 "2D barycentric coordinates". - \ref PkgWeightsRefRegions "Weighting Regions" include all weights which are used to balance other weights but are rarely used on their own. -Sometimes, such weights are referred as *local averaging regions*. These weights are usually -lengths, areas, and volumes of 2D and 3D objects. +Sometimes, such weights are also referred to as *local averaging regions*. These weights +are usually lengths, areas, and volumes of 2D and 3D objects. \section Weights_Implementation Implementation -All weights have a simple and unified interface. In particular, all analytic weights take -a query point and three other points in 2D or 3D and return a unique scalar. They all +All weight functions have a simple and unified interface. In particular, all analytic weight functions +usually take a query point and three other points in 2D or 3D and return a unique scalar. They all have the same signature and are parameterized by a traits class that must be a model of `AnalyticWeightTraits_2` for 2D computations or `AnalyticWeightTraits_3` for 3D computations. -The barycentric weights are parameterized by a traits class of the concept -`AnalyticWeightTraits_2` and are all models of the concept `BarycentricWeights_2`. +The barycentric weight functions are parameterized by a traits class of the concept +`AnalyticWeightTraits_2` and they are all models of the concept `BarycentricWeights_2`. They take an input polygon and a query point and compute the weights at this point -with respect to all vertices of the polygon. The weights are then returned in a -container providing the corresponding output iterator. These weights also provide a +with respect to all vertices of the polygon. The computed weights are then returned in a +container providing the corresponding output iterator. These weight functions also provide a \ref PkgPropertyMap "property map" mechanism for mapping a user type of the polygon vertex to `CGAL::Point_2`. @@ -89,13 +89,13 @@ All weighting regions have the same signature and are parameterized by a traits of the concept `AnalyticWeightTraits_2` or `AnalyticWeightTraits_3`. The returned weight is a unique scalar. -The parameter `traits` with a traits class can be omitted for all functions and classes -if it can be deduced from the input point type. +The `traits` parameter can be omitted for all functions and classes if it can be deduced +from the input point type using `CGAL::Kernel_traits`. Several weights in this package have different implementations. One reason to have it is explained in section about \ref Weights_Implementation_Coplanarity. Another reason is that -in different communities the same weights are named and computed differently. If one searches -for these weights, one needs to know all their alternative names, which is tiresome. We provide +the same weights are named and computed differently in different communities. If one searches +for these weights, one needs to know all their alternative names which is problematic. We provide the most common names and implementations of these weights. @@ -108,7 +108,7 @@ and [\f$q\f$, \f$p_1\f$, \f$p_2\f$]. When working in 3D, these triangles are not necessarily coplanar, in other words, they do not belong to the same common plane. Certain weights in this package support only coplanar configurations, while other weights support both. -The weights, which support non-coplanar configurations, provide the corresponding overloads with 3D points, +The weights which support non-coplanar configurations, provide the corresponding overloads with 3D points, while other weights accept only 2D point types. For example, \ref PkgWeightsRefCotangentWeights "cotangent weights" support both coplanar and non-coplanar configurations, while \ref PkgWeightsRefDiscreteHarmonicWeights "discrete harmonic weights" support only coplanar configurations. @@ -116,13 +116,13 @@ support only coplanar configurations. \subsection Weights_Implementation_Boundaries Boundaries -None of the weights in this package is defined for query points on the boundaries. The boundary cases include: +None of the weights in this package are defined for query points on boundaries. The boundary cases include: - *edges*, for example [\f$p_0\f$, \f$p_1\f$] or [\f$p_1\f$, \f$p_2\f$] or any polygon edge and - *corners*, for example \f$p_0\f$, \f$p_1\f$, or \f$p_2\f$ or any polygon corner. -Several weights also require other conditions to be satisifed. You should address the -reference manual for more details. +Several weights also require additional conditions to be satisifed. Consult the reference +manual for more details. \section Weights_Examples Examples diff --git a/Weights/include/CGAL/Weights/authalic_weights.h b/Weights/include/CGAL/Weights/authalic_weights.h index a826fd5f8f0..94e5c931bf3 100644 --- a/Weights/include/CGAL/Weights/authalic_weights.h +++ b/Weights/include/CGAL/Weights/authalic_weights.h @@ -112,7 +112,7 @@ namespace Weights { \ingroup PkgWeightsRefAuthalicWeights \brief computes the authalic weight in 2D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K. + and `p2` which are parameterized by a `Kernel` K. */ template typename K::FT authalic_weight( @@ -125,7 +125,7 @@ namespace Weights { \ingroup PkgWeightsRefAuthalicWeights \brief computes the authalic weight in 3D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K. + and `p2` which are parameterized by a `Kernel` K. */ template typename K::FT authalic_weight( diff --git a/Weights/include/CGAL/Weights/barycentric_region_weights.h b/Weights/include/CGAL/Weights/barycentric_region_weights.h index 161dbca725c..6f2c5c98bd4 100644 --- a/Weights/include/CGAL/Weights/barycentric_region_weights.h +++ b/Weights/include/CGAL/Weights/barycentric_region_weights.h @@ -54,7 +54,7 @@ namespace Weights { \ingroup PkgWeightsRefBarycentricRegionWeights \brief computes the area of the barycentric cell in 2D using the points `p`, `q` - and `r`, which are parameterized by a `Kernel` K. + and `r` which are parameterized by a `Kernel` K. */ template typename K::FT barycentric_area( @@ -66,7 +66,7 @@ namespace Weights { \ingroup PkgWeightsRefBarycentricRegionWeights \brief computes the area of the barycentric cell in 3D using the points `p`, `q` - and `r`, which are parameterized by a `Kernel` K. + and `r` which are parameterized by a `Kernel` K. */ template typename K::FT barycentric_area( diff --git a/Weights/include/CGAL/Weights/cotangent_weights.h b/Weights/include/CGAL/Weights/cotangent_weights.h index 363d1a24f7b..8eff434c8f0 100644 --- a/Weights/include/CGAL/Weights/cotangent_weights.h +++ b/Weights/include/CGAL/Weights/cotangent_weights.h @@ -93,7 +93,7 @@ namespace Weights { \ingroup PkgWeightsRefCotangentWeights \brief computes the cotangent weight in 2D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K. + and `p2` which are parameterized by a `Kernel` K. */ template typename K::FT cotangent_weight( @@ -106,7 +106,7 @@ namespace Weights { \ingroup PkgWeightsRefCotangentWeights \brief computes the cotangent weight in 3D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K. + and `p2` which are parameterized by a `Kernel` K. */ template typename K::FT cotangent_weight( diff --git a/Weights/include/CGAL/Weights/discrete_harmonic_weights.h b/Weights/include/CGAL/Weights/discrete_harmonic_weights.h index b31901614c5..a492c032221 100644 --- a/Weights/include/CGAL/Weights/discrete_harmonic_weights.h +++ b/Weights/include/CGAL/Weights/discrete_harmonic_weights.h @@ -63,7 +63,7 @@ namespace Weights { \ingroup PkgWeightsRefDiscreteHarmonicWeights \brief computes the discrete harmonic weight in 2D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K. + and `p2` which are parameterized by a `Kernel` K. */ template typename K::FT discrete_harmonic_weight( @@ -151,7 +151,7 @@ namespace Weights { \brief 2D discrete harmonic weights for polygons. This class implements 2D discrete harmonic weights ( \cite cgal:bc:fhk-gcbcocp-06, - \cite cgal:pp-cdmsc-93, \cite cgal:bc:eddhls-maam-95 ), which can be computed + \cite cgal:pp-cdmsc-93, \cite cgal:bc:eddhls-maam-95 ) which can be computed at any point inside a strictly convex polygon. Discrete harmonic weights are well-defined inside a strictly convex polygon @@ -253,7 +253,7 @@ namespace Weights { This function fills a destination range with 2D discrete harmonic weights computed at the `query` point with respect to the vertices of the input polygon. - The number of computed weights equals to the number of polygon vertices. + The number of computed weights is equal to the number of polygon vertices. \tparam OutIterator a model of `OutputIterator` whose value type is `FT` @@ -375,7 +375,7 @@ namespace Weights { Internally, the class `Discrete_harmonic_weights_2` is used. If one wants to process multiple query points, it is better to use that class. When using the free function, internal memory is allocated for each query point, while when using the class, - it is allocated only once, which is much more efficient. However, for a few query + it is allocated only once which is much more efficient. However, for a few query points, it is easier to use this function. It can also be used when the processing time is not a concern. @@ -390,7 +390,7 @@ namespace Weights { a model of `AnalyticWeightTraits_2` \param polygon - an instance of `PointRange` with 2D points, which form a strictly convex polygon + an instance of `PointRange` with 2D points which form a strictly convex polygon \param query a query point diff --git a/Weights/include/CGAL/Weights/internal/utils.h b/Weights/include/CGAL/Weights/internal/utils.h index c0e3f52f81c..d136e8d2faf 100644 --- a/Weights/include/CGAL/Weights/internal/utils.h +++ b/Weights/include/CGAL/Weights/internal/utils.h @@ -454,7 +454,7 @@ namespace internal { // The common plane that is used in this example is projectable to the XY plane. We first // compute `Mean_value_weights_2` for a 3D polygon in this plane. We then also show how to use // the projection traits to compute the \ref PkgWeightsRefWachspressWeights "2D Wachspress weight" - // for 3D points, which are not strictly coplanar. + // for 3D points which are not strictly coplanar. // \cgalExample{Weights/projection_traits.cpp} @@ -470,7 +470,7 @@ namespace internal { // e.g. 0 - Wachspress (WP) weight. // const FT wp = FT(0); - // Compute WP weights for q1, which is not on the plane [p0, p1, p2]. + // Compute WP weights for q1 which is not on the plane [p0, p1, p2]. // Point_3 q1(3, 1, 2); // std::cout << "3D wachspress (WP, q1): "; diff --git a/Weights/include/CGAL/Weights/mean_value_weights.h b/Weights/include/CGAL/Weights/mean_value_weights.h index 5f9fa4039db..9aeb5cca0ef 100644 --- a/Weights/include/CGAL/Weights/mean_value_weights.h +++ b/Weights/include/CGAL/Weights/mean_value_weights.h @@ -97,7 +97,7 @@ namespace Weights { \ingroup PkgWeightsRefMeanValueWeights \brief computes the mean value weight in 2D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K. + and `p2` which are parameterized by a `Kernel` K. */ template typename K::FT mean_value_weight( @@ -196,7 +196,7 @@ namespace Weights { \brief 2D mean value weights for polygons. This class implements 2D mean value weights ( \cite cgal:bc:hf-mvcapp-06, - \cite cgal:bc:fhk-gcbcocp-06, \cite cgal:f-mvc-03 ), which can be computed + \cite cgal:bc:fhk-gcbcocp-06, \cite cgal:f-mvc-03 ) which can be computed at any point inside and outside a simple polygon. Mean value weights are well-defined inside and outside a simple polygon and are @@ -302,7 +302,7 @@ namespace Weights { This function fills a destination range with 2D mean value weights computed at the `query` point with respect to the vertices of the input polygon. - The number of computed weights equals to the number of polygon vertices. + The number of computed weights is equal to the number of polygon vertices. \tparam OutIterator a model of `OutputIterator` whose value type is `FT` @@ -445,7 +445,7 @@ namespace Weights { Internally, the class `Mean_value_weights_2` is used. If one wants to process multiple query points, it is better to use that class. When using the free function, internal memory is allocated for each query point, while when using the class, - it is allocated only once, which is much more efficient. However, for a few query + it is allocated only once which is much more efficient. However, for a few query points, it is easier to use this function. It can also be used when the processing time is not a concern. @@ -460,7 +460,7 @@ namespace Weights { a model of `AnalyticWeightTraits_2` \param polygon - an instance of `PointRange` with 2D points, which form a simple polygon + an instance of `PointRange` with 2D points which form a simple polygon \param query a query point diff --git a/Weights/include/CGAL/Weights/mixed_voronoi_region_weights.h b/Weights/include/CGAL/Weights/mixed_voronoi_region_weights.h index 5f8a228e061..cc65dd46f44 100644 --- a/Weights/include/CGAL/Weights/mixed_voronoi_region_weights.h +++ b/Weights/include/CGAL/Weights/mixed_voronoi_region_weights.h @@ -54,7 +54,7 @@ namespace Weights { \ingroup PkgWeightsRefMixedVoronoiRegionWeights \brief computes the area of the mixed Voronoi cell in 2D using the points `p`, `q` - and `r`, which are parameterized by a `Kernel` K. + and `r` which are parameterized by a `Kernel` K. */ template typename K::FT mixed_voronoi_area( @@ -66,7 +66,7 @@ namespace Weights { \ingroup PkgWeightsRefMixedVoronoiRegionWeights \brief computes the area of the mixed Voronoi cell in 3D using the points `p`, `q` - and `r`, which are parameterized by a `Kernel` K. + and `r` which are parameterized by a `Kernel` K. */ template typename K::FT mixed_voronoi_area( diff --git a/Weights/include/CGAL/Weights/shepard_weights.h b/Weights/include/CGAL/Weights/shepard_weights.h index 036f823d7e1..68c126f5a7e 100644 --- a/Weights/include/CGAL/Weights/shepard_weights.h +++ b/Weights/include/CGAL/Weights/shepard_weights.h @@ -82,7 +82,7 @@ namespace Weights { \ingroup PkgWeightsRefShepardWeights \brief computes the Shepard weight in 2D using the points `p` and `q`, - which are parameterized by a `Kernel` K, and the power parameter `a`, which + which are parameterized by a `Kernel` K, and the power parameter `a` which can be omitted. */ template @@ -97,7 +97,7 @@ namespace Weights { \ingroup PkgWeightsRefShepardWeights \brief computes the Shepard weight in 3D using the points `p` and `q`, - which are parameterized by a `Kernel` K, and the power parameter `a`, which + which are parameterized by a `Kernel` K, and the power parameter `a` which can be omitted. */ template @@ -138,7 +138,7 @@ namespace Weights { \ingroup PkgWeightsRefShepardWeights \brief computes the Shepard weight in 2D using the points `p` and `q`, - which are parameterized by a `Kernel` K, and the power parameter `a`, which + which are parameterized by a `Kernel` K, and the power parameter `a` which can be omitted. */ template @@ -151,7 +151,7 @@ namespace Weights { \ingroup PkgWeightsRefShepardWeights \brief computes the Shepard weight in 3D using the points `p` and `q`, - which are parameterized by a `Kernel` K, and the power parameter `a`, which + which are parameterized by a `Kernel` K, and the power parameter `a` which can be omitted. */ template diff --git a/Weights/include/CGAL/Weights/tangent_weights.h b/Weights/include/CGAL/Weights/tangent_weights.h index fa5116c6026..4dd05a99ca4 100644 --- a/Weights/include/CGAL/Weights/tangent_weights.h +++ b/Weights/include/CGAL/Weights/tangent_weights.h @@ -281,7 +281,7 @@ namespace Weights { \ingroup PkgWeightsRefTangentWeights \brief computes the tangent weight in 2D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K. + and `p2` which are parameterized by a `Kernel` K. */ template typename K::FT tangent_weight( @@ -294,7 +294,7 @@ namespace Weights { \ingroup PkgWeightsRefTangentWeights \brief computes the tangent weight in 3D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K. + and `p2` which are parameterized by a `Kernel` K. */ template typename K::FT tangent_weight( diff --git a/Weights/include/CGAL/Weights/three_point_family_weights.h b/Weights/include/CGAL/Weights/three_point_family_weights.h index 29a03965c4b..d29282fecdc 100644 --- a/Weights/include/CGAL/Weights/three_point_family_weights.h +++ b/Weights/include/CGAL/Weights/three_point_family_weights.h @@ -79,7 +79,7 @@ namespace Weights { \ingroup PkgWeightsRefThreePointFamilyWeights \brief computes the three-point family weight in 2D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K, and the power parameter `a`, which + and `p2` which are parameterized by a `Kernel` K, and the power parameter `a` which can be omitted. */ template diff --git a/Weights/include/CGAL/Weights/triangular_region_weights.h b/Weights/include/CGAL/Weights/triangular_region_weights.h index cb359be2c08..a693c7220e4 100644 --- a/Weights/include/CGAL/Weights/triangular_region_weights.h +++ b/Weights/include/CGAL/Weights/triangular_region_weights.h @@ -54,7 +54,7 @@ namespace Weights { \ingroup PkgWeightsRefTriangularRegionWeights \brief computes the area of the triangular cell in 2D using the points `p`, `q` - and `r`, which are parameterized by a `Kernel` K. + and `r` which are parameterized by a `Kernel` K. */ template typename K::FT triangular_area( @@ -66,7 +66,7 @@ namespace Weights { \ingroup PkgWeightsRefTriangularRegionWeights \brief computes the area of the triangular cell in 3D using the points `p`, `q` - and `r`, which are parameterized by a `Kernel` K. + and `r` which are parameterized by a `Kernel` K. */ template typename K::FT triangular_area( diff --git a/Weights/include/CGAL/Weights/uniform_region_weights.h b/Weights/include/CGAL/Weights/uniform_region_weights.h index 7e285a6f102..53175294a36 100644 --- a/Weights/include/CGAL/Weights/uniform_region_weights.h +++ b/Weights/include/CGAL/Weights/uniform_region_weights.h @@ -53,7 +53,7 @@ namespace Weights { /*! \ingroup PkgWeightsRefUniformRegionWeights - \brief this function always returns 1, given three points in 2D, which are + \brief this function always returns 1, given three points in 2D which are parameterized by a `Kernel` K. */ template @@ -65,7 +65,7 @@ namespace Weights { /*! \ingroup PkgWeightsRefUniformRegionWeights - \brief this function always returns 1, given three points in 3D, which are + \brief this function always returns 1, given three points in 3D which are parameterized by a `Kernel` K. */ template diff --git a/Weights/include/CGAL/Weights/uniform_weights.h b/Weights/include/CGAL/Weights/uniform_weights.h index c7fe41e0254..867a7817b3a 100644 --- a/Weights/include/CGAL/Weights/uniform_weights.h +++ b/Weights/include/CGAL/Weights/uniform_weights.h @@ -55,7 +55,7 @@ namespace Weights { /*! \ingroup PkgWeightsRefUniformWeights - \brief this function always returns 1, given four points in 2D, which are + \brief this function always returns 1, given four points in 2D which are parameterized by a `Kernel` K. */ template @@ -68,7 +68,7 @@ namespace Weights { /*! \ingroup PkgWeightsRefUniformWeights - \brief this function always returns 1, given four points in 3D, which are + \brief this function always returns 1, given four points in 3D which are parameterized by a `Kernel` K. */ template diff --git a/Weights/include/CGAL/Weights/utils.h b/Weights/include/CGAL/Weights/utils.h index cdb4e60a2e2..0c1cc3f4ca2 100644 --- a/Weights/include/CGAL/Weights/utils.h +++ b/Weights/include/CGAL/Weights/utils.h @@ -57,7 +57,7 @@ namespace Weights { \ingroup PkgWeightsRefTangents \brief computes the tangent of the angle between the vectors `[q, r]` and `[q, p]` - using the 2D points `p`, `q` and `r`, which are parameterized by a `Kernel` K. + using the 2D points `p`, `q` and `r` which are parameterized by a `Kernel` K. */ template typename K::FT tangent( @@ -69,7 +69,7 @@ namespace Weights { \ingroup PkgWeightsRefTangents \brief computes the tangent of the angle between the vectors `[q, r]` and `[q, p]` - using the 3D points `p`, `q` and `r`, which are parameterized by a `Kernel` K. + using the 3D points `p`, `q` and `r` which are parameterized by a `Kernel` K. */ template typename K::FT tangent( @@ -109,7 +109,7 @@ namespace Weights { \ingroup PkgWeightsRefCotangents \brief computes the cotangent of the angle between the vectors `[q, r]` and `[q, p]` - using the 2D points `p`, `q` and `r`, which are parameterized by a `Kernel` K. + using the 2D points `p`, `q` and `r` which are parameterized by a `Kernel` K. */ template typename K::FT cotangent( @@ -121,7 +121,7 @@ namespace Weights { \ingroup PkgWeightsRefCotangents \brief computes the cotangent of the angle between the vectors `[q, r]` and `[q, p]` - using the 3D points `p`, `q` and `r`, which are parameterized by a `Kernel` K. + using the 3D points `p`, `q` and `r` which are parameterized by a `Kernel` K. */ template typename K::FT cotangent( diff --git a/Weights/include/CGAL/Weights/voronoi_region_weights.h b/Weights/include/CGAL/Weights/voronoi_region_weights.h index be1a4d78fc2..a0bb6ff1b2f 100644 --- a/Weights/include/CGAL/Weights/voronoi_region_weights.h +++ b/Weights/include/CGAL/Weights/voronoi_region_weights.h @@ -54,7 +54,7 @@ namespace Weights { \ingroup PkgWeightsRefVoronoiRegionWeights \brief computes the area of the Voronoi cell in 2D using the points `p`, `q` - and `r`, which are parameterized by a `Kernel` K. + and `r` which are parameterized by a `Kernel` K. */ template typename K::FT voronoi_area( @@ -66,7 +66,7 @@ namespace Weights { \ingroup PkgWeightsRefVoronoiRegionWeights \brief computes the area of the Voronoi cell in 3D using the points `p`, `q` - and `r`, which are parameterized by a `Kernel` K. + and `r` which are parameterized by a `Kernel` K. */ template typename K::FT voronoi_area( diff --git a/Weights/include/CGAL/Weights/wachspress_weights.h b/Weights/include/CGAL/Weights/wachspress_weights.h index b2088aaab3f..67571cfae6b 100644 --- a/Weights/include/CGAL/Weights/wachspress_weights.h +++ b/Weights/include/CGAL/Weights/wachspress_weights.h @@ -61,7 +61,7 @@ namespace Weights { \ingroup PkgWeightsRefWachspressWeights \brief computes the Wachspress weight in 2D at `q` using the points `p0`, `p1`, - and `p2`, which are parameterized by a `Kernel` K. + and `p2` which are parameterized by a `Kernel` K. */ template typename K::FT wachspress_weight( @@ -140,7 +140,7 @@ namespace Weights { \brief 2D Wachspress weights for polygons. This class implements 2D Wachspress weights ( \cite cgal:bc:fhk-gcbcocp-06, - \cite cgal:bc:mlbd-gbcip-02, \cite cgal:bc:w-rfeb-75 ), which can be computed + \cite cgal:bc:mlbd-gbcip-02, \cite cgal:bc:w-rfeb-75 ) which can be computed at any point inside a strictly convex polygon. Wachspress weights are well-defined and non-negative inside a strictly convex polygon. @@ -239,7 +239,7 @@ namespace Weights { This function fills a destination range with 2D Wachspress weights computed at the `query` point with respect to the vertices of the input polygon. - The number of computed weights equals to the number of polygon vertices. + The number of computed weights is equal to the number of polygon vertices. \tparam OutIterator a model of `OutputIterator` whose value type is `FT` @@ -355,7 +355,7 @@ namespace Weights { Internally, the class `Wachspress_weights_2` is used. If one wants to process multiple query points, it is better to use that class. When using the free function, internal memory is allocated for each query point, while when using the class, - it is allocated only once, which is much more efficient. However, for a few query + it is allocated only once which is much more efficient. However, for a few query points, it is easier to use this function. It can also be used when the processing time is not a concern. @@ -370,7 +370,7 @@ namespace Weights { a model of `AnalyticWeightTraits_2` \param polygon - an instance of `PointRange` with 2D points, which form a strictly convex polygon + an instance of `PointRange` with 2D points which form a strictly convex polygon \param query a query point