\begin{ccRefFunctionObjectConcept}{CircularKernel::HasOn_2}

\ccDefinition

To test whether a curve contains a point.

\ccCreationVariable{fo}

An object \ccVar\ of this type must provide:

\ccMemberFunction{bool operator()
	(const CircularKernel::Line_2 & l, 
	const CircularKernel::Circular_arc_point_2 &p);}
{For a line.}

\ccMemberFunction{bool operator()
	(const CircularKernel::Circle_2 & c, 
	const CircularKernel::Circular_arc_point_2 &p);}
{For a circle.}

\ccMemberFunction{bool operator()
	(const CircularKernel::Line_arc_2 & l, 
	const CircularKernel::Circular_arc_point_2 &p);}
{For a line arc.}

\ccMemberFunction{bool operator()
	(const CircularKernel::Circular_arc_2 & c, 
	const CircularKernel::Circular_arc_point_2 &p);}
{For a circular arc. \ccPrecond{$c$ is $x$-monotone.}}

\ccHasModels

\ccc{Circular_kernel_2::Has_on _2;}

\ccSeeAlso

\ccRefIdfierPage{CGAL::has_on}

\end{ccRefFunctionObjectConcept}
\begin{ccRefFunctionObjectConcept}{CircularKernel::DoOverlap_2}

\ccDefinition

Testing whether the interiors of two curves overlap.

\ccCreationVariable{fo}

An object \ccVar\ of this type must provide:

\ccMemberFunction{bool operator()
	(const CircularKernel::Line_arc_2 & l0,
	const CircularKernel::Line_arc_2 & l1);}
{For two line arcs.}

\ccMemberFunction{bool operator()
	(const CircularKernel::Circular_arc_2 & a0,
	const CircularKernel::Circular_arc_2 & a1);}
{For two circular arcs. \ccPrecond{$a_0$ and $a_1$ are $x$-monotone.}}

\ccHasModels

\ccc{Circular_kernel_2::Do_overlap_2;}

\ccSeeAlso

\ccRefIdfierPage{CGAL::do_overlap}
	
\end{ccRefFunctionObjectConcept}

\begin{ccRefFunctionObjectConcept}{CircularKernel::InXRange_2}

\ccDefinition

To test whether a point lies in the vertical range of a curve.

\ccCreationVariable{fo}

An object \ccVar\ of this type must provide:

\ccMemberFunction{bool operator()
	(const CircularKernel::Line_arc_2 & l,
	const CircularKernel::Circular_arc_point_2 & p);}
{For a line arc.}

\ccMemberFunction{bool operator()
	(const CircularKernel::Circular_arc_2 & c,
	const CircularKernel::Circular_arc_point_2 & p);}
{For a circular arc. \ccPrecond{$c$ is $x$-monotone.}}

\ccHasModels

\ccc{Circular_kernel_2::In_x_range_2;}

\ccSeeAlso

\ccRefIdfierPage{CGAL::in_x_range}

\end{ccRefFunctionObjectConcept}
%\begin{ccRefFunctionObjectConcept}{CircularKernel::InYRange_2}

%\ccDefinition

%To test whether a point lies in the horizontal range of a curve.

%\ccCreationVariable{fo}

%An object \ccVar\ of this type must provide:

%\ccMemberFunction{bool operator()
%	(const CircularKernel::Line_arc_2 & l,
%	const CircularKernel::Circular_arc_point_2 & p);}
%{For a line arc.}

%\ccMemberFunction{bool operator()
%	(const CircularKernel::Circular_arc_2 & c,
%	const CircularKernel::Circular_arc_point_2 & p);}
%{For a circular arc. \ccPrecond{$c$ is $y$-monotone.}}

%\ccHasModels

%\ccc{Circular_kernel_2::In_y_range_2;}

%\ccSeeAlso

%\ccRefIdfierPage{CGAL::in_y_range}

%\end{ccRefFunctionObjectConcept}

\begin{ccRefFunctionObjectConcept}{CircularKernel::IsVertical_2}

\ccCreationVariable{fo}

\ccRefines

\ccc{Kernel::IsVertical_2}

An object \ccVar\ of this type must provide:

\ccMemberFunction{bool operator()
	(const CircularKernel::Line_arc_2 & l);}
{For a line arc.}

\ccMemberFunction{bool operator()
	(const CircularKernel::Circular_arc_2 & c);}
{For a circular arc,  always returns \ccc{false}.}

\ccHasModels

\ccc{Circular_kernel_2::Is_vertical_2;}

\ccSeeAlso

\ccRefIdfierPage{CGAL::is_vertical}

\end{ccRefFunctionObjectConcept}
\begin{ccRefFunctionObjectConcept}{CircularKernel::IsXMonotone_2}

\ccCreationVariable{fo}

An object \ccVar\ of this type must provide:

\ccMemberFunction{bool operator()
	(const CircularKernel::Circular_arc_2 & c);}
{Tests whether the arc is $x$-monotone.}

\ccMemberFunction{bool operator()
	(const CircularKernel::Line_arc_2 & l);}
{For a line arc, always returns \ccc{true}.}

\ccHasModels

\ccc{Circular_kernel_2::Is_x_monotone_2;}

\ccSeeAlso

\ccRefIdfierPage{CGAL::is_x_monotone}

\end{ccRefFunctionObjectConcept}
\begin{ccRefFunctionObjectConcept}{CircularKernel::IsYMonotone_2}

\ccCreationVariable{fo}

An object \ccVar\ of this type must provide:

\ccMemberFunction{bool operator()
	(const CircularKernel::Circular_arc_2 & c);}
{Tests whether the arc is $y$-monotone.}

\ccMemberFunction{bool operator()
	(const CircularKernel::Line_arc_2 & l);}
{For a line arc, always returns \ccc{true}.}

\ccHasModels

\ccc{Circular_kernel_2::Is_y_monotone_2;}

\ccSeeAlso

\ccRefIdfierPage{CGAL::is_y_monotone}

\end{ccRefFunctionObjectConcept}
