|
CGAL 6.0 - Planar Parameterization of Triangulated Surface Meshes
|
#include <CGAL/Surface_mesh_parameterization/MVC_post_processor_3.h>
The class MVC_post_processor_3 implements the Free boundary linear Parameterization algorithm [7].
This parameterizer provides a post processing step to other parameterizers that do not necessarily return a valid embedding. It is based on the convexification of the initial (2D) parameterization and the resolution of a linear system with coefficients based on Mean Value Coordinates.
Parameterizer_3 | TriangleMesh_ | must be a model of FaceGraph. |
| SolverTraits_ | must be a model of SparseLinearAlgebraTraits_d.Default: If Eigen 3.1 (or greater) is available and CGAL_EIGEN3_ENABLED is defined, then an overload of Eigen_solver_traits is provided as default parameter: Eigen::BiCGSTAB<Eigen_sparse_matrix<double>::EigenType,
Eigen::IncompleteLUT< double > > >
|
CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<TriangleMesh, BorderParameterizer_, Solver_traits> Public Types | |
| typedef SolverTraits_ | Solver_traits |
| Solver traits type. | |
| typedef TriangleMesh_ | Triangle_mesh |
| Triangle mesh type. | |
Public Member Functions | |
| template<typename VertexUVMap , typename VertexIndexMap > | |
| Error_code | parameterize (const Triangle_mesh &mesh, halfedge_descriptor bhd, VertexUVMap uvmap, const VertexIndexMap vimap) |
| computes a one-to-one mapping from a triangular 2D surface mesh that is not necessarily embedded to a piece of the 2D space. | |
| MVC_post_processor_3 (Solver_traits sparse_la=Solver_traits()) | |
| Constructor. | |
| CGAL::Surface_mesh_parameterization::MVC_post_processor_3< TriangleMesh_, SolverTraits_ >::MVC_post_processor_3 | ( | Solver_traits | sparse_la = Solver_traits() | ) |
Constructor.
| sparse_la | Traits object to access a sparse linear system. |
| Error_code CGAL::Surface_mesh_parameterization::MVC_post_processor_3< TriangleMesh_, SolverTraits_ >::parameterize | ( | const Triangle_mesh & | mesh, |
| halfedge_descriptor | bhd, | ||
| VertexUVMap | uvmap, | ||
| const VertexIndexMap | vimap | ||
| ) |
computes a one-to-one mapping from a triangular 2D surface mesh that is not necessarily embedded to a piece of the 2D space.
| VertexUVmap | must be a model of ReadWritePropertyMap with boost::graph_traits<Triangle_mesh>::vertex_descriptor as key type and Point_2 (type deduced from Triangle_mesh using Kernel_traits) as value type. |
| VertexIndexMap | must be a model of ReadablePropertyMap with boost::graph_traits<Triangle_mesh>::vertex_descriptor as key type and a unique integer as value type. |
| mesh | a triangulated surface. |
| bhd | a halfedge descriptor on the boundary of mesh. |
| uvmap | an instantiation of the class VertexUVmap. |
| vimap | an instantiation of the class VertexIndexMap. |