cgal/Ridges_3/doc_tex/Ridges_3_ref/Ridge_approximation.tex

99 lines
3.9 KiB
TeX

% +------------------------------------------------------------------------+
% | Reference manual page: Ridge_approximation.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSRidgeapproximationRev}{$Id$}
\RCSdefDate{\RCSRidgeapproximationDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefClass}{Ridge_approximation<TriangulatedSurfaceMesh,Vertex2FTPropertyMap,Vertex2VectorPropertyMap>}
%% add templatearg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[class]{} %% add further index entries
\ccDefinition
The class \ccRefName\ computes the approximation of
ridges of a triangular polyhedral surface.
\ccInclude{CGAL/Ridges.h}
\ccParameters
The class \ccRefName\ has three template parameters.
\ccc{TriangulatedSurfaceMesh} provides the surface.
Parameters \ccc{Vertex2FTPropertyMap}
and \ccc{Vertex2VectorPropertyMap} provide the differential properties of
the surface associated to its vertices.
Requirements (checked at compile time) : the types
\ccc{TriangulatedSurfaceMesh::Traits::FT} and
\ccc{Vertex2FTPropertyMap::value_type} must coincide; the types
\ccc{TriangulatedSurfaceMesh::Traits::Vector_3} and
\ccc{Vertex2VectorPropertyMap::value_type} must coincide; the types
\ccc{TriangulatedSurfaceMesh::Vertex_handle},
\ccc{Vertex2FTPropertyMap::key_type} and
\ccc{Vertex2VectorPropertyMap::key_type} must coincide;
\ccTypes
%\ccNestedType{TYPE}{some nested types}
\ccEnum{ enum Tag_order {Tag_3, Tag_4};} {Order of differential
quantities used to distinguish elliptic and hyperbolic ridges. Third
(\ccc{Tag_3}) or fourth (\ccc{Tag_4}) order quantities may be used as
explained in section \ref{ridge-mesh} of the user manual.}
\ccCreation
\ccCreationVariable{ridge_approximation} %% choose variable name, given by \ccVar
\ccConstructor{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);}
{%Precondition : all faces of P must be triangular. \\
The two last property maps may
not be used if computations are performed with
the parameter \ccc{Tag_3}, in which case these
property maps shall be initialized with their
default constructors.}
%\ccOperations
\ccMethod{ template <class OutputIterator> OutputIterator compute_max_ridges(OutputIterator it, Tag_order ord = Tag_3);}
{Outputs ridges of types \ccc{MAX_ELLIPTIC_RIDGE} and \ccc{MAX_HYPERBOLIC_RIDGE}.
Parameter \ccc{it} is a {\sc Stl} output iterator whose
\ccc{value_type} is \ccc{Ridge_line*}.}
\ccGlue
\ccMethod{ template <class OutputIterator> OutputIterator compute_min_ridges(OutputIterator it, Tag_order ord = Tag_3);}
{Outputs ridges of types \ccc{MIN_ELLIPTIC_RIDGE} and \ccc{MIN_HYPERBOLIC_RIDGE}.
Parameter \ccc{it} is a {\sc Stl} output iterator whose
\ccc{value_type} is \ccc{Ridge_line*}.}
\ccGlue
\ccMethod{ template <class OutputIterator> OutputIterator compute_crest_ridges(OutputIterator it, Tag_order ord = Tag_3);}
{Outputs ridges of types \ccc{MAX_CREST_RIDGE} and \ccc{MIN_CREST_RIDGE}.
Parameter \ccc{it} is a {\sc Stl} output iterator whose
\ccc{value_type} is \ccc{Ridge_line*}.}
\ccSeeAlso
\ccc{Ridge_line}
\end{ccRefClass}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+