CircularKernel

Refines

Kernel

Has Models

CGAL::Circular_kernel_2<Kernel,AlgebraicKernelForCircles>
CGAL::Exact_circular_kernel_2

Types

A model of CircularKernel is supposed to provide some basic types

CircularKernel::Linear_kernel
Model of LinearKernel.

CircularKernel::Algebraic_kernel
Model of AlgebraicKernelForCircles.


CircularKernel::RT
Model of RingNumberType.

CircularKernel::FT
Model of FieldNumberType.


CircularKernel::Root_of_2
Model of RootOf_2.

CircularKernel::Root_for_circles_2_2
Model of AlgebraicKernelForCircles::RootForCircles_2_2.

CircularKernel::Polynomial_1_2
Model of AlgebraicKernelForCircles::Polynomial_1_2.

CircularKernel::Polynomial_for_circles_2_2
Model of AlgebraicKernelForCircles::PolynomialForCircles_2_2.

and to define the following geometric objects

CircularKernel::Point_2
Model of Kernel::Point_2.

CircularKernel::Circle_2
Model of Kernel::Circle_2.

CircularKernel::Line_arc_2
Model of CircularKernel::LineArc_2.

CircularKernel::Circular_arc_2
Model of CircularKernel::CircularArc_2.

CircularKernel::Circular_arc_point_2
Model of CircularKernel::CircularArcPoint_2.

Moreover, a model of CircularKernel must provide predicates, constructions and other functionalities.

Predicates

CircularKernel::Compare_x_2
Model of CircularKernel::CompareX_2.

CircularKernel::Compare_y_2
Model of CircularKernel::CompareY_2.

CircularKernel::Compare_xy_2
Model of CircularKernel::CompareXY_2.


CircularKernel::Equal_2
Model of CircularKernel::Equal_2.


CircularKernel::Compare_y_at_x_2
Model of CircularKernel::CompareYatX_2.

CircularKernel::Compare_y_to_right_2
Model of CircularKernel::CompareYtoRight_2.


CircularKernel::Has_on_2
Model of CircularKernel::HasOn_2.


CircularKernel::Do_overlap_2
Model of CircularKernel::DoOverlap_2.


CircularKernel::Do_intersect_2
Model of CircularKernel::DoIntersect_2.


CircularKernel::Bounded_side_2
Model of CircularKernel::BoundedSide_2.

CircularKernel::Has_on_bounded_side_2
Model of CircularKernel::HasOnBoundedSide_2.

CircularKernel::Has_on_unbounded_side_2
Model of CircularKernel::HasOnUnboundedSide_2.


CircularKernel::In_x_range_2
Model of CircularKernel::InXRange_2.


CircularKernel::Is_vertical_2
Model of CircularKernel::IsVertical_2.


CircularKernel::Is_x_monotone_2
Model of CircularKernel::IsXMonotone_2.

CircularKernel::Is_y_monotone_2
Model of CircularKernel::IsYMonotone_2.

Constructions

CircularKernel::Construct_line_2
Model of CircularKernel::ConstructLine_2.


CircularKernel::Construct_circle_2
Model of CircularKernel::ConstructCircle_2.


CircularKernel::Construct_circular_arc_point_2
Model of CircularKernel::ConstructCircularArcPoint_2.


CircularKernel::Construct_line_arc_2
Model of CircularKernel::ConstructLineArc_2.


CircularKernel::Construct_circular_arc_2
Model of CircularKernel::ConstructCircularArc_2.


CircularKernel::Compute_circular_x_2
Model of CircularKernel::ComputeCircularX_2

CircularKernel::Compute_circular_y_2
Model of CircularKernel::ComputeCircularY_2


CircularKernel::Construct_circular_min_vertex_2
Model of CircularKernel::ConstructCircularMinVertex_2.

CircularKernel::Construct_circular_max_vertex_2
Model of CircularKernel::ConstructCircularMaxVertex_2.

CircularKernel::Construct_circular_source_vertex_2
Model of CircularKernel::ConstructCircularSourceVertex_2.

CircularKernel::Construct_circular_target_vertex_2
Model of CircularKernel::ConstructCircularTargetVertex_2.


CircularKernel::Intersect_2
Model of CircularKernel::Intersect_2.


CircularKernel::Split_2
Model of CircularKernel::Split_2.


CircularKernel::Make_x_monotone_2
Model of CircularKernel::MakeXMonotone_2.

CircularKernel::Make_xy_monotone_2
Model of CircularKernel::MakeXYMonotone_2.

Link with the algebraic kernel

CircularKernel::Get_equation
Model of CircularKernel::GetEquation.

Operations

As in the 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 _object appended. For example, for the function object CircularKernel::Construct_circular_arc_2 the following member function must exist:

Construct_circular_arc_2 ck.construct_circular_arc_2_object () const

See Also

Kernel