mirror of https://github.com/CGAL/cgal
fixes
This commit is contained in:
parent
a8f82f4382
commit
59a04915db
|
|
@ -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é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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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>`
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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>`
|
||||
|
|
|
|||
|
|
@ -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>`
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>`
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
///
|
||||
|
|
|
|||
Loading…
Reference in New Issue