CGAL 5.1 - 3D Spherical Geometry Kernel

#include <Concepts/SphericalKernel.h>

Definition

Classes

class  BoundedSide_3
 
class  CircularArc_3
 Concept for arcs of circles. More...
 
class  CircularArcPoint_3
 Concept for points on spheres, circles, circular arcs or line arcs. More...
 
class  CompareTheta_3
 
class  CompareThetaZ_3
 
class  CompareX_3
 
class  CompareXY_3
 
class  CompareXYZ_3
 
class  CompareY_3
 
class  CompareZ_3
 
class  CompareZAtTheta_3
 
class  CompareZToRight_3
 
class  ComputeApproximateAngle_3
 
class  ComputeApproximateSquaredLength_3
 
class  ComputeCircularX_3
 
class  ComputeCircularY_3
 
class  ComputeCircularZ_3
 
class  ConstructBbox_3
 
class  ConstructCircle_3
 
class  ConstructCircularArc_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...
 
class  ConstructCircularArcPoint_3
 
class  ConstructCircularMaxVertex_3
 
class  ConstructCircularMinVertex_3
 
class  ConstructCircularSourceVertex_3
 
class  ConstructCircularTargetVertex_3
 
class  ConstructLine_3
 
class  ConstructLineArc_3
 
class  ConstructPlane_3
 
class  ConstructSphere_3
 
class  DoIntersect_3
 Testing whether two curves or surfaces intersect. More...
 
class  DoOverlap_3
 
class  Equal_3
 Testing equality between objects. More...
 
class  GetEquation
 
class  HasOn_3
 
class  HasOnBoundedSide_3
 
class  HasOnUnboundedSide_3
 
class  Intersect_3
 
class  IsThetaMonotone_3
 
class  LineArc_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...
 
class  MakeThetaMonotone_3
 
class  Split_3
 

Types

A model of SphericalKernel must provide some basic types

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

and to define the following geometric objects

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

Predicates

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

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

Constructions

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

Computations

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

Link with the algebraic kernel

typedef unspecified_type Get_equation
 Model of SphericalKernel::GetEquation. More...
 

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
 

Member Typedef Documentation

◆ Algebraic_kernel

◆ Bounded_side_3

◆ Circle_3

typedef unspecified_type SphericalKernel::Circle_3

Model of Kernel::Circle_3.

◆ Circular_arc_3

◆ Circular_arc_point_3

◆ Compare_theta_3

◆ Compare_theta_z_3

◆ Compare_x_3

typedef unspecified_type SphericalKernel::Compare_x_3

◆ Compare_xy_3

typedef unspecified_type SphericalKernel::Compare_xy_3

◆ Compare_xyz_3

◆ Compare_y_3

typedef unspecified_type SphericalKernel::Compare_y_3

◆ Compare_z_3

typedef unspecified_type SphericalKernel::Compare_z_3

◆ Compare_z_at_theta_3

◆ Compare_z_to_right_3

◆ Compute_approximate_angle_3

◆ Compute_approximate_squared_length_3

◆ Compute_circular_x_3

◆ Compute_circular_y_3

◆ Compute_circular_z_3

◆ Construct_bbox_3

◆ Construct_circle_3

◆ Construct_circular_arc_3

◆ Construct_circular_arc_point_3

◆ Construct_circular_max_vertex_3

◆ Construct_circular_min_vertex_3

◆ Construct_circular_source_vertex_3

◆ Construct_circular_target_vertex_3

◆ Construct_line_3

◆ Construct_line_arc_3

◆ Construct_plane_3

◆ Construct_sphere_3

◆ Do_intersect_3

◆ Do_overlap_3

typedef unspecified_type SphericalKernel::Do_overlap_3

◆ Equal_3

typedef unspecified_type SphericalKernel::Equal_3

◆ Get_equation

typedef unspecified_type SphericalKernel::Get_equation

◆ Has_on_3

typedef unspecified_type SphericalKernel::Has_on_3

◆ Has_on_bounded_side_3

◆ Has_on_unbounded_side_3

◆ Intersect_3

typedef unspecified_type SphericalKernel::Intersect_3

◆ Is_theta_monotone_3

◆ Line_3

typedef unspecified_type SphericalKernel::Line_3

Model of Kernel::Line_3.

◆ Line_arc_3

typedef unspecified_type SphericalKernel::Line_arc_3

◆ Linear_kernel

typedef unspecified_type SphericalKernel::Linear_kernel

Model of Kernel.

◆ Make_theta_monotone_3

◆ Plane_3

typedef unspecified_type SphericalKernel::Plane_3

Model of Kernel::Plane_3.

◆ Point_3

typedef unspecified_type SphericalKernel::Point_3

Model of Kernel::Point_3.

◆ Polynomial_1_3

◆ Polynomial_for_spheres_2_3

◆ Polynomials_for_circle_3

◆ Polynomials_for_line_3

◆ Root_for_spheres_2_3

◆ Root_of_2

typedef unspecified_type SphericalKernel::Root_of_2

Model of RootOf_2.

◆ Sphere_3

typedef unspecified_type SphericalKernel::Sphere_3

Model of Kernel::Sphere_3.

◆ Split_3

typedef unspecified_type SphericalKernel::Split_3

◆ Vector_3

typedef unspecified_type SphericalKernel::Vector_3

Model of Kernel::Vector_3.

Member Function Documentation

◆ compare_theta_3_object()

Compare_theta_3 SphericalKernel::compare_theta_3_object ( const Sphere_3 sphere) const

◆ compare_theta_z_3_object()

Compare_theta_z_3 SphericalKernel::compare_theta_z_3_object ( const Sphere_3 sphere) const

◆ compare_z_at_theta_3_object()

Compare_z_at_theta_3 SphericalKernel::compare_z_at_theta_3_object ( const Sphere_3 sphere) const

◆ compare_z_to_right_3_object()

Compare_z_to_right_3 SphericalKernel::compare_z_to_right_3_object ( const Sphere_3 sphere) const

◆ construct_circular_arc_3_object()

Construct_circular_arc_3 SphericalKernel::construct_circular_arc_3_object ( ) const

◆ is_theta_monotone_3_object()

Is_theta_monotone_3 SphericalKernel::is_theta_monotone_3_object ( const Sphere_3 sphere) const

◆ make_theta_monotone_3_object()

Make_theta_monotone_3 SphericalKernel::make_theta_monotone_3_object ( const Sphere_3 sphere) const