cgal/Surface_mesh_parameterization/doc/Surface_mesh_parameterization/PackageDescription.txt

167 lines
7.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, Mael Rouxel-Labbé, 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
As Rigid As Possible Parameterization, Discrete Authalic Parameterization,
Discrete Conformal Map, Floater Mean Value Coordinates, Least Squares Conformal Maps,
Orbifold Tutte Embedding, or Tutte Barycentric Mapping.
The code is generic and works with any model of the `FaceListGraph` concept.}
\cgalPkgManuals{Chapter_Planar_Parameterization_of_Triangulated_Surface_Meshes, PkgSurfaceParameterization}
\cgalPkgSummaryEnd
\cgalPkgShortInfoBegin
\cgalPkgSince{3.2}
\cgalPkgDependsOn{\ref PkgSolverSummary}
\cgalPkgBib{cgal:salf-pptsm2}
\cgalPkgLicense{\ref licensesGPL "GPL"}
\cgalPkgDemo{Polyhedron demo,polyhedron_3.zip}
\cgalPkgShortInfoEnd
\cgalPkgDescriptionEnd
\cgalClassifedRefPages
## Main Function ##
- `CGAL::Surface_mesh_parameterization::parameterize()`
## Concepts ##
- `Parameterizer_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.
- Discrete Authalic Parameterization \cgalCite{cgal:dma-ipsm-02} :
Conditionally guaranteed if all weights are positive and border is convex.
- Discrete Conformal Map \cgalCite{cgal:eddhls-maam-95} :
Conditionally guaranteed if all weights are positive and border is convex.
- Floater Mean Value Coordinates \cgalCite{cgal:f-mvc-03} :
One-to-one mapping is guaranteed for convex border.
- Free border:
- As Rigid As Possible Parameterization \cgalCite{liu2008local}
- Least Squares Conformal Maps \cgalCite{cgal:lprm-lscm-02}.
- Borderless:
- Orbifold Tutte Embeddings \cgalCite{aigerman2015orbifold}.
The following classes implement the methods listed above:
- `CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
- `CGAL::Surface_mesh_parameterization::Barycentric_mapping_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
- `CGAL::Surface_mesh_parameterization::Discrete_authalic_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
- `CGAL::Surface_mesh_parameterization::Discrete_conformal_map_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
- `CGAL::Surface_mesh_parameterization::LSCM_parameterizer_3<TriangleMesh, BorderParameterizer>`
- `CGAL::Surface_mesh_parameterization::Mean_value_coordinates_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
- `CGAL::Surface_mesh_parameterization::Orbifold_Tutte_parameterizer_3<TriangleMesh, SolverTraits>`
## 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 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).
The following classes implement the methods listed above:
- `CGAL::Surface_mesh_parameterization::Circular_border_uniform_parameterizer_3<TriangleMesh>`
- `CGAL::Surface_mesh_parameterization::Circular_border_arc_length_parameterizer_3<TriangleMesh>`
- `CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
- `CGAL::Surface_mesh_parameterization::Square_border_uniform_parameterizer_3<TriangleMesh>`
- `CGAL::Surface_mesh_parameterization::Square_border_arc_length_parameterizer_3<TriangleMesh>`
- `CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3<TriangleMesh>`
## Mesh ##
The general definition of input meshes handled directly by
`CGAL::Surface_mesh_parameterization::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.
- For <i>free</i> border parameterizations:
- Preconditions:
- the input mesh is triangular.
- the input mesh is a surface with one connected component.
- For <i>borderless</i> parameterizations:
- Preconditions:
- the input mesh is triangular.
- the input mesh is a surface with one connected component.
*/
/// \defgroup PkgSurfaceParameterizationMainFunction Main Function
/// \ingroup PkgSurfaceParameterization
/// \defgroup PkgSurfaceParameterizationEnums Enums
/// \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:
- As Rigid As Possible Maps \cgalCite{liu2008local}
- Least Squares Conformal Maps \cgalCite{cgal:lprm-lscm-02}.
- Borderless:
- Orbifold Tutte Embeddings \cgalCite{aigerman2015orbifold}
*/
/*!
\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 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).
*/
*/