CGAL 5.2 - Planar Parameterization of Triangulated Surface Meshes
CGAL::Surface_mesh_parameterization::Square_border_arc_length_parameterizer_3< TriangleMesh_ > Class Template Reference

#include <CGAL/Surface_mesh_parameterization/Square_border_parameterizer_3.h>

Inherits from

CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3< TriangleMesh_ >.

Definition

This class parameterizes the border of a 3D surface onto a square, with an arc-length parameterization: (u,v) values are proportional to the length of border edges.

Square_border_parameterizer_3 implements most of the border parameterization algorithm. This class implements only compute_edge_length() to compute a segment's length.

Attention
The square border parameterizer may create degenerate faces in the parameterization: if an input border vertex has valence 1 and if it is mapped to the same edge of the square as its two adjacent (border) vertices, for example.
Template Parameters
TriangleMesh_must be a model of FaceGraph.
Is Model Of:
Parameterizer_3
See also
CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3<TriangleMesh>
CGAL::Surface_mesh_parameterization::Square_border_uniform_parameterizer_3<TriangleMesh>

Public Member Functions

 Square_border_arc_length_parameterizer_3 ()
 Constructor.
 
 Square_border_arc_length_parameterizer_3 (vertex_descriptor v0, vertex_descriptor v1, vertex_descriptor v2, vertex_descriptor v3)
 Constructor with user-defined corners: the user provides four vertices of the border of the mesh, which will be parameterized to the corners of the square. More...
 
- Public Member Functions inherited from CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3< TriangleMesh_ >
template<typename VertexUVMap , typename VertexIndexMap , typename VertexParameterizedMap >
Error_code parameterize (const Triangle_mesh &mesh, halfedge_descriptor bhd, VertexUVMap uvmap, VertexIndexMap, VertexParameterizedMap vpmap)
 assigns to the vertices of the border of the mesh a 2D position (i.e. a (u,v) pair) on the border's shape. More...
 
bool is_border_convex () const
 indicates if the border's shape is convex.
 
 Square_border_parameterizer_3 ()
 Constructor.
 
 Square_border_parameterizer_3 (vertex_descriptor v0, vertex_descriptor v1, vertex_descriptor v2, vertex_descriptor v3)
 Constructor with user-defined corners: the user provides four vertices of the border of the mesh, which will be parameterized to the corners of the square. More...
 

Protected Member Functions

virtual NT compute_edge_length (const Triangle_mesh &mesh, vertex_descriptor source, vertex_descriptor target) const
 Compute the length of an edge. More...
 

Additional Inherited Members

- Public Types inherited from CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3< TriangleMesh_ >
typedef TriangleMesh_ Triangle_mesh
 Triangle mesh type.
 
typedef boost::graph_traits< Triangle_mesh >::vertex_descriptor vertex_descriptor
 Mesh vertex type.
 
typedef boost::graph_traits< Triangle_mesh >::halfedge_descriptor halfedge_descriptor
 Mesh halfedge type.
 

Constructor & Destructor Documentation

◆ Square_border_arc_length_parameterizer_3()

Constructor with user-defined corners: the user provides four vertices of the border of the mesh, which will be parameterized to the corners of the square.

Precondition
The given vertices must be on the border.

Member Function Documentation

◆ compute_edge_length()

template<class TriangleMesh_ >
virtual NT CGAL::Surface_mesh_parameterization::Square_border_arc_length_parameterizer_3< TriangleMesh_ >::compute_edge_length ( const Triangle_mesh mesh,
vertex_descriptor  source,
vertex_descriptor  target 
) const
protectedvirtual

Compute the length of an edge.

In this arc-length border parameterization: the (u,v) values are proportional to the length of the border edges.

Implements CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3< TriangleMesh_ >.