mirror of https://github.com/CGAL/cgal
115 lines
4.2 KiB
TeX
115 lines
4.2 KiB
TeX
\begin{ccRefConcept}{CircularKernel}
|
|
|
|
\ccRefines
|
|
\ccc{Kernel}
|
|
|
|
\ccHasModels
|
|
\ccc{CGAL::Circular_kernel_2<LinearKernel,AlgebraicKernelForCircles>}\\
|
|
\ccc{CGAL::Exact_circular_kernel_2}
|
|
%\ccc{CGAL::Lazy_curved_kernel<CircularKernel>}\\
|
|
%\ccc{CGAL::Filtered_hexagon_curved_kernel<CircularKernel>}\\
|
|
%\ccc{CGAL::Filtered_bbox_curved_kernel<CircularKernel>}
|
|
|
|
\ccTypes
|
|
|
|
A model of \ccc{CircularKernel} is supposed to provide some basic types
|
|
|
|
\ccNestedType{Linear_kernel}{Model of \ccc{LinearKernel}.}
|
|
\ccGlue
|
|
\ccNestedType{Algebraic_kernel}{Model of \ccc{AlgebraicKernelForCircles}.}
|
|
|
|
\ccNestedType{RT}{Model of \ccc{RingNumberType}.}
|
|
\ccGlue
|
|
\ccNestedType{FT}{Model of \ccc{FieldNumberType}.}
|
|
|
|
\ccNestedType{Root_of_2}{Model of \ccc{RootOf_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Root_for_circles_2_2}{Model of \ccc{AlgebraicKernelForCircles::RootForCircles_2_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Polynomial_1_2}{Model of \ccc{AlgebraicKernelForCircles::Polynomial_1_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Polynomial_for_circles_2_2}{Model of \ccc{AlgebraicKernelForCircles::PolynomialForCircles_2_2}.}
|
|
|
|
and to define the following geometric objects
|
|
|
|
\ccNestedType{Point_2}{Model of \ccc{Kernel::Point_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Circle_2}{Model of \ccc{Kernel::Circle_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Line_arc_2}{Model of \ccc{CircularKernel::LineArc_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Circular_arc_2}{Model of \ccc{CircularKernel::CircularArc_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Circular_arc_point_2}{Model of \ccc{CircularKernel::CircularArcPoint_2}.}
|
|
|
|
Moreover, a model of \ccc{CircularKernel} must provide predicates,
|
|
constructions and other functionalities.
|
|
|
|
\ccPredicates
|
|
|
|
\ccNestedType{Compare_x_2}{Model of \ccc{CircularKernel::CompareX_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Compare_y_2}{Model of \ccc{CircularKernel::CompareY_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Compare_xy_2}{Model of \ccc{CircularKernel::CompareXY_2}.}
|
|
|
|
\ccNestedType{Equal_2}{Model of \ccc{CircularKernel::Equal_2}.}
|
|
|
|
\ccNestedType{Compare_y_at_x_2}{Model of \ccc{CircularKernel::CompareYatX_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Compare_y_to_right_2}{Model of \ccc{CircularKernel::CompareYtoRight_2}.}
|
|
|
|
\ccNestedType{Has_on_2}{Model of \ccc{CircularKernel::HasOn_2}.}
|
|
|
|
\ccNestedType{Do_overlap}{Model of \ccc{CircularKernel::DoOverlap_2}.}
|
|
|
|
\ccNestedType{In_x_range_2}{Model of \ccc{CircularKernel::InXRange_2}.}
|
|
%\ccGlue
|
|
%\ccNestedType{In_y_range_2}{Model of \ccc{CircularKernel::InYRange_2}.}
|
|
|
|
\ccNestedType{Is_vertical_2}{Model of \ccc{CircularKernel::IsVertical_2}.}
|
|
|
|
\ccNestedType{Is_x_monotone_2}{Model of \ccc{CircularKernel::IsXMonotone_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Is_y_monotone_2}{Model of \ccc{CircularKernel::IsYMonotone_2}.}
|
|
|
|
\ccHeading{Constructions}
|
|
|
|
\ccNestedType{Construct_line_2}{Model of \ccc{CircularKernel::ConstructLine_2}.}
|
|
\ccNestedType{Construct_circle_2}{Model of \ccc{CircularKernel::ConstructCircle_2}.}
|
|
\ccNestedType{Construct_circular_arc_point_2}{Model of \ccc{CircularKernel::ConstructCircularArcPoint_2}.}
|
|
\ccNestedType{Construct_line_arc_2}{Model of \ccc{CircularKernel::ConstructLineArc_2}.}
|
|
\ccNestedType{Construct_circular_arc_2}{Model of \ccc{CircularKernel::ConstructCircularArc_2}.}
|
|
|
|
\ccNestedType{Construct_circular_min_vertex_2}{Model of \ccc{CircularKernel::ConstructCircularMinVertex_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Construct_circular_max_vertex_2}{Model of \ccc{CircularKernel::ConstructCircularMaxVertex_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Construct_circular_source_vertex_2}{Model of \ccc{CircularKernel::ConstructCircularSourceVertex_2}.}
|
|
\ccGlue
|
|
\ccNestedType{Construct_circular_target_vertex_2}{Model of \ccc{CircularKernel::ConstructCircularTargetVertex_2}.}
|
|
|
|
|
|
\ccHeading{Link with the algebraic kernel}
|
|
|
|
\ccNestedType{Get_equation}{Model of \ccc{CircularKernel::GetEquation}.}
|
|
|
|
\ccOperations
|
|
|
|
As in the \ccc{Kernel} concept, for each of the function objects
|
|
above, there must exist a member function that requires no arguments
|
|
and returns an instance of that function object. The name of the
|
|
member function is the uncapitalized name of the type returned with
|
|
the suffix \ccc{_object} appended. For example, for the function object
|
|
\ccc{CircularKernel::Construct_circular_arc_2} the following member function
|
|
must exist:
|
|
|
|
\ccCreationVariable{ck}
|
|
\ccMethod{Construct_circular_arc_2 construct_circular_arc_2_object() const;}{}
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccRefIdfierPage{Kernel}
|
|
|
|
\end{ccRefConcept}
|