CGAL 5.5.2 - 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.
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. More... | |
MVC_post_processor_3 (Solver_traits sparse_la=Solver_traits()) | |
Constructor. More... | |
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 instanciation of the class VertexUVmap . |
vimap | an instanciation of the class VertexIndexMap . |