CGAL::Ridge_approximation<TriangulatedSurfaceMesh,Vertex2FTPropertyMap,Vertex2VectorPropertyMap>

Definition

The class Ridge_approximation<TriangulatedSurfaceMesh,Vertex2FTPropertyMap,Vertex2VectorPropertyMap> computes the approximation of ridges of a triangular polyhedral surface.

#include <CGAL/Ridges.h>

Parameters

The class Ridge_approximation<TriangulatedSurfaceMesh,Vertex2FTPropertyMap,Vertex2VectorPropertyMap> has three template parameters. TriangulatedSurfaceMesh provides the surface. Parameters Vertex2FTPropertyMap and Vertex2VectorPropertyMap provide 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;

Types

enum Tag_order { Tag_3, Tag_4};
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 52.2 of the user manual.

Creation

Ridge_approximation<TriangulatedSurfaceMesh,Vertex2FTPropertyMap,Vertex2VectorPropertyMap> ridge_approximation ( TriangulatedSurfaceMesh P,
Vertex2FTPropertyMap vertex2k1_pm,
Vertex2FTPropertyMap vertex2k2_pm,
Vertex2FTPropertyMap vertex2b0_pm,
Vertex2FTPropertyMap vertex2b3_pm,
Vertex2VectorPropertyMap vertex2d1_pm,
Vertex2VectorPropertyMap vertex2d2_pm,
Vertex2FTPropertyMap vertex2P1_pm,
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 ridge_approximation.compute_max_ridges ( OutputIterator it, Tag_order ord = Tag_3)
Outputs ridges of types MAX_ELLIPTIC_RIDGE and MAX_HYPERBOLIC_RIDGE. Parameter it is a Stl output iterator whose value_type is Ridge_line*.
template <class OutputIterator>
OutputIterator ridge_approximation.compute_min_ridges ( OutputIterator it, Tag_order ord = Tag_3)
Outputs ridges of types MIN_ELLIPTIC_RIDGE and MIN_HYPERBOLIC_RIDGE. Parameter it is a Stl output iterator whose value_type is Ridge_line*.
template <class OutputIterator>
OutputIterator ridge_approximation.compute_crest_ridges ( OutputIterator it, Tag_order ord = Tag_3)
Outputs ridges of types MAX_CREST_RIDGE and MIN_CREST_RIDGE. Parameter it is a Stl output iterator whose value_type is Ridge_line*.

See Also

Ridge_line