mirror of https://github.com/CGAL/cgal
improved traits
This commit is contained in:
parent
5b41a2a48d
commit
cda70cbb64
|
|
@ -1,18 +1,12 @@
|
|||
% +------------------------------------------------------------------------+
|
||||
% | Reference manual page: ArrangementTraits.tex
|
||||
% +------------------------------------------------------------------------+
|
||||
% |
|
||||
% | Package: Arrangement_2
|
||||
% |
|
||||
% +------------------------------------------------------------------------+
|
||||
% Reference manual page: ArrangementTraits.tex
|
||||
% Package: Arrangement_2
|
||||
|
||||
\ccRefPageBegin
|
||||
|
||||
\begin{ccRefConcept}{ArrangementTraits_2}
|
||||
|
||||
\ccDefinition
|
||||
|
||||
This refined arrangement-traits concept allows the construction of arrangement
|
||||
% ===========
|
||||
The concept \ccRefName{} allows the construction of arrangement
|
||||
of {\sl general} planar curves. Models of this concept are used
|
||||
by the free \ccc{insert()} functions of the arrangement package and
|
||||
by the \ccc{Arrangement_with_history_2} class.
|
||||
|
|
@ -27,20 +21,18 @@ and \ccc{X_monotone_curve_2} types, defined in the basic traits concept).
|
|||
\ccc{ArrangementXMonotoneTraits_2}
|
||||
|
||||
\ccTypes
|
||||
%=======
|
||||
|
||||
% ======
|
||||
\ccNestedType{Curve_2}{represents a general planar curve.}
|
||||
|
||||
\ccHeading{Functor Types}
|
||||
%========================
|
||||
|
||||
% =======================
|
||||
\ccThree{Compare_y_at_x_2}{}{\hspace*{14cm}}
|
||||
\ccThreeToTwo
|
||||
|
||||
\ccNestedType{Make_x_monotone_2}
|
||||
{provides the operator (parameterized by the \ccc{OutputIterator} type)~:
|
||||
\begin{itemize}
|
||||
\item \ccc{OutputIterator operator() (Curve_2 c, OutputIterator oi)} \\
|
||||
\item \ccc{OutputIterator operator() (Curve_2 c, OutputIterator oi)}\\
|
||||
which subdivides the input curve \ccc{c} into $x$-monotone subcurves and
|
||||
isolated points, and inserts the results into a container through the
|
||||
given output iterator. The value type of \ccc{OutputIterator} is
|
||||
|
|
@ -49,43 +41,32 @@ and \ccc{X_monotone_curve_2} types, defined in the basic traits concept).
|
|||
operator returns a past-the-end iterator for the output sequence.
|
||||
\end{itemize}}
|
||||
|
||||
\ccCreation
|
||||
\ccCreationVariable{traits}
|
||||
%==========================
|
||||
|
||||
\ccThree{Construct_x_monotone_curve_2~~~}{}{\hspace*{7cm}}
|
||||
\ccThreeToTwo
|
||||
|
||||
\ccConstructor{ArrangementTraits_2();}{default constructor.}
|
||||
\ccGlue
|
||||
\ccConstructor{ArrangementTraits_2(ArrangementTraits_2 other);}
|
||||
{copy constructor}
|
||||
\ccGlue
|
||||
\ccMethod{ArrangementTraits_2 operator=(other);}{assignment operator.}
|
||||
|
||||
\ccCreationVariable{traits}
|
||||
% \ccCreation
|
||||
% =========
|
||||
|
||||
\ccHeading{Accessing Functor Objects}
|
||||
%====================================
|
||||
|
||||
\ccMethod{Make_x_monotone_2 make_x_monotone_2_object();} {}
|
||||
% ===================================
|
||||
\ccMethod{Make_x_monotone_2 make_x_monotone_2_object();}{}
|
||||
|
||||
\ccHasModels
|
||||
%===========
|
||||
|
||||
\ccc{CGAL::Arr_segment_traits_2<Kernel>} \\
|
||||
\ccc{CGAL::Arr_non_caching_segment_traits_2<Kernel>} \\
|
||||
\ccc{CGAL::Arr_polyline_traits_2<SegmentTraits>} \\
|
||||
\ccc{CGAL::Arr_circle_segment_traits_2<Kernel>} \\
|
||||
\ccc{CGAL::Arr_conic_traits_2<RatKernel,AlgKernel,NtTraits>} \\
|
||||
\ccc{CGAL::Arr_rational_arc_traits_2<AlgKernel,NtTraits>} \\
|
||||
% ==========
|
||||
\ccc{CGAL::Arr_segment_traits_2<Kernel>}\\
|
||||
\ccc{CGAL::Arr_non_caching_segment_traits_2<Kernel>}\\
|
||||
\ccc{CGAL::Arr_polyline_traits_2<SegmentTraits>}\\
|
||||
\ccc{CGAL::Arr_circle_segment_traits_2<Kernel>}\\
|
||||
\ccc{CGAL::Arr_conic_traits_2<RatKernel,AlgKernel,NtTraits>}\\
|
||||
\ccc{CGAL::Arr_rational_arc_traits_2<AlgKernel,NtTraits>}\\
|
||||
\ccc{CGAL::Arr_curve_data_traits_2<Tr,XData,Mrg,CData,Cnv>}\\
|
||||
\ccc{CGAL::Arr_consolidated_curve_data_traits_2<Traits,Data>}
|
||||
|
||||
\ccSeeAlso
|
||||
%=========
|
||||
|
||||
% ========
|
||||
\ccc{ArrangementBasicTraits_2}\lcTex{
|
||||
(\ccRefPage{ArrangementBasicTraits_2})} \\
|
||||
(\ccRefPage{ArrangementBasicTraits_2})}\\
|
||||
\ccc{ArrangementXMonotoneTraits_2}\lcTex{
|
||||
(\ccRefPage{ArrangementXMonotoneTraits_2})}\\
|
||||
\ccc{ArrangementLandmarkTraits_2}\lcTex{
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@
|
|||
|
||||
\ccDefinition
|
||||
% ===========
|
||||
This concept refines the basic arrangement-traits concept. A model of
|
||||
this concept is able to handle $x$-monotone curves that intersect in
|
||||
their interior (and points that conincide with curve interiors). This
|
||||
is necessary for constructing arrangements of sets of intersecting
|
||||
$x$-monotone curves.
|
||||
This concept\ccRefName{} refines the basic arrangement-traits concept.
|
||||
A model of this concept is able to handle $x$-monotone curves that
|
||||
intersect in their interior (and points that conincide with curve
|
||||
interiors). This is necessary for constructing arrangements of sets of
|
||||
intersecting $x$-monotone curves.
|
||||
|
||||
As the resulting structure, represented by the \ccc{Arrangement_2} class,
|
||||
stores pairwise interior-disjoint curves, the input curves are split at
|
||||
|
|
@ -167,7 +167,7 @@ the \ccc{Has_merge_category} tag should be defined as \ccc{Tag_true} (and
|
|||
\ccMethod{void merge(ArrTraits::X_monotone_curve_2 xc1,
|
||||
ArrTraits::X_monotone_curve_2 xc2,
|
||||
ArrTraits::X_monotone_curve_2& xc);}{%
|
||||
accepts two mergeable $x$-monotone curves \ccc{xc1} and \ccc{xc2}
|
||||
accepts two {\em mergeable} $x$-monotone curves \ccc{xc1} and \ccc{xc2}
|
||||
(see definition above), and sets\ccc{xc} to be the merged curve.}
|
||||
\ccTagDefaults
|
||||
\end{ccRefConcept}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,32 @@ implemented as peripheral classes or as free (global) functions.
|
|||
% ~\\
|
||||
% \ccRefConceptPage{SweepLineVisitor_2}
|
||||
|
||||
\subsection*{Geometric Object Concepts}
|
||||
|
||||
\ccRefConceptPage{ArrTraits::Point_2}\\
|
||||
\ccRefConceptPage{ArrTraits::XMonotoneCurve_2}\\
|
||||
\ccRefConceptPage{ArrTraits::Curve_2}
|
||||
|
||||
\subsection*{Function Object Concepts}
|
||||
|
||||
\ccRefConceptPage{ArrTraits::CompareX_2}\\
|
||||
\ccRefConceptPage{ArrTraits::UnboundedCompareX_2}\\
|
||||
\ccRefConceptPage{ArrTraits::CompareXy_2}\\
|
||||
\ccRefConceptPage{ArrTraits::InfiniteInX_2}\\
|
||||
\ccRefConceptPage{ArrTraits::InfiniteInY_2}\\
|
||||
\ccRefConceptPage{ArrTraits::ConstructMinVertex_2}\\
|
||||
\ccRefConceptPage{ArrTraits::ConstructMaxVertex_2}\\
|
||||
\ccRefConceptPage{ArrTraits::IsVertical_2}\\
|
||||
\ccRefConceptPage{ArrTraits::CompareYAtX_2}\\
|
||||
\ccRefConceptPage{ArrTraits::UnboundedCompareYAtX_2}\\
|
||||
\ccRefConceptPage{ArrTraits::CompareYAtXLeft_2}\\
|
||||
\ccRefConceptPage{ArrTraits::CompareYAtXRight_2}\\
|
||||
\ccRefConceptPage{ArrTraits::Equal_2}\\
|
||||
\ccRefConceptPage{ArrTraits::Intersect_2}\\
|
||||
\ccRefConceptPage{ArrTraits::Split_2}\\
|
||||
\ccRefConceptPage{ArrTraits::AreMergeable_2}\\
|
||||
\ccRefConceptPage{ArrTraits::Merge_2}
|
||||
|
||||
\subsection*{Classes}
|
||||
|
||||
\ccRefIdfierPage{CGAL::Arrangement_2<Traits,Dcel>}\\
|
||||
|
|
|
|||
Loading…
Reference in New Issue