mirror of https://github.com/CGAL/cgal
80 lines
2.7 KiB
TeX
80 lines
2.7 KiB
TeX
% +------------------------------------------------------------------------+
|
|
% | Reference manual page: HalfedgeDS_default.tex
|
|
% +------------------------------------------------------------------------+
|
|
% | 22.03.1999 Lutz Kettner
|
|
% | Package: HalfedgeDS
|
|
% |
|
|
\RCSdef{\RCSHalfedgeDSdefaultRev}{$Id$}
|
|
\RCSdefDate{\RCSHalfedgeDSdefaultDate}{$Date$}
|
|
% +------------------------------------------------------------------------+
|
|
|
|
\ccRefPageBegin
|
|
|
|
%%RefPage: end of header, begin of main body
|
|
% +------------------------------------------------------------------------+
|
|
|
|
|
|
\begin{ccRefClass}{HalfedgeDS_default<Traits,HalfedgeDSItems,Alloc>}
|
|
\ccRefLabel{CGAL::HalfedgeDS_default}
|
|
\ccRefLabel{CGAL_HALFEDGEDS_DEFAULT}
|
|
|
|
\ccHtmlCrossLink{CGAL_HALFEDGEDS_DEFAULT}
|
|
\ccIndexMainItem[C]{CGAL_HALFEDGEDS_DEFAULT}
|
|
|
|
\ccDefinition
|
|
|
|
\begin{tabbing}
|
|
\ccc{template <} \=\ccc{class Traits,}\\
|
|
\>\ccc{class HalfedgeDSItems = CGAL::HalfedgeDS_items_2,}\\
|
|
\>\ccc{class Alloc = CGAL_ALLOCATOR(int)>}\\
|
|
\ccc{class HalfedgeDS_default;}
|
|
\end{tabbing}
|
|
|
|
The class \ccRefName\ is a model for the \ccc{HalfedgeDS} concept. The
|
|
second template parameter \ccc{HalfedgeDSItems} has a default argument
|
|
\ccc{CGAL::HalfedgeDS_items_2}. The third template parameter \ccc{Alloc}
|
|
uses the \cgal\ default allocator as default setting. \ccRefName\ is a
|
|
list-based representation with bidirectional iterators that supports
|
|
removal.
|
|
|
|
\ccInclude{CGAL/HalfedgeDS_default.h}
|
|
|
|
\ccIsModel
|
|
|
|
\ccRefConceptPage{HalfedgeDS<Traits,Items,Alloc>}
|
|
|
|
\ccTypes
|
|
\ccThree{typedef bidirectional_iterator_tag;}{Supports_removal;;}{}
|
|
|
|
\ccTypedef{typedef bidirectional_iterator_tag iterator_category;}{}
|
|
\ccGlue
|
|
\ccTypedef{typedef CGAL::Tag_true Supports_removal;}{}
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccRefIdfierPage{CGAL::HalfedgeDS_list}\\
|
|
\ccRefIdfierPage{CGAL::HalfedgeDS_vector}\\
|
|
\ccRefConceptPage{HalfedgeDSItems}\\
|
|
\ccRefIdfierPage{CGAL::HalfedgeDS_items_2}\\
|
|
\ccRefIdfierPage{CGAL::Polyhedron_3<Traits>}\\
|
|
\ccRefIdfierPage{CGAL::HalfedgeDS_items_decorator<HDS>}\\
|
|
\ccRefIdfierPage{CGAL::HalfedgeDS_decorator<HDS>}\\
|
|
\ccRefIdfierPage{CGAL::HalfedgeDS_const_decorator<HDS>}
|
|
|
|
\ccImplementation
|
|
|
|
Currently, \ccRefName\ is derived from \ccc{CGAL::HalfedgeDS_list<Traits>}.
|
|
The copy constructor and the assignment operator need $O(n)$ time with
|
|
$n$ the total number of vertices, halfedges, and faces. The former
|
|
suboptimal implementation with an $O(n \log n)$ runtime has been replaced
|
|
with a faster implementation based on hashing for the pointer lookup.
|
|
|
|
\end{ccRefClass}
|
|
|
|
% +------------------------------------------------------------------------+
|
|
%%RefPage: end of main body, begin of footer
|
|
\ccRefPageEnd
|
|
% EOF
|
|
% +------------------------------------------------------------------------+
|
|
|