cgal/Surface_mesh_parameterization/doc/Surface_mesh_parameterization/PackageDescription.txt

157 lines
6.1 KiB
Plaintext

/// \defgroup PkgSurfaceParameterization Triangulated Surface Mesh Parameterization Reference
/*!
\addtogroup PkgSurfaceParameterization
\cgalPkgDescriptionBegin{Triangulated Surface Mesh Parameterization,PkgSurfaceParameterizationSummary}
\cgalPkgPicture{bimbaDetail.png}
\cgalPkgSummaryBegin
\cgalPkgAuthors{Laurent Saboret, Pierre Alliez, Bruno Lévy, and Andreas Fabri}
\cgalPkgDesc{Parameterizing a surface amounts to finding a one-to-one mapping from a suitable domain to the surface. In this package, we focus on triangulated surfaces that are homeomorphic to a disk and on piecewise linear mappings into a planar domain. This package implements several surface mesh parameterization methods, such as least squares conformal maps, discrete conformal map, discrete authalic parameterization, Floater mean value coordinates or Tutte barycentric mapping.}
\cgalPkgManuals{Chapter_Planar_Parameterization_of_Triangulated_Surface_Meshes,PkgSurfaceParameterization}
\cgalPkgSummaryEnd
\cgalPkgShortInfoBegin
\cgalPkgSince{3.2}
\cgalPkgDependsOn{\ref PkgSolverSummary}
\cgalPkgBib{cgal:sal-pptsm2}
\cgalPkgLicense{\ref licensesGPL "GPL"}
\cgalPkgDemo{Polyhedron demo,polyhedron_3.zip}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Main Function ##
- `CGAL::parameterize()`
## Concepts ##
- `ParameterizerTraits_3`
- `BorderParameterizer_3`
## Surface Parameterization Methods ##
This \cgal package implements several parameterization methods:
- Fixed border:
- Tutte Barycentric Mapping \cgalCite{t-hdg-63} :
One-to-one mapping is guaranteed for convex border.
- Floater Mean Value Coordinates \cgalCite{cgal:f-mvc-03} :
One-to-one mapping is guaranteed for convex border.
- Discrete Conformal Map \cgalCite{cgal:eddhls-maam-95} :
Conditionally guaranteed if all weights are positive and border is convex.
- Discrete Authalic parameterization \cgalCite{cgal:dma-ipsm-02} :
Conditionally guaranteed if all weights are positive and border is convex.
- Free border:
- Least Squares Conformal Maps \cgalCite{cgal:lprm-lscm-02}.
- `CGAL::Parameterizer_traits_3<TriangleMesh>`
- `CGAL::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::Barycentric_mapping_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::Discrete_authalic_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::Discrete_conformal_map_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
- `CGAL::LSCM_parameterizer_3<TriangleMesh, BorderParameterizer_3>`
- `CGAL::Mean_value_coordinates_parameterizer_3<TriangleMesh, BorderParameterizer_3, SparseLinearAlgebraTraits_d>`
## Border Parameterization Methods ##
Border parameterization methods define a
set of constraints (a constraint specifies two (u,v) coordinates for
each instance of a vertex along the border).
This package implements all common border parameterization methods:
- For fixed border methods:
- the user can select a border parameterization among two common methods:
uniform or arc-length parameterizations.
- the user can select a convex shape among a set of standard ones (circle, square).
- For free border methods: at least two constraints (the pinned vertices).
- `CGAL::Circular_border_uniform_parameterizer_3<TriangleMesh>`
- `CGAL::Circular_border_arc_length_parameterizer_3<TriangleMesh>`
- `CGAL::Square_border_uniform_parameterizer_3<TriangleMesh>`
- `CGAL::Square_border_arc_length_parameterizer_3<TriangleMesh>`
- `CGAL::Two_vertices_parameterizer_3<TriangleMesh>`
## Mesh ##
The general definition of input meshes handled directly by `CGAL::parameterize()`
is a triangulated surface mesh model of `FaceGraph` that is homeomorphic to a disc (may have holes).
In particular, it means that it must be 2-manifold and oriented.
## Checks and Assertions ##
The package performs the next checks:
- For <i>fixed</i> border parameterizations:
- Preconditions:
- the border is mapped onto a convex polygon.
- the input mesh is triangular.
- the input mesh is a surface with one connected component.
- Postconditions:
- one-to-one mapping.
- For <i>free</i> border parameterizations:
- Preconditions:
- the input mesh is triangular.
- the input mesh is a surface with one connected component.
- Postconditions:
- one-to-one mapping.
*/
/// \defgroup PkgSurfaceParameterizationMainFunction Main Function
/// \ingroup PkgSurfaceParameterization
/// \defgroup PkgSurfaceParameterizationConcepts Concepts
/// \ingroup PkgSurfaceParameterization
/*!
\defgroup PkgSurfaceParameterizationMethods Surface Parameterization Methods
\ingroup PkgSurfaceParameterization
This \cgal package implements several parameterization methods:
- Fixed border:
- Tutte Barycentric Mapping \cgalCite{t-hdg-63}.
One-to-one mapping is guaranteed for convex border.
- Floater Mean Value Coordinates \cgalCite{cgal:f-mvc-03}.
One-to-one mapping is guaranteed for convex border.
- Discrete Conformal Map \cgalCite{cgal:eddhls-maam-95}.
Conditionally guaranteed if all weights are positive and border is convex.
- Discrete Authalic parameterization \cgalCite{cgal:dma-ipsm-02}.
Conditionally guaranteed if all weights are positive and border is convex.
- Free border:
- Least Squares Conformal Maps \cgalCite{cgal:lprm-lscm-02}.
*/
/*!
\defgroup PkgSurfaceParameterizationBorderParameterizationMethods Border Parameterization Methods
\ingroup PkgSurfaceParameterization
Border parameterization methods define a
set of constraints (a constraint specifies two (u,v) coordinates for
each instance of a vertex along the border).
This package implements all common border parameterization methods:
- For fixed border methods:
- the user can select a border
parameterization among two common methods: uniform or
arc-length parameterizations.
- one convex shape specified by:
- one shape among a set of standard ones (circle, square).
- For free border methods: at least two constraints (the pinned
vertices).
*/
*/