mirror of https://github.com/CGAL/cgal
added oriented_side() free-function template
This commit is contained in:
parent
3c572bbaa3
commit
a6e2b1b994
|
|
@ -0,0 +1,121 @@
|
||||||
|
\ccRefPageBegin
|
||||||
|
\label{ref_bso_oriented_side}
|
||||||
|
|
||||||
|
\begin{ccRefFunction}{oriented_side}
|
||||||
|
|
||||||
|
\ccThree{Oriented_side}{oriented_side}{}
|
||||||
|
\ccThreeToTwo
|
||||||
|
|
||||||
|
\ccDefinition
|
||||||
|
|
||||||
|
\ccInclude{CGAL/Boolean_set_operations_2.h}
|
||||||
|
|
||||||
|
\ccGlobalFunction{Oriented_side oriented_side(const Type1 & p1, const Type2 & p2);}
|
||||||
|
{Each one of these functions returns \ccc{ON_POSITIVE_SIDE} if the two
|
||||||
|
given polygons \ccc{p1} and \ccc{p2} intersect in their interior,
|
||||||
|
\ccc{ON_NEGATIVE_SIDE} if \ccc{p1} and \ccc{p2} do not intersect at
|
||||||
|
all, and \ccc{ON_ORIENTED_BOUNDARY} if \ccc{p1} and \ccc{p2} intersect
|
||||||
|
only in their boundaries.}
|
||||||
|
|
||||||
|
\begin{ccTexOnly}
|
||||||
|
\begin{longtable}[c]{|l|l|}
|
||||||
|
\multicolumn{2}{l}{\sl \ \ }
|
||||||
|
\endfirsthead
|
||||||
|
\multicolumn{2}{l}{\sl continued}
|
||||||
|
\endhead
|
||||||
|
\hline
|
||||||
|
\textbf{Arg 1 Type} & \textbf{Arg 2 Type}\\
|
||||||
|
\hline
|
||||||
|
\hline
|
||||||
|
\ccc{Polygon_2} & \ccc{Polygon_2}\\
|
||||||
|
\hline
|
||||||
|
\ccc{Polygon_2} & \ccc{Polygon_with_holes_2}\\
|
||||||
|
\hline
|
||||||
|
\ccc{Polygon_with_holes_2} & \ccc{Polygon_2}\\
|
||||||
|
\hline
|
||||||
|
\ccc{Polygon_with_holes_2} & \ccc{Polygon_with_holes_2}\\
|
||||||
|
\hline
|
||||||
|
\ccc{General_polygon_2} & \ccc{General_polygon_2}\\
|
||||||
|
\hline
|
||||||
|
\ccc{General_polygon_2} & \ccc{General_polygon_with_holes_2}\\
|
||||||
|
\hline
|
||||||
|
\ccc{General_polygon_with_holes_2} & \ccc{General_polygon_2}\\
|
||||||
|
\hline
|
||||||
|
\ccc{General_polygon_with_holes_2} & \ccc{General_polygon_with_holes_2}\\
|
||||||
|
\hline
|
||||||
|
\end{longtable}
|
||||||
|
\end{ccTexOnly}
|
||||||
|
|
||||||
|
\begin{ccHtmlOnly}
|
||||||
|
<div align="center">
|
||||||
|
<table cellpadding=3 border="1">
|
||||||
|
<tr><th> Arg 1 type</th><th>Arg 2 type</th></tr>
|
||||||
|
<tr><td valign="center">Polygon_2</td><td valign="center">Polygon_2</td></tr>
|
||||||
|
<tr><td valign="center">Polygon_2</td><td valign="center">Polygon_with_holes_2</td></tr>
|
||||||
|
<tr><td valign="center">Polygon_with_holes_2</td><td valign="center">Polygon_2</td></tr>
|
||||||
|
<tr><td valign="center">Polygon_with_holes_2</td><td valign="center">Polygon_with_holes_2</td></tr>
|
||||||
|
<tr><td valign="center">General_polygon_2</td><td valign="center">General_polygon_2</td></tr>
|
||||||
|
<tr><td valign="center">General_polygon_2</td><td valign="center">General_polygon_with_holes_2</td></tr>
|
||||||
|
<tr><td valign="center">General_polygon_with_holes_2</td><td valign="center">General_polygon_2</td></tr>
|
||||||
|
<tr><td valign="center">General_polygon_with_holes_2</td><td valign="center">General_polygon_with_holes_2</td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
\end{ccHtmlOnly}
|
||||||
|
|
||||||
|
\ccGlobalFunction{template <class Kernel, class Container>
|
||||||
|
Oriented_side oriented_side(const Polygon_2<Kernel, Container> & p1,
|
||||||
|
const Polygon_2<Kernel, Container> & p2);}
|
||||||
|
\ccGlue
|
||||||
|
\ccGlobalFunction{template <class Kernel, class Container>
|
||||||
|
Oriented_side oriented_side(const Polygon_2<Kernel, Container> & p1,
|
||||||
|
const Polygon_with_holes_2<Kernel, Container> & p2);}
|
||||||
|
\ccGlue
|
||||||
|
\ccGlobalFunction{template <class Kernel, class Container>
|
||||||
|
Oriented_side oriented_side(const Polygon_with_holes_2<Kernel, Container> & p1,
|
||||||
|
const Polygon_2<Kernel, Container> & p2);}
|
||||||
|
\ccGlue
|
||||||
|
\ccGlobalFunction{template <class Kernel, class Container>
|
||||||
|
Oriented_side oriented_side(const Polygon_with_holes_2<Kernel, Container> & p1,
|
||||||
|
const Polygon_with_holes_2<Kernel, Container> & p2);}
|
||||||
|
\ccGlue
|
||||||
|
\ccGlobalFunction{template <class Traits>
|
||||||
|
Oriented_side oriented_side(const General_polygon_2<Traits> & p1,
|
||||||
|
const General_polygon_2<Traits> & p2);}
|
||||||
|
\ccGlue
|
||||||
|
\ccGlobalFunction{template <class Traits>
|
||||||
|
Oriented_side oriented_side(const General_polygon_2<Traits> & p1,
|
||||||
|
const General_polygon_with_holes_2<General_polygon_2<Traits> > & p2);}
|
||||||
|
\ccGlue
|
||||||
|
\ccGlobalFunction{template <class Traits>
|
||||||
|
Oriented_side oriented_side(const General_polygon_with_holes_2<General_polygon_2<Traits> > & p1,
|
||||||
|
const General_polygon_2<Traits> & p2);}
|
||||||
|
\ccGlue
|
||||||
|
\ccGlobalFunction{template <class Polygon>
|
||||||
|
Oriented_side oriented_side(const General_polygon_with_holes_2<Polygon> & p1,
|
||||||
|
const General_polygon_with_holes_2<Polygon> & p2);}
|
||||||
|
|
||||||
|
%% \ccGlobalFunction{template <class InputIterator>
|
||||||
|
%% Oriented_side oriented_side(InputIterator begin, InputIterator end);}
|
||||||
|
%% {Returns \ccc{ON_POSITIVE_SIDE} if the set of general polygons (or
|
||||||
|
%% general polygons with holes) in the given range intersect in their
|
||||||
|
%% interior, \ccc{ON_NEGATIVE_SIDE} if they do not intersect at all,
|
||||||
|
%% and \ccc{ON_ORIENTED_BOUNDARY} if they intersect only in their
|
||||||
|
%% boundaries. (The value type of the input iterator is used to
|
||||||
|
%% distinguish between the two).}
|
||||||
|
|
||||||
|
%% \ccGlobalFunction{template <class InputIterator1, class InputIterator2>
|
||||||
|
%% Oriented_side oriented_side(InputIterator1 pgn_begin1,
|
||||||
|
%% InputIterator1 pgn_end1,
|
||||||
|
%% InputIterator2 pgn_begin2,
|
||||||
|
%% InputIterator2 pgn_end2);}
|
||||||
|
%% {Returns \ccc{ON_POSITIVE_SIDE} if the set of general polygons and
|
||||||
|
%% general polygons with holes in the given two ranges, respectively,
|
||||||
|
%% intersect in their interior, \ccc{ON_NEGATIVE_SIDE} if they do not
|
||||||
|
%% intersect at all, and \ccc{ON_ORIENTED_BOUNDARY} if they intersect
|
||||||
|
%% only in their boundaries.}
|
||||||
|
|
||||||
|
\ccSeeAlso
|
||||||
|
\ccRefIdfierPage{CGAL::do_intersect}
|
||||||
|
\end{ccRefFunction}
|
||||||
|
|
||||||
|
\ccRefPageEnd
|
||||||
|
|
@ -56,6 +56,8 @@ containment predicates.
|
||||||
{\lcTex{\dotfill page~\pageref{ref_bso_difference}}}\\
|
{\lcTex{\dotfill page~\pageref{ref_bso_difference}}}\\
|
||||||
\ccc{CGAL::symmetric_difference}
|
\ccc{CGAL::symmetric_difference}
|
||||||
{\lcTex{\dotfill page~\pageref{ref_bso_symmetric_difference}}}\\
|
{\lcTex{\dotfill page~\pageref{ref_bso_symmetric_difference}}}\\
|
||||||
|
\ccc{CGAL::oriented_side}
|
||||||
|
{\lcTex{\dotfill page~\pageref{ref_bso_oriented_side}}}\\
|
||||||
\ccc{CGAL::connect_holes}
|
\ccc{CGAL::connect_holes}
|
||||||
{\lcTex{\dotfill page~\pageref{ref_bso_connect_holes}}}\\
|
{\lcTex{\dotfill page~\pageref{ref_bso_connect_holes}}}\\
|
||||||
\ccc{CGAL::operator<<}
|
\ccc{CGAL::operator<<}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@
|
||||||
\input{Boolean_set_operations_2_ref/Bso_complement.tex}
|
\input{Boolean_set_operations_2_ref/Bso_complement.tex}
|
||||||
\input{Boolean_set_operations_2_ref/Bso_difference.tex}
|
\input{Boolean_set_operations_2_ref/Bso_difference.tex}
|
||||||
\input{Boolean_set_operations_2_ref/Bso_do_intersect.tex}
|
\input{Boolean_set_operations_2_ref/Bso_do_intersect.tex}
|
||||||
|
\input{Boolean_set_operations_2_ref/Bso_oriented_side.tex}
|
||||||
\input{Boolean_set_operations_2_ref/Bso_intersection.tex}
|
\input{Boolean_set_operations_2_ref/Bso_intersection.tex}
|
||||||
\input{Boolean_set_operations_2_ref/Bso_join.tex}
|
\input{Boolean_set_operations_2_ref/Bso_join.tex}
|
||||||
\input{Boolean_set_operations_2_ref/Bso_symmetric_difference.tex}
|
\input{Boolean_set_operations_2_ref/Bso_symmetric_difference.tex}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue