\( \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.5.1 - Approximation of Ridges and Umbilics on Triangulated Surface Meshes
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CGAL::Ridge_approximation< TriangulatedSurfaceMesh, Vertex2FTPropertyMap, Vertex2VectorPropertyMap > Class Template Reference

#include <CGAL/Ridges.h>

Definition

The class Ridge_approximation computes the approximation of ridges of a triangular polyhedral surface.

Template Parameters
TriangulatedSurfaceMeshis the surface type.
Vertex2FTPropertyMap,Vertex2VectorPropertyMapprovide the differential properties of the surface associated to its vertices.

Requirements (checked at compile time):

  • the types TriangulatedSurfaceMesh::Traits::FT and Vertex2FTPropertyMap::value_type must coincide;
  • the types TriangulatedSurfaceMesh::Traits::Vector_3 and Vertex2VectorPropertyMap::value_type must coincide;
  • the types TriangulatedSurfaceMesh::Vertex_handle, Vertex2FTPropertyMap::key_type and Vertex2VectorPropertyMap::key_type must coincide;
See Also
Ridge_line

Types

enum  Tag_order { Tag_3, Tag_4 }
 Order of differential quantities used to distinguish elliptic and hyperbolic ridges. More...
 

Creation

 Ridge_approximation (const TriangulatedSurfaceMesh &P, const Vertex2FTPropertyMap &vertex2k1_pm, const Vertex2FTPropertyMap &vertex2k2_pm, const Vertex2FTPropertyMap &vertex2b0_pm, const Vertex2FTPropertyMap &vertex2b3_pm, const Vertex2VectorPropertyMap &vertex2d1_pm, const Vertex2VectorPropertyMap &vertex2d2_pm, const Vertex2FTPropertyMap &vertex2P1_pm, const Vertex2FTPropertyMap &vertex2P2_pm)
 The two last property maps may not be used if computations are performed with the parameter Tag_3, in which case these property maps shall be initialized with their default constructors.
 
template<class OutputIterator >
OutputIterator compute_max_ridges (OutputIterator it, Tag_order ord=Tag_3)
 Outputs ridges of types MAX_ELLIPTIC_RIDGE and MAX_HYPERBOLIC_RIDGE. More...
 
template<class OutputIterator >
OutputIterator compute_min_ridges (OutputIterator it, Tag_order ord=Tag_3)
 Outputs ridges of types MIN_ELLIPTIC_RIDGE and MIN_HYPERBOLIC_RIDGE. More...
 
template<class OutputIterator >
OutputIterator compute_crest_ridges (OutputIterator it, Tag_order ord=Tag_3)
 Outputs ridges of types MAX_CREST_RIDGE and MIN_CREST_RIDGE. More...
 

Member Enumeration Documentation

template<typename TriangulatedSurfaceMesh , typename Vertex2FTPropertyMap , typename Vertex2VectorPropertyMap >
enum CGAL::Ridge_approximation::Tag_order

Order of differential quantities used to distinguish elliptic and hyperbolic ridges.

Third (Tag_3) or fourth (Tag_4) order quantities may be used as explained in section ridgemesh of the user manual.

Enumerator
Tag_3 
Tag_4 

Member Function Documentation

template<typename TriangulatedSurfaceMesh , typename Vertex2FTPropertyMap , typename Vertex2VectorPropertyMap >
template<class OutputIterator >
OutputIterator CGAL::Ridge_approximation< TriangulatedSurfaceMesh, Vertex2FTPropertyMap, Vertex2VectorPropertyMap >::compute_crest_ridges ( OutputIterator  it,
Tag_order  ord = Tag_3 
)

Outputs ridges of types MAX_CREST_RIDGE and MIN_CREST_RIDGE.

Parameter it is an output iterator whose value type is Ridge_line*.

template<typename TriangulatedSurfaceMesh , typename Vertex2FTPropertyMap , typename Vertex2VectorPropertyMap >
template<class OutputIterator >
OutputIterator CGAL::Ridge_approximation< TriangulatedSurfaceMesh, Vertex2FTPropertyMap, Vertex2VectorPropertyMap >::compute_max_ridges ( OutputIterator  it,
Tag_order  ord = Tag_3 
)

Outputs ridges of types MAX_ELLIPTIC_RIDGE and MAX_HYPERBOLIC_RIDGE.

Parameter it is an output iterator whose value type is Ridge_line*.

template<typename TriangulatedSurfaceMesh , typename Vertex2FTPropertyMap , typename Vertex2VectorPropertyMap >
template<class OutputIterator >
OutputIterator CGAL::Ridge_approximation< TriangulatedSurfaceMesh, Vertex2FTPropertyMap, Vertex2VectorPropertyMap >::compute_min_ridges ( OutputIterator  it,
Tag_order  ord = Tag_3 
)

Outputs ridges of types MIN_ELLIPTIC_RIDGE and MIN_HYPERBOLIC_RIDGE.

Parameter it is an output iterator whose value type is Ridge_line*.