mirror of https://github.com/CGAL/cgal
Small changes to the Manuals
This commit is contained in:
parent
7ebab5b990
commit
2bfb39b17b
|
|
@ -15,7 +15,7 @@
|
|||
\ccUserChapter{Halfedge Data Structures \label{chapterHalfedgeDS}}
|
||||
|
||||
\ccChapterRelease{\hdsRev. \ \hdsDate}
|
||||
\ccChapterAuthor{Lutz Kettner \and Fernando Cacciola}
|
||||
\ccChapterAuthor{Lutz Kettner}
|
||||
|
||||
\input{HalfedgeDS/PkgDescription}
|
||||
|
||||
|
|
@ -102,7 +102,7 @@ in~\cite{k-ugpdd-99}.
|
|||
}
|
||||
\end{center}
|
||||
\caption{Responsibilities of the different layers in the
|
||||
halfedge data-structure design [NEEDS TO BE UPDATED TO INCORPORATE CCBS].}
|
||||
halfedge data-structure design [NEEDS TO BE UPDATED TO INCORPORATE HALFEDGE-CYCLES].}
|
||||
\label{figureHalfedgeDSDesign}
|
||||
\end{figure}
|
||||
\end{ccTexOnly}
|
||||
|
|
@ -113,7 +113,7 @@ in~\cite{k-ugpdd-99}.
|
|||
<img src="fig/hds_design_col.gif"
|
||||
alt="Halfedge Data-Structure Design"><BR>
|
||||
Figure: Responsibilities of the different layers in the
|
||||
halfedge data-structure design [NEEDS TO BE UPDATED TO INCORPORATE CCBS].
|
||||
halfedge data-structure design [NEEDS TO BE UPDATED TO INCORPORATE HALFEDGE-CYCLES].
|
||||
<P>
|
||||
</CENTER>
|
||||
\end{ccHtmlOnly}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ halfedge cycle in turn stores a reference to a halfedge\footnote{In other
|
|||
hole-supporting HDS designs, faces stores a sequence of halfedges (each for a different cycle).
|
||||
In our design a cycle is given by a \ccc{halfedge_cycle} instead of a \ccc{halfedge} to allow
|
||||
the centralization of cycle-related information}.
|
||||
A face also stores another sequence of references to halfedge_cycles for isolated vertices, where
|
||||
A face also stores another sequence of references to halfedge\_cycles for isolated vertices, where
|
||||
each such vertex is represented by a cycle composed of a single-halfedge single-vertex self-loop.
|
||||
A halfedge in the cycle stores the handle to the halfedge cycle it belongs to.
|
||||
|
||||
|
|
@ -45,9 +45,9 @@ A halfedge in the cycle stores the handle to the halfedge cycle it belongs to.
|
|||
can have many cycles, not just one; or oven no outer boudary but only inner cycles (holes).
|
||||
|
||||
\ccc{Halfedge::face()} on the other hand is well defined as a shortcut for \ccc{Halfedge::halfedge_cycle()->face()}
|
||||
since every halfedge belongs to a halfedge_cycle.
|
||||
since every halfedge belongs to a halfedge\_cycle.
|
||||
|
||||
THe type \ccc{Halfedge_cycle} is a first-class \ccc{HDS} item, just like vertices, halfedges and faces.
|
||||
The type \ccc{Halfedge_cycle} is a first-class \ccc{HDS} item, just like vertices, halfedges and faces.
|
||||
However, the halfedge cycles do not contribute by themself to the incidence information
|
||||
maintained by the \ccc{HDS}. That is, the incidence is betwen vertices, edges and faces,
|
||||
which are all well defined mathematical concepts belonging to the field of algebraic topology.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
This design supports two {\em mutually exclusive} methods for
|
||||
storing the incidence relationship between faces and halfedges:
|
||||
{\em direct mutual reference}, that is, having faces and halfedges reference
|
||||
each other directly, or {\em through a common \ccc{halfedge_cycle}}.
|
||||
direct-mutual-reference (having faces and halfedges reference
|
||||
each other directly) or through a common \ccc{halfedge_cycle}.
|
||||
|
||||
|
|
|
|||
|
|
@ -47,12 +47,12 @@ in~\cite{k-ugpdd-99}.
|
|||
{\XHDS
|
||||
Each edge is decomposed into two halfedges with opposite orientations
|
||||
and each cycle of connected halfedges is associated with a single object
|
||||
named \ccc{halfedge_cycle}.
|
||||
named halfedge\_cycle.
|
||||
One incident vertex is stored in each halfedge and one incident halfedge
|
||||
is stored in each vertex.
|
||||
Incidence information between halfedges and faces can be stored via
|
||||
two mutually exclusive mechanisms: directly storing an incident halfedge in a face
|
||||
and vice versa, or via a \ccc{halfedge_cycle} object common to incident faces and halfedges.
|
||||
and vice versa, or via a halfedge\_cycle object common to incident faces and halfedges.
|
||||
}
|
||||
Reduced variants of the halfedge data structure can omit some of these
|
||||
information, for example the halfedge pointers in faces or the
|
||||
|
|
@ -76,7 +76,7 @@ possible for vertices, halfedges, and faces.
|
|||
\protect\ccc{Halfedge}, and
|
||||
\protect\ccc{Face} of the halfedge data structure. Member
|
||||
functions with shaded background are mandatory. The others
|
||||
are optionally supported. [NEEDS TO BE UPDATED TO INCORPORATE CCBS]}
|
||||
are optionally supported. [NEEDS TO BE UPDATED TO INCORPORATE HALFEDGE-CYCLES]}
|
||||
\label{figureOptionalMethods}
|
||||
\end{figure}
|
||||
\end{ccTexOnly}
|
||||
|
|
@ -91,7 +91,7 @@ possible for vertices, halfedges, and faces.
|
|||
The three classes <I>Vertex</I>, <I>Halfedge</I>, and
|
||||
<I>Face</I> of the halfedge data structure. Member
|
||||
functions with shaded background are mandatory. The others
|
||||
are optionally supported [NEEDS TO BE UPDATED TO INCORPORATE CCBS].
|
||||
are optionally supported [NEEDS TO BE UPDATED TO INCORPORATE HALFEDGE-CYCLES].
|
||||
</CENTER>
|
||||
\end{ccHtmlOnly}
|
||||
|
||||
|
|
@ -228,20 +228,14 @@ The following dependencies among these options must be regarded:
|
|||
Vertices are supported $\Longleftrightarrow$
|
||||
\ccc{Supports_halfedge_vertex} $\equiv$ \ccc{CGAL::Tag_true}.
|
||||
|
||||
\textbf{Faces are supported $\Longleftrightarrow$
|
||||
Supports\_halfedge\_face $\equiv$ CGAL::Tag\_true
|
||||
or
|
||||
( Supports\_halfedge\_halfedge\_cycle $\equiv$ CGAL::Tag\_true
|
||||
and Supports\_halfedge\_cycle\_face $\equiv$ CGAL::Tag\_true )
|
||||
}
|
||||
Faces are supported $\Longleftrightarrow$
|
||||
\ccc{Supports_halfedge_face} $\equiv$ \ccc{CGAL::Tag_true}
|
||||
or \ccc{Supports_halfedge_halfedge_cycle} $\equiv$ \ccc{CGAL::Tag_true}
|
||||
|
||||
Halfedge\_cycles are supported $\Longleftrightarrow$
|
||||
\ccc{Supports_halfedge_halfedge_cycle} $\equiv$ \ccc{CGAL::Tag_true}
|
||||
and \ccc{Supports_face_halfedge_cycle} $\equiv$ \ccc{CGAL::Tag_true}
|
||||
|
||||
\textbf{Halfedge\_cycles are supported $\Longleftrightarrow$
|
||||
Supports\_halfedge\_halfedge\_cycle $\equiv$
|
||||
CGAL::Tag\_true
|
||||
and
|
||||
Supports\_face\_halfedge\_cycle
|
||||
$\equiv$ CGAL::Tag\_true
|
||||
}
|
||||
|
||||
\ccc{Supports_vertex_halfedge} $\equiv$ \ccc{CGAL::Tag_true} $\Longrightarrow$
|
||||
\ccc{Supports_halfedge_vertex} $\equiv$ \ccc{CGAL::Tag_true}.
|
||||
|
|
@ -252,9 +246,6 @@ $\equiv$ CGAL::Tag\_true
|
|||
\ccc{Supports_face_halfedge} $\equiv$ \ccc{CGAL::Tag_true} $\Longrightarrow$
|
||||
\ccc{Supports_halfedge_face} $\equiv$ \ccc{CGAL::Tag_true}.
|
||||
|
||||
\textbf{Supports\_face\_halfedge\_cycle $\equiv$ CGAL::Tag\_true $\Longrightarrow$
|
||||
Supports\_halfedge\_cycle\_face $\equiv$ CGAL::Tag\_true}.
|
||||
|
||||
|
||||
\end{ccAdvanced}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ A \ccRefName\ stores a reference to one of the halfedges in the cycle (which one
|
|||
It optionally stores a reference to the face it belongs to. A type tag indicates whether
|
||||
the related member functions are supported.
|
||||
|
||||
All the halfedges connected to the one referenced in a \ccRefName\ must form a cycle, not just a path, and they all must be incident to the same face (or no face at all for a border cycle).
|
||||
All the halfedges connected to the one referenced in a \ccRefName\ must form a cycle, not just a path.
|
||||
|
||||
Two halfedges are allowed to be in the same cycle even if they are opposite to each other.
|
||||
This allows models of \ccRefName\ to represent open curves, antennas and empty alleys by simply arranging
|
||||
|
|
|
|||
|
|
@ -212,11 +212,8 @@ protection could be bypassed also by an user, but not by accident.)
|
|||
sets the \ccc{halfedge_cycle} to $c$.}
|
||||
|
||||
\ccHeading{Operations available if \ccc{Supports_halfedge_face} $\equiv$ \ccc{CGAL::Tag_true}
|
||||
$or$
|
||||
( \ccc{Supports_halfedge_halfedge_cycle} $\equiv$ \ccc{CGAL::Tag_true}
|
||||
$and$
|
||||
\ccc{Supports_halfedge_cycle_face} $\equiv$ \ccc{CGAL::Tag_true}
|
||||
) }
|
||||
or \ccc{Supports_halfedge_halfedge_cycle} $\equiv$ \ccc{CGAL::Tag_true}
|
||||
}
|
||||
|
||||
\ccMethod{Face_handle face();}{}
|
||||
\ccGlue
|
||||
|
|
@ -238,7 +235,7 @@ protection could be bypassed also by an user, but not by accident.)
|
|||
\ccRefConceptPage{HalfedgeDS<Traits,Items,Alloc>}\\
|
||||
\ccRefConceptPage{HalfedgeDSItems}\\
|
||||
\ccRefConceptPage{HalfedgeDSVertex}\\
|
||||
\ccRefConceptPage{HalfedgeDSFace}
|
||||
\ccRefConceptPage{HalfedgeDSFace}\\
|
||||
\ccRefConceptPage{HalfedgeDSHalfedgeCycle}
|
||||
|
||||
\end{ccRefConcept}
|
||||
|
|
|
|||
|
|
@ -73,26 +73,27 @@ and page~\pageref{pageHalfedgeDSItemsFaceRef} respectively.
|
|||
\ccExample
|
||||
|
||||
The following example shows the canonical implementation of the
|
||||
\ccc{CGAL::HalfedgeDS_min_items} class. It uses the base classes for the
|
||||
\ccc{CGAL::HalfedgeDS_items_with_halfedge_cycle_2} class. It uses the base classes for the
|
||||
item types that are provided in the library.
|
||||
|
||||
\begin{ccExampleCode}
|
||||
struct HalfedgeDS_min_items {
|
||||
struct HalfedgeDS_items_with_halfedge_cycles_2 {
|
||||
template < class Refs, class Traits>
|
||||
struct Vertex_wrapper {
|
||||
typedef CGAL::HalfedgeDS_vertex_min_base< Refs> Vertex;
|
||||
typedef typename Traits::Point_2 Point;
|
||||
typedef CGAL::HalfedgeDS_vertex_base< Refs, Tag_true, Point> Vertex;
|
||||
};
|
||||
template < class Refs, class Traits>
|
||||
struct Halfedge_wrapper {
|
||||
typedef CGAL::HalfedgeDS_halfedge_min_base< Refs> Halfedge;
|
||||
typedef CGAL::HalfedgeDS_halfedge_base< Refs, Tag_true, Tag_true, Tag_false, Tag_true> Halfedge;
|
||||
};
|
||||
template < class Refs, class Traits>
|
||||
struct Face_wrapper {
|
||||
typedef CGAL::HalfedgeDS_face_min_base< Refs> Face;
|
||||
typedef CGAL::HalfedgeDS_face_base< Refs, Tag_false, Tag_false, Tag_true> Face;
|
||||
};
|
||||
template < class Refs, class Traits>
|
||||
struct Halfedge_cycle_wrapper {
|
||||
typedef int Halfedge_cycle;
|
||||
typedef CGAL::HalfedgeDS_halfedge_cycle_base< Refs> Halfedge_cycle;
|
||||
};
|
||||
};
|
||||
\end{ccExampleCode}
|
||||
|
|
|
|||
|
|
@ -20,15 +20,15 @@
|
|||
|
||||
The class \ccRefName\ is a model of the \ccc{HalfedgeDSHalfedgeCycle}
|
||||
concept. \ccc{Refs} is an instantiation of a \ccc{HalfedgeDS}.
|
||||
The full declaration states four template parameters:
|
||||
The full declaration states one template parameters:
|
||||
|
||||
\begin{tabbing}
|
||||
\mbox{}~~~~~~ \= \ccc{template <} \=\ccc{class Refs,}\\
|
||||
\mbox{}~~~~~~ \= \ccc{template <} \=\ccc{class Refs >} \\
|
||||
\> \ccc{class HalfedgeDS_halfedge_cycle_base;}
|
||||
\end{tabbing}
|
||||
|
||||
|
||||
In all cases, a reference to the halfedge and face is supported.
|
||||
A reference to the halfedge and face is supported.
|
||||
|
||||
%\ccInclude{CGAL/HalfedgeDS_halfedge_cycle_base.h}
|
||||
|
||||
|
|
|
|||
|
|
@ -77,15 +77,14 @@ all halfedge data structures and will not appear here again.
|
|||
|
||||
\ccMethod{Halfedge_handle create_loop();}{
|
||||
returns the handle of a halfedge from a newly created loop in \ccc{hds}
|
||||
consisting of a single closed edge, one vertex and two faces
|
||||
{\XHDS each with one outer halfedge cycle}
|
||||
(if supported respectively).}
|
||||
consisting of a single closed edge, one vertex and two faces (if supported),
|
||||
{\XHDS each with one outer halfedge cycle (if supported).}}
|
||||
\ccGlue
|
||||
\ccMethod{Halfedge_handle create_segment();}{
|
||||
returns a halfedge from a newly created segment in \ccc{hds}
|
||||
consisting of a single open edge, two vertices, one face
|
||||
{\XHDS and one outer halfedge cycle}
|
||||
(if supported respectively).}
|
||||
(if supported).}
|
||||
\ccGlue
|
||||
\ccMethod{\XHDS Halfedge_handle create_isolated_vertex();}{\XHDS
|
||||
returns handle of a halfedge from a newly created loop in \ccc{hds}
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ defaults that allow to select various flavors of faces.
|
|||
\mbox{}~~~~~~ \= \ccc{template <} \=\ccc{class Refs,}\\
|
||||
\> \>\ccc{class Tag_halfedge } \mbox{}~~~ \=\ccc{= CGAL::Tag_true,}\\
|
||||
\> \>\ccc{class Tag_plane } \>\ccc{= CGAL::Tag_false,}\\
|
||||
\> \>\ccc{class Tag_halfedge_cycle} \>\ccc{= CGAL::Tag_true}\\
|
||||
\> \>\ccc{class Tag_halfedge_cycle} \>\ccc{= CGAL::Tag_true >}\\
|
||||
\> \ccc{class HalfedgeDS_face_base;}
|
||||
\end{tabbing}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,9 +25,9 @@ The full declaration states four template parameters:
|
|||
\begin{tabbing}
|
||||
\mbox{}~~~~~~ \= \ccc{template <} \=\ccc{class Refs,}\\
|
||||
\> \>\ccc{class Tag_prev } \=\ccc{= CGAL::Tag_true,}\\
|
||||
\> \>\ccc{class Tag_vertex } \>\ccc{= CGAL::Tag_true,}\\
|
||||
\> \>\ccc{class Tag_face } \>\ccc{= CGAL::Tag_true,}\\
|
||||
\> \>\ccc{class Tag_halfedge_cycle} \>\ccc{= CGAL::Tag_false}\\
|
||||
\> \>\ccc{class Tag_vertex } \> \ccc{= CGAL::Tag_true,}\\
|
||||
\> \>\ccc{class Tag_face } \> \ccc{= CGAL::Tag_true,}\\
|
||||
\> \>\ccc{class Tag_halfedge_cycle} \> \ccc{= CGAL::Tag_false >}\\
|
||||
\> \ccc{class HalfedgeDS_halfedge_base;}
|
||||
\end{tabbing}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ It uses the default types for vertices, halfedges, and faces that
|
|||
declare all incidences supported by a \ccc{HalfedgeDS}.
|
||||
{\XHDS Halfedge cycles are not supported.
|
||||
The vertex also contains a point of type \ccc{Traits::Point_2},
|
||||
where \ccc{Traits} is the template argument of the corresponding \ccc{HalfedgeDS}.
|
||||
where \ccc{Traits} is the template argument of the corresponding \ccc{HalfedgeDS}}.
|
||||
|
||||
\ccInclude{CGAL/HalfedgeDS_items_2.h}
|
||||
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ Notice the type tags for the halfedge and face wrapper which
|
|||
select halfedge\_cycles.
|
||||
|
||||
\begin{ccExampleCode}
|
||||
struct HalfedgeDS_items_2 {
|
||||
struct HalfedgeDS_items_with_halfedge_cycles_2 {
|
||||
template < class Refs, class Traits>
|
||||
struct Vertex_wrapper {
|
||||
typedef typename Traits::Point_2 Point;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
\ccRefChapter{Halfedge Data Structure}
|
||||
%\section{Reference Pages for Halfedge Data Structure\label{chapterHalfedgeDSRef}}
|
||||
\ccChapterRelease{\halfedgeDSRefRev. \ \halfedgeDSRefDate}
|
||||
\ccChapterAuthor{Lutz Kettner \and Fernando Cacciola}
|
||||
\ccChapterAuthor{Lutz Kettner}
|
||||
|
||||
% +------------------------------------------------------------------------+
|
||||
|
||||
|
|
@ -23,7 +23,9 @@ combinatorial data structure, geometric interpretation is added by
|
|||
classes built on top of the halfedge data structure. These classes
|
||||
might be more convenient to use than the halfedge data structure
|
||||
directly, since the halfedge data structure is meant as an
|
||||
implementation layer. See for example the \ccc{CGAL::Polyhedron_3}
|
||||
implementation layer. See for example the \ccc{CGAL::Polyhedron_3}\begin{center}
|
||||
|
||||
\end{center}
|
||||
class in Chapter~\ref{chapterPolyhedronRef}.
|
||||
|
||||
The data structure provided here is known as the
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ struct My_traits { // arbitrary point type, not used here.
|
|||
typedef int Point_2;
|
||||
};
|
||||
|
||||
typedef CGAL_HALFEDGEDS_DEFAULT <My_traits, My_items> HDS;
|
||||
typedef CGAL::HalfedgeDS_default<My_traits, My_items> HDS;
|
||||
typedef HDS::Face Face;
|
||||
typedef HDS::Face_handle Face_handle;
|
||||
|
||||
|
|
|
|||
|
|
@ -92,11 +92,7 @@ struct My_items : public CGAL::HalfedgeDS_items_2 {
|
|||
};
|
||||
|
||||
struct Traits { typedef int Point_2; };
|
||||
#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM
|
||||
typedef CGAL::HalfedgeDS_vector <Traits, My_items> HDS;
|
||||
#else
|
||||
typedef CGAL::HalfedgeDS_vector::HDS<Traits, My_items> HDS;
|
||||
#endif
|
||||
typedef CGAL::HalfedgeDS_vector<Traits, My_items> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
|
||||
int main() {
|
||||
|
|
|
|||
|
|
@ -91,11 +91,7 @@ struct My_items : public CGAL::HalfedgeDS_items_2 {
|
|||
};
|
||||
|
||||
struct Traits { typedef int Point_2; };
|
||||
#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM
|
||||
typedef CGAL::HalfedgeDS_list <Traits, My_items> HDS;
|
||||
#else
|
||||
typedef CGAL::HalfedgeDS_list::HDS<Traits, My_items> HDS;
|
||||
#endif
|
||||
typedef CGAL::HalfedgeDS_list<Traits, My_items> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
|
||||
int main() {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
#include <CGAL/HalfedgeDS_decorator.h>
|
||||
|
||||
struct Traits { typedef int Point_2; };
|
||||
typedef CGAL_HALFEDGEDS_DEFAULT<Traits> HDS;
|
||||
typedef CGAL::HalfedgeDS_default<Traits> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
|
||||
int main() {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
#include <CGAL/HalfedgeDS_default.h>
|
||||
#include <CGAL/HalfedgeDS_decorator.h>
|
||||
#include <CGAL/HalfedgeDS_items_with_ccb_2.h>
|
||||
#include <CGAL/HalfedgeDS_items_with_halfedge_cycle_2.h>
|
||||
|
||||
struct Traits { typedef int Point_2; };
|
||||
typedef CGAL_HALFEDGEDS_DEFAULT<Traits,CGAL::HalfedgeDS_items_with_ccb_2> HDS;
|
||||
typedef CGAL::HalfedgeDS_default<Traits,CGAL::HalfedgeDS_items_with_halfedge_cycle_2> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
|
||||
int main() {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <CGAL/N_step_adaptor.h>
|
||||
|
||||
struct Traits { typedef int Point_2; };
|
||||
typedef CGAL_HALFEDGEDS_DEFAULT<Traits> HDS;
|
||||
typedef CGAL::HalfedgeDS_default<Traits> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
typedef HDS::Halfedge_iterator Halfedge_iterator;
|
||||
typedef CGAL::N_step_adaptor< Halfedge_iterator, 2> Iterator;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <CGAL/HalfedgeDS_decorator.h>
|
||||
|
||||
// no traits needed, argument can be arbitrary dummy.
|
||||
typedef CGAL_HALFEDGEDS_DEFAULT<int, CGAL::HalfedgeDS_min_items> HDS;
|
||||
typedef CGAL::HalfedgeDS_default<int, CGAL::HalfedgeDS_min_items> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
|
||||
int main() {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ struct My_items : public CGAL::HalfedgeDS_min_items {
|
|||
};
|
||||
|
||||
// no traits needed, argument can be arbitrary dummy.
|
||||
typedef CGAL_HALFEDGEDS_DEFAULT<int, My_items> HDS;
|
||||
typedef CGAL::HalfedgeDS_default<int, My_items> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
|
||||
int main() {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <CGAL/HalfedgeDS_decorator.h>
|
||||
|
||||
// no traits needed, argument can be arbitrary dummy.
|
||||
typedef CGAL_HALFEDGEDS_DEFAULT<int, CGAL::HalfedgeDS_min_items_with_ccb> HDS;
|
||||
typedef CGAL::HalfedgeDS_default<int, CGAL::HalfedgeDS_min_items_with_ccb> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
|
||||
int main() {
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
#include <CGAL/HalfedgeDS_decorator.h>
|
||||
|
||||
struct Traits { typedef int Point_2; };
|
||||
typedef CGAL_HALFEDGEDS_DEFAULT<Traits> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
typedef HDS::Halfedge_iterator Iterator;
|
||||
typedef CGAL::HalfedgeDS_default<Traits> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
typedef HDS::Halfedge_iterator Iterator;
|
||||
|
||||
int main() {
|
||||
HDS hds;
|
||||
|
|
|
|||
|
|
@ -3,11 +3,7 @@
|
|||
#include <CGAL/HalfedgeDS_decorator.h>
|
||||
|
||||
struct Traits { typedef int Point_2; };
|
||||
#ifndef CGAL_CFG_NO_TMPL_IN_TMPL_PARAM
|
||||
typedef CGAL::HalfedgeDS_vector < Traits, CGAL::HalfedgeDS_items_2> HDS;
|
||||
#else
|
||||
typedef CGAL::HalfedgeDS_vector::HDS< Traits, CGAL::HalfedgeDS_items_2> HDS;
|
||||
#endif
|
||||
typedef CGAL::HalfedgeDS_vector< Traits, CGAL::HalfedgeDS_items_2> HDS;
|
||||
typedef CGAL::HalfedgeDS_decorator<HDS> Decorator;
|
||||
|
||||
int main() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue