\( \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.14 - 3D Spherical Geometry Kernel

Definition

Concepts

conceptBoundedSide_3
 
conceptCircularArc_3
 Concept for arcs of circles. More...
 
conceptCircularArcPoint_3
 Concept for points on spheres, circles, circular arcs or line arcs. More...
 
conceptCompareTheta_3
 
conceptCompareThetaZ_3
 
conceptCompareX_3
 
conceptCompareXY_3
 
conceptCompareXYZ_3
 
conceptCompareY_3
 
conceptCompareZ_3
 
conceptCompareZAtTheta_3
 
conceptCompareZToRight_3
 
conceptComputeApproximateAngle_3
 
conceptComputeApproximateSquaredLength_3
 
conceptComputeCircularX_3
 
conceptComputeCircularY_3
 
conceptComputeCircularZ_3
 
conceptConstructBbox_3
 
conceptConstructCircle_3
 
conceptConstructCircularArc_3
 The circular arc constructed from a circle, a source, and a target, is defined as the set of points of the circle that lie between the source p1 and the target p2, when traversing the circle counterclockwise seen from the side of the plane of the circle pointed by its positive normal vectors. More...
 
conceptConstructCircularArcPoint_3
 
conceptConstructCircularMaxVertex_3
 
conceptConstructCircularMinVertex_3
 
conceptConstructCircularSourceVertex_3
 
conceptConstructCircularTargetVertex_3
 
conceptConstructLine_3
 
conceptConstructLineArc_3
 
conceptConstructPlane_3
 
conceptConstructSphere_3
 
conceptDoIntersect_3
 Testing whether two curves or surfaces intersect. More...
 
conceptDoOverlap_3
 
conceptEqual_3
 Testing equality between objects. More...
 
conceptGetEquation
 
conceptHasOn_3
 
conceptHasOnBoundedSide_3
 
conceptHasOnUnboundedSide_3
 
conceptIntersect_3
 
conceptIsThetaMonotone_3
 
conceptLineArc_3
 Concept for line segments supported by a line that is a model of Kernel::Line_3, and whose endpoints are models of the SphericalKernel::CircularArcPoint_3 concept. More...
 
conceptMakeThetaMonotone_3
 
conceptSplit_3
 

Types

A model of SphericalKernel must provide some basic types

typedef unspecified_type Linear_kernel
 Model of Kernel.
 
typedef unspecified_type Algebraic_kernel
 Model of AlgebraicKernelForSpheres.
 
typedef unspecified_type Root_of_2
 Model of RootOf_2.
 
typedef unspecified_type Root_for_spheres_2_3
 Model of AlgebraicKernelForSpheres::RootForSpheres_2_3.
 
typedef unspecified_type Polynomial_1_3
 Model of AlgebraicKernelForSpheres::Polynomial_1_3.
 
typedef unspecified_type Polynomials_for_line_3
 Model of AlgebraicKernelForSpheres::PolynomialsForLines_3.
 
typedef unspecified_type Polynomial_for_spheres_2_3
 Model of AlgebraicKernelForSpheres::PolynomialForSpheres_2_3.
 
typedef unspecified_type Polynomials_for_circle_3
 Model of AlgebraicKernelForSpheres::PolynomialsForCircles_3.
 

and to define the following geometric objects

typedef unspecified_type Point_3
 Model of Kernel::Point_3.
 
typedef unspecified_type Vector_3
 Model of Kernel::Vector_3.
 
typedef unspecified_type Line_3
 Model of Kernel::Line_3.
 
typedef unspecified_type Plane_3
 Model of Kernel::Plane_3.
 
typedef unspecified_type Sphere_3
 Model of Kernel::Sphere_3.
 
typedef unspecified_type Circle_3
 Model of Kernel::Circle_3.
 
typedef unspecified_type Line_arc_3
 Model of SphericalKernel::LineArc_3.
 
typedef unspecified_type Circular_arc_3
 Model of SphericalKernel::CircularArc_3.
 
typedef unspecified_type Circular_arc_point_3
 Model of SphericalKernel::CircularArcPoint_3.
 

Predicates

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

typedef unspecified_type Compare_x_3
 Model of SphericalKernel::CompareX_3.
 
typedef unspecified_type Compare_y_3
 Model of SphericalKernel::CompareY_3.
 
typedef unspecified_type Compare_z_3
 Model of SphericalKernel::CompareZ_3.
 
typedef unspecified_type Compare_xy_3
 Model of SphericalKernel::CompareXY_3.
 
typedef unspecified_type Compare_xyz_3
 Model of SphericalKernel::CompareXYZ_3.
 
typedef unspecified_type Compare_theta_3
 Model of SphericalKernel::CompareTheta_3.
 
typedef unspecified_type Compare_theta_z_3
 Model of SphericalKernel::CompareThetaZ_3.
 
typedef unspecified_type Compare_z_at_theta_3
 Model of SphericalKernel::CompareZAtTheta_3.
 
typedef unspecified_type Compare_z_to_right_3
 Model of SphericalKernel::CompareZToRight_3.
 
typedef unspecified_type Equal_3
 Model of SphericalKernel::Equal_3.
 
typedef unspecified_type Has_on_3
 Model of SphericalKernel::HasOn_3.
 
typedef unspecified_type Do_overlap_3
 Model of SphericalKernel::DoOverlap_3.
 
typedef unspecified_type Do_intersect_3
 Model of SphericalKernel::DoIntersect_3.
 
typedef unspecified_type Bounded_side_3
 Model of SphericalKernel::BoundedSide_3.
 
typedef unspecified_type Has_on_bounded_side_3
 Model of SphericalKernel::HasOnBoundedSide_3.
 
typedef unspecified_type Has_on_unbounded_side_3
 Model of SphericalKernel::HasOnUnboundedSide_3.
 
typedef unspecified_type Is_theta_monotone_3
 Model of SphericalKernel::IsThetaMonotone_3.
 

Constructions

typedef unspecified_type Construct_line_3
 Model of SphericalKernel::ConstructLine_3.
 
typedef unspecified_type Construct_plane_3
 Model of SphericalKernel::ConstructPlane_3.
 
typedef unspecified_type Construct_sphere_3
 Model of SphericalKernel::ConstructSphere_3.
 
typedef unspecified_type Construct_circle_3
 Model of SphericalKernel::ConstructCircle_3.
 
typedef unspecified_type Construct_line_arc_3
 Model of SphericalKernel::ConstructLineArc_3.
 
typedef unspecified_type Construct_circular_arc_3
 Model of SphericalKernel::ConstructCircularArc_3.
 
typedef unspecified_type Construct_circular_arc_point_3
 Model of SphericalKernel::ConstructCircularArcPoint_3.
 
typedef unspecified_type Construct_circular_min_vertex_3
 Model of SphericalKernel::ConstructCircularMinVertex_3.
 
typedef unspecified_type Construct_circular_max_vertex_3
 Model of SphericalKernel::ConstructCircularMaxVertex_3.
 
typedef unspecified_type Construct_circular_source_vertex_3
 Model of SphericalKernel::ConstructCircularSourceVertex_3.
 
typedef unspecified_type Construct_circular_target_vertex_3
 Model of SphericalKernel::ConstructCircularTargetVertex_3.
 
typedef unspecified_type Construct_bbox_3
 Model of SphericalKernel::ConstructBbox_3.
 
typedef unspecified_type Intersect_3
 Model of SphericalKernel::Intersect_3.
 
typedef unspecified_type Split_3
 Model of SphericalKernel::Split_3.
 
typedef unspecified_type Make_theta_monotone_3
 Model of SphericalKernel::MakeThetaMonotone_3.
 

Computations

typedef unspecified_type Compute_circular_x_3
 Model of SphericalKernel::ComputeCircularX_3.
 
typedef unspecified_type Compute_circular_y_3
 Model of SphericalKernel::ComputeCircularY_3.
 
typedef unspecified_type Compute_circular_z_3
 Model of SphericalKernel::ComputeCircularZ_3.
 
typedef unspecified_type Compute_approximate_squared_length_3
 Model of SphericalKernel::ComputeApproximateSquaredLength_3.
 
typedef unspecified_type Compute_approximate_angle_3
 Model of SphericalKernel::ComputeApproximateAngle_3.
 

Link with the algebraic kernel

typedef unspecified_type Get_equation
 Model of SphericalKernel::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 SphericalKernel::Construct_circular_arc_3 the following member function must exist:

Construct_circular_arc_3 construct_circular_arc_3_object () const
 

Operations on a given sphere,

A context sphere must be provided to the following functions:

Compare_theta_3 compare_theta_3_object (const Sphere_3 &sphere) const
 
Compare_theta_z_3 compare_theta_z_3_object (const Sphere_3 &sphere) const
 
Compare_z_at_theta_3 compare_z_at_theta_3_object (const Sphere_3 &sphere) const
 
Compare_z_to_right_3 compare_z_to_right_3_object (const Sphere_3 &sphere) const
 
Make_theta_monotone_3 make_theta_monotone_3_object (const Sphere_3 &sphere) const
 
Is_theta_monotone_3 is_theta_monotone_3_object (const Sphere_3 &sphere) const