mirror of https://github.com/CGAL/cgal
157 lines
6.1 KiB
Plaintext
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).
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|