CGAL 6.0.1 - Planar Parameterization of Triangulated Surface Meshes
Loading...
Searching...
No Matches
CGAL::Surface_mesh_parameterization::Square_border_uniform_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

template<class TriangleMesh_>
class CGAL::Surface_mesh_parameterization::Square_border_uniform_parameterizer_3< TriangleMesh_ >

This class parameterizes the border of a 3D surface onto a square in a uniform manner: points are equally spaced.

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.
Is model of
Parameterizer_3
See also
CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3<TriangleMesh>
CGAL::Surface_mesh_parameterization::Square_border_arc_length_parameterizer_3<TriangleMesh>
Template Parameters
TriangleMesh_must be a model of FaceGraph.

Public Member Functions

 Square_border_uniform_parameterizer_3 ()
 Constructor.
 
 Square_border_uniform_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.
 
- 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.
 
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.
 

Protected Member Functions

virtual NT compute_edge_length (const Triangle_mesh &, vertex_descriptor, vertex_descriptor) const
 computes the length of an edge.
 

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_uniform_parameterizer_3()

template<class TriangleMesh_ >
CGAL::Surface_mesh_parameterization::Square_border_uniform_parameterizer_3< TriangleMesh_ >::Square_border_uniform_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.

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_uniform_parameterizer_3< TriangleMesh_ >::compute_edge_length ( const Triangle_mesh &  ,
vertex_descriptor  ,
vertex_descriptor   
) const
protectedvirtual

computes the length of an edge.

Uniform border parameterization: points are equally spaced.