This commit is contained in:
Andreas Fabri 2016-11-14 19:35:46 +01:00 committed by Mael Rouxel-Labbé
parent a8f82f4382
commit 59a04915db
9 changed files with 50 additions and 50 deletions

View File

@ -129,7 +129,7 @@ Such border parameterizations are described in Section
\subsubsection Surface_mesh_parameterizationTutteBarycentric Tutte Barycentric Mapping
`CGAL::Surface_mesh_parameterization::Barycentric_mapping_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
`Surface_mesh_parameterization::Barycentric_mapping_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
The Barycentric Mapping parameterization method has been introduced by
Tutte \cgalCite{t-hdg-63}. In parameter space, each vertex is
@ -150,7 +150,7 @@ Left: Tutte barycentric mapping parameterization (the red line depicts the cut g
\subsubsection Surface_mesh_parameterizationDiscreteConformal Discrete Conformal Map
`CGAL::Surface_mesh_parameterization::Discrete_conformal_map_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
`Surface_mesh_parameterization::Discrete_conformal_map_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
Discrete conformal map parameterization has been introduced to the graphics community
by Eck et al. \cgalCite{cgal:eddhls-maam-95}. It attempts to
@ -172,7 +172,7 @@ Left: discrete conformal map. Right: parameter space.
\subsubsection Surface_mesh_parameterizationFloaterMean Floater Mean Value Coordinates
`CGAL::Surface_mesh_parameterization::Mean_value_coordinates_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
`Surface_mesh_parameterization::Mean_value_coordinates_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
The mean value coordinates parameterization method has been introduced
by Floater \cgalCite{cgal:f-mvc-03}. Each vertex in parameter space is
@ -190,7 +190,7 @@ Floater Mean Value Coordinates
\subsubsection Surface_mesh_parameterizationDiscreteAuthalic Discrete Authalic Parameterization
`CGAL::Surface_mesh_parameterization::Discrete_authalic_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
`Surface_mesh_parameterization::Discrete_authalic_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
The discrete authalic parameterization method has been introduced by
Desbrun et al. \cgalCite{cgal:dma-ipsm-02}. It corresponds to
@ -239,10 +239,10 @@ All combinations of uniform/arc-length and circle/square are provided by
the following classes:
<UL>
<LI>`CGAL::Surface_mesh_parameterization::Circular_border_arc_length_parameterizer_3<TriangleMesh>`
<LI>`CGAL::Surface_mesh_parameterization::Circular_border_uniform_parameterizer_3<TriangleMesh>`
<LI>`CGAL::Surface_mesh_parameterization::Square_border_arc_length_parameterizer_3<TriangleMesh>`
<LI>`CGAL::Surface_mesh_parameterization::Square_border_uniform_parameterizer_3<TriangleMesh>`
<LI>`Surface_mesh_parameterization::Circular_border_arc_length_parameterizer_3<TriangleMesh>`
<LI>`Surface_mesh_parameterization::Circular_border_uniform_parameterizer_3<TriangleMesh>`
<LI>`Surface_mesh_parameterization::Square_border_arc_length_parameterizer_3<TriangleMesh>`
<LI>`Surface_mesh_parameterization::Square_border_uniform_parameterizer_3<TriangleMesh>`
</UL>
An illustration of the use of different border parameterizers can be found in the
@ -252,7 +252,7 @@ example `Surface_mesh_parameterization/square_border_parameterizer.cpp`.
\subsubsection Surface_mesh_parameterizationLeastSquares Least Squares Conformal Maps
`CGAL::Surface_mesh_parameterization::LSCM_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
`Surface_mesh_parameterization::LSCM_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
The Least Squares Conformal Maps (LSCM) parameterization method has
been introduced by L&eacute;vy et al. \cgalCite{cgal:lprm-lscm-02}.
@ -269,7 +269,7 @@ Least squares conformal maps.
\subsubsection Surface_mesh_parameterizationARAP As Rigid As Possible Parameterization
`CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
`Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
An as rigid as possible parameterization was introduced by Liu et al. \cgalCite{liu2008local}.
shape-preserving method based on an iterative energy minimization process.
@ -292,9 +292,9 @@ the pinned vertices.
<UL>
<LI>`Two_vertices_parameterizer_3<TriangleMesh>`
<LI>`Surface_mesh_parameterization::Two_vertices_parameterizer_3<TriangleMesh>`
<I>Usage:</I> `Two_vertices_parameterizer_3<TriangleMesh>` is the default
<I>Usage:</I> `Surface_mesh_parameterization::Two_vertices_parameterizer_3<TriangleMesh>` is the default
free border parameterization, and is the only one available
in the current version of this package.

View File

@ -37,13 +37,13 @@ namespace Surface_mesh_parameterization {
/// \ingroup PkgSurfaceParameterizationMethods
///
/// The class Barycentric_mapping_parameterizer_3 implements <i>Tutte Barycentric
/// Mapping algorithm</i> \cgalCite{t-hdg-63}. This algorithm is also called
/// <i>Tutte Uniform Weights</i> by other authors.
/// The class `Barycentric_mapping_parameterizer_3` implements <i>Tutte Barycentric
/// Mapping algorithm</i>. This algorithm is also called
/// <i>Tutte Uniform Weights</i> by other authors \cgalCite{t-hdg-63}.
///
/// A one-to-one mapping is guaranteed if the surface's border is mapped to a convex polygon.
///
/// This class is a *Strategy* \cgalCite{cgal:ghjv-dpero-95} called by the main
/// This class is a strategy called by the main
/// parameterization algorithm `Fixed_border_parameterizer_3::parameterize()` and it:
/// - provides the template parameters `BorderParameterizer_3` and `SparseLinearAlgebraTraits_d`.
/// - implements compute_w_ij() to compute `w_ij = (i,j)`, coefficient of
@ -53,11 +53,11 @@ namespace Surface_mesh_parameterization {
/// \cgalModels `Parameterizer_3`
///
/// \tparam TriangleMesh must be a model of `FaceGraph`.
/// \tparam BorderParameterizer_3 is a Strategy to parameterize the surface border
/// \tparam BorderParameterizer_3 is a strategy to parameterize the surface border
/// and must be a model of `Parameterizer_3`.
/// \tparam SparseLinearAlgebraTraits_d is a Traits class to solve a sparse linear system. <br>
/// \tparam SparseLinearAlgebraTraits_d is a traits class to solve a sparse linear system. <br>
/// Note: the system is *not* symmetric because `Fixed_border_parameterizer_3`
/// does not remove (yet) border vertices from the system.
/// does not remove border vertices from the system.
/*!
\sa `CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`

View File

@ -178,7 +178,7 @@ public:
/// in a uniform manner: points are equally spaced.
///
/// Circular_border_parameterizer_3 implements most of the border parameterization
/// algorithm. This class implements only compute_edge_length() to compute a
/// algorithm. This class implements only `compute_edge_length()` to compute a
/// segment's length.
///
/// \cgalModels `Parameterizer_3`
@ -224,7 +224,7 @@ protected:
/// \ingroup PkgSurfaceParameterizationBorderParameterizationMethods
///
/// This class parameterizes the border of a 3D surface onto a circle,
/// with an arc-length parameterization: the (u,v) values are proportional
/// with an arc-length parameterization: the `(u,v)` values are proportional
/// to the length of border edges.
/// The class `Circular_border_parameterizer_3` implements most of the border
/// parameterization algorithm.
@ -266,7 +266,7 @@ protected:
{
const PPM ppmap = get(vertex_point, mesh);
/// Arc-length border parameterization: (u,v) values are proportional
/// Arc-length border parameterization: `(u,v)` values are proportional
/// to the length of border edges.
Vector_3 v = get(ppmap, target) - get(ppmap, source);
return CGAL::sqrt(v * v);

View File

@ -40,15 +40,15 @@ namespace Surface_mesh_parameterization {
/// \ingroup PkgSurfaceParameterizationMethods
///
/// The class `Discrete_authalic_parameterizer_3`
/// implements the *Discrete Authalic Parameterization* algorithm \cgalCite{cgal:dma-ipsm-02}. This method
/// is sometimes called <i>DAP</i> or just <i>Authalic parameterization</i>.
/// implements the *Discrete Authalic Parameterization* algorithm. This method
/// is sometimes called <i>DAP</i> or just <i>Authalic parameterization</i> \cgalCite{cgal:dma-ipsm-02}.
///
/// DAP is a weak area-preserving parameterization. It is a compromise between
/// area-preserving and angle-preserving.
///
/// A one-to-one mapping is guaranteed if the surface's border is mapped onto a convex polygon.
///
/// This class is a *Strategy* \cgalCite{cgal:ghjv-dpero-95} called by the main
/// This class is a strategy called by the main
/// parameterization algorithm `Fixed_border_parameterizer_3::parameterize()` and it:
/// - provides the template parameters `BorderParameterizer_3` and `SparseLinearAlgebraTraits_d`.
/// - implements `compute_w_ij()` to compute w_ij = (i, j), coefficient of the matrix A
@ -57,11 +57,11 @@ namespace Surface_mesh_parameterization {
/// \cgalModels `Parameterizer_3`
///
/// \tparam TriangleMesh must be a model of `FaceGraph`
/// \tparam BorderParameterizer_3 is a Strategy to parameterize the surface border
/// \tparam BorderParameterizer_3 is a strategy to parameterize the surface border
/// and must be a model of `Parameterizer_3`.
/// \tparam SparseLinearAlgebraTraits_d is a Traits class to solve a sparse linear system. <br>
/// \tparam SparseLinearAlgebraTraits_d is a traits class to solve a sparse linear system. <br>
/// Note: the system is *not* symmetric because `Fixed_border_parameterizer_3`
/// does not remove (yet) border vertices from the system.
/// does not remove border vertices from the system.
///
/// \sa `CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
/// \sa `CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`

View File

@ -39,16 +39,16 @@ namespace Surface_mesh_parameterization {
/// \ingroup PkgSurfaceParameterizationMethods
///
/// The class Discrete_conformal_map_parameterizer_3
/// implements the <i>Discrete Conformal Map (DCM)</i> parameterization \cgalCite{cgal:eddhls-maam-95}.
/// The class `Discrete_conformal_map_parameterizer_3`
/// implements the <i>Discrete Conformal Map (DCM)</i> parameterization.
/// This algorithm is also called <i>Discrete Conformal Parameterization (DCP)</i>,
/// <i>Discrete Harmonic Map</i> or <i>Fixed Conformal Parameterization</i> by other authors.
/// <i>Discrete Harmonic Map</i> or <i>Fixed Conformal Parameterization</i> by other authors \cgalCite{cgal:eddhls-maam-95}.
///
/// This is a conformal parameterization, i.e. it attempts to preserve angles.
///
/// A one-to-one mapping is guaranteed if the surface's border is mapped onto a convex polygon.
///
/// This class is a *Strategy* \cgalCite{cgal:ghjv-dpero-95} called by the main
/// This class is a strategy called by the main
/// parameterization algorithm `Fixed_border_parameterizer_3::parameterize()` and it:
/// - provides the template parameters `BorderParameterizer_3` and `SparseLinearAlgebraTraits_d`.
/// - implements `compute_w_ij()` to compute w_ij = (i, j), coefficient of matrix A
@ -57,11 +57,11 @@ namespace Surface_mesh_parameterization {
/// \cgalModels `Parameterizer_3`
///
/// \param TriangleMesh must be a model of `FaceGraph`.
/// \param BorderParameterizer_3 is a Strategy to parameterize the surface border
/// \param BorderParameterizer_3 is a strategy to parameterize the surface border
/// and must be a model of `Parameterizer_3`.
/// \param SparseLinearAlgebraTraits_d is a Traits class to solve a sparse linear system. <br>
/// \param SparseLinearAlgebraTraits_d is a traits class to solve a sparse linear system. <br>
/// Note: the system is *not* symmetric because `Fixed_border_parameterizer_3`
/// does not remove (yet) border vertices from the system.
/// does not remove border vertices from the system.
///
/// \sa `CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
/// \sa `CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`

View File

@ -68,7 +68,7 @@ namespace Surface_mesh_parameterization {
/// \cgalModels `Parameterizer_3`
///
/// \tparam TriangleMesh must be a model of `FaceGraph`
/// \tparam BorderParameterizer_3 is a Strategy to parameterize the surface border
/// \tparam BorderParameterizer_3 is a strategy to parameterize the surface border
/// and must be a model of `Parameterizer_3`. <br>
/// Note: The minimum is to parameterize two vertices.
/// \tparam SparseLinearAlgebraTraits_d Traits class to solve a sparse linear system. <br>

View File

@ -38,9 +38,9 @@ namespace Surface_mesh_parameterization {
/// \ingroup PkgSurfaceParameterizationMethods
///
/// The class Mean_value_coordinates_parameterizer_3
/// implements *Floater Mean Value Coordinates* parameterization \cgalCite{cgal:f-mvc-03}.
/// This method is sometimes called simply *Floater parameterization*.
/// The class `Mean_value_coordinates_parameterizer_3`
/// implements *Floater Mean Value Coordinates* parameterization.
/// This method is sometimes called simply *Floater parameterization* \cgalCite{cgal:f-mvc-03}.
///
/// This is a conformal parameterization, i.e. it attempts to preserve angles.
///
@ -48,7 +48,7 @@ namespace Surface_mesh_parameterization {
///
/// This class is used by the main parameterization algorithm
/// `Fixed_border_parameterizer_3::parameterize()`.
/// - It provides default` BorderParameterizer_3` and `SparseLinearAlgebraTraits_d` template
/// - It provides default `BorderParameterizer_3` and `SparseLinearAlgebraTraits_d` template
/// parameters.
/// - It implements `compute_w_ij()` to compute w_ij = (i, j) coefficient of matrix A
/// for j neighbor vertex of i based on Floater Mean Value Coordinates parameterization.
@ -57,11 +57,11 @@ namespace Surface_mesh_parameterization {
/// \cgalModels `Parameterizer_3`
///
/// \tparam TriangleMesh must be a model of `FaceGraph`
/// \tparam BorderParameterizer_3 is a Strategy to parameterize the surface border
/// \tparam BorderParameterizer_3 is a strategy to parameterize the surface border
/// and must be a model of `Parameterizer_3`.
/// \tparam SparseLinearAlgebraTraits_d is a Traits class to solve a sparse linear system. <br>
/// \tparam SparseLinearAlgebraTraits_d is a traits class to solve a sparse linear system. <br>
/// Note: the system is *not* symmetric because `Fixed_border_parameterizer_3`
/// does not remove (yet) border vertices from the system.
/// does not remove border vertices from the system.
///
/// \sa `CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
/// \sa `CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`

View File

@ -369,10 +369,10 @@ public:
/// in a uniform manner: points are equally spaced.
///
/// Square_border_parameterizer_3 implements most of the border parameterization
/// algorithm. This class implements only compute_edge_length() to compute a
/// algorithm. This class implements only `compute_edge_length()` to compute a
/// segment's length.
///
/// \cgalModels `BorderParameterizer_3`
/// \cgalModels `Parameterizer_3`
///
/// \sa `CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3<TriangleMesh>`
/// \sa `CGAL::Surface_mesh_parameterization::Square_border_arc_length_parameterizer_3<TriangleMesh>`
@ -430,11 +430,11 @@ protected:
/// \ingroup PkgSurfaceParameterizationBorderParameterizationMethods
///
/// This class parameterizes the border of a 3D surface onto a square,
/// with an arc-length parameterization: (u,v) values are
/// with an arc-length parameterization: `(u,v)` values are
/// proportional to the length of border edges.
///
/// Square_border_parameterizer_3 implements most of the border parameterization
/// algorithm. This class implements only compute_edge_length() to compute a
/// algorithm. This class implements only `compute_edge_length()` to compute a
/// segment's length.
///
/// \tparam TriangleMesh must be a model of `FaceGraph`.
@ -486,7 +486,7 @@ protected:
{
const PPM ppmap = get(vertex_point, mesh);
/// In this arc-length border parameterization: the (u,v) values are
/// In this arc-length border parameterization: the `(u,v)` values are
/// proportional to the length of the border edges.
Vector_3 v = get(ppmap, target) - get(ppmap, source);
return std::sqrt(v * v);

View File

@ -48,11 +48,11 @@ namespace Surface_mesh_parameterization {
/// This kind of border parameterization is used by free border parameterizations.
///
/// Implementation note:
/// To simplify the implementation, models of the concept `BorderParameterizer_3`
/// To simplify the implementation, models of the concept `Parameterizer_3`
/// know only the `TriangleMesh` class. They do not know the parameterization
/// algorithm requirements or the kind of sparse linear system that is used.
///
/// \cgalModels `BorderParameterizer_3`
/// \cgalModels `Parameterizer_3`
///
/// \tparam TriangleMesh must be a model of `FaceGraph`.
///