\( \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 5.0 - Approximation of Ridges and Umbilics on Triangulated Surface Meshes
CGAL::Umbilic_approximation< TriangleMesh, VertexFTMap, VertexVectorMap > Class Template Reference

#include <CGAL/Umbilics.h>

Definition

The class Umbilic_approximation computes the approximation of umbilics on a triangular polyhedral surface.

Template Parameters
TriangleMeshis the surface type. In the following let K be Kernel_traits<boost::property_traits<TriangleMesh,CGAL::vertex_point_t>::value_type>::Kernel
VertexFTMapA property map with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and K::FT as value type.
VertexVectorMapA property map with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and K::Vector_3 as value type.
Precondition
(checked at compile time)
The types K::FT and boost::property_traits<VertexFTMap>::value_type must coincide.
The types K::Vector_3 and boost::property_traits<VertexVectorMap>::value_type must coincide.
The types boost::graph_traits<TriangleMesh>::vertex_descriptor, and boost::property_traits<VertexFTMap>::key_type, and boost::property_traits<VertexVectorMap>::key_type must coincide.
See also
Umbilic

Types

typedef TriangleMesh::Traits::FT FT
 

Creation

 Umbilic_approximation (const TriangleMesh &tm, VertexFTMap vertex_k1_pm, VertexFTMap vertex_k2_pm, VertexVectorMap vertex_d1_pm, VertexVectorMap vertex_d2_pm)
 Constructor. More...
 

Operations

template<class OutputIterator >
OutputIterator compute (OutputIterator it, FT size)
 Performs the approximation. More...
 

Constructor & Destructor Documentation

◆ Umbilic_approximation()

template<typename TriangleMesh , typename VertexFTMap , typename VertexVectorMap >
CGAL::Umbilic_approximation< TriangleMesh, VertexFTMap, VertexVectorMap >::Umbilic_approximation ( const TriangleMesh &  tm,
VertexFTMap  vertex_k1_pm,
VertexFTMap  vertex_k2_pm,
VertexVectorMap  vertex_d1_pm,
VertexVectorMap  vertex_d2_pm 
)

Constructor.

Parameters
tmthe triangle mesh
vertex_k1_pmmaximal principal curvatures
vertex_k2_pmminimal principal curvatures
vertex_d1_pmmaximal principal directions of curvature
vertex_d2_pmminimal principal directions of curvature

Member Function Documentation

◆ compute()

template<typename TriangleMesh , typename VertexFTMap , typename VertexVectorMap >
template<class OutputIterator >
OutputIterator CGAL::Umbilic_approximation< TriangleMesh, VertexFTMap, VertexVectorMap >::compute ( OutputIterator  it,
FT  size 
)

Performs the approximation.

The value of size determines the size of the patches around vertices, taken as size times the size of the 1-ring. Umbilics are inserted into it.

Template Parameters
OutputIteratoran output iterator with value type Umbilic*.