CGAL 6.0.2 - Approximation of Ridges and Umbilics on Triangulated Surface Meshes

Loading...
Searching...
No Matches
List of all members
CGAL::Umbilic_approximation< TriangleMesh, VertexFTMap, VertexVectorMap > Class Template Reference
Approximation of Ridges and Umbilics on Triangulated Surface Meshes Reference

`#include <CGAL/Umbilics.h>`

## Definition

template<typename TriangleMesh, typename VertexFTMap, typename VertexVectorMap>
class CGAL::Umbilic_approximation< TriangleMesh, VertexFTMap, VertexVectorMap >

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

Template Parameters

  TriangleMesh | is the surface type. In the following let `K` be `Kernel_traits<boost::property_traits<TriangleMesh,CGAL::vertex_point_t>::value_type>::Kernel`
  VertexFTMap | A property map with `boost::graph_traits<TriangleMesh>::vertex_descriptor` as key type and `K::FT` as value type.
  VertexVectorMap | A 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.

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

## 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

  tm | the triangle mesh
  vertex_k1_pm | maximal principal curvatures
  vertex_k2_pm | minimal principal curvatures
  vertex_d1_pm | maximal principal directions of curvature
  vertex_d2_pm | minimal 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

  OutputIterator | an output iterator with value type `Umbilic*`.