This commit is contained in:
Marc Pouget 2006-09-17 19:48:31 +00:00
parent b611b7c62c
commit e11e9de671
16 changed files with 614 additions and 19 deletions

View File

@ -2,7 +2,7 @@
\label{chap:Ridges_3}
%\ccChapterAuthor{Marc Pouget and Frédéric Cazals}
%don't know why but sometimes it does not accept é!!!??????
\ccChapterAuthor{Marc Pouget and Frederic Cazals}
\ccChapterAuthor{Marc Pouget and Fr\'ed\'eric Cazals}
\minitoc

View File

@ -1,18 +1,19 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Ridge_approximation.tex
% +------------------------------------------------------------------------+
% | 09.02.2006 Marc Pouget and Frédéric Cazals
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{}{}
\RCSdefDate{}{}
\RCSdef{\RCSRidgeapproximationRev}{$Id$}
\RCSdefDate{\RCSRidgeapproximationDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefClass}{Ridge_approximation< TriangularPolyhedralSurface, OutputIt, Vertex2FTPropertyMap , Vertex2VectorPropertyMap}
%% add template arg's if necessary
\begin{ccRefClass}{Ridge_approximation< TriangularPolyhedralSurface, OutputIt,
Vertex2FTPropertyMap , Vertex2VectorPropertyMap>} %% add template
arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[class]{} %% add further index entries
@ -22,18 +23,19 @@
The class \ccRefName\ is designed to perform the approximation of
ridges of a triangular polyhedral surface.
\ccInclude{CGAL/Ridge_approximation.h}
\ccInclude{CGAL/Ridges.h}
\ccParameters
The class \ccRefName\ has four template parameters. Parameter
The class \ccRefName\ has four template parameters.
\ccc{TriangularPolyhedralSurface} provides the surface.
Parameter \ccc{OutputIt} is a stl Output Iterator which
\ccc{value_type} is \ccc{CGAL::Ridge_line*}. Parameters \ccc{Vertex2FTPropertyMap}
and \ccc{Vertex2VectorPropertyMap} provides the differential properties of
the surface associated to its vertices.
Requirements : the types \ccc{TriangularPolyhedralSurface::Traits::FT}
and \ccc{Vertex2FTPropertyMap::value_type} must coincide; the types
Requirements (checked at compile time) : the types
\ccc{TriangularPolyhedralSurface::Traits::FT} and
\ccc{Vertex2FTPropertyMap::value_type} must coincide; the types
\ccc{TriangularPolyhedralSurface::Traits::Vector_3} and
\ccc{Vertex2VectorPropertyMap::value_type} must coincide; the types
\ccc{TriangularPolyhedralSurface::Vertex_handle},
@ -43,7 +45,9 @@ and \ccc{Vertex2FTPropertyMap::value_type} must coincide; the types
\ccTypes
%\ccNestedType{TYPE}{some nested types}
\ccEnum{ enum Tag_order {Tag_3, Tag_4};}{}
\ccEnum{ enum Tag_order {Tag_3, Tag_4};}
{Order of differential quantities used to distinguish elliptic and
hyperbolic ridges.}
\ccCreation
@ -57,8 +61,9 @@ and \ccc{Vertex2FTPropertyMap::value_type} must coincide; the types
Vertex2FTPropertyMap& vertex2P1_pm,
Vertex2FTPropertyMap& vertex2P2_pm,
Vertex2VectorPropertyMap& vertex2d1_pm,
Vertex2VectorPropertyMap& vertex2d2_pm);}
{Precondition : check if all faces of P are triangular. }
Vertex2VectorPropertyMap& vertex2d2_pm);}
{Precondition : check if all faces of P are
triangular. }
%\ccOperations

View File

@ -0,0 +1,40 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Ridge_interrogation_type.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSRidgeinterrogationtypeRev}{$Id$}
\RCSdefDate{\RCSRidgeinterrogationtypeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefEnum}{Ridge_interrogation_type} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[enum]{} %% add further index entries
\ccDefinition
The enum \ccRefName\ describes the three types of ridge lines which
can be computed by the class \ccc{Ridge_approximation}.
\ccInclude{CGAL/Ridges.h}
\ccGlobalEnum{enum Ridge_interrogation_type { BLUE_RIDGE, RED_RIDGE, CREST_RIDGE };}
\ccSeeAlso
\ccc{Ridge_approximation},
\end{ccRefEnum}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,61 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Ridge_line.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSRidgelineRev}{$Id$}
\RCSdefDate{\RCSRidgelineDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefClass}{Ridge_line<TriangularPolyhedralSurface>} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[class]{} %% add further index entries
\ccDefinition
The class \ccRefName\ stores the description of a ridge line.
\ccInclude{CGAL/Ridges.h}
\ccTypes
\ccNestedType{typedef typename TriangularPolyhedralSurface::Traits::FT FT;}{}
\ccGlue
\ccNestedType{typedef typename TriangularPolyhedralSurface::Halfedge_handle Halfedge_handle;}{}
\ccGlue
\ccNestedType{ typedef std::pair< Halfedge_handle, FT> ridge_he;}{}
\ccCreation
\ccCreationVariable{ridge_line} %% choose variable name
\ccConstructor{Ridge_line();}{default constructor.}
\ccAccessFunctions
% +--------------------------------------------------------------
\ccMethod{const Ridge_type line_type();}{}
\ccMethod{Ridge_type& line_type();}{}
\ccGlue
\ccMethod{const FT strength();}{}
\ccMethod{FT& strength();}{}
\ccGlue
\ccMethod{const FT sharpness();}{}
\ccMethod{FT& sharpness(); }{}
\ccSeeAlso
\ccc{Ridge_approximation},
\end{ccRefClass}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,41 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Ridge_type.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSRidgetypeRev}{$Id$}
\RCSdefDate{\RCSRidgetypeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefEnum}{Ridge_type} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[enum]{} %% add further index entries
\ccDefinition
The enum \ccRefName\ describes the types for the class \ccc{Ridge_line}.
\ccInclude{CGAL/Ridges.h}
\ccGlobalEnum{enum Ridge_type { NO_RIDGE,
BLUE_ELLIPTIC_RIDGE, BLUE_HYPERBOLIC_RIDGE,
BLUE_CREST_RIDGE, RED_ELLIPTIC_RIDGE,
RED_HYPERBOLIC_RIDGE, RED_CREST_RIDGE };}
\ccSeeAlso
\ccc{Ridge_line}
\end{ccRefEnum}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,40 @@
% +------------------------------------------------------------------------+
% | Reference manual page: TriangularPolyhedralSurface.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSTriangularPolyhedralSurfaceRev}{$Id$}
\RCSdefDate{\RCSTriangularPolyhedralSurfaceDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefConcept}{TriangularPolyhedralSurface}
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[concept]{} %% add further index entries
\ccDefinition
The concept \ccRefName\ describes a polyhedral surface, based on an
edge data structure, whose faces are all triangular.
%\ccTypes
%FT, vertex handle ..???
%\ccNestedType{TYPE}{some nested types}
\ccHasModels
\ccc{CGAL::Polyhedron_3} with the restriction that faces are triangular.
\end{ccRefConcept}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,68 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Umbilic.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSUmbilicRev}{$Id$}
\RCSdefDate{\RCSUmbilicDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefClass}{Umbilic< TriangularPolyhedralSurface >} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[class]{} %% add further index entries
\ccDefinition
The class \ccRefName\ stores the description of an umbilic.
\ccInclude{CGAL/Umbilic.h}
\ccTypes
\ccNestedType{ typedef typename TriangularPolyhedralSurface::Vertex_handle Vertex_handle;}{}
\ccGlue
\ccNestedType{ typedef typename TriangularPolyhedralSurface::Halfedge_handle Halfedge_handle;}{}
\ccCreation
\ccCreationVariable{umbilic} %hoose variable name
\ccConstructor{Umbilic(Vertex_handle v_init,
std::list<Halfedge_handle> contour_init);}{default constructor.}
\ccAccessFunctions
% +--------------------------------------------------------------
\ccMethod{const Vertex_handle vertex();}{}
\ccMethod{const Umbilic_type umbilic_type();}{}
\ccGlue
\ccMethod{Umbilic_type& umbilic_type();}{}
\ccMethod{const std::list<Halfedge_handle>& contour_list() ;}{}
\ccGlue
\ccMethod{std::list<Halfedge_handle>& contour_list();}{}
\ccOperations
The usual insert operator ($<<$) is provided for \ccc{Umbilic}.
%\ccFunction{template <class TriangularPolyhedralSurface>
%std::ostream&
%operator<<(std::ostream& out_stream, const Umbilic<TriangularPolyhedralSurface>& umbilic);}
%{Outputs umbilic location and type.}
\ccSeeAlso
\ccc{Umbilic_approximation}
\end{ccRefClass}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,80 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Umbilic_approximation.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSUmbilicapproximationRev}{$Id$}
\RCSdefDate{\RCSUmbilicapproximationDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefClass}{Umbilic_approximation< TriangularPolyhedralSurface,
OutputIt, Vertex2FTPropertyMap, Vertex2VectorPropertyMap > } %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[class]{} %% add further index entries
\ccDefinition
The class \ccRefName\ is designed to perform the approximation of
umbilics on a triangular polyhedral surface.
\ccInclude{CGAL/Umbilic.h}
\ccParameters
The class \ccRefName\ has four template parameters.
\ccc{TriangularPolyhedralSurface} provides the surface.
Parameter \ccc{OutputIt} is a stl Output Iterator which
\ccc{value_type} is \ccc{CGAL::Umbilic*}. Parameters \ccc{Vertex2FTPropertyMap}
and \ccc{Vertex2VectorPropertyMap} provides the differential properties of
the surface associated to its vertices.
Requirements (checked at compile time) : the types
\ccc{TriangularPolyhedralSurface::Traits::FT} and
\ccc{Vertex2FTPropertyMap::value_type} must coincide; the types
\ccc{TriangularPolyhedralSurface::Traits::Vector_3} and
\ccc{Vertex2VectorPropertyMap::value_type} must coincide; the types
\ccc{TriangularPolyhedralSurface::Vertex_handle},
\ccc{Vertex2FTPropertyMap::key_type} and
\ccc{Vertex2VectorPropertyMap::key_type} must coincide;
\ccTypes
\ccNestedType{ typedef typename TriangularPolyhedralSurface::Traits::FT FT;}{}
\ccCreation
\ccCreationVariable{umbilic_approximation} %% choose variable name
\ccConstructor{Umbilic_approximation(TriangularPolyhedralSurface &P,
Vertex2FTPropertyMap vertex2k1_pm, Vertex2FTPropertyMap vertex2k2_pm,
Vertex2VectorPropertyMap vertex2d1_pm, Vertex2VectorPropertyMap vertex2d2_pm);}
{default constructor.}
\ccOperations
\ccMethod{ OutputIt compute(OutputIt it, FT size);}
{Performs the approximation, \ccc{size} determines the size of the
patches around vertices which is \ccc{size} times the size of the
1-ring. Umbilics are output through the \ccc{OutputIt} which is an
concept of output iterator of the stl with value type \ccc{Umbilic*}.}
\ccSeeAlso
\ccc{Umbilic}.
\ccc{TriangularPolyhedralSurface}
\ccc{Vertex2FTPropertyMap}
\ccc{Vertex2VectorPropertyMap}
\end{ccRefClass}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,37 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Umbilic_type.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSUmbilictypeRev}{$Id$}
\RCSdefDate{\RCSUmbilictypeDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefEnum}{Umbilic_type} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[enum]{} %% add further index entries
\ccDefinition
The enum \ccRefName\ describes the types for the class \ccc{Umbilic}.
\ccInclude{CGAL/Umbilic.h}
\ccGlobalEnum{enum Umbilic_type { UMBILIC_NON_GENERIC, UMBILIC_WEDGE, UMBILIC_TRISECTOR };}
\ccSeeAlso
\ccc{Umbilic}.
\end{ccRefEnum}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,65 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Vertex2Data_Property_Map_with_std_map.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSVertexDataPropertyMapwithstdmapRev}{$Id$}
\RCSdefDate{\RCSVertexDataPropertyMapwithstdmapDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefClass}{Vertex2Data_Property_Map_with_std_map < TriangularPolyhedralSurface >} %% add template arg's if necessary
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[class]{} %% add further index entries
\ccDefinition
The class \ccRefName\ provides models for the concepts
\ccc{Vertex2FTPropertyMap} and \ccc{Vertex2VectorPropertyMap} to be used for
\ccc{Ridge_approximation}. The property maps are
created with the \ccc{boost::associative_property_map} adaptor from
\ccc{std::map}.
\ccInclude{CGAL/Ridges.h}
\ccTypes
\ccNestedType{ typedef typename TriangularPolyhedralSurface::Traits::FT FT;}{}
\ccGlue
\ccNestedType{ typedef typename TriangularPolyhedralSurface::Traits::Vector_3 Vector_3;}{}
\ccGlue
\ccNestedType{ typedef typename TriangularPolyhedralSurface::Vertex_handle Vertex_handle;}{}
\ccStruct{ struct Vertex_cmp{bool operator();};}{}
\ccNestedType{ typedef std::map<Vertex_handle, FT, Vertex_cmp> Vertex2FT_map;}{}
\ccGlue
\ccNestedType{ typedef boost::associative_property_map< Vertex2FT_map > Vertex2FT_property_map;}{}
\ccNestedType{ typedef std::map<Vertex_handle, Vector_3, Vertex_cmp> Vertex2Vector_map;}{}
\ccGlue
\ccNestedType{ typedef boost::associative_property_map< Vertex2Vector_map > Vertex2Vector_property_map;}{}
\ccIsModel
\ccc{Vertex2FT_property_map} is model of \ccc{Vertex2FTPropertyMap}.
\ccc{Vertex2Vector_property_map} is model of \ccc{Vertex2VectorPropertyMap}.
\ccSeeAlso
\ccc{Ridge_approximation}
\end{ccRefClass}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,48 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Vertex2FTPropertyMap.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSVertexFTPropertyMapRev}{$Id$}
\RCSdefDate{\RCSVertexFTPropertyMapDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefConcept}{Vertex2FTPropertyMap}
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[concept]{} %% add further index entries
\ccDefinition
The concept \ccRefName\ specializes the concept of LvaluePropertyMap
of the Boost library. It is intended to be used in combination with
the concept \ccc{TriangularPolyhedralSurface} in the class
\ccc{Ridge_approximation}. It associates a field type value
\ccc{TriangularPolyhedralSurface::Traits::FT} to keys which are
\ccc{TriangularPolyhedralSurface::Vertex_handle}.
%\ccTypes
%value and key??
%\ccNestedType{TYPE}{some nested types}
\ccHasModels
\ccc{Vertex2Data_Property_Map_with_std_map::Vertex2FT_property_map},
\ccSeeAlso
\ccc{TriangularPolyhedralSurface}.
\end{ccRefConcept}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,49 @@
% +------------------------------------------------------------------------+
% | Reference manual page: Vertex2VectorPropertyMap.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSVertexVectorPropertyMapRev}{$Id$}
\RCSdefDate{\RCSVertexVectorPropertyMapDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\begin{ccRefConcept}{Vertex2VectorPropertyMap}
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
%% \ccHtmlIndexC[concept]{} %% add further index entries
\ccDefinition
The concept \ccRefName\ specializes the concept of LvaluePropertyMap
of the Boost library. It is intended to be used in combination with
the concept \ccc{TriangularPolyhedralSurface} in the class
\ccc{Ridge_approximation}. It associates a three dimensional vector
\ccc{TriangularPolyhedralSurface::Traits::Vector_3} to keys which are
\ccc{TriangularPolyhedralSurface::Vertex_handle}.
%\ccTypes
%value and key??
%\ccNestedType{TYPE}{some nested types}
\ccHasModels
\ccc{Vertex2Data_Property_Map_with_std_map::Vertex2Vector_property_map},
\ccSeeAlso
\ccc{TriangularPolyhedralSurface}.
\end{ccRefConcept}
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -0,0 +1,48 @@
% +------------------------------------------------------------------------+
% | Reference manual page: intro.tex
% +------------------------------------------------------------------------+
% | 15.09.2006 Marc Pouget and Frédéric Cazals
% | Package: Ridges_3
% |
\RCSdef{\RCSintroRev}{$Id$}
\RCSdefDate{\RCSintroDate}{$Date$}
% |
%%RefPage: end of header, begin of main body
% +------------------------------------------------------------------------+
\ccRefChapter{Ridges and Umbilics Extraction on Meshes}
\label{ref_chap:Ridges_3}
\ccChapterAuthor{Marc Pouget \and Fr\'ed\'eric Cazals}
\subsection*{Introduction}
%\ccRequirements
\subsection*{Concepts}
\ccRefConceptPage{TriangularPolyhedralSurface} \\
\ccRefConceptPage{Vertex2FTPropertyMap} \\
\ccRefConceptPage{Vertex2VectorPropertyMap} \\
\subsection*{Enums}
\ccRefIdfierPage{CGAL::Ridge_interrogation_type}\\
\ccRefIdfierPage{CGAL::Ridge_type}\\
\ccRefIdfierPage{CGAL::Umbilic_type}\\
\subsection*{Classes}
\ccRefIdfierPage{CGAL::Ridge_line}\\
\ccRefIdfierPage{CGAL::Umbilic}\\
\ccRefIdfierPage{CGAL::Ridge_approximation}\\
\ccRefIdfierPage{CGAL::Umbilic_approximation}\\
\subsection*{Global Functions}
The insert operator is overloaded for the classes \ccc{Ridge_line} and
\ccc{Umbilic}.
\ccRefIdfierPage{CGAL::operator<<}\\
% +------------------------------------------------------------------------+
%%RefPage: end of main body, begin of footer
% EOF
% +------------------------------------------------------------------------+

View File

@ -5,6 +5,19 @@
% | of this package. Do not edit manually, you may loose your changes.
% +------------------------------------------------------------------------+
\input{Ridges_3_ref/intro.tex}
\input{Ridges_3_ref/Ridge_approximation.tex}
\input{Ridges_3_ref/Ridge_interrogation_type.tex}
\input{Ridges_3_ref/Ridge_line.tex}
\input{Ridges_3_ref/Ridge_type.tex}
\input{Ridges_3_ref/TriangularPolyhedralSurface.tex}
\input{Ridges_3_ref/Umbilic_approximation.tex}
\input{Ridges_3_ref/Umbilic.tex}
\input{Ridges_3_ref/Umbilic_type.tex}
\input{Ridges_3_ref/Vertex2Data_Property_Map_with_std_map.tex}
\input{Ridges_3_ref/Vertex2FTPropertyMap.tex}
\input{Ridges_3_ref/Vertex2VectorPropertyMap.tex}
%% EOF

View File

@ -299,8 +299,7 @@ int main(int argc, char *argv[])
// ridge_approximation.compute_ridges(CGAL::RED_RIDGE, ii, tag_order);
//ridge_approximation.compute_ridges(CGAL::CREST_RIDGE, ii, tag_order);
ridge_approximation.compute_all_ridges(ii, tag_order);
std::vector<Ridge_line*>::iterator iter_lines = ridge_lines.begin(),
iter_end = ridge_lines.end();
//OpenGL output

View File

@ -206,9 +206,9 @@ class Ridge_approximation
//follow non-visited, regular, 2Xing triangles in both sens to
//create a Ridge line. Each time an edge is added the strength and
//sharpness(if Tag_4) are updated.
void compute_ridges(Ridge_interrogation_type r_type,
OutputIt ridge_lines_it,
Tag_order ord = Tag_3);
OutputIt compute_ridges(Ridge_interrogation_type r_type,
OutputIt ridge_lines_it,
Tag_order ord = Tag_3);
protected:
TriangularPolyhedralSurface* P;
@ -341,7 +341,7 @@ compute_all_ridges(OutputIt it, Tag_order ord)
template < class TriangularPolyhedralSurface, class OutputIt,
class Vertex2FTPropertyMap,
class Vertex2VectorPropertyMap >
void Ridge_approximation< TriangularPolyhedralSurface, OutputIt, Vertex2FTPropertyMap , Vertex2VectorPropertyMap >::
OutputIt Ridge_approximation< TriangularPolyhedralSurface, OutputIt, Vertex2FTPropertyMap , Vertex2VectorPropertyMap >::
compute_ridges(Ridge_interrogation_type r_type, OutputIt ridge_lines_it, Tag_order ord)
{
tag_order = ord;
@ -415,6 +415,7 @@ compute_ridges(Ridge_interrogation_type r_type, OutputIt ridge_lines_it, Tag_ord
}
}
}
return ridge_lines_it;
}
template < class TriangularPolyhedralSurface, class OutputIt,