\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.11.2 - 2D Circular Geometry Kernel
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
CircularKernel Concept Reference

Definition

Concepts

conceptBoundedSide_2
 
conceptCircularArc_2
 Concept for arcs of circles. More...
 
conceptCircularArcPoint_2
 Concept for points on circles, circular arcs or line arcs. More...
 
conceptCompareX_2
 
conceptCompareXY_2
 
conceptCompareY_2
 
conceptCompareYatX_2
 A function object concept to compare a point p and an arc a on the vertical line passing through p. More...
 
conceptCompareYtoRight_2
 A function object concept to compare vertically two arcs on the right side of a common point p: More...
 
conceptComputeCircularX_2
 
conceptComputeCircularY_2
 
conceptConstructBbox_2
 A function object concept to construct a bounding box of geometric objects: More...
 
conceptConstructCircle_2
 
conceptConstructCircularArc_2
 
conceptConstructCircularArcPoint_2
 
conceptConstructCircularMaxVertex_2
 
conceptConstructCircularMinVertex_2
 
conceptConstructCircularSourceVertex_2
 
conceptConstructCircularTargetVertex_2
 
conceptConstructLine_2
 
conceptConstructLineArc_2
 
conceptDoIntersect_2
 Testing whether two curves intersect. More...
 
conceptDoOverlap_2
 Testing whether the interiors of two curves overlap. More...
 
conceptEqual_2
 Testing equality between objects. More...
 
conceptGetEquation
 
conceptHasOn_2
 To test whether a point lies on a curve. More...
 
conceptHasOnBoundedSide_2
 
conceptHasOnUnboundedSide_2
 
conceptIntersect_2
 
conceptInXRange_2
 To test whether a point lies in the vertical range of a curve. More...
 
conceptIsVertical_2
 
conceptIsXMonotone_2
 
conceptIsYMonotone_2
 
conceptLineArc_2
 Concept for line segments supported by a line that is a model of Kernel::Line_2 and whose endpoints are models of the CircularKernel::CircularArcPoint_2 concept. More...
 
conceptMakeXMonotone_2
 
conceptMakeXYMonotone_2
 
conceptSplit_2
 

Types

A model of CircularKernel is supposed to provide some basic types and to define the following geometric objects Moreover, a model of CircularKernel must provide predicates, constructions and other functionalities.

typedef unspecified_type Linear_kernel
 Model of LinearKernel.
 
typedef unspecified_type Algebraic_kernel
 Model of AlgebraicKernelForCircles.
 
typedef unspecified_type RT
 Model of RingNumberType.
 
typedef unspecified_type FT
 Model of FieldNumberType.
 
typedef unspecified_type Root_of_2
 Model of RootOf_2.
 
typedef unspecified_type Root_for_circles_2_2
 Model of AlgebraicKernelForCircles::RootForCircles_2_2.
 
typedef unspecified_type Polynomial_1_2
 Model of AlgebraicKernelForCircles::Polynomial_1_2.
 
typedef unspecified_type Polynomial_for_circles_2_2
 Model of AlgebraicKernelForCircles::PolynomialForCircles_2_2.
 
typedef unspecified_type Point_2
 Model of Kernel::Point_2.
 
typedef unspecified_type Line_2
 Model of Kernel::Line_2.
 
typedef unspecified_type Circle_2
 Model of Kernel::Circle_2.
 
typedef unspecified_type Line_arc_2
 Model of CircularKernel::LineArc_2.
 
typedef unspecified_type Circular_arc_2
 Model of CircularKernel::CircularArc_2.
 
typedef unspecified_type Circular_arc_point_2
 Model of CircularKernel::CircularArcPoint_2.
 

Predicates

typedef unspecified_type Compare_x_2
 Model of CircularKernel::CompareX_2.
 
typedef unspecified_type Compare_y_2
 Model of CircularKernel::CompareY_2.
 
typedef unspecified_type Compare_xy_2
 Model of CircularKernel::CompareXY_2.
 
typedef unspecified_type Equal_2
 Model of CircularKernel::Equal_2.
 
typedef unspecified_type Compare_y_at_x_2
 Model of CircularKernel::CompareYatX_2.
 
typedef unspecified_type Compare_y_to_right_2
 Model of CircularKernel::CompareYtoRight_2.
 
typedef unspecified_type Has_on_2
 Model of CircularKernel::HasOn_2.
 
typedef unspecified_type Do_overlap_2
 Model of CircularKernel::DoOverlap_2.
 
typedef unspecified_type Do_intersect_2
 Model of CircularKernel::DoIntersect_2.
 
typedef unspecified_type Bounded_side_2
 Model of CircularKernel::BoundedSide_2.
 
typedef unspecified_type Has_on_bounded_side_2
 Model of CircularKernel::HasOnBoundedSide_2.
 
typedef unspecified_type Has_on_unbounded_side_2
 Model of CircularKernel::HasOnUnboundedSide_2.
 
typedef unspecified_type In_x_range_2
 Model of CircularKernel::InXRange_2.
 
typedef unspecified_type Is_vertical_2
 Model of CircularKernel::IsVertical_2.
 
typedef unspecified_type Is_x_monotone_2
 Model of CircularKernel::IsXMonotone_2.
 
typedef unspecified_type Is_y_monotone_2
 Model of CircularKernel::IsYMonotone_2.
 

Constructions

typedef unspecified_type Construct_line_2
 Model of CircularKernel::ConstructLine_2.
 
typedef unspecified_type Construct_circle_2
 Model of CircularKernel::ConstructCircle_2.
 
typedef unspecified_type Construct_bbox_2
 Model of CircularKernel::ConstructBbox_2.
 
typedef unspecified_type Construct_circular_arc_point_2
 Model of CircularKernel::ConstructCircularArcPoint_2.
 
typedef unspecified_type Construct_line_arc_2
 Model of CircularKernel::ConstructLineArc_2.
 
typedef unspecified_type Construct_circular_arc_2
 Model of CircularKernel::ConstructCircularArc_2.
 
typedef unspecified_type Compute_circular_x_2
 Model of CircularKernel::ComputeCircularX_2
 
typedef unspecified_type Compute_circular_y_2
 Model of CircularKernel::ComputeCircularY_2
 
typedef unspecified_type Construct_circular_min_vertex_2
 Model of CircularKernel::ConstructCircularMinVertex_2.
 
typedef unspecified_type Construct_circular_max_vertex_2
 Model of CircularKernel::ConstructCircularMaxVertex_2.
 
typedef unspecified_type Construct_circular_source_vertex_2
 Model of CircularKernel::ConstructCircularSourceVertex_2.
 
typedef unspecified_type Construct_circular_target_vertex_2
 Model of CircularKernel::ConstructCircularTargetVertex_2.
 
typedef unspecified_type Intersect_2
 Model of CircularKernel::Intersect_2.
 
typedef unspecified_type Split_2
 Model of CircularKernel::Split_2.
 
typedef unspecified_type Make_x_monotone_2
 Model of CircularKernel::MakeXMonotone_2.
 
typedef unspecified_type Make_xy_monotone_2
 Model of CircularKernel::MakeXYMonotone_2.
 

Link with the algebraic kernel

typedef unspecified_type 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 construct_circular_arc_2_object () const