\( \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.14 - 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.

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 TriangleMesh &mesh, halfedge_descriptor bhd, VertexUVMap uvmap, VertexIndexMap, VertexParameterizedMap vpmap)
 Assign 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
 Indicate 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 TriangleMesh &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_ TriangleMesh
 
typedef boost::graph_traits< TriangleMesh >::vertex_descriptor vertex_descriptor
 
typedef boost::graph_traits< TriangleMesh >::halfedge_descriptor halfedge_descriptor
 
typedef Halfedge_around_face_iterator< TriangleMesh > halfedge_around_face_iterator
 
- Protected Types inherited from CGAL::Surface_mesh_parameterization::Square_border_parameterizer_3< TriangleMesh_ >
typedef internal::Kernel_traits< TriangleMesh >::PPM PPM
 
typedef internal::Kernel_traits< TriangleMesh >::Kernel Kernel
 
typedef Kernel::FT NT
 
typedef Kernel::Point_2 Point_2
 
typedef Kernel::Vector_3 Vector_3
 
typedef std::vector< NTOffset_map
 

Constructor & Destructor Documentation

◆ Square_border_arc_length_parameterizer_3()

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

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 TriangleMesh &  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_ >.