mirror of https://github.com/CGAL/cgal
Fix doc of Iterative_authalic_parameterization
This commit is contained in:
parent
495f6dbe1e
commit
d2cd147bad
|
|
@ -1153,6 +1153,12 @@ Teillaud"
|
||||||
URL = {https://hal.inria.fr/hal-01568002},
|
URL = {https://hal.inria.fr/hal-01568002},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@inproceedings{cgal:j-lrsspp-19,
|
||||||
|
title={Learning to Reconstruct Symmetric Shapes using Planar Parameterization of 3D Surface},
|
||||||
|
author={Jain, Hardik and Wollhaf, Manuel and Hellwich, Olaf},
|
||||||
|
booktitle={Proceedings of the IEEE International Conference on Computer Vision Workshops},
|
||||||
|
year={2019}
|
||||||
|
}
|
||||||
|
|
||||||
@book{ cgal:j-csl-99
|
@book{ cgal:j-csl-99
|
||||||
,author = "Nicolai M. Josuttis"
|
,author = "Nicolai M. Josuttis"
|
||||||
|
|
@ -1964,6 +1970,14 @@ ABSTRACT = {We present the first complete, exact and efficient C++ implementatio
|
||||||
update = "09.11 penarand"
|
update = "09.11 penarand"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@inproceedings{cgal:ssgh-tmpm-01,
|
||||||
|
title={Texture mapping progressive meshes},
|
||||||
|
author={Sander, Pedro V and Snyder, John and Gortler, Steven J and Hoppe, Hugues},
|
||||||
|
booktitle={Proceedings of the 28th annual conference on Computer graphics and interactive techniques},
|
||||||
|
pages={409--416},
|
||||||
|
year={2001}
|
||||||
|
}
|
||||||
|
|
||||||
@inproceedings{ cgal:s-cgehd-98
|
@inproceedings{ cgal:s-cgehd-98
|
||||||
,author = "Jonathan R. Shewchuk"
|
,author = "Jonathan R. Shewchuk"
|
||||||
,title = "A Condition Guaranteeing the Existence of Higher-Dimensional
|
,title = "A Condition Guaranteeing the Existence of Higher-Dimensional
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,8 @@ namespace Surface_mesh_parameterization {
|
||||||
/// \endcode
|
/// \endcode
|
||||||
///
|
///
|
||||||
/// \sa `CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
|
/// \sa `CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
|
||||||
|
/// \sa `CGAL::Surface_mesh_parameterization::Iterative_authalic_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
|
||||||
|
/// \sa `CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
|
||||||
///
|
///
|
||||||
template < class TriangleMesh_,
|
template < class TriangleMesh_,
|
||||||
class BorderParameterizer_ = Default,
|
class BorderParameterizer_ = Default,
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
#include <CGAL/Surface_mesh_parameterization/internal/kernel_traits.h>
|
#include <CGAL/Surface_mesh_parameterization/internal/kernel_traits.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/IO/File_off.h>
|
#include <CGAL/Surface_mesh_parameterization/IO/File_off.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/Error_code.h>
|
#include <CGAL/Surface_mesh_parameterization/Error_code.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/Square_border_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/Circular_border_parameterizer_3.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/Mean_value_coordinates_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/Mean_value_coordinates_parameterizer_3.h>
|
||||||
|
|
||||||
#include <CGAL/Default.h>
|
#include <CGAL/Default.h>
|
||||||
|
|
@ -24,8 +24,6 @@
|
||||||
#include <CGAL/Polygon_mesh_processing/measure.h>
|
#include <CGAL/Polygon_mesh_processing/measure.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/connected_components.h>
|
#include <CGAL/Polygon_mesh_processing/connected_components.h>
|
||||||
#include <CGAL/Polygon_mesh_processing/Weights.h>
|
#include <CGAL/Polygon_mesh_processing/Weights.h>
|
||||||
#include <CGAL/squared_distance_2.h> //for 2D functions
|
|
||||||
#include <CGAL/squared_distance_3.h> //for 3D functions
|
|
||||||
|
|
||||||
#if defined(CGAL_EIGEN3_ENABLED)
|
#if defined(CGAL_EIGEN3_ENABLED)
|
||||||
#include <CGAL/Eigen_solver_traits.h>
|
#include <CGAL/Eigen_solver_traits.h>
|
||||||
|
|
@ -48,32 +46,25 @@ namespace Surface_mesh_parameterization {
|
||||||
|
|
||||||
/// \ingroup PkgSurfaceMeshParameterizationMethods
|
/// \ingroup PkgSurfaceMeshParameterizationMethods
|
||||||
///
|
///
|
||||||
/// The class `Iterative_authalic_parameterizer_3`
|
/// The class `Iterative_authalic_parameterizer_3` implements the *Iterative Parameterization* algorithm,
|
||||||
/// implements the *Iterative Parameterization* algorithm.
|
/// as described by Jain et al. \cgalCite{cgal:j-lrsspp-19}.
|
||||||
///
|
///
|
||||||
/// A one-to-one mapping is guaranteed if the surface's border is mapped onto a convex polygon.
|
/// This parameterization is a fixed border parameterization and is part of the authalic
|
||||||
///
|
/// parameterization family, meaning that it aims to minimize area distortion
|
||||||
/// @fixme wrong description
|
/// between the input surface mesh and the parameterized output.
|
||||||
/// This class is a strategy called by the main parameterization algorithm
|
/// More precisely, the approach used by this parameterizer is to iteratively redistribute
|
||||||
/// `Fixed_border_iterative_parameterizer_3::parameterize()` and it:
|
/// the \f$ L_2\f$ stretch over the mesh, as defined by Sander et al. \cgalCite{cgal:ssgh-tmpm-01}.
|
||||||
/// - provides the template parameters `BorderParameterizer_` and `SolverTraits_`.
|
|
||||||
/// - implements `compute_w_ij()` to compute w_ij = (i, j), coefficient of the matrix A
|
|
||||||
/// for j neighbor vertex of i, based on Iterative Parameterization algorithm.
|
|
||||||
///
|
|
||||||
/// \cgalModels `Parameterizer_3`
|
|
||||||
///
|
///
|
||||||
/// \tparam TriangleMesh_ must be a model of `FaceGraph`.
|
/// \tparam TriangleMesh_ must be a model of `FaceGraph`.
|
||||||
///
|
|
||||||
/// \tparam BorderParameterizer_ is a Strategy to parameterize the surface border
|
/// \tparam BorderParameterizer_ is a Strategy to parameterize the surface border
|
||||||
/// and must be a model of `Parameterizer_3`.<br>
|
/// and must be a model of `Parameterizer_3`.<br>
|
||||||
/// <b>%Default:</b>
|
/// <b>%Default:</b>
|
||||||
/// \code
|
/// \code
|
||||||
/// Square_border_arc_length_parameterizer_3<TriangleMesh_>
|
/// Circular_border_arc_length_parameterizer_3<TriangleMesh_>
|
||||||
/// \endcode
|
/// \endcode
|
||||||
///
|
///
|
||||||
/// \tparam SolverTraits_ must be a model of `SparseLinearAlgebraTraits_d`.<br>
|
/// \tparam SolverTraits_ must be a model of `SparseLinearAlgebraTraits_d`.<br>
|
||||||
/// Note that the system is *not* symmetric because `Fixed_border_iterative_parameterizer_3`
|
/// Note that the system is *not* symmetric because border vertices are not removed from the system.<br>
|
||||||
/// does not remove border vertices from the system.<br>
|
|
||||||
/// <b>%Default:</b> If \ref thirdpartyEigen "Eigen" 3.1 (or greater) is available
|
/// <b>%Default:</b> If \ref thirdpartyEigen "Eigen" 3.1 (or greater) is available
|
||||||
/// and `CGAL_EIGEN3_ENABLED` is defined, then an overload of `Eigen_solver_traits`
|
/// and `CGAL_EIGEN3_ENABLED` is defined, then an overload of `Eigen_solver_traits`
|
||||||
/// is provided as default parameter:
|
/// is provided as default parameter:
|
||||||
|
|
@ -83,7 +74,8 @@ namespace Surface_mesh_parameterization {
|
||||||
/// Eigen::IncompleteLUT< double > > >
|
/// Eigen::IncompleteLUT< double > > >
|
||||||
/// \endcode
|
/// \endcode
|
||||||
///
|
///
|
||||||
/// \sa `CGAL::Surface_mesh_parameterization::Fixed_border_iterative_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
|
/// \sa `CGAL::Surface_mesh_parameterization::Discrete_authalic_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
|
||||||
|
/// \sa `CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>`
|
||||||
///
|
///
|
||||||
template <class TriangleMesh_,
|
template <class TriangleMesh_,
|
||||||
class BorderParameterizer_ = Default,
|
class BorderParameterizer_ = Default,
|
||||||
|
|
@ -93,7 +85,7 @@ class Iterative_authalic_parameterizer_3
|
||||||
public:
|
public:
|
||||||
#ifndef DOXYGEN_RUNNING
|
#ifndef DOXYGEN_RUNNING
|
||||||
typedef typename Default::Get<BorderParameterizer_,
|
typedef typename Default::Get<BorderParameterizer_,
|
||||||
Square_border_arc_length_parameterizer_3<TriangleMesh_> >::type Border_parameterizer;
|
Circular_border_arc_length_parameterizer_3<TriangleMesh_> >::type Border_parameterizer;
|
||||||
|
|
||||||
typedef typename Default::Get<SolverTraits_,
|
typedef typename Default::Get<SolverTraits_,
|
||||||
#if defined(CGAL_EIGEN3_ENABLED)
|
#if defined(CGAL_EIGEN3_ENABLED)
|
||||||
|
|
|
||||||
|
|
@ -22,12 +22,14 @@
|
||||||
#include <CGAL/Surface_mesh_parameterization/Barycentric_mapping_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/Barycentric_mapping_parameterizer_3.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/Discrete_authalic_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/Discrete_authalic_parameterizer_3.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/Discrete_conformal_map_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/Discrete_conformal_map_parameterizer_3.h>
|
||||||
|
#include <CGAL/Surface_mesh_parameterization/Iterative_authalic_parameterizer_3.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/LSCM_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/LSCM_parameterizer_3.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/Mean_value_coordinates_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/Mean_value_coordinates_parameterizer_3.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/MVC_post_processor_3.h>
|
#include <CGAL/Surface_mesh_parameterization/MVC_post_processor_3.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
|
||||||
|
|
||||||
#include <CGAL/Surface_mesh_parameterization/parameterize.h>
|
#include <CGAL/Surface_mesh_parameterization/parameterize.h>
|
||||||
|
#include <CGAL/Surface_mesh_parameterization/measure_distortion.h>
|
||||||
|
|
||||||
#include <CGAL/Surface_mesh_parameterization/Circular_border_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/Circular_border_parameterizer_3.h>
|
||||||
#include <CGAL/Surface_mesh_parameterization/Square_border_parameterizer_3.h>
|
#include <CGAL/Surface_mesh_parameterization/Square_border_parameterizer_3.h>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue