\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.13.1 - Planar Parameterization of Triangulated Surface Meshes

Definition

Parameterizer_3 is a concept of parameterization object for a given type of mesh, TriangleMesh, which must be a model of the FaceGraph concept.

Border parameterizers are also models of this concept but they only parameterize the border of a given mesh.

Creation

Construction and destruction are undefined.

Has Models:

CGAL::Surface_mesh_parameterization::Fixed_border_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>

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, SolverTraits>

CGAL::Surface_mesh_parameterization::Mean_value_coordinates_parameterizer_3<TriangleMesh, BorderParameterizer, SolverTraits>

CGAL::Surface_mesh_parameterization::Orbifold_Tutte_parameterizer_3<SeamMesh, SolverTraits>

CGAL::Surface_mesh_parameterization::Circular_border_parameterizer_3<TriangleMesh>

CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3<TriangleMesh>

CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3<TriangleMesh>

Types

typedef unspecified_type TriangleMesh
 A given polygon mesh type, TriangleMesh, which is a model of the FaceGraph concept.
 
typedef boost::graph_traits< TriangleMesh >::halfedge_descriptor halfedge_descriptor
 

Operations

template<typename VertexUVMap , typename VertexIndexMap , typename VertexParameterizedMap >
Error_code parameterize (const TriangleMesh &mesh, halfedge_descriptor bhd, VertexUVMap uvmap, VertexIndexMap vimap, VertexParameterizedMap vpmap)
 Assign a 2D position (i.e. a (u, v) pair) on the shape to (some of) the vertices of the mesh. More...
 

Member Function Documentation

◆ parameterize()

template<typename VertexUVMap , typename VertexIndexMap , typename VertexParameterizedMap >
Error_code Parameterizer_3::parameterize ( const TriangleMesh mesh,
halfedge_descriptor  bhd,
VertexUVMap  uvmap,
VertexIndexMap  vimap,
VertexParameterizedMap  vpmap 
)

Assign a 2D position (i.e. a (u, v) pair) on the shape to (some of) the vertices of the mesh.

Mark them as parameterized.

Template Parameters
VertexUVmapmust be a model of ReadWritePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and Point_2 (type deduced from TriangleMesh using Kernel_traits) as value type.
VertexIndexMapmust be a model of ReadablePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and a unique integer as value type.
VertexParameterizedMapmust be a model of ReadWritePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and a Boolean as value type.
Parameters
mesha triangulated surface.
bhda halfedge descriptor on the boundary of mesh.
uvmapan instanciation of the class VertexUVmap.
vimapan instanciation of the class VertexIndexMap.
vpmapan instanciation of the class VertexParameterizedMap.
Precondition
mesh must be a triangular mesh.
The vertices must be indexed (vimap must be initialized)